It's about the Linux kernel's internals. Two thoughts arose in my mind:
a) There's also the Solaris kernel. Is there a document about the Solaris kernel's internals ? What about FreeBSD ?
b) If Linus were to die, there'd be someone who'd inherit the copyrights (I think). If most of the known Linux kernel developers were to gather in at a convention and if that city were to be bombed (some weird worst case scenario), there'd still be enough knowledge about Linux internals in the world for other developers to take over various sub systems.
What would be case be if Sun were to suddenly dissolve itself ? Is there enough of a knowledge base in this world for others to take care of the Solaris kernel ?
I think the answer to the Solaris case would be along the lines of "There aren't enough developers outside of Sun who could take care of the Solaris kernel. For world to have that many successors, folks would first need to have access to the kernel, to the documentation of the kernel design and architecture, and to various developers actively working on that kernel."
Here's a list of items needed to build your own Open Solaris.
1. Solaris Community Edition.
This is Sun provided. I wonder if Belenix can be used as a platform to build Belenix (an OpenSolaris based distro that I love and can vouch for).
2. Source code
Most of the Solaris source code is now OpenSolaris. This includes the Operating System and the Network system (ON). There are also other sub-systems.
Here's the list of what's available in the form of distributions and consolidations: http://www.opensolaris.org/os/downloads/
Here's the roadmap : http://www.opensolaris.org/os/about/roadmap/
This roadmap talks about what's available and what will be made available. Notice the various development guides that are listed in the roadmap as being released in 2006. This is a reassuring list.
3. Closed binaries
I couldn't locate a list of the closed binaries that one needs in order to build OpenSolaris, so I downloaded the closed binaries (6.5MB) from here (http://dlc.sun.com/osol/on/downloads/current/). I discovered that the archive of the closed binaries has a list of the closed binaries.
I have some concerns about these closed binaries that I'll list later.
There is enough documentation at the OpenSolaris site on building your own OpenSolaris binaries. For documentation on building your own distro, follow Moinak Ghosh's documentation on Belenix Remastering at the genunix.org site.
I haven't yet researched whether each and every component in the OpenSolaris kernel and userland is documented. For e.g., is the SMF documented ? Are there tutorials available on using the SMF libraries and monitoring services ?
5. Compilers and libraries.
The OpenSolaris site recommends that one use Sun Studio which is free for download and use, but which is Sun owned and built.
One can also build using the gcc, but the site says that some work is involved.
Also, building from source requires that one have a number of Sun packages installed. http://www.opensolaris.org/os/project/jds/contributing/building/
1. The dependency on Solaris Express Community Edition.
- Can one build using Belenix ?
- What is the effort involved in enabling Belenix to be an Open Solaris build platform ? Are all the Sun packages listed at http://www.opensolaris.org/os/project/jds/contributing/building/ free ? Would Belenix have them ?
2. The dependency on the closed Sun Studio compilers.
- Are these likely to be free someday ?
3. Closed binaries.
- What's stopping anyone from building free equivalents ?
I couldn't locate a list of the closed binaries that one needs in order to build OpenSolaris, so I downloaded the closed binaries (6.5MB) from here (http://dlc.sun.com/osol/on/downloads/current/). This included executables such as unalias, kill, read, sed, etc. Why would these be closed ? If Solaris already contains GNU equivalents of these tools, would these tools be drop in replacements ? Are the build scripts such that they require the Solaris versions and not the GNU versions ?
4. Here's a list of known issues : http://www.opensolaris.org/os/community/on/known_issues/
5. CDDL vs GPL
Can a distro easily bundle GPL apps with an OpenSolaris based distro ? Seeing Nexenta, I think the answer is yes. However, I am unable to locate any conclusive document that states as much.
And what of GPLd device drivers ? Is it acceptable for an independent project to port GPLd drivers to the OpenSolaris platform ?
I think the OpenSolaris community needs to address the following issues before a person with my knowledge and understanding of licensing can call OpenSolaris as being Open:
- No dependency on Closed binaries
- No dependency on closed compilers, linkers and build tools
- No dependency on a closed build platform
- Clear unambiguous documentation on whether GPL licensed code/binaries can be bundled with an OpenSolaris based distro
- Documentation, tutorials and compilable and working source code that jointly and severally explain how various sub systems work with each other, and how third party applications can link to and interact with these sub-systems.
- Discuss the above on the Open Solaris community discussion groups.