Three months ago
I blogged about Sun posting its NFS client and server code to
opensolaris.org. At the time I was thinking that from the perspective of NFS implementers this was a way to enhance interoperability since source code of one the major and certainly the most mature NFS implementations was online for anyone to browse and used as a debugging aid, if not as a basis for implementing a competing NFS client or server.
A few weeks back I visited
opensolaris.org to look for the source code to their oh so cool
source code browser. After I didn't find it (
yet: the
author says it is on the TODO list to post it), I visited some of "communities" (basically interest groups for particular aspect of OpenSolaris) and was astonished by the high degree of activity from non-Sun employees. Curious, I went to the
NFS community, and noticed that the blogs of the NFSers were linked from there (very nice). In particular,
Eric Kustarz posted a
blog article about a change to how the Solaris client dealt with privileged ports.
Reading Eric's article, and the
comments, aside from some concerns I had about the change, I was struck by several thoughts. One, like conventional open source, the world outside of Sun now has direct, and early (i.e. before first customer ship) visibility into what is going on. Two, unlike many large open source projects, the information for getting that visibility is well organized. I don't have to subscribe to an alias with thousands of messages per day in order get that visibility into the particular parts of the operating system I'm interested in. In a sense,
sourceforge with its numerous project pages, has this already and probably was a source of inspiration. But sourceforge is a collection of projects, whereas opensolaris.org has a common "look and feel" to all the communities that are part of the greater whole: OpenSolaris. Three, since it this easy to track what is going on in Solaris NFS land, maybe I could influence the outcome?
I tested the latter hypothesis by posting a
comment to the
NFS discussion forum. I suggested a slightly alternative approach after presenting some of the pitfalls of change. Within minutes,
Noel Dellofano responded, and agreed to consider my comments.
This is revolutionary: as an employee of another NFS server vendor I could influence the design and implementation of an important NFS client without having to wait for our mutual customers to file a trouble ticket. And as we all know, filing trouble tickets is not always the fastest way to get a resolution, because we are talking about code that has already been released. Vendors understandably have heavy processes for vetting and limiting change to released products. So that what's in it for the customer, Sun, and other vendors: fewer interoperability bugs out of the chute.
But I think the bigger point is that because Sun has made opensolaris.org so easy to navigate, so easy participate in, and so open to "outsiders", (not to mention flame free), those "outsiders" are going to find that they get much more leverage with OpenSolaris than with other open operating systems. By "leverage" I mean:
leverage = productive outcomes / time spent
Here's another example illustrating leverage. Without naming names, or naming operating systems, I once spent several hours of debating a programmer on an issue with an open source operating system's NFS implementation. After noting that the open source operating system's file system design didn't lend itself well to supporting NFS semantics, one of the retorts I got back was: "I think the future of file access for [this operating system] is CIFS". That's low leverage.
High leverage attracts participation, and the path from participant to contributor can be a slippery slope.
Whether this higher leverage translates into increased market share for OpenSolaris versus other open source kernels remains to be seen. But the design and execution of opensolaris.org may represent the future of open source communities.