OpenFabrics / sunfish_library_reference

The core Sunfish implementation
BSD 3-Clause "New" or "Revised" License
2 stars 4 forks source link

Sunfish: features contribution and ideation workflow #17

Closed christian-pinto closed 4 months ago

christian-pinto commented 5 months ago

Problem

We currently have no formal way to track the ideas and features being explored or implemented.

Proposal solution

Everything is based on GH Issues and pull requests. Whenever a new idea is to be submitted for implementation or for discussion a new GH issue should be created in the relevant repository. Each new issue contains a problem statement and a Proposed solution where the discussion should take place. Diagrams and figures are more than welcome. Features should be discussed on the GH issue as well as the Sunfish weekly meetings and accompanied with a slide deck that should also be attached to the issue itself. This same flow should be used for less concrete ideas that need to be discussed and also documentation related changes. Issues describing new features must be labeled with the feature label.

Once the feature and its design is approved by the WG the issue will be labeled as approved. Features or ideas that brought nowhere or that were not approved by the WG will be labeled as rejected

Every issue, if approved is then moved to the implementation part with an associated PR that should be named Issue #Issue num. When a feature is implemented it should be submitted for review as a pull request coming from a fork of the main repository. Each PR must be thoroughly reviewed by at least 2 reviewers before it can be merged. The related issue would feature the PR in the Development sections of the issue itself (usually on the right side of the screen) . See Issue #12 and PR #16 for a reference.

Random PRs that are not accompanied by an issue describing the problem it is trying to solve will not be considered. Submit an issue and get it approved!

In general implementation is a responsibility of the person (or organization) that submitted the issue in the first place. Features and ideas might also be submitted by an individual not wanting, or not able to, take over the implementation. This is the case of bur reports, or nice to have features. Create an issue and label it accordingly with bug or nice-to-have to help the maintainers triage and prioritize it ASAP.

christian-pinto commented 5 months ago

This issue was discussed and approved during the Sunfish weekly meeting of Jan 26 2024. The attached deck was used for driving the discussion.

I will proceed opening a PR for creating a CONTRIBUTING.md file in the Sunfish reference library repo.