Important: You are required to change your passwords used for Gentoo services and set an email address for your Wiki account if you haven't done so. See the full announcement and Wiki email policy change for more information.

Project:Recruiters

From Gentoo Wiki
Revision as of 00:21, 5 January 2014 by Hwoarang (Talk | contribs)

Jump to: navigation, search
Gentoo Developer Recruiters
Description The Recruiters subproject provides a central location for information about developer recruitment and recruiter policy.
Email recruiters@gentoo.org
IRC Channel #gentoo-comrel
Lead(s)
Members
Parent Project Gentoo Community Resources
Subprojects (none)
Tags
Project listing

Project Description

Gentoo's true strength is its impressive and constantly evolving developer base. It's the job of recruiters to manage the growth of the development team by locating, approving, and managing new developers to add further innovative talent to our already strong organization.

What does it take to be a recruiter?

Recruiters need to possess several talents in order to successfully oversee additions to the development team. First and foremost, a recruiter needs to be a good judge of character. While most new developer sponsors pick only the best candidates, there have been and will be occasional duds. Recruiters need to be able to analyze an individual's background, experience, and past contributions, then use that information to decide whether or not to accept a developer. Recruiters also need to be aware of the big picture in order to recognize weaknesses in the organization and accept developers who will shore up those weaknesses. Remember, recruiters always have the final say on new developers. Never be afraid to say no, but always offer a detailed explanation of the decision.

What does the recruitment process involve?

All new developers must have a mentor. This mentor will be responsible for guiding the new developer through the new developer process and offering help to the developer futurely. Mentors should assist by pointing the new developer to developer-related documentation, answering questions, and explaining the ins and outs of working for Gentoo as much as possible.

A bug must be filed for each new developer. The bug summary should be 'New Developer (real name) (nickname).' The bug must contain the new developer's real name, email address, and reason for joining the project. Real names must be provided for all developers, including infrastructure and documentation. Any exceptions to this for extenuating circumstances will be considered on a case-by-case basis. No exceptions will be made for people doing copyrightable work (ebuilds, software, scripts, documentation, etc.). The bug should also contain who the new developer's mentors will be and any other information the mentor wishes to provide. Please do not attach quiz answers or encryption keys to the bug -- these should be emailed to recruiters. The new developer and all mentors should be CCed on the bug to keep everybody in the loop.

A developer's bug tracks his progress throughout his lifetime at Gentoo. If the developer retires, the initial recruitment bug is used to track all the things that must be done to retire a dev. If the developer later returns, the same initial recruitment bug is used to track it. Returning developers are subject to the same criteria as a first-time developer and must go through the same steps to rejoin Gentoo.

The new developer will have a mentoring and evaluation period of up to a month. This will be determined by the recruiter based on feedback from the mentor. During this mentoring period, the mentor is responsible for providing the quiz .Additionally, new developers should be responsive to questions from recruiters during this waiting period. If the new developer will be absent for significant periods of time during this period, the bug should be updated to reflect this. If a new developer is unresponsive to pings, recruiters will close the bug. Bugs closed under these circumstances may be reconsidered at a later time.

Developers taking the quiz (linked above) should consult technical and policy documentation for answers. Mentors may provide as much assistance as needed. Along with the quiz, an OpenSSH SSH2 DSA public key for infrastructure access should be provided to recruiters.

Developers working strictly on infrastructure, documentation, or bug-wranglers with no CVS access to the Portage tree typically do not need to take the ebuild quiz. Instead, a staff quiz is provided. See the quiz page for more information.

Recruiters may reject new developers if they feel it's appropriate. Additionally, for 30 days after joining, a new developer is considered to be in a 'probationary period' in which their mentor is responsible for actions taken by the new developer. This provides a certain level of accountability.

Stuff to remember

When adding yourself to a bug

I will be your recruiter. Please send your quizzes to recruiters@gentoo.org when approved by your mentor. Always add a comment to this bug when you send something to that address. When the quizzes are sent please contact me by IRC or email to schedule the first review session. If you think that recruiters aren't paying attention to this bug at any later point in time, it's your job to ping us on IRC if you don't want any delays.

For review session

I will go through your answers, find out errors and ask some extras related and unrelated to the quiz questions. Take your time, it's supposed to be a learning experience as much as a test of your skills. But just tell me if you can't absolute find something so that you don't use too much time.

After the sessions you are asked to submit a fixed versions of the quizzes so logging the session might be prudent.

For setting up

