Browse Source

updated "Ways to contribute"

This page was so old, it still listed Juan as the lone core developer. Rewritten from scratch to reflect the different avenues of support, including funding and non-tech contributions.
Nathalie Galla 1 year ago
parent
commit
8a50e7b257
3 changed files with 109 additions and 178 deletions
  1. 1 0
      _tools/redirects/redirects.csv
  2. 108 0
      contributing/how_to_contribute.rst
  3. 0 178
      contributing/ways_to_contribute.rst

+ 1 - 0
_tools/redirects/redirects.csv

@@ -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

+ 108 - 0
contributing/how_to_contribute.rst

@@ -0,0 +1,108 @@
+.. _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 action, this means we can hire 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 Euro 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 suplement 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 aboout 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?assignees=&labels=&projects=&template=bug_report.yml>` on our GitHub.
+  Make sure to include as much information as possible to ensure these issues can easily be reproduced by others.
+
+- **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 `here <https://godotengine.org/download/preview/>`
+  
+- **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`
+
+  *Attention: this page is currently under re-contruction, and some teams might be more active than others*
+  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 proposals need to be throroughly reviewed before they can be merged into main.
+  Help us get a headstart by participating in the code review process.
+  .. add a howto/chat to join
+  
+  Read more about our **style guide and other requirements**: :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.
+
+- **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 `Contributor RocketChat <https://chat.godotengine.org/channel/demo-content>` 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 substential often gets overlooked. 
+  Join the `Contributor RocketChat <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? 
+  Community-translations are hosted `here <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. Currently we are looking for:
+  *List under construction*
+
+- **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.

+ 0 - 178
contributing/ways_to_contribute.rst

@@ -1,178 +0,0 @@
-.. _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.
-
-Contributing code
------------------
-
-The possibility to study, use, modify and redistribute modifications of the
-engine's source code are the fundamental rights that
-Godot's `MIT <https://tldrlegal.com/license/mit-license>`_ license grants you,
-making it `free and open source software <https://en.wikipedia.org/wiki/Free_and_open-source_software>`_.
-
-As such, everyone is entitled to modify
-`Godot's source code <https://github.com/godotengine/godot>`_, and send those
-modifications back to the upstream project in the form of a patch (a text file
-describing the changes in a ready-to-apply manner) or - in the modern workflow
-that we use - via a so-called "pull request" (PR), i.e. a proposal to directly
-merge one or more Git commits (patches) into the main development branch.
-
-Contributing code changes upstream has two big advantages:
-
--  Your own code will be reviewed and improved by other developers, and will be
-   further maintained directly in the upstream project, so you won't have to
-   reapply your own changes every time you move to a newer version. On the
-   other hand it comes with a responsibility, as your changes have to be
-   generic enough to be beneficial to all users, and not just your project; so
-   in some cases it might still be relevant to keep your changes only for your
-   own project, if they are too specific.
-
--  The whole community will benefit from your work, and other contributors will
-   behave the same way, contributing code that will be beneficial to you. At
-   the time of this writing, over 2,000 developers have contributed code
-   changes to the engine!
-
-To ensure good collaboration and overall quality, the Godot developers
-enforce some rules for code contributions, for example regarding the style to
-use in the C++ code (indentation, brackets, etc.) or the Git and PR workflow.
-
-A good place to start is by searching for issues tagged as
-`good first issue <https://github.com/godotengine/godot/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22>`_
-on GitHub.
-
-.. seealso:: Technical details about the PR workflow are outlined in a
-             specific section, :ref:`doc_pr_workflow`.
-
-             Details about the code style guidelines and the ``clang-format``
-             tool used to enforce them are outlined in
-             :ref:`doc_code_style_guidelines`.
-
-All pull requests must go through a review process before being accepted.
-Depending on the scope of the changes, it may take some time for a maintainer
-responsible for the modified part of the engine to provide their review.
-We value all of our contributors and ask them to be patient in the meantime,
-as it is expected that in an open source project like Godot, there is going to be
-way more contributions than people validating them.
-
-To make sure that your time and efforts aren't wasted, it is recommended to vet the idea
-first before implementing it and putting it for a review as a PR. To that end, Godot
-has a `proposal system <https://github.com/godotengine/godot-proposals>`_. Its
-usage is encouraged to plan changes and discuss them with the community. Implementation
-details can also be discussed with other contributors on the `Godot Contributors Chat <https://chat.godotengine.org/>`_.
-
-.. note:: Proposals are only required when working on an enhancement or a new feature.
-          Bug reports are sufficient for fixing issues.
-
-Testing and reporting issues
-----------------------------
-
-Another great way of contributing to the engine is to test development releases
-or the development branch and to report issues. It is also helpful to report
-issues discovered in stable releases, so that they can be fixed in
-the development branch and in future maintenance releases.
-
-Testing development versions
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-To help with the testing, you have several possibilities:
-
--  Compile the engine from source yourself, following the instructions of the
-   :ref:`Compiling <toc-devel-compiling>` page for your platform.
-
--  Test official pre-release binaries when they are announced (usually on the
-   blog and other community platforms), such as alpha, beta and release candidate (RC) builds.
-
--  Test "trusted" unofficial builds of the development branch; just ask
-   community members for reliable providers. Whenever possible, it's best to
-   use official binaries or to compile yourself though, to be sure about the
-   provenance of your binaries.
-
-As mentioned previously, it is also helpful to keep your eyes peeled for
-potential bugs that might still be present in the stable releases, especially
-when using some niche features of the engine which might get less testing by
-the developers.
-
-Filing an issue on GitHub
-~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Godot uses `GitHub's issue tracker <https://github.com/godotengine/godot/issues>`_
-for bug reports. When you start filing a bug report, you’ll be given a form to
-fill out. Please try to follow it so that all issues are consistent and provide
-the required information.
-
-Contributing to the documentation
----------------------------------
-
-There are two separate resources referred to as "documentation" in Godot:
-
-- **The class reference.** This is the documentation for the complete Godot API
-  as exposed to GDScript and the other scripting languages. It can be consulted
-  offline, directly in Godot's code editor, or online at Godot :ref:`Class Reference
-  <doc_class_reference>`. To contribute to the class reference, you have to edit the
-  XML file corresponding to the class and make a pull request.
-  See :ref:`doc_updating_the_class_reference` and :ref:`doc_class_reference_primer`
-  for more details.
-
-- **The tutorials and engine documentation and its translations.**
-  This is the part you are reading now, which is distributed in the HTML format.
-  Its contents are generated from plain text files in the reStructured Text
-  (rst) format, to which you can contribute via pull requests on the
-  `godot-docs <https://github.com/godotengine/godot-docs>`_ GitHub repository.
-  See :ref:`doc_contributing_to_the_documentation` for more details.
-
-Contributing translations
--------------------------
-
-To make Godot accessible to everyone, including users who may prefer resources
-in their native language instead of English, our community helps translate both
-the Godot editor and its documentation in many languages.
-
-See :ref:`doc_editor_and_docs_localization` for more details.