|  | PyTorch Governance | 
|  | ========================== | 
|  |  | 
|  | Governance Philosophy and Guiding Tenets | 
|  | ----------------------------------------- | 
|  |  | 
|  | PyTorch adopts a governance structure with a small set of maintainers | 
|  | driving the overall project direction with a strong bias towards | 
|  | PyTorch's design philosophy where design and code contributions are | 
|  | valued. Beyond the core maintainers, there is also a slightly broader | 
|  | set of core developers that have the ability to directly merge pull | 
|  | requests and own various parts of the core code base. | 
|  |  | 
|  | Beyond the maintainers and core devs, the community is encouraged to | 
|  | contribute, file issues, make proposals, review pull requests and be | 
|  | present in the community. Given contributions and willingness to | 
|  | invest, anyone can be provided write access or ownership of parts of | 
|  | the codebase. | 
|  |  | 
|  | Based on this governance structure, the project has the following core | 
|  | operating tenets by which decisions are made and overall culture is | 
|  | derived: | 
|  |  | 
|  | 1. **Code contributions** matter much more than corporate sponsorship | 
|  | and independent developers are highly valued. | 
|  | 2. **Project influence** is gained through contributions (whether PRs, | 
|  | forum answers, code reviews or otherwise) | 
|  |  | 
|  | Key people and their functions | 
|  | ------------------------------ | 
|  |  | 
|  | Project Maintainers | 
|  | ~~~~~~~~~~~~~~~~~~~ | 
|  |  | 
|  | Project maintainers provide leadership and direction for the PyTorch | 
|  | project. Specifics include: | 
|  |  | 
|  | -  Articulate a cohesive long-term vision for the project | 
|  | -  Possess a deep understanding of the PyTorch code base | 
|  | -  Negotiate and resolve contentious issues in ways acceptable to all | 
|  | parties involved | 
|  |  | 
|  | PyTorch Maintainers: | 
|  |  | 
|  | -  Adam Paszke (`apaszke <https://github.com/apaszke>`__) | 
|  | -  Soumith Chintala (`soumith <https://github.com/soumith>`__) | 
|  | -  Edward Yang (`ezyang <https://github.com/ezyang>`__) | 
|  | -  Greg Chanan (`gchanan <https://github.com/gchanan>`__) | 
|  | -  Dmytro Dzhulgakov (`dzhulgakov <https://github.com/dzhulgakov>`__) | 
|  | -  (sunsetting) Sam Gross (`colesbury <https://github.com/colesbury>`__) | 
|  |  | 
|  | Core Developers | 
|  | ~~~~~~~~~~~~~~~ | 
|  |  | 
|  | The PyTorch project is developed by a team of core developers. You can | 
|  | find the list of core developers at :doc:`PyTorch Governance \| Persons of | 
|  | Interest <persons_of_interest>`. | 
|  |  | 
|  | While membership is determined by presence in the "PyTorch core" team in | 
|  | the "PyTorch" | 
|  | `organization <https://github.com/orgs/pytorch/people>`__ on | 
|  | GitHub, contribution takes many forms: | 
|  |  | 
|  | -  committing changes to the repository; | 
|  | -  reviewing pull requests by others; | 
|  | -  triaging bug reports on the issue tracker; | 
|  | -  discussing topics on official PyTorch communication channels. | 
|  |  | 
|  | Moderators | 
|  | ~~~~~~~~~~ | 
|  |  | 
|  | There is a group of people, some of which are not core developers, | 
|  | responsible for ensuring that discussions on official communication | 
|  | channels adhere to the Code of Conduct. They take action in view of | 
|  | violations and help to support a healthy community. You can find the | 
|  | list of moderators `here <https://discuss.pytorch.org/about>`__. | 
|  |  | 
|  | Decision Making | 
|  | --------------- | 
|  |  | 
|  | Uncontroversial Changes | 
|  | ~~~~~~~~~~~~~~~~~~~~~~~ | 
|  |  | 
|  | Primary work happens through bug tracker issues and pull requests on | 
|  | GitHub. Core developers should avoid pushing their changes directly to | 
|  | the PyTorch repository, instead relying on pull requests. Approving a | 
|  | pull request by a core developer allows it to be merged without further | 
|  | process. Core Developers and Project Maintainers ultimately approve | 
|  | these changes. | 
|  |  | 
|  | Notifying relevant experts about a bug tracker issue or a pull request | 
|  | is important. Reviews from experts in the given interest area are | 
|  | strongly preferred, especially on pull request approvals. Failure to do | 
|  | so might end up with the change being reverted by the relevant expert. | 
|  |  | 
|  | Controversial decision process | 
|  | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 
|  |  | 
|  | Substantial changes in a given interest area require a GitHub issue to | 
|  | be opened for discussion. This includes: | 
|  |  | 
|  | -  Any semantic or syntactic change to the framework. | 
|  | -  Backwards-incompatible changes to the Python or Cpp API. | 
|  | -  Additions to the core framework, including substantial new | 
|  | functionality within an existing library. | 
|  | -  Removing core features | 
|  |  | 
|  | Project Maintainers ultimately approve these changes. | 
|  |  | 
|  | FAQ | 
|  | --- | 
|  |  | 
|  | **Q: What if I would like to own (or partly own) a part of the project | 
|  | such as a domain api (i.e. Torch Vision)?** This is absolutely possible. | 
|  | The first step is to start contributing to the existing project area and | 
|  | contributing to its health and success. In addition to this, you can | 
|  | make a proposal through a GitHub issue for new functionality or changes | 
|  | to improve the project area. | 
|  |  | 
|  | **Q: What if I am a company looking to use PyTorch internally for | 
|  | development, can I be granted or purchase a board seat to drive the | 
|  | project direction?** No, the PyTorch project is strictly driven by the | 
|  | maintainer-driven project philosophy and does not have a board or | 
|  | vehicle to take financial contributions relating to gaining influence | 
|  | over technical direction. | 
|  |  | 
|  | **Q: Does the PyTorch project support grants or ways to support | 
|  | independent developers using or contributing to the project?** No, not | 
|  | at this point. We are however looking at ways to better support the | 
|  | community of independent developers around PyTorch. If you have | 
|  | suggestions or inputs, please reach out on the PyTorch forums to | 
|  | discuss. | 
|  |  | 
|  | **Q: How do I contribute code to the project?** If the change is | 
|  | relatively minor, a pull request on GitHub can be opened up immediately | 
|  | for review and merge by the project committers. For larger changes, | 
|  | please open an issue to make a proposal to discuss prior. Please also | 
|  | see the :doc:`PyTorch Contributor | 
|  | Guide <contribution_guide>` for contribution | 
|  | guidelines. | 
|  |  | 
|  | **Q: Can I become a committer on the project?** Unfortunately, the | 
|  | current commit process to PyTorch involves an interaction with Facebook | 
|  | infrastructure that can only be triggered by Facebook employees. We are | 
|  | however looking at ways to expand the committer base to individuals | 
|  | outside of Facebook and will provide an update when the tooling exists | 
|  | to allow this. | 
|  |  | 
|  | **Q: What if i would like to deliver a PyTorch tutorial at a conference | 
|  | or otherwise? Do I need to be 'officially' a committer to do this?** No, | 
|  | we encourage community members to showcase their work wherever and | 
|  | whenever they can. Please reach out to | 
|  | `pytorch-marketing@fb.com <http://mailto:pytorch-marketing@fb.com/>`__ | 
|  | for marketing support. |