Developer HOWTO

From Genunix

See also New Developers Guide

0. Read the information about participation if you haven't already: http://opensolaris.org/os/communities/participation/#code

0.1. It's also worth reading the OS development process document so you understand various frequently used terms and code/design requirements.

1. Find or file a bug here: http://bugs.opensolaris.org or http://defect.opensolaris.org

1.1. Before filing a bug, check to see what if any previous discussion has been had around that bug or feature.

1.2. Check if the bug you want to work on is already allocated via the Request Sponsor table. If it's on the page, it's almost certainly taken (unless it's in the request suspended group) and you should contact the listed sponsor if if you want to contribute to that particular bug or find another bug.

2. Determine which consolidation your code is targeting. This document is currently aimed at O/N so other consolidations may have slightly different flow.

3. Create a workspace and become familiar with building using the draft instructions here: http://www.opensolaris.org/os/community/documentation/reviews/opensolaris-build-v1.7-updates.html and here: http://www.opensolaris.org/os/community/on/install_quickstart/

4. Request a sponsor. When sending email to request-sponsor AT opensolaris DOT org requesting a sponsor or posting to the forum, include the following information in your email:

   * Bug/RFE ID
   * Synopsis
   * Your full name
   * Number assigned to your Sun Contributor Agreement 

4.1. If it provides or changes any interfaces that other software uses, or if it is starting to use an interface from other software that's not been used before in the software being changed (ARC reference for what requires review) then file an Architecture Review Committee (ARC) case (ARC handbook)

4.1.1. Types of ARC (documented here until we find a better place):

  * PSARC - Platform Software
  * LSARC - Layered Software, middleware and web services
  * FWARC - Firmware
  * CLARC - Sun Cluster. For the Open HA Clusters project, the CLARC process has been extended to the open-source community.

5. Write code using the Quick Start Doc list here: http://www.opensolaris.org/os/community/documentation/getting_started_docs/

5.1. Check your code meets style and compatibility restraints.

5.2. Ensure your code meets all the OpenSolaris policies (you'll need to scroll down to Policies). This is the same document as 0.1.

6. Build and test your code.

7. Generate and upload a webrev.

8. Request code review from the proper community or subject experts and cc your sponsor. If you're unsure what community to ask for review, ask your sponsor for assistance. Note: Some developers set timeouts for their reviews, but those are not formally part of the review process. Timeouts are more a request to finish reviews until the date specified. Timeouts do not change the process, reviews are always required, no matter if a timeout has expired or not.

9. Fix any bugs pointed out by reviewers.

10. Goto 6.

11. Wait for your sponsor to putback your code. Note that this can take several weeks depending on where your bug falls on your sponsors priority list.