mirror of
https://github.com/zebrajr/pytorch.git
synced 2025-12-07 12:21:27 +01:00
Summary: PR fixes https://github.com/pytorch/pytorch/issues/40666 Pull Request resolved: https://github.com/pytorch/pytorch/pull/40984 Differential Revision: D22404543 Pulled By: ngimel fbshipit-source-id: 0d39e8f4d701517cce9c31fddaaad46be3d4844b
155 lines
6.2 KiB
ReStructuredText
155 lines
6.2 KiB
ReStructuredText
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.
|