Merge pull request #9609 from MurderVeggie/how-to-contribute

Fresh "How to contribute" page

(cherry picked from commit 86192a2830)
This commit is contained in:
Nathalie Galla
2024-07-19 19:27:17 +02:00
committed by Max Hilbrunner
parent 649373439d
commit dcdb34ce94
5 changed files with 114 additions and 52 deletions

View File

@@ -14,6 +14,7 @@ source,destination
/community/contributing/docs_writing_guidelines.html,/contributing/documentation/docs_writing_guidelines.html
/community/contributing/editor_and_docs_localization.html,/contributing/documentation/editor_and_docs_localization.html
/community/contributing/index.html,/contributing/ways_to_contribute.html
/community/contributing/ways_to_contribute.html,/contributing/how_to_contribute.html
/community/contributing/pr_workflow.html,/contributing/workflow/pr_workflow.html
/community/contributing/testing_pull_requests.html,/contributing/workflow/testing_pull_requests.html
/community/contributing/updating_the_class_reference.html,/contributing/documentation/updating_the_class_reference.html
1 source destination
14 /community/contributing/docs_writing_guidelines.html /contributing/documentation/docs_writing_guidelines.html
15 /community/contributing/editor_and_docs_localization.html /contributing/documentation/editor_and_docs_localization.html
16 /community/contributing/index.html /contributing/ways_to_contribute.html
17 /community/contributing/ways_to_contribute.html /contributing/how_to_contribute.html
18 /community/contributing/pr_workflow.html /contributing/workflow/pr_workflow.html
19 /community/contributing/testing_pull_requests.html /contributing/workflow/testing_pull_requests.html
20 /community/contributing/updating_the_class_reference.html /contributing/documentation/updating_the_class_reference.html

View File