CodeBugzilla setup comment

What we did:
- LDAP
- bugzilla
- cvs/svn/git groups on cvs.gentoo.org
- IRC cloak
- sent you your LDAP/mail password via encrypted mail
- announcement

Automatic:
- gentoo-core
- gentoo-dev-announcement

What you need to do:
- subscribe to mailing lists with your @gentoo.org address
- request forum status bump in #gentoo-forums or by mail to
  forum-mods@gentoo.org (if you have a forums account)
- send yourself mail to check if it works
- add yourself to mail aliases ( like java@gentoo.org )
  see /var/mail/alias on dev.gentoo.org
- ask team leads to add yourself to herds.xml for the herds you want to
  join or do it yourself if you have the permission to do so
- Register to wiki.gentoo.org with your @gentoo.org e-mail address using
  the following instructions: https://wiki.gentoo.org/getting-started
- set lat and lon attributes in LDAP if you want others to know where
  exactly you are located
- set gentooIM if you want people to be able to contact you via other
  means than email
- If you want your blog to be syndicated to planet.gentoo.org, check
  http://www.gentoo.org/proj/en/userrel/planet/index.xml
- contact trustees@gentoo.org for Foundation membership (optional)

For the mentor:
- You are also responsible for the commits of your recruit during the first
  month so you should watch the commits of your recruit via gentoo-commits
  mailing list.


Steps for adding a new developer

Adding the new developer to LDAP

At first, start adding the new developer to LDAP. This requires you to ssh to dev.gentoo.org and use the newdev-fill.sh script to create the new account. This script will ask you for all needed information and will set the ldap attributes. You should have your LDAP password by hand, you will be asked for it for every LDAP change.


CodeCreating the initial UID in LDAP

# ssh dev.gentoo.org
# newdev-fill.sh hyakuhei

Please be aware, that as of 17. December 2007 , all dates in LDAP should be spelled in ISO8601, meaning like this: YYYY/MM/DD (ie. 2007/12/18).

Afterwards it should look like this:

CodeCompletely filled informations

# perl_ldap -b user -s hyakuhei
Searching...
------------------------------------------------------------------------
dn:uid=hyakuhei,ou=devs,dc=gentoo,dc=org

             uid: hyakuhei
              cn: Robert Clark
       givenName: Robert
              sn: Clark
    userPassword: {crypt}$1$HP/3wW0V$XUMrrFeQDHiMSGDOIUAbi/
shadowLastChange: 13520
       shadowMax: 99999
   shadowWarning: 15
      loginShell: /bin/bash
   homeDirectory: /home/hyakuhei
            mail: hyakuhei@gentoo.org
                  joe.dev@mydomain.com
           gecos: Robert Clark
  shadowInactive: 15
    shadowExpire: 14883
       gidNumber: 100
       uidNumber: 2159
      gentooJoin: 2007/01/07
            herd: undefined
    gentooStatus: active
     objectClass: top
                  person
                  organizationalPerson
                  gentooDev
                  inetOrgPerson
                  posixAccount
                  shadowAccount
                  ldapPublicKey
  gentooLocation: Wales, UK
        birthday: 1984/06/29
     gentooRoles: Security/log monitoring apps, Auditing
          gpgkey: 0x2217D168
  gpgfingerprint: 4C01 D375 8AEF CB2D 3AED  3B2D 119C 7E35 2217 D168
    gentooMentor: his-mentor
    gentooDevBug: 012345
    sshPublicKey: ssh-dss AAAAB3NzaC1kc3MAAACBAKmRjZ21SqPHwRXgkWDVuLfSZ5FOSV26x\
		  aV3Fnsc68r9caDWMZyD8PAJfXUeDXYOcUt4F3ZB+VL3DQSGg4ZEf4XVoNIOVn\
		  u87QaQyMJYT+u2EPsTJv99HZJM+tGT/ng6JfnRMWYdEDAUJ6iKZLNPKt+KWH7\
		  KprlHxRUJzd1MpbsVAAAAFQD9i0iTAesG4A1PJwT232+6IxtDlwAAAIEAoVtc\
		  O/ef4pd5WdJaeneOlmaFEF+P3lBbkaomT5oFv4GI+0BS3b+C9gOV+akDpu3Fn\
		  5JREwN665P+Cnid2y3FVZY77CazbfHBpVX6elTndo1wxRYE02GxMkhqWpuMkc\
		  MChdRjhRrcLHzAh6wO64r/wd5ofciBxuP2+ilWT151frgAAACAda4optpsYWm\
		  oSwIiLqfjr+Akxvzn9LWDcJ4LI4U8wakiHgBEGlhiIE7zrmS4ZEp8vGKv/Rhk\
		  3fOU96eUsoWFyMYtYFtCv5hQBJrqhC5Ur3dvjVzbracSZytn2xrTc+AEngPXu\
		  55WN2ebq/LMMTQV0Sq2wbDc7g9Jkxr4apAGDIM= hyakuhei@gentoo.org"
    gentooAccess: dev.gentoo.org
                  cvs.gentoo.org
             lat: 3.43521
             lon: -4.2333

