-
-
Notifications
You must be signed in to change notification settings - Fork 0
Contributing
Important
Venn is currently in the early stages of development. At this time, we ask to please hold on submitting any PRs until we hit v1.0.0. At that point, we'll be considered stable / production ready and will accept pull requests.
In the meantime, consider starring / following this repository to stay up to date. If you want to see where the action is, feel free to sponsor us to gain access to the development repository.
Venn currently operates in a hybrid-like approach to open source development. There are currently two repositories where the code lives:
-
vennbilling/vennis a public where all the production-ready code and releases live. -
vennbilling/venn-developmentis a private repo where core feature development takes place.
The billing space demands stability. To ensure this, we chose to keep core feature work private. This gives us a space where we can iterate, get feedback from a smaller group and properly test before we let others know. And like any software project, be it open source or work, you can expect some code to never get merged. This can cause a lot of noise and we don't want to flood everyone's inboxes.
To keep with the spirit of transparency, the private repo does not have GitHub issues enabled. All feature work is tracked by issues tied to Epics defined in the public repo. We also do not publish public releases from the development repo.
Finally, things like bug fixes, dependency and security updates or overall maintenance improvements are also made in the public repo to promote maximum visibility.
Yes! Anyone who chooses to sponsor this project can get read-only access. Once we open up to contributions, we can start granting write access. Sponsorship is not a way for us to grift or scam you for money. It is just a way to thank you for your interest in the project.
Tip
Any bug fixes, maintenance fixes, dependency or security updates, or just overall improvements to health / development of Venn happens in the public repo.
- Make a branch off of
mainfromvennbilling/venn - Make your fixes in your branch
- Open a PR to
main - After approval, merge your
PR. This will also trigger alatestbuild of all docker containers for thevennnamespace. - Depending on the nature of the fix, we will also apply this to older releases in accordance w our maintenance policy.
- Your change will also be merged down to
maininvennbilling/venn-development.
Warning
Feature work must be backed by an epic and/or task in the public repo
As we prepare for a new release, there will be a branch in the public repo that corresponds to the release. This will contain all the commits slated for the release. It will also be rebased, from time to time, with any other changes made to main in the public repo.
- Make a branch off of
mainfromvennbilling/venn-development - Implement your feature
- Open a PR to
main - After approval, merge your
PR. This will also trigger alatestbuild of all docker containers for thevenn-developmentnamespace. - Push your change the current release branch in
vennbilling/venn - Move on to the next task.
Once the release is deemed feature complete, a code freeze will be implemented on the branch for final regression testing. Any new work, at this point, will be slated for the next release. Once the release branch is deemed stable, it will be merged into main and a new release branch will be made.
Ultimately, we can visualize development for Venn like so
