As much as people still debate the Subversion vs Git arguments, particularly in the JVM community I asked myself today whether or not you can get away with not knowing the basics of Git any longer. Why? Because 2/3 of your source base (or more) is likely to be open source and an ever increasing portion of that seems to reside on Github - for the better in my opinion as it has a superior mechanism for supporting patches via pull requests. One of the fundamental tenants of open source is that you can fix the bug and with Git, not being able to get a patch accepted - like with Guava or many Grails plugins) or in a timely fashion so it is released and usable (for example with Guice), is not fatal. At least you will be able to keep merging the upstream changes into your code base with the patches relatively easily (as I recently did with the Grails Maven plugin).
I think any organisation that chooses an open source project that isn't on Git is actually choosing one that is a higher risk for their organization and when you do, you need to have a basic working knowledge of it. If it was me, I'd get every organisation to have a Github organisation account where any forked artifacts reside so as people come and go in their organisation, they have one central place where their patched versions reside. Its not a perfect solution, ideally projects that need patching with do it quickly and update themselves, but the way most projects have their artifacts organized and how often they release is always a problem, so I think it is inevitable and Git offers such a better mechanism than Subversion.
So if you are a JVM software developer and you don't know Git, now is the time to learn. There are great books out there and some excellent screen casts from Orielly, so get on it now!
No comments:
Post a Comment