Difference between revisions of "Review/Process"
He the great (talk | contribs) (Adding rights and responsibilities) |
He the great (talk | contribs) (Include details of roles) |
||
Line 10: | Line 10: | ||
[[Development and Release Process]] | [[Development and Release Process]] | ||
+ | |||
+ | <pre> | ||
+ | The content below is waiting for approval. | ||
+ | </pre> | ||
+ | |||
+ | == Reviewer == | ||
+ | |||
+ | A reviewer should speak out as early as possible if they feel a library/submission should never be included into Phobos. Similarly they should speak up when they wish for a submission to be included. This includes prior to the formal review. | ||
+ | |||
+ | Your comments may be brief or lengthy, but basically the Review Manager needs your evaluation of the library. If you identify problems along the way, please note if they are minor, serious, or showstoppers. | ||
+ | |||
+ | The goal of the review is to improve the library through constructive criticism, and at the end a decision must be made: is the library good enough at this point to accept into Phobos? If not, we hope to have provided enough constructive criticism for it to be improved and accepted at a later time. | ||
+ | |||
+ | Some things to consider while reviewing: | ||
+ | * The API is practically permanent once the module is accepted. | ||
+ | * Documentation should provide sufficient understanding on the use of the module. | ||
+ | |||
+ | === Voting === | ||
+ | |||
+ | Voting is announced on [http://forum.dlang.org/group/digitalmars.D.announce D.announce] and a thread is started on [http://forum.dlang.org/group/digitalmars.D D] to submit votes. | ||
+ | |||
+ | The goal of the vote is to allow the Review Manager to decided if the community agrees on the inclusion of the submission. | ||
+ | |||
+ | * Place further discussion of the library in the official review thread. | ||
+ | ** If replying to an opinion stated during a vote, copy all relevant context and post in the official review thread. | ||
+ | * If you would like to see the proposed module included into Phobos | ||
+ | ** Vote Yes | ||
+ | * If one condition must be met | ||
+ | ** Vote Yes explicitly stating it is under a condition and what condition. | ||
+ | ** You may specify an improvement you'd like to see, but be sure to state it is not a condition/showstopper. | ||
+ | * Otherwise | ||
+ | ** Vote No | ||
+ | ** A brief reason should be provided though details on what needs improvement should be placed in the official review thread. | ||
+ | |||
+ | == Requirements == | ||
+ | <pre>Approval Wanted</pre> | ||
+ | There is no requirement that the submitter be active within the community, however keep in mind the [[#Submitter|Library Maintainers Rights and Responsibilities]]. | ||
+ | |||
+ | Requirements can be waved at community discretion. | ||
+ | |||
+ | * Licensed under the [http://www.boost.org/LICENSE_1_0.txt Boost Software License] | ||
+ | * The author and copyright must be clear | ||
+ | * The library must be generally useful | ||
+ | * Must meet [[#Portability|portability requirements]] below. | ||
+ | * The author must be willing to participate in the review and refine the submission accordingly. | ||
+ | * The code must reside within a branch of the Phobos library | ||
+ | |||
+ | === Portability === | ||
+ | |||
+ | |||
+ | * The submission's interface must be portable and not restricted to a particular compiler or operating system. | ||
+ | * A libraries implementation must, if possible, be portable and not restricted to a particular compiler or operating system. | ||
+ | |||
+ | At this time, there are no requirements to validate with LDC or GDC. | ||
+ | |||
+ | == Submitter == | ||
+ | |||
+ | As a submitter of a module you take the role as the primary maintainer and it is your responsibility to find a qualified volunteer to serve in your place if you so choose. | ||
+ | |||
+ | Your code and documentation will need to be licensed under the Boost Software License. | ||
+ | |||
+ | <pre> | ||
+ | Approval wanted | ||
+ | </pre> | ||
+ | You will be expected to be available via email to respond to bug reports and questions. It is beneficial to follow the newsgroup and bug reports, but not necessary as long as your email can be located. | ||
+ | |||
+ | Improvements to your library are encouraged after the library approval, however any API changes must get further approval by the community; along with any significant additions to the API. | ||
+ | |||
+ | Patch submission including bug fixes and minor additions to a module do not place the same expectations on the submitter. | ||
+ | |||
+ | == Review Manager == | ||
+ | |||
+ | The Review Manager is an active member of the community with no connection to the library submission. The review manager will work with the submitter to make sure the submission is complete enough to warrant a formal review. See [[#Requirements|Requirements]] | ||
+ | |||
+ | * Announce review on [http://forum.dlang.org/group/digitalmars.D.announce D.announce] and start a thread for review on [http://forum.dlang.org/group/digitalmars.D D] | ||
+ | * Follows review discussions moderating and answering questions to the best of their ability. | ||
+ | * Evaluates the need to extend the review. | ||
+ | * Decides if a vote should be postponed. | ||
+ | * [[#Voting|Tallies votes]] and decides if there is consensus to accept the library and under what conditions. | ||
+ | * Announces results to [http://forum.dlang.org/group/digitalmars.D.announce D.announce] with a summary. | ||
[[Category:Review]] | [[Category:Review]] |
Revision as of 03:31, 18 June 2013
New code with major additions must run through a Boost Review cycle. It is suggested that you post to the Development Newsgroup to gauge interest and identify it isn't already being worked on. Don't get discouraged from low response as this can be for several reasons, but hopefully a sign that others agree it should be in Phobos will comment. And even if it is decided not to fit, if it is code you are interest in having others are likely too and can be its own library.
The process is a standard three weeks once the code is ready. Two weeks are left for review of the source and API, and is followed by a week of voting. During the review the code can be modified to appease the criticism, and it will be up to the submitter and review manager to decide if it makes sense to continue with a vote or postpone for a later review.
Smaller additions such as expanding existing functionality or fixing bugs can skip the formal review process. Remember that it is volunteers running this which means pull requests could have long waiting periods before getting reviewed. You can use the newsgroups to peek more interest in the request.
Note that we have similar expectations for Library Maintainer's Rights and Responsibilities. As the size of Phobos grows it is important the support team also grows. Actively monitoring the newsgroup/mailing list for discussions of your module is not required however it is important that you are reachable and available for inquires if a separate maintainer was not appointed.
Development and Release Process
The content below is waiting for approval.
Reviewer
A reviewer should speak out as early as possible if they feel a library/submission should never be included into Phobos. Similarly they should speak up when they wish for a submission to be included. This includes prior to the formal review.
Your comments may be brief or lengthy, but basically the Review Manager needs your evaluation of the library. If you identify problems along the way, please note if they are minor, serious, or showstoppers.
The goal of the review is to improve the library through constructive criticism, and at the end a decision must be made: is the library good enough at this point to accept into Phobos? If not, we hope to have provided enough constructive criticism for it to be improved and accepted at a later time.
Some things to consider while reviewing:
- The API is practically permanent once the module is accepted.
- Documentation should provide sufficient understanding on the use of the module.
Voting
Voting is announced on D.announce and a thread is started on D to submit votes.
The goal of the vote is to allow the Review Manager to decided if the community agrees on the inclusion of the submission.
- Place further discussion of the library in the official review thread.
- If replying to an opinion stated during a vote, copy all relevant context and post in the official review thread.
- If you would like to see the proposed module included into Phobos
- Vote Yes
- If one condition must be met
- Vote Yes explicitly stating it is under a condition and what condition.
- You may specify an improvement you'd like to see, but be sure to state it is not a condition/showstopper.
- Otherwise
- Vote No
- A brief reason should be provided though details on what needs improvement should be placed in the official review thread.
Requirements
Approval Wanted
There is no requirement that the submitter be active within the community, however keep in mind the Library Maintainers Rights and Responsibilities.
Requirements can be waved at community discretion.
- Licensed under the Boost Software License
- The author and copyright must be clear
- The library must be generally useful
- Must meet portability requirements below.
- The author must be willing to participate in the review and refine the submission accordingly.
- The code must reside within a branch of the Phobos library
Portability
- The submission's interface must be portable and not restricted to a particular compiler or operating system.
- A libraries implementation must, if possible, be portable and not restricted to a particular compiler or operating system.
At this time, there are no requirements to validate with LDC or GDC.
Submitter
As a submitter of a module you take the role as the primary maintainer and it is your responsibility to find a qualified volunteer to serve in your place if you so choose.
Your code and documentation will need to be licensed under the Boost Software License.
Approval wanted
You will be expected to be available via email to respond to bug reports and questions. It is beneficial to follow the newsgroup and bug reports, but not necessary as long as your email can be located.
Improvements to your library are encouraged after the library approval, however any API changes must get further approval by the community; along with any significant additions to the API.
Patch submission including bug fixes and minor additions to a module do not place the same expectations on the submitter.
Review Manager
The Review Manager is an active member of the community with no connection to the library submission. The review manager will work with the submitter to make sure the submission is complete enough to warrant a formal review. See Requirements
- Announce review on D.announce and start a thread for review on D
- Follows review discussions moderating and answering questions to the best of their ability.
- Evaluates the need to extend the review.
- Decides if a vote should be postponed.
- Tallies votes and decides if there is consensus to accept the library and under what conditions.
- Announces results to D.announce with a summary.