diff -r 9168d237b0e7 motivations.rst --- a/motivations.rst Fri Oct 16 14:17:46 2015 -0500 +++ b/motivations.rst Sat Oct 31 22:29:13 2015 +0100 @@ -3,50 +3,53 @@ Motivations and Affiliations ============================ -CPython core contributors participate in the core development process for a -variety of reasons. Being accepted as a core contributor indicates only that +CPython core reviewers participate in the core development process for a +variety of reasons. Being accepted as a core reviewer indicates that an individual is interested in acquiring those responsibilities, has the -ability to collaborate effectively with existing core contributors, and has had +ability to collaborate effectively with existing core reviewers, and has had the time available to demonstrate both that interest and that ability. -This page allows core contributors that choose to do so to provide more +This page allows core reviewers that choose to do so to provide more information to the rest of the Python community regarding their personal -motivations for participating in the core development process (which can be -admittedly trying at times), as well as any personal and professional -affiliations which they consider particularly relevant. +motivations for participating in the core review process, as well as any +personal and professional affiliations which they consider particularly +relevant. -Core contributors that wish to provide this additional information add a new +Core reviewers that wish to provide this additional information add a new entry to the :ref:`published-motivations` section below. Guidelines relating to content and layout are included as comments in the source code for this page. -Core contributors that are available for training, consulting or contract work, +Core reviewers that are available for training, consulting or contract work, or are seeking crowdfunding support for their community contributions, may also choose to disclose that information here (including linking out to commercial sites with the relevant details). -Limitations on scope --------------------- +Goals of this page +------------------ -Changes to the software and documentation maintained by core contributors, -together with related design discussions, all take place in public venues, and -hence can be fully audited by anyone that cares to do so. Accordingly, core -contributors are NOT required to publish their motivations and affiliations if -they do not choose to do so. This helps to ensure that core contribution -processes remain open to anyone that is in a position to sign the `Contributor -Licensing Agreement`_, the details of which are filed privately with the Python -Software Foundation, rather than publicly. +The `issue metrics`_ automatically collected by the CPython issue tracker +strongly suggest that the current core development process is bottlenecked on +core reviewer time - this is most clearly indicated in the first metrics graph, +which shows both the number of open issues and the number of patches awaiting +review growing steadily over time, despite CPython being one of the most +active open source projects in the world. This bottleneck then impacts not only +resolving open issues and applying submitted patches, but also the process of +identifying, nominating and mentoring new core reviewers. -.. _Contributor Licensing Agreement: https://www.python.org/psf/contrib/contrib-form/ +The core commit statistics monitored by sites like `OpenHub`_ provide a good +record as to *who* is currently handling the bulk of the review and maintenance +work, but don't provide any indication as to the factors currently influencing +people's ability to spend time on reviewing proposed changes, or mentoring new +contributors. -While providing additional information on this page is entirely optional, -contributors that are not facing personal safety concerns are specifically -encouraged to disclose commercial affiliations in the following two cases +This page aims to provide at least some of that missing data by encouraging +core reviewers to disclose commercial affiliations in the following two cases (even if not currently paid for time spent participating in the core development process): -* contributors working for vendors that distribute a commercially supported +* reviewers working for vendors that distribute a commercially supported Python runtime -* contributors working for Sponsor Members of the Python Software Foundation +* reviewers working for Sponsor Members of the Python Software Foundation These are cases where disclosure of commercial interests helps to improve the overall transparency of the core development process, as well as making it @@ -54,19 +57,60 @@ them to participate in and contribute effectively to supporting the core development process. -Contributors that are available for consulting or contract work on behalf of +Core reviewers working for organisations with a vested interest in the +sustainability of the CPython core development process are also encouraged to +seek opportunities to spend work time on mentoring potential new core +reviewers, whether through the general `core mentorship program`_, through +mentoring colleagues, or through more targeted efforts like Outreachy's paid +`internships`_ and Google's `Summer of Code`_. + +Core reviewers that are available for consulting or contract work on behalf of the Python Software Foundation or other organisations are also encouraged to provide that information here, as this will help the PSF to better facilitate funding of core development work by organisations that don't -directly employ any core contributors themselves. +directly employ any core reviewers themselves. +Finally, some core reviewers seeking to increase the time they have available +to contribute to CPython may wish to pursue crowdfunding efforts that allow +their contributions to be funded directly by the community, rather than relying +on institutional sponsors allowing them to spend some or all of their work +time contributing to CPython development. + +.. _issue metrics: http://bugs.python.org/issue?@template=stats +.. _OpenHub: https://www.openhub.net/p/python/contributors +.. _core mentorship program: http://pythonmentors.com/ +.. _internships: https://www.gnome.org/outreachy/ +.. _Summer of Code: https://wiki.python.org/moin/SummerOfCode/2016 + + +Limitations on scope +-------------------- + +* Specific technical areas of interest for core reviewers should be captured in + the :ref:`Experts Index `. + +* This specific listing is limited to CPython core reviewers, but if this + experiment proves successful, it may make sense to create a more expansive + listing on the Python wiki that also covers issue triagers, and folks seeking + to become core reviewers. + +* Changes to the software and documentation maintained by core reviewers, + together with related design discussions, all take place in public venues, and + hence are inherently subject to full public review. Accordingly, core + reviewers are NOT required to publish their motivations and affiliations if + they do not choose to do so. This helps to ensure that core contribution + processes remain open to anyone that is in a position to sign the `Contributor + Licensing Agreement`_, the details of which are filed privately with the Python + Software Foundation, rather than publicly. + +.. _Contributor Licensing Agreement: https://www.python.org/psf/contrib/contrib-form/ .. _published-motivations: Published entries ----------------- -The following core contributors have chosen to provide additional details +The following core reviewers have chosen to provide additional details regarding their reasons for participating in the CPython core development process: @@ -76,7 +120,12 @@ avoid creating entries in the main table of contents. Topic headings should be in the form of "Name (Country)" to help give some - indication as to the geographic dispersal of core contributors. + indication as to the geographic dispersal of core reviewers. + + NOTE: The rest of these guidelines are highly provisional - we can evolve + them as people add entries, and we decide on the style we like. I (Nick) + made a best guess based on what I wanted to include, but it's hard to + really tell how it looks with only one entry. Entries should be written as short third person biographies, rather than being written in first person.