Hands on OpenSolaris: Digging your fingers into the project
Posted on June 14, 2006
Given that today is our birthday, it seems like a good time to give a little “whats what” review for those who might be new. So lets look at some various areas of OpenSolaris.
Get the Code
You can view the code online via OpenGrok (our source browser), you can download a buildable tarball of the code (compilers are available for free here), or checkout the code via the Genunix Subversion Repository.
In the future, Mercurial will be the SCM of choice.
What is all this stuff?
Solaris developement is divided up into various functional areas known as consolidations, for instance X Windows is one consolidation, developer tools is another, the Java Desktop System (JDS, aka GNOME) is yet another. The heart of OpenSolaris is the underlying operating system and core tools known as the “Operating System and Networking Consolidation”, or OS/Net, or just “ON” for short. When we refer to “the code” we’re talking about ON in most cases.
Version numbers have very little “real” meaning in the commercial world, their more based on marketing than engineering, and therefore codenames and projectnames are given to certain development codebases. In the case of Solaris, the current codebase is codenamed “Nevada”. One would assume that Nevada will ultimately become “Solaris 11” but thats never certain, they may choose to call it “Solaris 10.1”, who knows. It should also be noted that lots of work on Nevada is also being pushed into Solaris10 Updates, ZFS for instance.
Nevada’s release schedual is based on time, not milestones. A build is a two week period of time. At the end of that period it is said that the “gate closes”, which means that all further additions will be attributed to the next build number. The current build number is 42. You can see the full build schedual here. The important thing to realize is that just because you installed B40 and B41 just released, this isn’t neccisarily an indication that something significant has changed and you should upgrade.
How do I install a full OS?
If your new you probly want to actually use Solaris before you start hacking on it. There are several ways to get Solaris. Here are a couple:
- Download Solaris 10, the production ready and fully supported version of Solaris, at no cost.
- Download Solaris 10 Express, a complete Solaris like Solaris 10 but based on “stable” releases within the Nevada codebase.
- Download Solaris Express: Community Release, similar to Solaris 10 Express except that it follows the development Nevada code and may not be as stable. This is the “cutting edge” release. SX:CR is the best choice for your first experience with OpenSolaris because the OpenSolaris bits are under the hood, but everything else you expect in a full Solaris release is present as well. After installing SX:CR you can build your own kernel and install it over the top.
- Get an OpenSolaris distribution: There are 4 Distributions currently, 3 for X86 and 1 for SPARC: they are SchilliX, Belenix, Nexenta, and mart-UX. OpenSolaris distributions are similar to Linux distributions in that they all have the current OpenSolaris code underneight but all have diffrent things stacked on top. If you want OpenSolaris but you don’t want all the “normal Solaris stuff” then a distro is for you.
Getting the Lay of the Land
OpenSolaris, as an organization, is a collection of various communities which repesent various functional groups or areas of interest. Some communities of interest include:
- Documentation Community: For managing, creating, and improving documentation for a variety of needs throughout the project.
- Nevada Development Community: A place for those hacking on ON.
- The Tools Community: For all matters relating to tools that support the project, such as source control and compilers.
- The CAB Community: A community representing the OpenSolaris Community Advisory Board (soon to be known as the “OpenSolaris Governing Board”).
- The SysAdmin Community: A place for SysAdmin’s to discuss and work together with OpenSolaris and its various efforts.
- … and dozens more!
In addition to communities, various projects are created to do specific work on a proposed item. These projects are created by proposing the idea on our primary mailing list, OS-Discuss. If the idea is seconded it is validated as a project and given a place to manage its activities. These projects are typically endorsed and overseen by one or more communities. The full list of projects are available here. Projects range from creation of an Solaris iSCSI Target to Project Crossbow: Network Virtualization and Resource Control.
Important documents for the hardore
The best way to get involved is to register for OpenSolaris.org and join one or more communities. However, if your really hardc0re you might want to see some important documents, such as the following:
- The Common Development and Distribution License (CDDL), OpenSolaris’s License
- The OpenSolaris Charter
- The OpenSolaris Development Process (Draft Version 1)
- The OpenSolaris Governance Work Area
- OpenSolaris DSCM Evaluation: Mercurial
- The OpenSolaris Developer’s Reference Guide
Resources You Should Be Aware Of
Any time you check out a new open source project, the most difficult and initial step is to know where to look to get up to speed and involved quickly. The following is a list of resouces you should be aware of:
- The OS-Announce List: For announcements that may be of interest to you.
- The OS-Discuss List: This is “The Big List”, general to the project and most active of all.
- OpenSolaris Blogs: A listing of various blogs from developers and community members.
- PlanetSolaris: A Solaris blog aggrigator
- #opensolaris IRC Channel on Freenode.
- The OpenSolaris User Groups Community: We’ve got OpenSolaris User Groups (OSUG) spread across the globe, find one close to you.
- The OpenSolaris Wiki at Genunix