The sshPublicKey has been splitted in many lines for this website, it is just one line.

Granting svn/cvs/git access

In order to grant access to cvs/svn/git to the newly added developer, you will need to ssh to cvs.gentoo.org and add the username to the appropriate groups.

CodeAdding a developer to the groups cvs, svn and git

# ssh cvs.gentoo.org
# gpasswd -a hyakuhei cvs
Adding user hyakuhei to group cvs
# gpasswd -a hyakuhei svn
Adding user hyakuhei to group svn
# gpasswd -a hyakuhei git
Adding user hyakuhei to group git

Creating the developer's account on dev.gentoo.org

Now get the developer to ssh to dev.gentoo.org as the first login will trigger the creation of his account.


Note
Try handing the dev-to-be the full commandline like ssh hyakuhei@dev.gentoo.org , in order to minimize mistakes and/or misconfigurations. Also point developer to LDAP guide so they know how to check and change their attributes if needed.

Changing the developer's bugzilla login

Note
Before chaning the developer's bugzilla login email, let them decide wether she/he wants to setup email forwarding for his Gentoo e-mail account.

After the developer logged in successfully, you can proceed with the recruiter process. Login to bugzilla, choose Users in the Row Edit . Supplement the developer's current email adress (the one he used for bugzilla).

Change his current Login name to read handle-name@gentoo.org (in the present case that is hyakuhei@gentoo.org ). Hit Update once you're finished with the modifications.

Setting the developer cloak to gentoo/developer/account

Every developer should get a cloak in the form @gentoo/developer/account, where in most cases the account is the same as the nickname he uses.

You need to ping our group contacts (mentioned in the topic) on #gentoo-groupcontacts and ask for a gentoo/developer cloak for the new dev. One of them will have to acc the request. After this, someone from freenode staff will change the cloak.

Developer operator status in #gentoo-dev

After freenode staff has changed the cloak for our new dev, he should get +o when joining #gentoo-dev . In order to make sure, the AUTOOP is working, kick the new developer from #gentoo-dev and wait till he rejoins. If everything is working as it should, he will get the +o on join by ChanServ.

If you want to automatically give voice status (+v) in #gentoo-dev to a recruit, e.g. during his/her mentoring period, use the following command:


CodeAdding the developer to ChanServ's access list

[(status)] /msg ChanServ access #gentoo-dev add hyakuhei +ViA

Introducing the developer on mailing lists

In order to announce the new developer, you as recruiter have the honour to introduce him to the developer community. Write a brief introduction containing some details about your recruitee to gentoo-dev-announce and gentoo-project.

Remaining tasks

Please follow up with the developer during their first month to make sure they are adapting well and to address any concerns.

Reinstating developers

For returning developers gentooJoin needs to have an entry for everytime they come back and gentooAccess needs to be set to "active" . You also need to make sure that the gentooAccess attribute contains at least the following two values: cvs.gentoo.org and dev.gentoo.org .

CodeUpdating gentooJoin

# perl_ldap -b user -C gentooJoin "YYYY/MM/DD" nick
CodeUpdating gentooStatus

# perl_ldap -b user -M gentooStatus "active" nick
CodeUpdating gentooAccess

# perl_ldap -b user -C gentooAccess "dev.gentoo.org" nick
# perl_ldap -b user -C gentooAccess "cvs.gentoo.org" nick

Permissions needed for recruiters

  • useradmin group on cvs.gentoo.org
  • recruiters group on dev.gentoo.org for newpasswd
  • recruiters.group in LDAP
  • editusers in bugzilla


Acknowledgements

We would like to thank the following authors and editors for their contributions to this guide:

  • Jon Portnoy
  • Deedra M. Waters
  • Seemant Kulleen
  • Joshua Saddler
  • Denis Dupeyron
  • Markos Chandras