A few notes on the OpenSolaris release
[Posted June 15, 2005 by corbet]
Sun has followed through on its promises, and placed the bulk of its
Solaris source on
OpenSolaris.org. Regardless of
whether you intend to do anything with this code, or with Solaris in
general, this release is a significant event. Observers have noted for
years that Linux was likely to bring about the end of proprietary Unix
systems. With the opening of Solaris, that prediction has come to pass.
While some proprietary Unix offerings still exist, Solaris was the largest
and most significant of them. With Solaris in the open, the proprietary
Unix era is done.
OpenSolaris is not a small download. Anybody not already running Solaris
will have to bootstrap themselves with a binary distribution. Then there's
the core source tarball, compiler, and "closed binaries" packages. Throw
in the BFU package to get the latest stuff: "BFU" is said to stand for
"blindingly fast upgrade," but other interpretations of the acronym are
certainly possible. Sun's site requires registration before it will allow
you to download files; interestingly, however, it also makes torrents
and a (no-registration) third-party site available.
Note that, if you simply want to wander around in the source code, it is
not necessary to download the whole thing. Sun has provided a web-based source browser
which makes digging through the code easy.
The "closed binary" package is said to be a temporary thing. It comes with
a relatively reasonable "free beer" license, though it does require that
you only run the binaries on an OpenSolaris system. The list of
binary-only programs is somewhat strange: it includes od,
patch, rdist, sed, ssh,
telnet, and kernel drivers for hardware like the Intel e1000
network adaptor - stuff which, seemingly, should be free. The Sun compilers come with a
rather more restrictive license; users are required to be "a
participant of the OpenSolaris community," may not publish benchmark
results, and cannot modify the "java technology" included with the
software. Also:
Software may contain programs that perform automated collection of
system data and/or automated software updating services. System
data collected through such programs may be used by Sun, its
subcontractors, and its service delivery partners for the purpose
of providing you with remote system services and/or improving Sun's
software and systems
So it is, perhaps, not surprising that even developers within Sun are
interested in using free compilers with OpenSolaris. An effort to
Build OpenSolaris with GCC is apparently well advanced,
so the need for the
proprietary Sun compilers should go away soon. Interesting, according
to one developer, much of the pain of porting to gcc was caused by
gcc's insistence on putting constant data into read-only memory.
OpenSolaris, it seems, did a lot of writing to "constant" strings.
One of the more significant omissions from OpenSolaris currently is an X
server. Two servers actually run on Solaris: X.org and the venerable Xsun
server. The plan is, apparently, to move toward releasing a version of the
X.org server, but that has not happened yet.
Much has been said about Sun's choice of the CDDL as the license for the
Solaris source code; there is not much to add at this time. It is worth
noting, though, that if you choose to contribute code to OpenSolaris, you
not only have to contribute it under the CDDL, but you must sign Sun's
contributor agreement [PDF] as well. That agreement has some obvious
things, like patent licensing. It also, however, requires you to give Sun
an ownership stake in your code:
You hereby assign to Sun joint ownership in all worldwide common
law and statutory rights associated with the copyrights, copyright
applications and copyright registrations in Your Contribution, to
the extent allowable under applicable local laws and copyright
conventions, and agree never to assert against Sun any "moral
rights" therein. You understand that (i) this Agreement may be
submitted by Sun to register a copyright in Your Contribution, and
(ii) Sun may exercise all rights as a copyright owner of Your
Contribution.
Sun, in other words, can take your code and make it into a proprietary
product, or release it under any other license that it sees fit. It
doesn't seem to have occurred to Sun that terms like this might reduce the
size of the "vibrant developer community" that it wishes to create.
The CDDL license will prevent any code in the Solaris kernel from finding
its way into Linux - we can only hope that nobody tries to sneak some in
anyway. It is amusing to note, however, that the first OpenSolaris-inspired kernel patch
has already been posted; it is a small optimization to how SYSV semaphores
work. With luck, good ideas will flow from the OpenSolaris kernel
to Linux (and vice versa), even if the code itself cannot.
Large dumps of corporate code are always a little hard for the community to
digest. So it may be some time before OpenSolaris grows into a true free
software project with active user and developer communities. It will
probably get there: the code is good enough, and there are enough
established Solaris users now, to give OpenSolaris some momentum. Whether
OpenSolaris can develop into a truly successful project over the long term
remains to be seen, however. There is some good stuff there, but it may
turn out to be too little, too late from a company which is still
struggling to understand what free software is about.
(
Log in to post comments)