About RTI Advocates

Advocates are the gatekeepers to the illumos core: they have the ultimate say in what code is accepted, and their primary job is to ensure quality and stability for all illumos users.

Advocates are appointed by the illumos Developers' Council, a technical steering committee drawn from well-known developers of Solaris, whose role is to make high-level architecture decisions.

Current membership of the Dev Council:

  1. Bryan Cantrill, Joyent
  2. Garrett D’Amore, Lucera
  3. Adam Leventhal, Delphix
  4. Rich Lowe, unaffiliated
  5. Gordon Ross, Nexenta

Current Advocates


NameAffiliationAreas of Expertiseirc nick on #illumos
Garrett D'AmoreLucera gdamore
Albert LeeSoftNAS

Storage targets and HBAs, misc drivers,
userland, and some of: SMF, ZFS, NFS

Rich LoweNoneMisc.richlowe
Dan McDonaldJoyentTCP/IP, Cryptography, Networking userland,
GLDv3, some COMSTAR, etc.
Robert MustacchiJoyentVirtualization, Pieces of SMF, PCI, MDB,
DTrace, x86 platform, etc.
Gordon RossNexenta
CIFS/SMB stuff
VFS layer,
(other misc. stuff)
Chris SidenDelphixZFScsiden
Matt AhrensDelphixZFSmahrens
Hans RosenfeldJoyent Woodstock
Joshua M. ClulowJoyent LeftWing

Life as an Advocate

Contributors send you patches, build results, test results, check results, review results. If you're happy with all of this, you integrate the change on their behalf.

You should have received a diff in hg export or similar format, including a full set of metadata (Reviewed by: lines, authorship, etc.). If you didn't, feel free to ask whoever submitted the patch to submit it in this format, you shouldn't have to go search the list archives for reviewers.

Using your judgement

The whole reason we have RTI advocates or, if you're not steeped in Sun-ish history, follow a "pull" model, is that it provides us with a step in the process where in theory experienced people can exercise their (in theory) better judgement, and everyone can benefit from less breakage. This is 95% of the work involved.

Things you should be thinking about

Integrating changes

Be sure to do the following:

You can (and should) visually inspect outgoing commits before pushing (to ensure you have done all of the above) with something like:

git show --pretty=fuller origin/master..