The purpose of this document is to outline the purpose, roles, and decision processes for this repository. The hope is to guide the community on how to accept contributions and maintain the cookbook to the standards of the NumFOCUS Community.
- Conference Organizer Enablement
- Conference organizers should be able to easily access and use the cookbook
- Every effort will be made to be responsive to issues
- Repo Quality
- Repo remains in healthy state with good-quality, consistent codebase
- Continuous Integration: Using Github Actions we are able to deploy the guide, preview pull-requests, and run quality checks on content.
-
Contributors
- Description:
- Any person who makes a contribution to the DISCOVER Cookbook
- Responsibilities:
- Submit issues, ideas, pull requests
- maintain the code of conduct
- review pull requests
- Eligibility:
- Anyone can submit issues, pull requests, or discussion items to the project
- To be recognized as a Contributor, must have an accepted issue, pull request, or idea in discussions (either on discussion boards or at in person event)
- Current Team:
- Description:
-
Maintainer
- Description:
- Experienced project members who have made numerous contributions and are willing to take the responsibility for maintaining the repository
- Responsibilities:
- triage issues,
- maintain content delivery,
- Write control: Approve pull/merge requests (verify submissions vs. acceptance criteria)
- Monitor github issues and drive timely resolution
- Ensure project information such as the Readme, Contributing docs, wiki, etc., kept up-to-date
- Lead the project in terms of versioning, quality assurance, and overarching objectives
- Eligibility:
- Needs to be familiar with GitHub-run projects and lifecycles of open source projects
- Needs to have contributed to the project significantly so that other maintainers can trust their decisions
- Needs to have time each week to respond to folks
- Current Team:
- Description:
-
Editor:
- Description:
- Responsibile for ensuring content is reviewed and kept to a high standard.
- Responsibilities:
- maintain content
- review content issue
- Eligibility:
- Invitation only based on roles in NumFOCUS DISC
- Must be able to attend most editorial meetings, roughly once per month
- Current Team:
- Description:
-
NumFOCUS DISC Committee
- Description:
- members of the DISC committee as elected per its charter
- Responsibilities:
- Act as a facilitator in resolving technical and content conflicts
- Designate new approvers
- Eligibility:
- elected per the DISC Committee charter
- Description:
- All source code and document copyrights will be owned by Contributer
- Submissions of source code and documents implies a perpetual MIT license to the DISCOVER community
- Contributions are via pull requests
- Maintainers will assign approvers to contributor pull requests
- Approvers can self-assign their reviewers
- For complex or invasive contributions, Maintainers may request approval from specific reviewers
- At least one review approval is required to complete a pull request
- The goal is to be responsive to contributors while ensuring acceptance criteria is met and to facilitate their submissions
- Approval is dependent upon adherence to the guidelines in CONTRIBUTING.md, and alignment with repository goals of maintainability, completeness, and quality
- Conflicts or questions will ultimately be resolved by the NumFOCUS DISC Committee
-
Internal system changes are handled by maintainers directly, without others needing to be involved
-
How new contributions are managed
- A github pull request is made by anyone, preferred to be referencing a github issue unless very small change
- A maintainer triages the issue.
- content is tagged and assign to the editorial team to review
- other tags are handled by maintainers
- Revewers for a github pull request work with the contributor to approve the pull request
- Once a pull request is approved, a maintainer will merge to the repository.
- Once merged maintainers will add those involved to the contributors list via all-contributors
-
How existing content is reviewed
- types of edits
- copy edits
- rewrite for clarity
- changing content
- let anyone make issue or pull requests
- in monthly meeting, we can review in person, but could be done ad hoc
- At the monthly meeting will review
- open issues tagged as content related
- preassigned chapters
- types of edits
-
How we determine which new content to add
- Someone proposes new content either in a editorial meeting or on github discussions / issues
- Editorial team votes on adding new content, perhaps a section or a chapter
- Editorial team opens an issue saying that new content in an area is being developed
- An editor writes or composes new content from contributions
- Alternative, we see if anyone external wants to make contributions or take the lead in drafting the new content
- We use the reviewing process above for the new content
-
When how do we determine when to have the editorial meeting
- second friday every month at 1500UTC,
- if a majority can't make it then we reschedule with the organizer sending a crabfit survey and picking the most available time for folks.