LWN.net Logo

Advertisement

E-Commerce & credit card processing - the Open Source way!

Advertise here

A few notes on the OpenSolaris release

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.
Advertisement

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)

A few notes on the OpenSolaris release

Posted Jun 16, 2005 5:39 UTC (Thu) by robla (subscriber, #424) [Link]

LWN wrote: It doesn't seem to have occurred to Sun that [a joint copyright assignment] might reduce the size of the "vibrant developer community" that it wishes to create.

...or, perhaps it was a tradeoff. Perhaps it was the exact same tradeoff that the Free Software Foundation also makes with software it develops. It's a pretty standard practice for very good reasons that a good lawyer would be able to explain to you.

Methinks you should give Sun's lawyers and business people a little benefit of the doubt when it comes to thinking about these things. They may not have made the decision that you would have made, but I can pretty much guarantee they've thought about it.

Rob

A few notes on the OpenSolaris release

Posted Jun 16, 2005 6:14 UTC (Thu) by jamesh (subscriber, #1159) [Link]

There are a few differences between the Sun agreement and the FSF agreement though:

  • The FSF agreement is a copyright assignment rather than a joint copyright agreement (although the FSF licenses the code back to you under non-restrictive terms).
  • The FSF agreement includes a promise that they will release the code only under a copyleft license. If they break the promise, the assignment contract is void.

There are enough differences that you can't say that it is the same tradeoff. Whether this will affect the community that builds around the code is another matter.

A few notes on the OpenSolaris release

Posted Jun 16, 2005 6:17 UTC (Thu) by tzafrir (subscriber, #11501) [Link]

However with the assignment to the FSF you can be assured that your code will only be used in free software. Here Sun can use it in its own product that will compete with yours. And they can actually "fork" your code for usage in their own totally propritary products.

A few notes on the OpenSolaris release

Posted Jun 16, 2005 5:55 UTC (Thu) by eru (subscriber, #2753) [Link]

The Sun compilers come with a rather more restrictive license; users [...] may not publish benchmark results,

License conditions like that should simply be outlawed. Traditionally, when you publish something, you must be prepared for public criticism of your work. That is how science, and culture in general has progressed. Software should not be exempt on any pretext.

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.

Say what? In this day and age, any C code that writes into string literals is considered childishly incorrect. Downgrades significantly my assumptions about Solaris code quality.

A few notes on the OpenSolaris release

Posted Jun 16, 2005 12:12 UTC (Thu) by ekj (subscriber, #1524) [Link]

License conditions like that are, if not outlawed, then atleast void in a number of jurisdictions.

Saying you may not /publish/ benchmarks is a restriction on speech. Anyone can do benchmarks, they're just not allowed to tell anyone about their results.

Atleast in Norway those are void. Restrictions on speech in contracts are only allowable in certain limited cases which in general require a "honorable reason".

Wishing that only benchmarks "approved" by you can be published is not "honorable". Wishing that an employee that work for you and learn about secret plans for a new product refrain from telling your competitors probably is.

The right to give up benchmarking privileges

Posted Jun 19, 2005 0:10 UTC (Sun) by giraffedata (subscriber, #1954) [Link]

A promise not to divulge information is very common in US business, and entirely enforceable under US law. I can't even think of a kind of promise of secrecy that isn't enforceable.

I like it that way. My promise of secrecy is valuable, and I demand the right to trade it.

Incidentally, at least one no-benchmark contract term I saw wasn't a restriction on divulging the benchmark results -- it was on actually performing the benchmark. That it's hard for the other party to know the benchmarker breached the contract unless the benchmarker says he did really doesn't make it a free speech issue.

A few notes on the OpenSolaris release

Posted Jun 16, 2005 15:22 UTC (Thu) by dougm (subscriber, #4615) [Link]

od, rdist, telnet and sed are original Unix utilites--Sun's versions may very well be based on that code for compatibility reasons (older Solaris versions had the SysV versions of these programs as the default install), and they may not be able to redistribute source for them yet.

ssh is strange, but its BSD license permits binary redistribution. Not sure if they're withholding source for (bogus) security reasons or what...

The current version of patch is under the GPL, but I think older versions (originally written by Larry Wall) are under the Artistic license as well, so it's possible Sun forked one of those for its distribution.

A few notes on the OpenSolaris release

Posted Jun 16, 2005 16:18 UTC (Thu) by uwaucs (subscriber, #6160) [Link]

http://blogs.sun.com/nico/20050610 SSH wasn't included in the relase because it was forgotten about until too late. There are also issues with crypto code due to US export regulations (linked from above). If you look at the roadmap http://www.opensolaris.org/os/about/roadmap/ you'll see they plan to release more components under the CDDL as time goes by.

I have to disagree with the community comment in the main article - there is already a thriving community of blogs http://planetsolaris.org/ http://www.opensolaris.org/os/blogs/ , many by internal sun developers, but also some people external to Sun who got early releases.

A few notes on the OpenSolaris release

Posted Jun 17, 2005 23:41 UTC (Fri) by danieldk (subscriber, #27876) [Link]

How much is US export policy on crypto still a problem? As far as I know it is legal to export crypto software when a.) the source is available, and b.) you drop an e-mail notice at the US Bureau of Industry and Security.

http://www.bxa.doc.gov/Encryption/PubAvailEncSourceCodeNo...

But I am not a lawyer, so I may be understating the problem.

A few notes on the OpenSolaris release

Posted Jun 18, 2005 1:32 UTC (Sat) by rickmoen (subscriber, #6943) [Link]

uwaucs wrote:

http://blogs.sun.com/nico/20050610 SSH wasn't included in the relase because it was forgotten about until too late. There are also issues with crypto code due to US export regulations (linked from above)

I mean no criticism of Sun Microsystems in saying this: (It's better to be more cautious about BXA regulations than less.) There really aren't issues with US export regulations and OpenSSH, and haven't been since October 2000, thanks mostly to Daniel J. Bernstein's litigation and some good pressure on the administrative law front from Red Hat, Inc.

For more on that matter, please see "Crypto Export" on http://linuxmafia.com/kb/Licensing_and_Law.

Rick Moen
rick@linuxmafia.com

Copyright © 2005, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds
Powered by Rackspace Managed Hosting.