As per the (well-written and much appreciated) MASON manual, "MASON does not use Ant: I’m an old Unix hacker." Although I don't think I am old enough to be a self-identifying "old-school hacker," I strongly prefer the "UNIX way," especially when compared to the mind-numbing verbosity of Ant. (Although, I am a Scala hacker who would love to see a Maven repository to get the benefit of a 1-line MASON project configurations...) I bring up the Makefile convention because I think it may be related to my general question: Why is SVN preferred to git? SVN seems very anti-"old Unix Hacker."

Initially, I wasn't going to bring this up on the mailing list. I thought it was a trivial issue. Perhaps I was merely expressing a preference that has no real differences in terms of benefits to MASON and MASON users; however, the more I thought about it, the more I thought it would be a beneficial change, especially in the context of GitHub.

Firstly, it's been my experience that distributed version control systems are simply better for collaboration. Experiences vary, but I like having the whole repository and full history on my local machine. There have been many times when I was about to make a change to someone else's work but, after viewing the history of changes, I learned that my idea had been tried then discarded because of X. That a tedious operation with SVN. Additionally, the distributed nature simply allows a "you go your way, I'll go my way, then we'll meet up over here" workflow that can be profoundly exploratory.

I could continue to annoyingly evangelize git (or Mercurial, in this context), but other people have explained git's superiority over SVN better than me; however, there is one large benefit in adopting git in general (and over mercurial) -- GitHub. I've been a paying member of GitHub since about a month after they launched. I never have problems and they really do a stellar job of adding new features and maintaining up-time. As an open-source project, MASON would be free to host. Yes, there would be a switching cost, but in the scheme of things it seems negligible. (Of course, the MASON authors may have reasons to believe otherwise.)

In terms of benefits, "Social Coding" rocks. Increasingly, if I am looking to use someone else's work, I'll automatically favor the project hosted on GitHub to the project hosted on Google Code or something similar. GitHub's inherently social nature; it's pretty, source code highlighting; and git's workflow seem to be the epitome of Linus' Law. No, it's not magic fairy dust in terms of making bugs disappear, but coders have public and easy to access discussions on specific parts of code. In my opinion it's just better.

Finally, I believe that MASON would be an attractive toolkit for curious, professional developers who wanted something to do in their spare time. MASON is interesting, and the learning curve is not very high. (That is, for professional developers; not for neophyte programmers.) GitHub attracts these people who are looking for their "20% projects." I may be over-simplifying, but an increased user-base of social coders should increase features while reducing bugs.

Thanks for your time. (Sorry for the long email.)
// John B. Nelson


P.S. On my wishlist: a GMU-owned, GitHub enterprise instance for CSS (and possibly, CS) grad school students. I'd like easy way to download, view, review, and extend other people's models. Seriously, how does the CSS field not have this already?