diff --git a/MAINTAINERS b/MAINTAINERS index 0af538fd54..18493b3dc6 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1,597 +1,50 @@ # Moby maintainers file # -# This file describes the maintainer groups within the moby/moby project. -# More detail on Moby project governance is available in the -# project/GOVERNANCE.md file found in this repository. +# See project/GOVERNANCE.md for committer versus reviewer roles # -# It is structured to be consumable by both humans and programs. -# To extract its contents programmatically, use any TOML-compliant -# parser. +# COMMITTERS +# GitHub ID, Name, Email address, GPG fingerprint +"akerouanton","Albin Kerouanton","albinker@gmail.com" +"AkihiroSuda","Akihiro Suda","akihiro.suda.cz@hco.ntt.co.jp" +"austinvazquez","Austin Vazquez","macedonv@amazon.com" +"cpuguy83","Brian Goff","cpuguy83@gmail.com" +"robmry","Rob Murray","rob.murray@docker.com" +"thaJeztah","Sebastiaan van Stijn","github@gone.nl" +"tianon","Tianon Gravi","admwiggin@gmail.com" +"tonistiigi","Tõnis Tiigi","tonis@docker.com" +"vvoland","Paweł Gronowski","pawel.gronowski@docker.com" # -# TODO(estesp): This file should not necessarily depend on docker/opensource -# This file is compiled into the MAINTAINERS file in docker/opensource. -# -[Org] - - [Org."Core maintainers"] - - # The Core maintainers are the ghostbusters of the project: when there's a problem others - # can't solve, they show up and fix it with bizarre devices and weaponry. - # They have final say on technical implementation and coding style. - # They are ultimately responsible for quality in all its forms: usability polish, - # bugfixes, performance, stability, etc. When ownership can cleanly be passed to - # a subsystem, they are responsible for doing so and holding the - # subsystem maintainers accountable. If ownership is unclear, they are the de facto owners. - - people = [ - "akerouanton", - "akihirosuda", - "anusha", - "austinvazquez", - "coolljt0725", - "corhere", - "cpuguy83", - "crazy-max", - "estesp", - "johnstep", - "justincormack", - "kolyshkin", - "laurazard", - "mhbauer", - "neersighted", - "robmry", - "rumpl", - "runcom", - "samuelkarp", - "stevvooe", - "thajeztah", - "tianon", - "tibor", - "tonistiigi", - "unclejack", - "vdemeester", - "vieux", - "vvoland", - "yongtang" - ] - - [Org.Curators] - - # The curators help ensure that incoming issues and pull requests are properly triaged and - # that our various contribution and reviewing processes are respected. With their knowledge of - # the repository activity, they can also guide contributors to relevant material or - # discussions. - # - # They are neither code nor docs reviewers, so they are never expected to merge. They can - # however: - # - close an issue or pull request when it's an exact duplicate - # - close an issue or pull request when it's inappropriate or off-topic - - people = [ - "alexellis", - "andrewhsu", - "bsousaa", - "dmcgowan", - "fntlnz", - "gianarb", - "olljanat", - "programmerq", - "ripcurld", - "sam-thibault", - "samwhited", - "thajeztah", - "thompson-shaun", - ] - - [Org.Alumni] - - # This list contains maintainers that are no longer active on the project. - # It is thanks to these people that the project has become what it is today. - # Thank you! - - people = [ - # Aaron Lehmann was a maintainer for swarmkit, the registry, and the engine, - # and contributed many improvements, features, and bugfixes in those areas, - # among which "automated service rollbacks", templated secrets and configs, - # and resumable image layer downloads. - "aaronlehmann", - - # Harald Albers is the mastermind behind the bash completion scripts for the - # Docker CLI. The completion scripts moved to the Docker CLI repository, so - # you can now find him perform his magic in the https://github.com/docker/cli repository. - "albers", - - # Andrea Luzzardi started contributing to the Docker codebase in the "dotCloud" - # era, even before it was called "Docker". He is one of the architects of both - # Swarm and SwarmKit, and its integration into the Docker engine. - "aluzzardi", - - # David Calavera contributed many features to Docker, such as an improved - # event system, dynamic configuration reloading, volume plugins, fancy - # new templating options, and an external client credential store. As a - # maintainer, David was release captain for Docker 1.8, and competing - # with Jess Frazelle to be "top dream killer". - # David is now doing amazing stuff as CTO for https://www.netlify.com, - # and tweets as @calavera. - "calavera", - - # Michael Crosby was "chief maintainer" of the Docker project. - # During his time as a maintainer, Michael contributed to many - # milestones of the project; he was release captain of Docker v1.0.0, - # started the development of "libcontainer" (what later became runc) - # and containerd, as well as demoing cool hacks such as live migrating - # a game server container with checkpoint/restore. - # - # Michael is currently a maintainer of containerd, but you may see - # him around in other projects on GitHub. - "crosbymichael", - - # Before becoming a maintainer, Daniel Nephin was a core contributor - # to "Fig" (now known as Docker Compose). As a maintainer for both the - # Engine and Docker CLI, Daniel contributed many features, among which - # the `docker stack` commands, allowing users to deploy their Docker - # Compose projects as a Swarm service. - "dnephin", - - # Doug Davis contributed many features and fixes for the classic builder, - # such as "wildcard" copy, the dockerignore file, custom paths/names - # for the Dockerfile, as well as enhancements to the API and documentation. - # Follow Doug on Twitter, where he tweets as @duginabox. - "duglin", - - # As a maintainer, Erik was responsible for the "builder", and - # started the first designs for the new networking model in - # Docker. Erik is now working on all kinds of plugins for Docker - # (https://github.com/contiv) and various open source projects - # in his own repository https://github.com/erikh. You may - # still stumble into him in our issue tracker, or on IRC. - "erikh", - - # Evan Hazlett is the creator of the Shipyard and Interlock open source projects, - # and the author of "Orca", which became the foundation of Docker Universal Control - # Plane (UCP). As a maintainer, Evan helped integrating SwarmKit (secrets, tasks) - # into the Docker engine. - "ehazlett", - - # Arnaud Porterie (AKA "icecrime") was in charge of maintaining the maintainers. - # As a maintainer, he made life easier for contributors to the Docker open-source - # projects, bringing order in the chaos by designing a triage- and review workflow - # using labels (see https://icecrime.net/technology/a-structured-approach-to-labeling/), - # and automating the hell out of things with his buddies GordonTheTurtle and Poule - # (a chicken!). - # - # A lesser-known fact is that he created the first commit in the libnetwork repository - # even though he didn't know anything about it. Some say, he's now selling stuff on - # the internet ;-) - "icecrime", - - # After a false start with his first PR being rejected, James Turnbull became a frequent - # contributor to the documentation, and became a docs maintainer on December 5, 2013. As - # a maintainer, James lifted the docs to a higher standard, and introduced the community - # guidelines ("three strikes"). James is currently changing the world as CTO of https://www.empatico.org, - # meanwhile authoring various books that are worth checking out. You can find him on Twitter, - # rambling as @kartar, and although no longer active as a maintainer, he's always "game" to - # help out reviewing docs PRs, so you may still see him around in the repository. - "jamtur01", - - # Jessica Frazelle, also known as the "Keyser Söze of containers", - # runs *everything* in containers. She started contributing to - # Docker with a (fun fun) change involving both iptables and regular - # expressions (coz, YOLO!) on July 10, 2014 - # https://github.com/docker/docker/pull/6950/commits/f3a68ffa390fb851115c77783fa4031f1d3b2995. - # Jess was Release Captain for Docker 1.4, 1.6 and 1.7, and contributed - # many features and improvement, among which "seccomp profiles" (making - # containers a lot more secure). Besides being a maintainer, she - # set up the CI infrastructure for the project, giving everyone - # something to shout at if a PR failed ("noooo Janky!"). - # Be sure you don't miss her talks at a conference near you (a must-see), - # read her blog at https://blog.jessfraz.com (a must-read), and - # check out her open source projects on GitHub https://github.com/jessfraz (a must-try). - "jessfraz", - - # As a maintainer, John Howard managed to make the impossible possible; - # to run Docker on Windows. After facing many challenges, teaching - # fellow-maintainers that 'Windows is not Linux', and many changes in - # Windows Server to facilitate containers, native Windows containers - # saw the light of day in 2015. - # - # John is now enjoying life without containers: playing piano, painting, - # and walking his dogs, but you may occasionally see him drop by on GitHub. - "lowenna", - - # Alexander Morozov contributed many features to Docker, worked on the premise of - # what later became containerd (and worked on that too), and made a "stupid" Go - # vendor tool specifically for docker/docker needs: vndr (https://github.com/LK4D4/vndr). - # Not many know that Alexander is a master negotiator, being able to change course - # of action with a single "Nope, we're not gonna do that". - "lk4d4", - - # Madhu Venugopal was part of the SocketPlane team that joined Docker. - # As a maintainer, he was working with Jana for the Container Network - # Model (CNM) implemented through libnetwork, and the "routing mesh" powering - # Swarm mode networking. - "mavenugo", - - # As a maintainer, Kenfe-Mickaël Laventure worked on the container runtime, - # integrating containerd 1.0 with the daemon, and adding support for custom - # OCI runtimes, as well as implementing the `docker prune` subcommands, - # which was a welcome feature to be added. You can keep up with Mickaél on - # Twitter (@kmlaventure). - "mlaventure", - - # As a docs maintainer, Mary Anthony contributed greatly to the Docker - # docs. She wrote the Docker Contributor Guide and Getting Started - # Guides. She helped create a doc build system independent of - # docker/docker project, and implemented a new docs.docker.com theme and - # nav for 2015 Dockercon. Fun fact: the most inherited layer in DockerHub - # public repositories was originally referenced in - # maryatdocker/docker-whale back in May 2015. - "moxiegirl", - - # Jana Radhakrishnan was part of the SocketPlane team that joined Docker. - # As a maintainer, he was the lead architect for the Container Network - # Model (CNM) implemented through libnetwork, and the "routing mesh" powering - # Swarm mode networking. - # - # Jana started new adventures in networking, but you can find him tweeting as @mrjana, - # coding on GitHub https://github.com/mrjana, and he may be hiding on the Docker Community - # slack channel :-) - "mrjana", - - # Sven Dowideit became a well known person in the Docker ecosphere, building - # boot2docker, and became a regular contributor to the project, starting as - # early as October 2013 (https://github.com/docker/docker/pull/2119), to become - # a maintainer less than two months later (https://github.com/docker/docker/pull/3061). - # - # As a maintainer, Sven took on the task to convert the documentation from - # ReStructuredText to Markdown, migrate to Hugo for generating the docs, and - # writing tooling for building, testing, and publishing them. - # - # If you're not in the occasion to visit "the Australian office", you - # can keep up with Sven on Twitter (@SvenDowideit), his blog http://fosiki.com, - # and of course on GitHub. - "sven", - - # Vincent "vbatts!" Batts made his first contribution to the project - # in November 2013, to become a maintainer a few months later, on - # May 10, 2014 (https://github.com/docker/docker/commit/d6e666a87a01a5634c250358a94c814bf26cb778). - # As a maintainer, Vincent made important contributions to core elements - # of Docker, such as "distribution" (tarsum) and graphdrivers (btrfs, devicemapper). - # He also contributed the "tar-split" library, an important element - # for the content-addressable store. - # Vincent is currently a member of the Open Containers Initiative - # Technical Oversight Board (TOB), besides his work at Red Hat and - # Project Atomic. You can still find him regularly hanging out in - # our repository and the #docker-dev and #docker-maintainers IRC channels - # for a chat, as he's always a lot of fun. - "vbatts", - - # Vishnu became a maintainer to help out on the daemon codebase and - # libcontainer integration. He's currently involved in the - # Open Containers Initiative, working on the specifications, - # besides his work on cAdvisor and Kubernetes for Google. - "vishh" - ] - -[people] - -# A reference list of all people associated with the project. -# All other sections should refer to people by their canonical key -# in the people section. - - # ADD YOURSELF HERE IN ALPHABETICAL ORDER - - [people.aaronlehmann] - Name = "Aaron Lehmann" - Email = "aaron.lehmann@docker.com" - GitHub = "aaronlehmann" - - [people.akerouanton] - Name = "Albin Kerouanton" - Email = "albinker@gmail.com" - GitHub = "akerouanton" - - [people.alexellis] - Name = "Alex Ellis" - Email = "alexellis2@gmail.com" - GitHub = "alexellis" - - [people.akihirosuda] - Name = "Akihiro Suda" - Email = "akihiro.suda.cz@hco.ntt.co.jp" - GitHub = "AkihiroSuda" - - [people.aluzzardi] - Name = "Andrea Luzzardi" - Email = "al@docker.com" - GitHub = "aluzzardi" - - [people.albers] - Name = "Harald Albers" - Email = "github@albersweb.de" - GitHub = "albers" - - [people.andrewhsu] - Name = "Andrew Hsu" - Email = "andrewhsu@docker.com" - GitHub = "andrewhsu" - - [people.austinvazquez] - Name = "Austin Vazquez" - Email = "macedonv@amazon.com" - GitHub = "austinvazquez" - - [people.anusha] - Name = "Anusha Ragunathan" - Email = "anusha@docker.com" - GitHub = "anusha-ragunathan" - - [people.bsousaa] - Name = "Bruno de Sousa" - Email = "bruno.sousa@docker.com" - GitHub = "bsousaa" - - [people.calavera] - Name = "David Calavera" - Email = "david.calavera@gmail.com" - GitHub = "calavera" - - [people.coolljt0725] - Name = "Lei Jitang" - Email = "leijitang@huawei.com" - GitHub = "coolljt0725" - - [people.corhere] - Name = "Cory Snider" - Email = "csnider@mirantis.com" - GitHub = "corhere" - - [people.cpuguy83] - Name = "Brian Goff" - Email = "cpuguy83@gmail.com" - GitHub = "cpuguy83" - - [people.crazy-max] - Name = "Kevin Alvarez" - Email = "contact@crazymax.dev" - GitHub = "crazy-max" - - [people.crosbymichael] - Name = "Michael Crosby" - Email = "crosbymichael@gmail.com" - GitHub = "crosbymichael" - - [people.dnephin] - Name = "Daniel Nephin" - Email = "dnephin@gmail.com" - GitHub = "dnephin" - - [people.dmcgowan] - Name = "Derek McGowan" - Email = "derek@mcgstyle.net" - GitHub = "dmcgowan" - - [people.duglin] - Name = "Doug Davis" - Email = "dug@us.ibm.com" - GitHub = "duglin" - - [people.ehazlett] - Name = "Evan Hazlett" - Email = "ejhazlett@gmail.com" - GitHub = "ehazlett" - - [people.erikh] - Name = "Erik Hollensbe" - Email = "erik@docker.com" - GitHub = "erikh" - - [people.estesp] - Name = "Phil Estes" - Email = "estesp@linux.vnet.ibm.com" - GitHub = "estesp" - - [people.fntlnz] - Name = "Lorenzo Fontana" - Email = "fontanalorenz@gmail.com" - GitHub = "fntlnz" - - [people.gianarb] - Name = "Gianluca Arbezzano" - Email = "ga@thumpflow.com" - GitHub = "gianarb" - - [people.icecrime] - Name = "Arnaud Porterie" - Email = "icecrime@gmail.com" - GitHub = "icecrime" - - [people.jamtur01] - Name = "James Turnbull" - Email = "james@lovedthanlost.net" - GitHub = "jamtur01" - - [people.jessfraz] - Name = "Jessie Frazelle" - Email = "jess@linux.com" - GitHub = "jessfraz" - - [people.johnstep] - Name = "John Stephens" - Email = "johnstep@docker.com" - GitHub = "johnstep" - - [people.justincormack] - Name = "Justin Cormack" - Email = "justin.cormack@docker.com" - GitHub = "justincormack" - - [people.kolyshkin] - Name = "Kir Kolyshkin" - Email = "kolyshkin@gmail.com" - GitHub = "kolyshkin" - - [people.laurazard] - Name = "Laura Brehm" - Email = "laurabrehm@hey.com" - GitHub = "laurazard" - - [people.lk4d4] - Name = "Alexander Morozov" - Email = "lk4d4@docker.com" - GitHub = "lk4d4" - - [people.lowenna] - Name = "John Howard" - Email = "github@lowenna.com" - GitHub = "lowenna" - - [people.mavenugo] - Name = "Madhu Venugopal" - Email = "madhu@docker.com" - GitHub = "mavenugo" - - [people.mhbauer] - Name = "Morgan Bauer" - Email = "mbauer@us.ibm.com" - GitHub = "mhbauer" - - [people.mlaventure] - Name = "Kenfe-Mickaël Laventure" - Email = "mickael.laventure@gmail.com" - GitHub = "mlaventure" - - [people.moxiegirl] - Name = "Mary Anthony" - Email = "mary.anthony@docker.com" - GitHub = "moxiegirl" - - [people.mrjana] - Name = "Jana Radhakrishnan" - Email = "mrjana@docker.com" - GitHub = "mrjana" - - [people.neersighted] - Name = "Bjorn Neergaard" - Email = "bjorn@neersighted.com" - GitHub = "neersighted" - - [people.olljanat] - Name = "Olli Janatuinen" - Email = "olli.janatuinen@gmail.com" - GitHub = "olljanat" - - [people.programmerq] - Name = "Jeff Anderson" - Email = "jeff@docker.com" - GitHub = "programmerq" - - [people.robmry] - Name = "Rob Murray" - Email = "rob.murray@docker.com" - GitHub = "robmry" - - [people.ripcurld] - Name = "Boaz Shuster" - Email = "ripcurld.github@gmail.com" - GitHub = "ripcurld" - - [people.rumpl] - Name = "Djordje Lukic" - Email = "djordje.lukic@docker.com" - GitHub = "rumpl" - - [people.runcom] - Name = "Antonio Murdaca" - Email = "runcom@redhat.com" - GitHub = "runcom" - - [people.sam-thibault] - Name = "Sam Thibault" - Email = "sam.thibault@docker.com" - GitHub = "sam-thibault" - - [people.samuelkarp] - Name = "Samuel Karp" - Email = "me@samuelkarp.com" - GitHub = "samuelkarp" - - [people.samwhited] - Name = "Sam Whited" - Email = "sam@samwhited.com" - GitHub = "samwhited" - - [people.shykes] - Name = "Solomon Hykes" - Email = "solomon@docker.com" - GitHub = "shykes" - - [people.stevvooe] - Name = "Stephen Day" - Email = "stephen.day@docker.com" - GitHub = "stevvooe" - - [people.sven] - Name = "Sven Dowideit" - Email = "SvenDowideit@home.org.au" - GitHub = "SvenDowideit" - - [people.thajeztah] - Name = "Sebastiaan van Stijn" - Email = "github@gone.nl" - GitHub = "thaJeztah" - - [people.thompson-shaun] - Name = "Shaun Thompson" - Email = "shaun.thompson@docker.com" - GitHub = "thompson-shaun" - - [people.tianon] - Name = "Tianon Gravi" - Email = "admwiggin@gmail.com" - GitHub = "tianon" - - [people.tibor] - Name = "Tibor Vass" - Email = "tibor@docker.com" - GitHub = "tiborvass" - - [people.tonistiigi] - Name = "Tõnis Tiigi" - Email = "tonis@docker.com" - GitHub = "tonistiigi" - - [people.unclejack] - Name = "Cristian Staretu" - Email = "cristian.staretu@gmail.com" - GitHub = "unclejack" - - [people.vbatts] - Name = "Vincent Batts" - Email = "vbatts@redhat.com" - GitHub = "vbatts" - - [people.vdemeester] - Name = "Vincent Demeester" - Email = "vincent@sbr.pm" - GitHub = "vdemeester" - - [people.vieux] - Name = "Victor Vieux" - Email = "vieux@docker.com" - GitHub = "vieux" - - [people.vishh] - Name = "Vishnu Kannan" - Email = "vishnuk@google.com" - GitHub = "vishh" - - [people.vvoland] - Name = "Paweł Gronowski" - Email = "pawel.gronowski@docker.com" - GitHub = "vvoland" - - [people.yongtang] - Name = "Yong Tang" - Email = "yong.tang.github@outlook.com" - GitHub = "yongtang" +# REVIEWERS +# GitHub ID, Name, Email address, GPG fingerprint +"alexellis","Alex Ellis","alexellis2@gmail.com" +"andrewhsu","Andrew Hsu","andrewhsu@docker.com" +"anusha-ragunathan","Anusha Ragunathan","anusha@docker.com" +"bsousaa","Bruno de Sousa","bruno.sousa@docker.com" +"coolljt0725","Lei Jitang","leijitang@huawei.com" +"corhere","Cory Snider","csnider@mirantis.com" +"crazy-max","Kevin Alvarez","contact@crazymax.dev" +"dmcgowan","Derek McGowan","derek@mcgstyle.net" +"estesp","Phil Estes","estesp@linux.vnet.ibm.com" +"fntlnz","Lorenzo Fontana","fontanalorenz@gmail.com" +"gianarb","Gianluca Arbezzano","ga@thumpflow.com" +"johnstep","John Stephens","johnstep@docker.com" +"justincormack","Justin Cormack","justin.cormack@docker.com" +"kolyshkin","Kir Kolyshkin","kolyshkin@gmail.com" +"laurazard","Laura Brehm","laurabrehm@hey.com" +"mhbauer","Morgan Bauer","mbauer@us.ibm.com" +"neersighted","Bjorn Neergaard","bjorn@neersighted.com" +"olljanat","Olli Janatuinen","olli.janatuinen@gmail.com" +"programmerq","Jeff Anderson","jeff@docker.com" +"ripcurld","Boaz Shuster","ripcurld.github@gmail.com" +"rumpl","Djordje Lukic","djordje.lukic@docker.com" +"runcom","Antonio Murdaca","runcom@redhat.com" +"sam-thibault","Sam Thibault","sam.thibault@docker.com" +"samuelkarp","Samuel Karp","me@samuelkarp.com" +"samwhited","Sam Whited","sam@samwhited.com" +"stevvooe","Stephen Day","stephen.day@docker.com" +"thompson-shaun","Shaun Thompson","shaun.thompson@docker.com" +"tiborvass","Tibor Vass","tibor@docker.com" +"unclejack","Cristian Staretu","cristian.staretu@gmail.com" +"vdemeester","Vincent Demeester","vincent@sbr.pm" +"vieux","Victor Vieux","vieux@docker.com" +"yongtang","Yong Tang","yong.tang.github@outlook.com" diff --git a/project/GOVERNANCE.md b/project/GOVERNANCE.md index 588429b313..e7d55373f5 100644 --- a/project/GOVERNANCE.md +++ b/project/GOVERNANCE.md @@ -1,12 +1,13 @@ # Moby project governance -Moby projects are governed by the [Moby Technical Steering Committee (TSC)](https://github.com/moby/tsc). -See the Moby TSC [charter](https://github.com/moby/tsc/blob/master/README.md) for -further information on the role of the TSC and procedures for escalation -of technical issues or concerns. +Moby is the open-source project used to build Docker, jointly maintained by Docker +and the community. As a [community project](https://www.docker.com/community/open-source/), +we abide by a [Code of Conduct](https://github.com/docker/code-of-conduct) +and define a governance which ensures the project is community driven and open to +anyone to contribute. -Contact [any Moby TSC member](https://github.com/moby/tsc/blob/master/MEMBERS.md) with your questions/concerns about the governance or a specific technical -issue that you feel requires escalation. +Contact moby@docker.com with any questions/concerns about the enforcement of the +Code of Conduct. ## Project maintainers @@ -26,32 +27,55 @@ to appreciate the absence of bugs, the slow but steady improvement in stability, or the reliability of a release process. But those things distinguish a good project from a great one. -### Adding maintainers +## Reviewers -Maintainers are first and foremost contributors who have shown their -commitment to the long term success of a project. Contributors who want to -become maintainers first demonstrate commitment to the project by contributing -code, reviewing others' work, and triaging issues on a regular basis for at -least three months. +A reviewer is a maintainer within the project. +They share in reviewing issues and pull requests and their LGTM counts towards the +required LGTM count to merge a code change into the project. -The contributions alone don't make you a maintainer. You need to earn the -trust of the current maintainers and other project contributors, that your -decisions and actions are in the best interest of the project. +Reviewers are part of the organization but do not have write access to the project. +Becoming a reviewer is a core aspect in the journey to becoming a committer. -Periodically, the existing maintainers curate a list of contributors who have -shown regular activity on the project over the prior months. From this -list, maintainer candidates are selected and proposed on the maintainers -mailing list. +## Committers -After a candidate is announced on the maintainers mailing list, the -existing maintainers discuss the candidate over the next 5 business days, -provide feedback, and vote. At least 66% of the current maintainers must -vote in the affirmative. +A committer is a maintainer who is responsible for the overall quality and +stewardship of the project. They share the same reviewing responsibilities as +reviewers, but are also responsible for upholding the project bylaws as well as +participating in project level votes. -If a candidate is approved, a maintainer contacts the candidate to -invite them to open a pull request that adds the contributor to -the MAINTAINERS file. The candidate becomes a maintainer once the pull -request is merged. +Committers are part of the organization with write access to the project. +Committers are expected to remain actively involved in the project and +participate in voting and discussing of proposed project level changes. + + +## Adding maintainers + +Maintainers are first and foremost contributors that have shown they are +committed to the long term success of a project. Contributors wanting to become +maintainers are expected to be deeply involved in contributing code, pull +request review, and triage of issues in the project for more than three months. + +Just contributing does not make you a maintainer, it is about building trust +with the current maintainers of the project and being a person that they can +depend on and trust to make decisions in the best interest of the project. + +Periodically, the existing maintainers curate a list of contributors that have +shown regular activity on the project over the prior months. From this list, +maintainer candidates are selected and proposed in the maintainers forum. + +After a candidate has been informally proposed in the maintainers forum, the +existing maintainers are given seven days to discuss the candidate, raise +objections and show their support. Formal voting takes place on a pull request +that adds the contributor to the MAINTAINERS file. Candidates must be approved +by 2/3 of the current committers by adding their approval or LGTM to the pull +request. The reviewer role has the same process but only requires 1/3 of current +committers. + +If a candidate is approved, they will be invited to add their own LGTM or +approval to the pull request to acknowledge their agreement. A committer will +verify the numbers of votes that have been received and the allotted seven days +have passed, then merge the pull request and invite the contributor to the +organization. ### Removing maintainers @@ -114,7 +138,12 @@ the same steps: Pull requests are reviewed by the current maintainers of the moby/moby repository. Weekly meetings are organized to synchronously -discuss tricky PRs, as well as design and architecture decisions.. When -technical agreement cannot be reached among the maintainers of the project, -escalation or concerns can be raised by opening an issue to be handled -by the [Moby Technical Steering Committee](https://github.com/moby/tsc). +discuss tricky PRs, as well as design and architecture decisions. + +### Conflict Resolution + +If you have a technical dispute that you feel has reached an impasse with a +subset of the community, any contributor may open an issue, specifically +calling for a resolution vote of the current committers to resolve the +dispute. A resolution vote must be approved by 2/3 of the current +committers.