Repository: vivarium-collective/vivarium-core (language: python)

Issue:
Permissions and Responsibilities Structure
GitHub offers the following permission levels for organization repositories ([docs](https://docs.github.com/en/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization#repository-roles-for-organizations)):

> * Read: Recommended for non-code contributors who want to view or discuss your project
> * Triage: Recommended for contributors who need to proactively manage issues and pull requests without write access
> * Write: Recommended for contributors who actively push to your project
> * Maintain: Recommended for project managers who need to manage the repository without access to sensitive or destructive actions
> * Admin: Recommended for people who need full access to the project, including sensitive and destructive actions like managing security or deleting a repository

I propose the following structure of roles for Vivarium and Vivarium Core (I'm ignoring the other Vivarium repos for now):

* Maintainers: These are the core "owners" of the Vivarium project. They have the `owner` role in the Vivarium Collective organization and the `admin` role in Vivarium Core. They are responsible for enforcing the code of conduct, responding to security vulnerabilities, and adjudicating disputes.
* Collaborators: These are trusted contributors who help develop Vivarium projects. They have the `member` role in the Vivarium Collective organization and the `write` role in Vivarium Core. They are empowered to manage issues, open PRs, and otherwise develop Vivarium Core.
* Public: Anyone can read the Vivarium Core repo, and anyone can contribute by forking the repository and opening a PR. Anyone can also open or comment on a discussion thread or issue.

Remaining Questions:

* Should we require PRs to be approved by certain people? This would probably mean maintainers approve PRs, but collaborators can merge them.
* The Apache CLA is based around the idea of an entity to whom contributors grant a license to use their contributions. Who should this entity be? Maybe the maintainers?


Discussion / hints:

- Current owners of the Vivarium Collective are @U8NWXD @prismofeverything @eagmon, which means we will be the maintainers. I think this is good.
- Right now all `members` of the Vivarium Collective automatically get `write` role in Vivarium Core, and there is no additional access assigned in Vivarium Core. Is this the main path we want to give people a `write` role?

Remaining Questions:
- I think PRs should be approved by maintainers, and that approval should be required before a PR gets merged.
- The Apache CLA -- hmm... We probably can't grant a license to the Vivarium Collective since we are not incorporated. I think the maintainers are the next best thing.

Fix patch:
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
new file mode 100644
index 00000000..1889f001
--- /dev/null
+++ b/.github/CODEOWNERS
@@ -0,0 +1,2 @@
+# All pull requests require approval by the maintainers.
+* @vivarium-collective/maintainers
diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml
index e84728f4..c61fdab5 100644
--- a/.github/workflows/docs.yml
+++ b/.github/workflows/docs.yml
@@ -9,8 +9,7 @@ on:
     branches: [master]
 
 jobs:
-  build:
-
+  build-docs:
     runs-on: ubuntu-latest
     strategy:
       matrix:
diff --git a/.github/workflows/mypy.yml b/.github/workflows/mypy.yml
index 2f17360a..0c4f47b1 100644
--- a/.github/workflows/mypy.yml
+++ b/.github/workflows/mypy.yml
@@ -9,8 +9,7 @@ on:
     branches: [master]
 
 jobs:
-  build:
-
+  check-types:
     runs-on: ubuntu-latest
     strategy:
       matrix:
diff --git a/.github/workflows/pylint.yml b/.github/workflows/pylint.yml
index 9593ee46..ba81e545 100644
--- a/.github/workflows/pylint.yml
+++ b/.github/workflows/pylint.yml
@@ -9,8 +9,7 @@ on:
     branches: [master]
 
 jobs:
-  build:
-
+  lint:
     runs-on: ubuntu-latest
     strategy:
       matrix:
diff --git a/AUTHORS.md b/AUTHORS.md
index 468914fb..41b1cc36 100644
--- a/AUTHORS.md
+++ b/AUTHORS.md
@@ -1,5 +1,12 @@
 # Authors of Vivarium Core
 
+The maintainers of the Vivarium project (known as the Vivarium Authors)
+are:
+
+* Eran Agmon  (@eagmon)
+* Ryan Spangler (@prismofeverything)
+* Chris Skalnik (@U8NWXD)
+
 Vivarium Core was built by:
 
 * Members of the [Covert Lab](https://covert.stanford.edu) at


Test patch:
diff --git a/.github/workflows/pytest.yml b/.github/workflows/pytest.yml
index 86c34855..556b9c8c 100644
--- a/.github/workflows/pytest.yml
+++ b/.github/workflows/pytest.yml
@@ -9,8 +9,7 @@ on:
     branches: [master]
 
 jobs:
-  build:
-
+  run-tests:
     runs-on: ubuntu-latest
     strategy:
       matrix: