mirror of
https://github.com/ReVanced/revanced-documentation.git
synced 2026-01-18 08:43:57 +00:00
44 lines
7.5 KiB
Markdown
44 lines
7.5 KiB
Markdown
# ReVanced management
|
|
|
|
This documentation provides an overview of the management structure and processes within the ReVanced project.
|
|
|
|
## Decisions
|
|
|
|
ReVanced is maintained by a handful of maintainers. Big decisions are discussed with maintainers on Discord in a team channel. Opinions and feedback from the community are also taken into account during the decision-making process if needed. No decision is pushed without proper discussion and consensus. Sometimes discussions can be lengthy and involve multiple rounds of feedback before a final decision is reached. Often this is done asynchronously, allowing maintainers to contribute at their convenience. Not all maintainers show the same activity and not all voices are weighted equally, depending on their involvement and depth in the discussion topics. Due to the nature of an asynchronous, fast flowing chat, improper communication, or past relevant messages getting lost in the chat, sometimes misunderstandings or conflicting opinions in the decision-making process arise. If seemed useful, once a general consensus is reached, a summary of the decision and its rationale may be moved to a GitHub issue, which also is fully public for any community member to view and discuss.
|
|
|
|
## GitHub
|
|
|
|
GitHub is the primary platform for collaboration and code management within the ReVanced project. It is frequently used by maintainers and the community. GitHub is not used for support unlike our social media platforms to keep it focused on development and collaboration, however as a platform, the organization has a discussion set up that is reserved for support or questions. Frequently, duplicate or insufficiently detailed issues are closed to keep the repository organized. On Discord a channel is reserved for notifications from GitHub. As Discord is a central platform the maintainers use, the channel is a quick way to see updates and changes made on GitHub swiftly, however it is easy to get lost in the sheer amount of notifications, so it is important to keep track of them on a daily basis. Active issues or pull requests are easy to follow through that channel.
|
|
|
|
Pull requests are reviewed until they satisfy the project's contribution guidelines and receive approval from the maintainers. Sometimes, this involves multiple feedback loops. Sometimes PRs are large or insignificant which keeps them longer in the review process. Such PRs require review and approval from multiple maintainers. Smaller PRs are sometimes merged on behalf of a single maintainer. Maintainers may also skip the PR process and directly commit changes to the target branches in case they deem a PR process unnecessary (e.g. for small or urgent changes).
|
|
|
|
Spam and duplicate issues are common. Since GitHub is a central platform for both, maintainers and the community, the community often miss relevant notices or are unaware of certain practices on the platform leading to duplicate issues or spam (e.g. support requests, offtopic or heated discussions).
|
|
|
|
## Social media
|
|
|
|
Maintainers engage with the community on social media platforms like Discord, Telegram, Reddit and co. to discuss changes, gather feedback, or provide support. Social media is a crucial aspect of transparency and staying close to the community. It also allows for real-time communication and quick updates on project developments. All platforms are used to communicate imminent changes, updates, and important announcements to the community. On Reddit, selected moderators, some of which are maintainers of the project, manage the ReVanced subreddit. Day to day, posts are moderated. Discord is the main platform, maintainers of ReVanced use. Reddit and Telegram are heavily used by the community instead. Telegram and Twitter are rarely moderated, due to lack of maintainer activity on those platforms.
|
|
|
|
## Progress
|
|
|
|
From time to time, maintainers are encouraged to take up new initiatives or projects within ReVanced. Depending on the priority, size and complexity of the initiative and the maintainers capability and availability, these initiatives may be pursued individually or collaboratively. Usually this happens on Discord in the team or similar development channels such as GitHub. Specific maintainers may collaborate with others in the same area of expertise or interest to drive these initiatives forward. Sometimes, many initiatives may stale or be deprioritized if they are not actively worked on or if the maintainers involved become unavailable. In such cases it is attempted to re-evaluate the initiative's importance and either reassign it to a different maintainer or archive it for future reference.
|
|
|
|
## Team structure
|
|
|
|
The structure is hybrid, with a mix of hierarchical and flat elements. The team channel on Discord is accessible by all maintainers (not all maintainers are on Discord) to voice their opinions, share updates, and collaborate on projects. This setup encourages open communication and fosters community among the maintainers. Regardless some kind of hierarchy exists for top-level projects (e.g. ReVanced Manager, ReVanced Patches, ReVanced Website). Those projects are led by individual maintainers who collaborate with sub-teams in their respective areas. Cross-team collaboration is a common practice, with maintainers often working together across different projects to share knowledge and resources.
|
|
|
|
## Project lead
|
|
|
|
Despite the flat structure, an overall lead oversees all top-level projects, to whom the designated project leads report. The lead is responsible for ensuring alignment between projects and facilitating communication among project leads and has a stronger strategic oversight over the project. The lead participates in key decision-making processes and helps to resolve conflicts or challenges that may arise within or between projects. Regardless, all maintainers and community voices are heard and considered in the decision-making process equally to ensure a fair and democratic outcome. Weighting may be applied based on expertise, involvement, and the impact of contributions.
|
|
|
|
## Lifecycle of maintainers
|
|
|
|
New maintainers are spotted in-the-wild by existing maintainers or through community contributions. Once a potential new maintainer is identified depending on their contributions, interest, skill and ReVanced's needs, they are typically invited to join the team. Unlike external contributors, maintainers are directly tasked with specific responsibilities and have a greater level of access and insight to the project. Some of the resources they are granted access to include:
|
|
|
|
- Discord team role
|
|
- ReVanced E-Mail address
|
|
- ReVanced GitHub access through a GitHub organization membership and team
|
|
- A Vaultwarden account (usually with access to their own vault only)
|
|
- Introductories into ReVanced's processes and internals
|
|
|
|
Removal of maintainers occurs if they become inactive, unavailable, decide to leave on their own basis, due to organizational requirements or needs or if the position is no longer a good fit. The decision to remove a maintainer is proposed under a reasonable basis and is made collectively by the existing maintainers, ensuring that all voices are heard and considered in the process, including that of the maintainer in question. Under a reasonable counterproposal, the maintainer may also be given the opportunity to transition to a different role or responsibility within the organization if appropriate. With a growing team, it is also increasingly complex and challenging to manage, which is why it is important to ReVanced to have a purposeful amount of maintainers to ensure effective collaboration and project progress.
|