By Jonathan Corbet
April 30, 2008
Over the last couple of weeks there has been an interesting set of articles
posted on various weblogs on how Sun is managing its open source projects.
As more companies try to get involved with free software, they may find
things to learn from this discussion. So here are a few thoughts on
corporate open source.
It all started with a
posting by Ted Ts'o which stated:
So if you run into a Sun salescritter or a Sun CEO claiming that
OpenSolaris is just like Linux, it's not. Fundamentally, Open
Solaris has been released under a Open Source license, but it is
not an Open Source development community. Maybe it will be someday,
as some Sun executives have claimed, but it's definitely not a
priority by Sun; if it was, it would have been done before now.
The posting drew responses from Dave
Neary and Alvaro
Lopez Ortega, among others; both the original messages and the
responses to it are
worth reading in their entirety. In summary, the responses say that (1) Sun
really is trying to be a good open source player, and (2) Sun has done
as well as could be expected, that the creation of
true open source communities is hard.
The first part can only be true. Sun has been the source of a great deal
of free software, including packages like OpenOffice.org which are found in
almost every Linux distribution. This company has released its core
operating system as open source, and it is making noises about, finally,
making Java truly open at all levels. There are few companies which have
contributed code at this level, and that should be recognized. Beyond any
doubt, Sun is contributing to this community.
What people question, though, is Sun's interest in creating real
communities around its open source projects. These projects are
notoriously hard to participate in and contribute to. As Ted points out,
OpenSolaris currently gets less than one patch per day from outside the
company, the project's governing board is made up entirely of Sun
employees, and its (non-distributed) revision control system lives inside
the Sun firewall. External OpenSolaris developers have known to quit with
messages
like:
Sun agreed that "OpenSolaris" would be governed by the community
and yet has refused, in every step along the way, to cede any real
control over the software produced or the way it is produced, and
continues to make private decisions every day that are later
promoted as decisions for this thing we call OpenSolaris. Rather
than be honest about it and restructure the community to correspond
to this MySolaris style of over-the-wall development, Sun prefers
to lie to the external community members while ignoring their
input.
OpenOffice.org, too, remains hard to work with; thus the
many discouraged comments on the ooo-build
wiki from developers who want to get things done:
Many ooo-build patches are ready for up-streaming but there is no /
little response from up-stream. Worse there is the perception that
taking leadership and actually doing something about merging fixes
would be firmly opposed. Finally - even when maintainers are
active, responsive & friendly - there is no agreed mechanism for
blanket approving fixes - or sub-types of trivial fixes, which thus
tend to fester in IssueZilla.
The key to what is going on here can be found in many places, including in
Alvaro's posting:
Besides, the OpenSolaris development model is quite different
because of a number of technical reasons. IMO, the first one is
something as simple as that we want to ensure its quality by
following a number of processes. Another very important technical
point is that we want OpenSolaris to continue being binary
compatible (ABI) with the previous Solaris revisions, which is
something Linux could not even dream of.
The real issue is control; Sun does not want to relinquish control over how
its projects evolve. This is not a particularly uncommon situation with
corporate-controlled projects; these projects will always be subject to the
controlling company's agenda. Thus, no developer is likely to be
successful in projects like:
- Adding features to MySQL which provide the functionality which is
otherwise being reserved for the "enterprise" offerings.
- Adding packages to Fedora which make Red Hat's legal department
nervous.
- Adding features to projects owned by the Free Software Foundation
which, in the FSF's opinion, are not consistent with its goals;
support for loading Emacs modules from an external repository is one
example.
- Making any changes to Firefox which could threaten Mozilla
Corporation's revenue stream from Google.
Companies which control open source projects in this way are generally
acting within their rights; they may even be acting in their own best
interests. The software is still open source. But the retention of this
sort of control will have an effect on the community which builds around
the software. In many cases, it can have the effect of preventing the
creation of that community in the first place.
And that, too, may be what the company had in mind. There are a number of
company-controlled open source projects which, by all appearances, are
mostly for show and bragging rights. The company does not really seem to
have much interest in developing a significant external community. In
cases like this, if the software on offer is valuable enough, the result
will often be a more community-oriented fork. Projects like ADempiere, LedgerSMB, and Cinelerra CV result from this kind of
frustration.
Opinions clearly differ on whether Sun is truly uninterested in the
creation of outside development communities for its projects, or whether it
simply is having a hard time letting go. If the latter is the case, then
Sun might be well advised to follow Dave
Neary's suggestion and create a separate, non-profit foundation for the
development of OpenOffice.org. Sun's apologists are right when they say
that turning a large blob of proprietary code into free software is a hard
thing to do. But it's harder if you don't give the community the power to
help; in the case of OpenOffice.org, there would appear to be enough of an
interested community to make a real go at it. This might be Sun's best
chance to show that it can create real development communities
around its software.
(
Log in to post comments)