LWN.net Logo

Quotes of the week

Quotes of the week

Posted Nov 24, 2011 1:49 UTC (Thu) by daglwn (subscriber, #65432)
Parent article: Quotes of the week

Mikeal is hitting on something important but he dances around it a bit.

git, by its nature, forces ceding of control. Because it is so easy to fork projects, project leaders don't have as many tools to limit development or restrict ideas.

git is a tool to implement the bazaar.

This can be both good and bad. Good in the sense that experimentation is allowed, even if not encouraged by the project's culture. Bad in that it also limits the ability of project members to ensure quality.

In my experience, there is more good than bad. People generally act with good intentions and forks only happen over irreconcilable differences. Developers are generally open to code review and quality feedback and want to produce a good product. Forks, if they happen, are more likely than not to be of the "linux staging" variety where various trees containing various features pop up and folks are free to pick and choose what they want if necessary.

"But that's crazy!" some will say, "The software won't be stable if everyone is picking bits and pieces." That's true in the current environment in which we operate. Things like bullet-proof build systems, continuous mandatory testing, defensive programming and other QA activities will have to become more robust and ubiquitous. We've already started down that road a bit with time-based released and continuous rolling releases. This is a good thing. It will make our software more robust.

Imagine if git had been around for the emacs/xemacs fork. Imagine that both projects still exist but are able to share contributions and ideas using a tool designed to do exactly that. Of course software architecture changes will necessarily present barriers but I think git and distributed SCM in general can help us think of a fork not as a "fork" but quite literally as a branch that may or may not be merged someday.

"Fork" is no longer a dirty word in this environment. It's a major shift in social constructs and thus it takes time for those invested in the current constructs to get comfortable with it. But Mikeal is absolutely right that the younger generation has already made the switch and us old dinosaurs are going to get left behind unless we give up some of our preconceived notions.


(Log in to post comments)

Quotes of the week

Posted Nov 24, 2011 11:40 UTC (Thu) by dgm (subscriber, #49227) [Link]

You almost got it. It's not that git facilitates forks, for that you only need a tarball of the code. It's that it facilitates _merges_. That's the killer feature of git, IMHO.

Quotes of the week

Posted Nov 24, 2011 17:21 UTC (Thu) by daglwn (subscriber, #65432) [Link]

git facilitates forks because it makes merges easy. So it really does both and that's its killer feature.

What Mikeal is running into is the social upheaval such a model causes. It forces projects from a cathedral to a bazaar operation. That makes people uncomfortable. Not because they're bad people or have some nefarious agenda, but just because it's a fundamental change and it's scary.

Quotes of the week

Posted Dec 24, 2011 0:57 UTC (Sat) by steffen780 (guest, #68142) [Link]

This is the kind of comment that makes LWN not just high quality, but truly special - thanks :)

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds