mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-02 09:52:27 -04:00
parent
35d6f3daa3
commit
8ae4c8eee8
@ -1,23 +1,55 @@
|
|||||||
# Contributing to Panda3D
|
# Contributing to Panda3D
|
||||||
Thank you for looking into ways to contribute to Panda3D.
|
|
||||||
Most information on how to contribute and get involved already exists in other places.
|
|
||||||
Therefore this page serves as another way to find those resources.
|
|
||||||
|
|
||||||
## Useful Links
|
Panda3D is an open-source, community-driven project, completely dependent on the
|
||||||
* [panda3d.org](https://www.panda3d.org)
|
contribution of volunteers. As such we highly welcome you to contribute code to
|
||||||
* [Manual](https://docs.panda3d.org/1.10/python/index)
|
the project. This document aims to outline some guidelines for doing so.
|
||||||
|
|
||||||
### Getting in Touch With the Community
|
If you would like to contribute but aren't sure where to start, please visit the
|
||||||
* [Discord](https://discord.gg/UyepRMm)
|
[Get Involved](https://www.panda3d.org/get-involved/) page on our website, or
|
||||||
* [IRC](https://www.panda3d.org/manual/?title=The_IRC_Channel)
|
the excellent [Open Source Guide](https://opensource.guide/how-to-contribute/).
|
||||||
* [Forum](https://discourse.panda3d.org/)
|
|
||||||
|
|
||||||
|
## Before implementing a change
|
||||||
|
|
||||||
## Building the Project
|
We highly recommend that you file issues before making a change. Issues are
|
||||||
Information on how to build Panda3D can be found in the [README](https://github.com/panda3d/panda3d#building-panda3d).
|
used to track bugs and feature requests but also to get feedback from the other
|
||||||
|
developers about design decisions or a specific implementation strategy.
|
||||||
|
|
||||||
## Testing the Project
|
It is important for acceptance that the change is implemented in a way that fits
|
||||||
Information on how to test Panda3D can be found in the [README](https://github.com/panda3d/panda3d#running-tests).
|
the general design principles of the Panda3D API, and fits well with the general
|
||||||
|
priorities of the team. Therefore, prior discussion with other developers is
|
||||||
|
critical. Issues can be used to facilitate this, but we also invite you to
|
||||||
|
visit the #development channel on Discord (or #panda3d-devel on FreeNode IRC).
|
||||||
|
|
||||||
## Ways to Get Involved
|
We also recommend that you familiarize yourself with the established coding
|
||||||
Information on various ways to get involved with Panda3D can be found [on the main web site](https://www.panda3d.org/get-involved/).
|
style and design patterns of Panda3D, to reduce the amount of changes that have
|
||||||
|
to be made during the review process.
|
||||||
|
|
||||||
|
## Submitting a change
|
||||||
|
|
||||||
|
All changes from non-core contributors are made via pull requests. This
|
||||||
|
requires you to fork the Panda3D repository, create a branch for your change,
|
||||||
|
push your changes to this branch, and request that this branch is merged into
|
||||||
|
the upstream branch. Each pull request is reviewed by a maintainer and
|
||||||
|
automatically tested for regressions and unit test coverage. The maintainer
|
||||||
|
will suggest any changes, which you can add by committing more code to the same
|
||||||
|
branch (you can do a force push if necessary). Once the change is deemed
|
||||||
|
acceptable, the maintainer will merge your change into the appropriate branch of
|
||||||
|
the repository.
|
||||||
|
|
||||||
|
To make it easier for the maintainer to review your changes, we highly recommend
|
||||||
|
that you give a clear and concise description of intent (linking to any issues
|
||||||
|
that are resolved by the change), as well as the inclusion of unit tests, which
|
||||||
|
contribute to a high level of confidence that this change does not break any
|
||||||
|
existing behaviours. We also recommend breaking up separate changes into
|
||||||
|
separate PRs, rather than submitting one big PR with several unrelated changes.
|
||||||
|
|
||||||
|
If your change is still a work in progress, please mark the PR as "draft". This
|
||||||
|
will prevent other contributors from receiving an email every time you push a
|
||||||
|
new change to your branch. Draft PRs can also be used to invite early feedback
|
||||||
|
on your change, especially if you are uncertain about whether you are going in
|
||||||
|
the right direction.
|
||||||
|
|
||||||
|
The code in the Panda3D repository is copyrighted to Carnegie Mellon University
|
||||||
|
and licensed under the Modified BSD License. By submitting your changes, you
|
||||||
|
accept that your code becomes placed under the same license. Except in specific
|
||||||
|
agreed-upon cases, we do not accept code contributions under alternate licenses.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user