@@ -0,0 +1,110 @@
.. _doc_ways_to_contribute:
How to contribute
=================
The Godot Engine is free and open-source. Like any community-driven project, we rely on volunteer contributions.
On this page we want to showcase the various ways you as users can participate - to help you find the right starting place with the skillset you have.
Because contrary to popular opinion, we need more than just programmers on the project!
Fundraising
-----------
- **Donate**
We created the non-profit `Godot Foundation <https://godot.foundation/>`_ to be able to support the Godot Engine in both matters of finance and administration.
In practice, this means the Foundation hires people to work part-time or full-time on the project.
These jobs include engine development as well as related tasks like code reviews, production management, community & marketing efforts, and more.
With as little as 5 EUR per month, you can help us keep going strong.
Currently, we are intending to hire more core developers, as to cover more ground with full-time specialists that supplement and guide volunteer work.
`Join the Development Fund <fund.godotengine.org>`_
- **Donation Drives**
Think about your followers on social media, or other communities you are active in.
Use that reach to remind your social environment that even small contributions can make a difference, especially when done by a great number of people at the same time.
Are you a content creator? Consider adding a link to the `Godot Development Fund <fund.godotengine.org>`_ to your descriptions.
If you do live streams, perhaps think about organizing a stream with donation incentives.
.. - **Buy Official Merch**
- **Publish Godot Games.**
You heard right, simply publishing a game #MadeWithGodot can positively impact the well-being of this project.
Your personal success elevates the engine to a viable alternative for other developers, growing the community further.
Additionally, it opens the doors for us to approach industry contacts about possible cooperations.
Technical contributions
-----------------------
- **Report bugs & other issues**
As active users of the engine, you are better equipped to identify bugs and other issues than anyone else.
To let us know about your findings, fill out this `bug report form <https://github.com/godotengine/godot/issues/new/choose>`_ on our GitHub.
Make sure to include as much information as possible to ensure these issues can easily be reproduced by others.
If you are interested in helping keep our bug tracker organized, you can even join the `bugsquad <https://chat.godotengine.org/channel/bugsquad>`_!
- **Test Development Versions**
While it is recommended to use the stable releases for your projects, you can help us test dev releases, betas, and release candidates
by opening a copy of your project in them and checking what problems this introduces or maybe even solves.
Make sure to have a backup ready, since this can produce irreversible changes.
Find recent `development versions <https://godotengine.org/download/preview/>`_ directly on our download page, or linked in their own blog posts.
- **Contribute Engine Code (mainly C++)**
The engine development is mainly coordinated on our `Contributor RocketChat <https://chat.godotengine.org/>`_,
so if you are serious about making PRs you should join us there!
Read more about the **technical submission process**: :ref:`doc_first_steps`
For each subject area of the engine, there is a corresponding team to coordinate the work.
Join the linked chat to get more eyes on your related PR, learn about open todos, or partake in meetings.
For some areas, specialists might even be encouraged to step up as maintainer!
`List of teams <https://godotengine.org/teams/>`_
- **Review Code Contributions**
All pull requests need to be thoroughly reviewed before they can be merged into the master branch.
Help us get a headstart by participating in the code review process.
To get started, chose any `open pull request <https://github.com/godotengine/godot/pulls>`_ and reference our **style guide**: :ref:`doc_pr_review_guidelines`
- **Write Plugins (GDScript, C#, & more)**
Community addons are not directly included in the core engine download or repository, yet they provide essential quality of life upgrades for your fellow game developers.
Upload your plugins to the `Godot Asset Library <https://godotengine.org/asset-library/asset>`_ to make them available to others.
.. update to talk about Asset Store later
- **Demo projects (GDScript, C#, and making Assets)**
We provide new users with `demo projects <https://github.com/godotengine/godot-demo-projects/>`_ so they can quickly test new features or get familiar with the engine in the first place.
At industry events, we might even exhibit these demo projects to showcase what Godot can do!
Help improve existing projects or supply your own to be added to the pool, and join the `demo channel <https://chat.godotengine.org/channel/demo-content>`_ in the Contributor RocketChat to talk about it.
- **Documentation**
The documentation is one of the most essential parts of any tech project, yet the need to document new features and substantial changes often gets overlooked.
Join the `documentation team <https://chat.godotengine.org/channel/documentation>`_ to improve the Godot Engine with your technical writing skills.
- **Translations (spoken languages other than English)**
Are you interested in making the Godot Engine more accessible to non-English speakers?
Contribute to our `community-translations <https://hosted.weblate.org/projects/godot-engine/godot/>`_.
Community support
-----------------
- **Call for Moderators**
With a community of our size, we need people to step up as volunteer moderators in all kinds of places.
These teams are organized by the Godot Foundation, but would not function without the dedication of active community members like you.
Have a look around your favorite community platform and you might come across open application calls.
- **Answer tech-support questions**
With many new people discovering the Godot Engine recently, the need for peer-to-peer tech-support has never been greater.
Be it on the `Forum <https://forum.godotengine.org/>`_, our `subreddit <https://www.reddit.com/r/godot/>`_, or on `Discord <https://discord.gg/bdcfAYM4W9>`_, you can always brighten someone's day by helping them get their personal projects back on track.
- **Create tutorials & more**
How did you get started with the Godot Engine?
Chances are you looked for learning materials outside of what the documentation provides.
Without content creators covering the game development process, there would not be this big of a community today.
Therefore it seemed only right to mention them in a page about important contributions to the project.

View File

@@ -1,54 +1,4 @@
.. _doc_ways_to_contribute:
Ways to contribute
==================
Godot Engine is a non-profit, community-driven free and open source project.
Almost all (but our lead dev Juan, more on that below) developers are working
*pro bono* on their free time, out of personal interest and for the love of
creating a libre engine of exceptional quality.
This means that to thrive, Godot needs as many users as possible to get
involved by contributing to the engine. There are many ways to contribute to
such a big project, making it possible for everybody to bring something
positive to the engine, regardless of their skill set:
- **Be part of the community.** The best way to contribute to Godot and help
it become ever better is simply to use the engine and promote it by
word-of-mouth, in the credits or splash screen of your games, blog posts, tutorials,
videos, demos, gamedev or free software events, support on the Q&A, forums,
Contributors Chat, Discord, etc. Participate!
Being a user and advocate helps spread the word about our great engine,
which has no marketing budget and can therefore only rely on its community
to become more mainstream.
- **Make games.** It's no secret that, to convince new users and especially the
industry at large that Godot is a relevant market player, we need great games
made with Godot. We know that the engine has a lot of potential, both for 2D
and 3D games, but given its young age we still lack big releases that will
draw attention to Godot. So keep working on your awesome projects, each new
game increases our credibility on the gamedev market!
- **Get involved in the engine's development.** This can be by contributing
code via pull requests, testing the development snapshots or directly the
git *master* branch, report bugs or suggest enhancements on the issue
tracker, improve the official documentation (both the class reference and
tutorials) and its translations.
The following sections will cover each of those "direct" ways
of contributing to the engine.
- **Donate.** Godot is a non-profit project, but it can still benefit from
user donations for many things. Apart from usual expenses such as hosting
costs or promotional material on events, we also use donation money to
acquire hardware when necessary (e.g. we used donation money to buy a
MacBook Pro to implement Retina/HiDPI support and various other
macOS-related features).
Most importantly, we also used donation money to hire core developers so they
can work full-time on the engine. Even with a low
monthly wage, we need a steady donation income to continue doing this, which
has been very beneficial to the project so far. So if you want to donate
some money to the project, check `our website <https://godotengine.org/donate>`_
for details.
.. _doc_first_steps:
Contributing code
-----------------

View File

@@ -12,6 +12,7 @@ approach the project.
:maxdepth: 1
:name: toc-contributing-workflow
first_steps
bisecting_regressions
bug_triage_guidelines
pr_workflow

View File

@@ -129,7 +129,7 @@ the ``GodotEngine.epub`` file in an e-book reader application.
:caption: Contributing
:name: sec-contributing
contributing/ways_to_contribute
contributing/how_to_contribute
contributing/workflow/index
contributing/development/index
contributing/documentation/index