A world maintainer is a person responsible for a world or part of a world in Archipelago.
If a world author does not want to take on the responsibilities of a world maintainer, they can release their world as an unofficial APWorld or maintain their own fork instead.
All current world maintainers are listed in the CODEOWNERS document.
Unless these are shared between multiple people, we expect the following from each world maintainer
- Be on our Discord to get updates on problems with and suggestions for the world.
- Decide if a feature (pull request) should be merged.
- Review contents of such pull requests or organize peer reviews or post that you did not review the content.
- Fix or point out issues when core changes break your code.
- Use the watch function on GitHub, the #github-updates channel on Discord or check manually from time to time for new pull requests. Core maintainers may also ping you if a pull request concerns your world.
- Test (or have tested) the world on the main branch from time to time, especially during RC (release candidate) phases of development.
- Let us know of long periods of unavailability.
When we merge your world into the core Archipelago repository, you automatically become world maintainer unless you nominate someone else (i.e. there are multiple devs).
At any point, a world maintainer can approve the addition of another maintainer to their world.
In order to do this, either an existing maintainer or the new maintainer must open a PR updating the
CODEOWNERS file.
This change must be approved by all existing maintainers of the affected world, the new maintainer candidate, and
one core maintainer.
To help the core team review the change, information about the new maintainer and their contributions should be
included in the PR description.
When a world is unmaintained, the core maintainers can vote for a new maintainer if there is a candidate. For a vote to pass, the majority of participating core maintainers must vote in the affirmative. The time limit is 1 week, but can end early if the majority is reached earlier. Voting shall be conducted on Discord in #ap-core-dev.
A world maintainer can resign and have their username removed from the CODEOWNERS document. If no new maintainer takes over management of the world, the world becomes unmaintained.
A world maintainer can be voted out by the core maintainers, for example when they become unreachable. For a vote to pass, the majority of participating core maintainers must vote in the affirmative. The time limit is 2 weeks, but can end early if the majority is reached earlier AND the world maintainer was pinged and made their case or was pinged and has been unreachable for more than 2 weeks already. Voting shall be conducted on Discord in #ap-core-dev. Commits that are a direct result of the voting shall include date, voting members and final result in the commit message.
As long as worlds are known to work for the most part, they can stay included. Once a world becomes broken it shall be
moved from worlds/
to worlds_disabled/
.