Doesn't help much the other geometry stuff but I would not be surprised if the two APIs are largely analogous such that most of the differences can be abstracted away behind some utilities or some other for of separation, e.g. by using a 3rd party development platform like Unity.
Anyway the full blown OpenGL with 4.x is somewhat getting its shit together and is a superset of ES 2.0 and 3.0. Just avoid the fixed function stuff and it should be fine.
Now... I just wish the documentation, tools and quality of drivers were all up to snuff for development. It's not uncommon to write a shader which works just fine on one driver but refuses to even compile on another. OpenGL needs a canonical, driver neutral set of compilers and tools which integrate into IDEs like Eclipse and reduce the hassle of development.
Again, if "information wants to be free", then activists need to produce a better JSTOR than JSTOR. Reach out to these publications and ask them if they wouldn't mind contributing their content to a free resource. Perhaps some would, perhaps some wouldn't. Perhaps it would be enough to make the free site a valuable resource for researchers in its own right and it would gather momentum. Systematically ripping content from a pay service is just theft.
Another failing of git is for storing binaries where the project just bloats and bloats. If we were talking of a centralised repo, perhaps that wouldn't matter so much, it's *everyone's* clone that bloats and if you want a working clone, you have to clone everything, not just a snapshot. It means it's a really bad idea to store frequently changing binary files in git. I think Subversion would be a better choice for document management for example where people can checkout just a fraction of the server and aren't encumbered with bloat.
Where I work even uses CVS to commit nightly test results and thanks to the general craptitude of CVS they get away with it because it only ever holds a copy of the latest committed binary.
The biggest issue is all the line ending conversion nonsense. It has settings to cover this but I've never seen it work properly. Project owners need to write their own
Other issues would be things like Unicode paths, case sensitive file names, path lengths and so on. Just don't use such things and you should be okay. Git also doesn't like NTLM authenticating proxies so you need to use ntlmaps or similar to work around that restriction.
Anyway the garbage collection is about physical file management and shouldn't affect the change history or anything else about the project. Basically it just gathers up all the commits which may be residing in their own individual files in the
If "information wants to be free", then a better approach by activists is to produce a better JSTOR than JSTOR and encourage publications to use it.
After Goliath's defeat, giants ceased to command respect. - Freeman Dyson