49 lines
2.4 KiB
Markdown
49 lines
2.4 KiB
Markdown
|
# This is an OPEN Open Source Project
|
||
|
|
||
|
## What?
|
||
|
|
||
|
Individuals making significant and valuable contributions are given commit-access to the project to contribute as they see fit. This project is more like an open wiki than a standard guarded open source project.
|
||
|
|
||
|
## Rules
|
||
|
|
||
|
There are a few basic ground-rules for contributors:
|
||
|
|
||
|
- No --force pushes or modifying the Git history in any way.
|
||
|
- Non-master branches ought to be used for ongoing work.
|
||
|
- External API changes and significant modifications ought to be subject to an internal pull-request to solicit feedback from other contributors.
|
||
|
- Internal pull-requests to solicit feedback are encouraged for any other non-trivial contribution but left to the discretion of the contributor.
|
||
|
- For significant changes wait a full 24 hours before merging so that active contributors who are distributed throughout the world have a chance to weigh in.
|
||
|
- Contributors should attempt to adhere to the prevailing code-style.
|
||
|
Releases
|
||
|
|
||
|
Declaring formal releases requires peer review.
|
||
|
|
||
|
- A reviewer of a pull request should recommend a new version number (patch, minor or major).
|
||
|
- Once your change is merged feel free to bump the version as recommended by the reviewer.
|
||
|
- A new version number should not be cut without peer review unless done by the project maintainer.
|
||
|
|
||
|
## Want to contribute?
|
||
|
|
||
|
Even though collaborators may contribute as they see fit, if you are not sure what to do, here's a suggested process:
|
||
|
|
||
|
## Cutting a new version
|
||
|
|
||
|
- Get your branch merged on master
|
||
|
- Run `npm version major` or `npm version minor` or `npm version patch`
|
||
|
- `git push origin master --tags`
|
||
|
- If you are a project owner, then `npm publish`
|
||
|
|
||
|
## If you want to have a bug fixed or a feature added:
|
||
|
|
||
|
- Check open issues for what you want.
|
||
|
- If there is an open issue, comment on it, otherwise open an issue describing your bug or feature with use cases.
|
||
|
- Discussion happens on the issue about how to solve your problem.
|
||
|
- You or a core contributor opens a pull request solving the issue with tests and documentation.
|
||
|
- The pull requests gets reviewed and then merged.
|
||
|
- A new release version get's cut.
|
||
|
- (Disclaimer: Your feature might get rejected.)
|
||
|
|
||
|
### Changes to this arrangement
|
||
|
|
||
|
This is an experiment and feedback is welcome! This document may also be subject to pull-requests or changes by contributors where you believe you have something valuable to add or change.
|