Who can become OpenSolaris
contributor:
A contributor can be an individual or a
company/institution. A copyright in the name of the contributor is
placed into the files contributed by the individual. If its a
company/institution, then the company/institution will hold the
copyright.
How to become OpenSolaris
contributor:
Register at opensolaris.org Link:
https://www.opensolaris.org/register.jspa
Download Sun Contributor Agreement (SCA). The agreement is
available on
http://www.opensolaris.org/os/about/sun_contributor_agreement.
Print the Sun Contributor Agreement, fill it and sign it. Follow
the instructions on the above link to submit it.
You'll be given a SCA number and your email address will be added
to request-sponsor@opensolaris.org. You can also join this
alias by sending a blank mail to
request-sponsor-subscribe@opensolaris.org.
That's it. You are a contributor.
What to Pickup:
Go through the Communities and Projects page. Follow up on the
archived mails, join the discussions to know what everyone is working
on. Give feedback. Throw ideas. Comment on the design. Select an
area of interest. Start working on it. Check
out the documentation on http://docs.sun.com.
All the man pages, exported interfaces, configurations (with
examples) are available here.
What to contribute:
You can contribute any code that you have written. For e.g. a new
driver that you have written, a fix for a bug that you have
discovered, an enhancement, new features, anything that you have
written.
Some Bugs and Request for Enhancements (RFE) in OpenSolaris are
opened up for the community. These are marked with the keyword
oss-bite-size. The list of this bugs can be found on
http://www.opensolaris.org/os/bug_reports/oss_bite_size.
Select a bug you wish to work on. Note that you select one which has
a empty "Responsible Engineer" column. Even if a Bug/RFE is
marked oss-bite-size, an engineer inside Sun might have picked this
up for different reasons (it is part of a project, required for
another fix to work, high impact, etc).
You can also search for a bug/RFE of your interest on
http://bugs.opensolaris.org
and choose to work on it even if its not marked oss-bite-size.
These bugs are a bit more complicated though.
Note that the request for sponsorship is sent after the
contribution is ready. It has happened earlier that a contributor
sends a request for sponsorship while somebody inside Sun is already
working on it. With increasing number of contributors, it might as
well be another contributor in future.
The status of all contributions can be tracked from
http://www.opensolaris.org/os/bug_reports/request_sponsor.
All the bugs/RFEs for which a fix has been submitted by an
OpenSolaris contributor has a keyword request-sponsor in
it.
When you pick up a bug/RFE please not
the following things:
The Responsible
Engineer field of the bug must
be empty
request-sponsor keyword
should not be present in Keywords field.
If this keyword is there, then that means another contributor is
working on this bug/RFE.
http://src.opensolaris.org/source
lists many source gates. These are project source gates. The main
Solaris gate is onnv.
Some of the bugs are against the project gates and some are against
open sourced software which is just bundled with Solaris. Make sure
the fix for the bug you pick up goes into the onnv
gate.
How it works:
Once you have selected a bug/RFE to work on, send a mail to
request-sponsor@opensolaris.org
stating that you want to work on
this bug. Also give a reasonable time frame by which you'll come back
with the contribution. This is required because the opensolaris.org
page does not track contributors who are currently working on a bug.
It only tracks already submitted contributions. One of the members of
the alias will verify if another contributor is working on it or any
Sun Engineer is working on it. This will prevent duplicate efforts
and any disappointment later.
After you are ready with your code change, do a thorough testing.
Testing is necessary even if its a small and obvious change.
When you are ready with your contribution, send a mail to
request-sponsor@opensolaris.org asking for sponsorship. One of
the sponsors would pick up your request and work with you to get your
contribution integrated into OpenSolaris. The sponsor will keep you
updated on the progress.
request-sponsor alias contains
all the contributors and all the *sponsors*.
The sponsor's job is to mediate with the contributor and commit the
contributor's source into OpenSolaris. No, its not monetary
sponsorship. A list of sponsors is available at
http://www.opensolaris.org/os/community/on/crt/advocates.
Things to keep in mind:
License. Your code should not violate any of the license
terms. I'm not a license expert to elaborate on that.
Please remember that Solaris promises backward compatibility.
Any shell script or program written for earlier versions of Solaris
MUST work on later versions. Changing the output format of a
command, the behavior of its options, systemcall parameters, any
documented behavior (manpage, docs.sun.com), is a no-no. Well, this
can be done to a minimal level by filing an ARC
case.
Any new code/modifications that you submit must be tested,
even if it is an obvious and simple modification. The sponsor would
be verifying your test results as well as performing more tests
which are required before integration.
What you need:
Solaris Express:
This is the official distribution of
OpenSolaris. Download this from
http://www.opensolaris.org/os/downloads.
The starter kit media can be ordered to your postal address from
http://get.opensolaris.org.
Solaris Express is available for both
sparc and x86. Only 64 bit kernel is available for Sparc version.
Solaris sparc does not support 32 bit kernel anymore. The x86 version
of Solaris Express can be run in both 32bit and 64bit.
This page lists some more utilities
along with it. Solaris and Sun Studio is free. Sun Studio contains
the compiler and IDE. If you want to modify Solaris, you'll need it.
512 MB and 5GB is required to install
Solaris. If you want to build, modify and test and keep aside
another 10GB.
You'll need an account with Sun
Download Center. The account is free as well.
LiveCD (optional)
Another way is to install from Belenix
(http://www.belenix.org). This
is the live CD version and can be installed from the LiveCD itself.
Belenix runs 32bit kernel and is available for x86 platform only.
Belenix can also be downloaded from a torrent.
Nexenta and Schillix are also LiveCD distributions of Solaris(x86).
If you are compiling Solaris source
then you'll need this. This can be downloaded from the above link
for Solaris or from
http://developers.sun.com/sunstudio/downloads/index.jsp.
Sun Studio contains compilers and a basic IDE as well. For working
on Solaris code you'll need the compilers but the IDE is not
necessary. If you are developing your own software, then you can use
gcc or NetBeans IDE.
Solaris download link and
documentation: http://opensolaris.org/os/downloads/on
Solaris source and BFU archives:
http://dlc.sun.com/osol/on/downloads/current
Solaris source mercurial repository
ssh://anon@hg.opensolaris.org/hg/onnv/onnv-gate.
Solaris and other supporting software
downloads: http://opensolaris.org/os/downloads
Note that while both Solaris and Sun Studio is available for free,
the support service is not free.
The BFU archives are generated for every build and can be used to
upgrade a Solaris system. Make sure you read the documentation
on how to BFU before using it.
Reference:
The OpenSolaris
Developer's Reference Guide is a must for those who work in
kernel land (drivers, modules) or on OpenSolaris source itself. Its a
good reference if you are developing your own application as well.
Check out the Open Solaris User Groups
on the Projects page. Go through the mail archives and post your
questions here for any help.
Building Solaris:
http://www.opensolaris.org/os/community/on/devref_toc/devref_4/
and http://www.blastwave.org/articles/BLS-0050/index.html
(with screenshots)
Additional Softwares for
Solaris: http://www.blastwave.org.
Man Pages and Documentation:
http://docs.sun.com
Happy Contributing