Changes between Version 2 and Version 3 of Proposal/ContributorAdvancementPath


Ignore:
Timestamp:
11/17/2014 06:07:43 AM (4 years ago)
Author:
Adi Roiban
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Proposal/ContributorAdvancementPath

    v2 v3  
    1717The central idea of the new process is to outline a group of skill areas where contributors can demonstrate their proficiency.  Contributors who are interested in advancing to roles that carry more responsibilities can record evidence of their skills in these areas and eventually request evaluation from a committee of existing contributors.  If the evidence is deemed compelling then the contributor's responsibilities can officially be expanded to match the skills they have demonstrated.
    1818
    19 Some examples of skill areas might include use of Deferreds, writing unit tests, writing prose documentation, writing API documentation, writing examples, fixing regressions, designing public APIs, deprecating old APIs, etc.  Skill at reviewing these types of changes suggests another group of areas.  Basic familiarity with the different domains represented by different parts of Twisted (eg "web" for Twisted Web, SSH and terminals for Twisted Conch, etc) might provide a third area from which to draw skill areas.
     19Some examples of skill areas might include:
    2020
    21 The workflow of advancement would differ little from the normal contribution workflow.  A contributor who is interested in expanded responsibilities can choose to keep track of the work they do on Twisted.  For many skill areas, this would involve little more than recording a ticket they worked on, in what capacity they worked on it (wrote code or contributed a review, for example), and in which skill areas they think it demonstrates proficiency.  This recording would be done on a standardized "contributor bingo card" which lays out the skills the Twisted project is interested in and what groupings of them allow advancements of different types (XXX "bingo card" may be a bad metaphor since in a real bingo game everyone's card has a different layout; in this system, everyone would work from a card with the same layout).
     21 * use of Deferreds
     22
     23 * writing unit tests
     24
     25 * writing prose documentation
     26
     27 * writing API documentation
     28
     29 * writing examples
     30
     31 * fixing regressions
     32
     33 * designing public APIs
     34
     35 * deprecating old APIs, etc.
     36
     37 * familiarity with a part of Twisted / Domain
     38
     39  * Web
     40  * SSH shell and execute
     41  * SSH SFTP
     42  * SSH Terminals for Conch
     43  * SMTP
     44  * DNS
     45  * IRC
     46  * Test framework - trial
     47
     48Skill at reviewing these types of changes suggests another group of areas.
     49
     50The workflow of advancement would differ little from the normal contribution workflow.  A contributor who is interested in expanded responsibilities can choose to keep track of the work they do on Twisted.  For many skill areas, this would involve little more than recording a ticket they worked on, in what capacity they worked on it (wrote code or contributed a review, for example), and in which skill areas they think it demonstrates proficiency.  This recording would be done on a standardized "contributor bingo card" (or progress report form) which lays out the skills the Twisted project is interested in and what groupings of them allow advancements of different types (XXX "bingo card" may be a bad metaphor since in a real bingo game everyone's card has a different layout; in this system, everyone would work from a card with the same layout).
    2251
    2352Due to the wide range covered by Twisted and the general complexity of developing software, allowing incremental advancement and advancement in different directions would be allowed.  If someone is passionate about Twisted's documentation, they should be able to advance to a role of being a core contributor for Twisted's documentation without demonstrating they understand the wire format of the SSH protocol.  These different roles and the skills they comprise will need to be planned out in order to construct the "bingo card".