By wesolows on Aug 03, 2004
Simon Phipps gave a talk on open source development and the meaning of freedom which was quite interesting. One of his points was that freedom for deployers is as important as freedom for developers, and that while licenses can help to build a community around a piece of software by giving the developers freedom, this is not sufficient as an end in itself. This is one of the things we're looking at as we get ready to release Solaris under an OSI-approved license of some as yet undetermined kind. Governance and community structure are at least as important as the license we eventually choose, and we have much more direct and immediate participation in these aspects. One point I've tried to emphasize is that successful communities form spontaneously and organically; they cannot be constructed from scratch, purchased, or willed into existence. Our challenge is to get people excited about Solaris and interested in being a part of that community, then to provide them with infrastructure and a reasonable way to make their voices heard as we proceed. Many people at the conference had some helpful suggestions for doing this.
Perhaps the most important thing to remember is that developers are fundamentally attracted by two things: exciting technology and a meaningful opportunity to work on it. The success of the BOF that Adam, Andy, Bart, and Eric put on showed many people just how exciting some of these technologies are. The feedback we received was overwhelmingly positive. Rarely does such a demo-friendly piece of technology as DTrace come along, and many of the attendees were clearly impressed. Still, it's only one of many major enhancements in S10; it's fairly obvious that there will be plenty of developers attracted to our technology provided we can generate enough awareness.
But as we've seen, compelling technology and an open license are not enough to make for a successful project. GCC and XFree86 had both, but neither project was successful in building and sustaining a community (GCC of course has been reborn since the quagmire of the 2.8 era). Many things make up a project's public perception as one which is easy and fun, or frustrating and counterproductive, in which to participate. Infrastructure, governance, and developer resources each play a role. My focus at the moment is on our efforts to help developers get started; this means providing good documentation and keeping the barriers to entry as low as possible. As one of the people who will be creating the developer documentation, tutorials, and examples, I'd be very interested in your feedback. When you're attracted to a project, what type of resource increases your desire to participate? What dissipates your interest and turns it into frustration?