This proposal aims to clearly define the governance and processes associated with onboarding members and contributors into BAO DAO. Having a better architecture for contribution will incentivize more community engagement and create a more transparent and decentralized management team.
It is also aligned with the ongoing [BIP-6] Annual Agenda, Changes and Hard Synth Alpha and address sections #10 and #13.
This proposal will cover many topics such as:
- Process to create new galaxies
- Onboarding new collaborators
- Distinction between guardians and collaborators in a galaxy
- How to become an official guardian
- How to submit tasks/ideas
- How to open up the backlog
- Tasks without compensation vs bounties
- Operating budgets of galaxies
- Offboarding process (inactivity, misconduct, abuse…)
- Reclassifying the Art Galaxy
- Dismantling Galaxies
- Code contribution
Currently, members of the community are recruited to an unpaid Baofriend role by Galaxy members when they are active, show good judgment, and provide other unique or valuable skills needed by that Galaxy. Becoming a Baofriend gives members access to additional chat channels where they may contribute further in whichever areas they are most interested.
Baofriends that consistently contribute may then be promoted to Galaxy Members by the Galaxy that they contribute most to. This promotion from Baofriend to Galaxy Member is only done once the Galaxy is confident the new Baofriend will be a good fit.
The current process for recruiting community members works for a small group of contributors. However, as BAO continues to grow and decentralize, a more robust, structured, and open process is needed.
Our goal is to give members of the greater Bao community a clear path to follow for contributing to Galaxies they are interested in joining. We also wish to provide community members the ability to build new Galaxies when they see a need for a new area of focus.
To help define a clear progression path and allow the community to have access to areas of the organization required for them to contribute, new “Contributor” and “Guardian” roles need to be created for each Galaxy.
People who already have a Galaxy role will become Guardians, which is seen as a more senior and permanent role. And those in the community who wish to contribute will be given Contributor roles. Contributors will be able to work their way into a Guardian role by consistently providing value.
This proposal suggests Galaxies should have two distinct levels of membership to provide a structured approach to managing contribution and progression within the DAO.
A Guardian is the senior role, and is reserved for active and permanent contributors in a Galaxy. Guardians have multiple responsibilities and the trust of the DAO to accomplish the vision of the project (Multisig, hired developers, funded galaxy members, etc.)
Contributors are community members willing to help the DAO on multiple tasks or initiatives. They should not expect compensation for their role. They volunteer for the greater good of this community-run project.
Both Guardians and Contributors could be part of multiple galaxies.
Assigning Galaxy Contributor roles are at the discretion of Galaxy Guardians and may be revoked at any time by Galaxy Guardians.
This proposal will change the status of Baofriends to Contributors for the Galaxies they have the most affinities.
Guardians and Contributors should conduct themselves as role models for our community. Personal opinions should be put aside in favor of a professional/project line of conduct and moderators should do their best to reflect the point of view of Bao Finance.
When you do give your own opinion, it should be clear that it is your opinion and not necessarily that of the product or brand. Guardians and Contributors should also be up to date as much as possible with the announcements, roadmap, and docs.
Examples of how all Guardians and Contributors can lead by example include:
- Being an example every day, in every communication
- Believing that a team is greater than an individual
- Contributing in a way that helps the DAO pursue and reach its objectives and vision
- Putting aside their personal opinions and goals for the greater good of the DAO
- Not providing financial advice. Financial advice includes anything that suggests a bias towards one price direction.
- Not disclosing sensitive information. Contributors may have access to confidential information or alpha versions of code that cannot be disclosed (eg. possible partnership not confirmed, test contract addresses, etc.)
We want to be open to many Members and Contributors while having in place an onboarding process to ensure that each person is well supported.
Any Member or Contributor will be able to contribute to Galaxy tasks by taking one from a public task board, joining in with them in the public Galaxy channels, or by applying to be coached by the DAO on any area they are interested in via the DAO applications channel.
For example, if you want to help, but are unsure what to do or feel there are no public tasks that fit your interests, you can fill in an application with your areas of knowledge/expertise and tell us a little bit about yourself. A Galaxy guardian will pick up your application and help you to find something to do or assign you a job when one comes up if there isn’t one immediately available.
Here is how the onboarding process will work :
A Discord channel will list all the possible galaxies to apply to with meaningful information to get you up to speed and help you choose how you would want to contribute to the DAO
If you decide to contribute you can apply using the form while staying anonymous. All you will need to do is describe yourself and share your skillset. You should also give a fair estimate of the amount of time a week you want to contribute.
From there your application will be reviewed by Galaxy Guardians. You may be asked to complete some trial tasks first, then on acceptance, you will be granted a Contributor role in the galaxy you applied for.
An application being refused could be for different reasons such as:
- The applicant demonstrates behaviors not aligned with our code of conduct
- The applicant applied to a Galaxy where they cannot contribute (Ex : Front-End galaxy without pertinent Web3 experience)
- The applicant has minimal time to contribute (<4 hours a week)
- The applicant is inactive or unfamiliar with our communities
An applicant that is denied may reapply after a month.
A successful applicant will be paired with a Guardian that will be their mentor and be tasked to onboard them as a Contributor as fast as possible to the Galaxy.
The Contributor will have access to internal documentation, ongoing tasks, weekly or timely objectives and can also team up and collaborate with the Members of the Galaxy for new proposals or to tackle bigger tasks!
How to Become an Official Guardian of a Galaxy
After contributing to a galaxy for a period of time any Member of the community can make a BIP to have a Contributor promoted to Galaxy Guardian. The proposal must have the support of the Galaxy in which the Contributor is to be promoted in order to ensure a harmonious working environment within the Galaxy.
The DAO will reward new Galaxy Guardians with a small grant and regular payments can be negotiated in line with the contributions the Guardian is expecting to make on an ongoing basis.
Not all ideas or tasks require a BIP. If a community Member has an idea or wants help with a task, we will create a structure for submitting these working items so they can be evaluated by Contributors and Galaxy Guardians, who can add them to a public job board, reject them, postpone them or take them on internally.
The proposed process is to create a post in the proposals and suggestions channel on Discord, with the details of the task they would like to see completed and create a thread from the post.
A proposed task will need to follow a specific template in order to help the Galaxies capture the essence and details of the idea or task to be done :
Requirements : <What would be needed in order to achieve the task (Proposal voted, budget, expertise, knowledge, etc.>
Scope | Acceptance criteria : <How can we define this task a success ?>
Contributors and Guardians will respond and discuss details and decide how to proceed. If the job adds value it will be accepted and added to the public or team job board with a link to the thread so it can easily be followed up on. This process allows ideas to be discussed in public and for the conversation to be easily tracked. Threads are automatically archived after a few days of inactivity, by which point a conclusion should be reached.
To organize tasks and ideas we will need a system in place to display them for the community. After discussion, Contributors and Guardians can add these tasks to the public job board. Everyone will have equal access and opportunity to take on new jobs and tasks.
The public job board can be found here: Trello
To participate in the public job board Members will need to:
- Select a job they are interested in working on and open it
- Find the contact for the job and ping them on the BAO discord server in the relevant Galaxy’s public channel.
- They will discuss with you the next steps and move the task to “onboarding”, so that others looking at the board can see there is a candidate for it already.
- When you are ready you can start working on the task. Make sure to give an update at least once a week to your contact. After two weeks with no update, the task will be moved back to unassigned.
Small tasks, initiatives, and ideas are not linked to bounties. Consistent contribution will likely lead to more senior roles in the community or grants paid at the discretion of each Galaxy from their monthly budget. Below are some examples:
- List a token on CG
- Write an article
- Moderate the board
- Do a small PR to fix a QOL bug
- Create a proposal
Bounties are decided to be posted by the Galaxy Guardians if the task is deemed too complex, seeks a specific skill set, or because the DAO needs extra capacity in a timely manner.
Contributors can apply to a bounty but not guardians as they are core contributors and subject to regular payment by the DAO.
All of this is subject to a transparent treasury management alongside cash flow reports to ensure the safety and long-lasting life of the protocol.
The following spending structure for bounties is proposed:
- Bounties over $50k must be approved via snapshot vote by the community. They will follow the usual governance process unless they are deemed time-sensitive in which case an accelerated proposal will be put through governance
- Bounties ranging from $2500 - $50k in size will be received authorization from multisig without a governance vote so long as the bounty:
- Has a clear spec request.
- Adds clear value to the Bao ecosystem or franchises.
- Is solicited publicly through Gitcoin or other channels so anyone may be eligible to claim the bounty.
- Payments under $2.5k can be made at the discretion of each Galaxy from their ongoing operating budget without prior approval. Each Galaxy will disclose all spending in a publicly available spreadsheet.
Currently, Galaxies don’t have an operating budget. Expenses are dealt with separately and there is no clear process on how to reimburse standard expenses or give a one-time grant to Contributors. The current process disincentivises community members from taking on initiatives which have costs attached to them.
The new proposal gives a monthly budget to the following Galaxies:
- Maintainer Galaxy (5k)
- Community Galaxy (2.5k)
- Front-End Galaxy (2.5k)
- Smart Contract Galaxy (5k)
- Quality Assurance Galaxy (1k)
- Art Galaxy (1k)
In this plan, operating budgets are additive, meaning that if the monthly allocation is not spent, the remaining balance will rollover to the new allocation. However, the operating budget accumulated shall not be allowed to exceed three times the monthly budget. New funds will halt until the budget is being spent again.
The wallet of each Galaxy will be public and controlled by a multisig composed of the Guardians of that Galaxy and at least one Guardian of another Galaxy. Members of the DAO will be able to see the expenses and balance of each Galaxy directly on the chain.
Each Galaxy is responsible to report its revenues and expenses in a report in a periodic timeline (every month or quarter).
Modifying the monthly allocation is subject to vote.
Galaxy Contributors and Guardians should continually work towards achieving the vision of Bao Finance and its franchises. During the life of the DAO, we will likely see situations where a Contributor or a Guardian potentially brings harm to the Galaxy or the entire project. Whether this is done through malicious actions or simply by being inactive, there must be a process to mitigate risks and problems among our community.
This section describes how we will offboard problematic Contributors and Guardians from a Galaxy.
Potential situations where the offboarding process could happen:
- Unmotivated inactivity for a long period of time (Ex: 60 days)
- Abusing a position of power such as introducing malicious bugs, exploits, frauds, etc.
- Actions not aligned with our code of conduct
- Being uncooperative and threatening other contributors or guardians
When one of these situations, or another incompatible behavior, occurs, guardians of the injured Galaxy may take an internal vote to offboard someone.
In the case of Contributor indiscretions, a vote of a majority of the total Guardians of the Galaxy will do this. In the case of a Guardian, a quorum for removal shall consist of a majority of the remaining Guardians of the Galaxy as well as two Guardians from other Galaxies.
Actions that would be taken when a Galaxy Contributor or Guardian is being offboarded:
- Removal of the user from all multisig wallets, Gnosis Safe and vaults from the DAO
- Loss of access to any internal tools and approbation processes
- Loss of Galaxy roles in the Discord server
- If there is a major fault committed, banning from Discord server
- Removal of any other privileges a Guardian or Contributor may have
Upon offboarding process the following communications will be made :
- The Guardian or Contributor will be informed via DM of the situation and will be given the reasons for the decision.
- In the case of a Guardian, the Galaxy will communicate to the DAO the reasons which have led to the decision
The Art Galaxy has been created to include the artists who draw official logos or concepts for the DAO.
This proposal also seeks to expand this galaxy to include more artists and creative content creators, including video and image editing, infographics, logo, NFTs, etc.
The new galaxy will be composed at first of the following members:
For more than 6 months, we began to structure our community into what we’re calling “Galaxies”.
The original idea is that a galaxy is a team composed of many individuals that work toward the same area of expertise or subject (Community management, front-end development, etc.)
Those galaxies sometimes work together for the greater good of the DAO. For example, to develop and roll out a huge milestone, and sometimes they may have their own priorities to bring value to the DAO.
Currently, the following galaxies are present in our DAO
- Maintainer Galaxy
- Community Galaxy
- Front-End Galaxy
- Smart-Contract Galaxy
- Quality Assurance Galaxy
- Art Galaxy (to be reclassified as Creative Content Galaxy)
New Galaxies could be created temporarily by external teams, or by community members, or could be designed to be permanent.
To create a new Galaxy, a concept will need to be created and follow the BIP process adopted by our DAO.
The difference in this kind of concept is that galaxy creation run by the community will need to be submitted by a galaxy Guardian or a galaxy Contributor. If a Contributor submitted the concept, it would need to be endorsed by at least one galaxy Guardian. This requirement is mandatory in order to ensure that:
- A new Galaxy is really necessary (a new role or responsibility could not be given to an existing Galaxy)
- The Galaxy created will at least have a veteran Galaxy Guardian that can help transition and support the inception of the Galaxy and the management of the internal activities
- The collaboration between the other Galaxies will be optimal
- The Galaxy created will be created for the greater good of the DAO
A concept of Galaxy creation shall contain the following details :
- A description and a purpose
- Why a new Galaxy is necessary
- Galaxy guardians and contributors to join the rank at day 1
- Predicted operating budget and / or grants
- Roles and responsibilities
- A plan that describes how the Galaxy will serve the best interest of the DAO
A Galaxy can be temporary or permanent. Temporary Galaxies generally have a short-term existence, structure, and funding if necessary.
A proposal to dismantle a Galaxy can occur when a Galaxy falls into the following situations :
- The purpose of the Galaxy is becoming irrelevant or unnecessary
- There is no Guardians or Contributors to keep alive that Galaxy
- An external team was managing the Galaxy and isn’t contributing anymore
- The Galaxy is split into two or more Galaxies
- The Galaxy is merged into another one
In these situations, funding to the Galaxy will cease, and the multisig committee will transfer ownership of any contract, wallet and assets to a new multisig composed of Galaxy Guardians.
The Github repositories are the central system of every contribution to our key components of Bao Finance. From smart contracts to UI, main net products or for our franchises, every code in production is public and is open to improvements and bug fixes by our community.
As such, we want to align with the best practices coming from Github and we will follow their Developer Contribution Guide
- The contributor takes a look at the GitHub Issues pertaining to a particular repository/project that they would like to contribute to. In the case that an issue does NOT exist that handles their particular bug-report/proposed-enhancement they can simply create a new issue outlining as much information as they know regarding the goal of the issue. They are free to include as much implementation information as they think would be helpful, but at this stage, the implementation is simply a suggestion. The important thing is that a “Goal” is identified for the issue and a way for us to validate that we have achieved that goal. At this stage, it is at the “Discussion” stage.
- Once a GitHub Issue exists that contains the goal of the bug-report/proposed-enhancement it should be discussed within the Issue as much as possible between the Contributor, any potential Contributors, and the Guardians responsible for that particular repository. Communication can happen within Discord if more real-time feedback is required, but the results of those conversations should be documented in the Issue itself. The goal is that if the original Contributor decides not to continue work on the Issue, but a new Contributor arrives, they should have all the information they need within the issue. The goal of this communication is to outline the details of how the issue should be solved. Links to code, other documentation, or anything else that can help should be included in the Issue. At this stage, it is entirely possible that through further discussion this particular issue is no longer needed. Possibly because of future planned work, or maybe it’s just not worth the effort at this stage. The issue can transition to “Out of Scope” which means all work will stop on the ticket. “Out of Scope” tickets will remain open for further discussion, but after a period of time with no activity, it will be closed.
- Once an implementation is decided upon the Issue is considered “Ready for Work”. At this point either a project maintainer is assigned to the Issue and is responsible for its completion. Or the Contributor may decide that they would like to tackle the work. Either way, the process is the same.
- The Contributor or Maintainer will take time to translate the implementation details outlined in the Issue to the actual repository working on their own branch/fork with some reasonable name outlining what it does. They are free to open a Draft Pull Request if they would like to work more closely with others on the implementation in public, but it is not necessary. Once the Contributor or Maintainer considers the work “Code Complete” and that the original goal for the Issue is met, they can update the Draft Pull Request into a Regular Pull Request and a Reviewer will automatically be assigned. Normally discussions may have a couple of Maintainers that are involved in fleshing out the details so reviewers can also be assigned manually by whoever opens the PR. The PR should include a link back to the original Issue so that anyone following the Issue is aware of the code changes.
- Once a reviewer is assigned it is their responsibility to review the code to ensure it meets the project’s standards and to request any changes necessary to do so. It is the responsibility of the reviewer to validate that the changes made actually meet the goal of the issue and do so in a way that doesn’t impact anything else. The Reviewer and Contributor may go back and forth during the review on changes, but the overall implementation shouldn’t be drastically different from the one that was planned during the discussion. Syntax/Testing should all be automated and should not be the focus of the review. If the tests are not passing, no formal review is necessary. As part of this process, the reviewer should use their judgment and decide whether or not to run the code locally to verify it.
- Once the review is completed it can be merged into the
mainbranch by the reviewer. This will automatically deploy the changes to the staging environment of the project and allow other members to test the changes without needing to run anything locally.
- When the project next does its release, the changes merged into the
mainbranch will be automatically deployed. When creating the release, the notes should link to any Issues that were worked on at this time. This allows anyone reading the release notes to not just see WHAT was released, but also the underlying code changes/discussion that took place to get the change made.