« Java Joy | Main | Down with King IE »
June 12, 2003
Software Evolution
Randell sent me a link today that looks like a series of slides highlighting the behind-the-scenes (not a VH1 special) evolution of the WIndows NT system. An interesting read to say the least, as I can see many of the same practices having been in use in past jobs. Although a few jobs have had a much more interesting rule regarding build breakage like, if you break the build you bring in the beer for everyone tomorrow.
In either case reading through this there are a few excellent points that I can see being of importance to Open Source projects.
1) The NT Culture slide - everyone owns the code, so if something is broke, you fix it. A wonderful concept that you can see in effect in many OS projects, but as the project grows you can almost always see this become ineffective.
2) Calling people (and their code) stupid isn't effective. I'm surprised that it took practice for MS to realize this. It seemed to have been something I learned in my first coding job, and more importantly in the fact that I wanted to do things the "right way."
3) Code ownership breaks the open culture.
Number 3 is something I'm starting to see occur a lot. WIthin the PHP community, there has been a push towards the PECL/PEAR distribution and development system. In fact, I have been one of those pushing for it without ever considering the social change this would inflict upon the PHP project as a whole (insert line about greater good). Once the concept of code ownership (modules/extensions in the PHP case) becomes ingrained in the culture, it will be impossible to keep the free contribution level up. The artificial barrier of 'ownership' can become a daunting task to overcome. Rasmus, Andrei, Derick, Ilia, and I had a spoken a briefly about this while in Montreal, and if my memory is correct the general belief is that the PECLing of extensions would be a good thing.
So the question now is, will code ownership break the Open Source idea/spirit?
Posted by Dan at June 12, 2003 09:19 AM