Linked by Thom Holwerda on Sat 6th Aug 2005 17:22 UTC
FreeBSD "The FreeBSD Release Engineering Team is pleased to announce the availability of FreeBSD 6.0-BETA2." A list of mirrors is available here.
Thread beginning with comment 15059
To read all comments associated with this story, please click here.
project scaling problems?
by butters on Sun 7th Aug 2005 20:55 UTC
butters
Member since:
2005-07-08

The pattern we see in large software engineering projects (all general purpose operating systems fall into this category) is that getting things done the right way gets progressively harder the more developers you have and the more users you are supporting. It is often astonishing how quickly and elegently one developer and a handful of testers can make progress toward ambitious goals. Jimmy W's initng project comes to mind, which shocked the hell out of the gentoo forums in May. Larger projects are less nimble, and without the right structure, they can stagnate, alienating their developers and users. XFree86 comes to mind, and few would argue that the restructuring under the Xorg project hasn't (at least) been a step in the right direction.

This is not only true in the free software ecosystem, but in proprietary products as well. Companies like Microsoft and IBM are so large and entrenched in their install bases that they increasingly rely on buying startups in order to make progress.

I believe that the community development model is an adaptation that allows projects to scale efficiently. When I remarked on the Debian Sarge release (19,000 packages for 11 architectures, etc.) to my boss, the technical lead for AIX Quality, she responded along the lines of "that's why AIX only runs on pSeries." We all know how long it took for Sarge to be released, but despite the development cycle starting quite a bit behind the curve and the rapid evolution of technologies over the course of the development cycle, the Debian project was able to produce a release that is remarkably high-quality, comprehensive, and up-to-date.

In the community model, the core team is kept as small as practical, alleviating the problems of large organizational structures (MS, IBM) or too many cooks in the kitchen (FreeBSD?). The community of independent developers is like a farm of startups. Code is written, often without direction from the core team or assurances that it is in line with the direction of the project, and the decision to include the code is made analogously to how IBM decides to buy a startup.

Perhaps it is time that the FreeBSD project do an audit and decide if an organizational overhaul is necessary to keep growing and supporting more (and more diverse) users. Perhaps the problems that cropped up in 5.x series are indications of a long term problem. Perhaps FreeBSD could attract more of the technical elite away from Linux if they opened up the development process.

I do believe that in many ways FreeBSD (and BSD in general) is technically superior to Linux, and I also believe that this gap is closing rapidly. I consider the BSDs to be not only technically superior in terms of performance, quality, and other "static" metrics, but also in terms of maintainability and code cleanliness. Then why is this lead dissolving? Why is OpenBSD so slow (all meanings of the word intended)? Why is FreeBSD losing mindshare? Why does NetBSD resemble a hobby OS? Why do "disillusioned" Linux developers seem to be considering jumping ship to OpenSolaris instead of FreeBSD, despite the potential for abuse built into the CDDL?!!

I am interested in reading the reactions of the BSD faithful and especially anyone close to the FreeBSD development process. Note that I like to mod down any posts that defend a preference between GPL and BSD licenses or various definitions of the word "free."

Reply Score: 2