Print

Print


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?