diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index bbe3611c..8a1e66e8 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -7,12 +7,27 @@ The following is a set of guidelines for contributing to ioquake3 which is hoste [I don't want to read this whole thing, I just have a question!!!](#i-dont-want-to-read-this-whole-thing-i-just-have-a-question) [How Can I Contribute?](#how-can-i-contribute) + * [On AI/LLM Contributions](#on-aillm-contributions) + * [Policy](#policy) + * [Reasoning](#reasoning) + * [Responsibility](#responsibility) + * [What about translation tools, for non-English speakers?](#what-about-translation-tools-for-non-english-speakers) + * [Reporting Bugs](#reporting-bugs) + * [Before Submitting A Bug Report](#before-submitting-a-bug-report) + * [How Do I Submit A (Good) Bug Report?](#how-do-i-submit-a-good-bug-report) * [Suggesting Enhancements](#suggesting-enhancements) + + * [Helping Others](#helping-others) + * [Tip ioquake3 developers](#tip-ioquake3-developers) + * [Social Media](#social-media) + * [Your First Code Contribution](#your-first-code-contribution) - * [Pull Requests](#pull-requests) -[Additional Notes](#additional-notes) - * [Issue and Pull Request Labels](#issue-and-pull-request-labels) + * [Local development](#local-development) + * [Pull Requests](#pull-requests) + * [Technical Guidelines](#technical-guidelines) + + * [Building Official Installers](#building-official-installers) ## I don't want to read this whole thing I just have a question!!! @@ -25,10 +40,58 @@ We have an official message board where the community provides helpful advice if If you'd prefer to chat live with other users, sysadmins, and developers, we have IRC and Discord, with a bridge between the two: * IRC: We're on Libera Chat (```irc.libera.chat```) in ```#ioquake3``` * Or you can join our Discord [via this link](https://discord.gg/fPaGNuy) -With either of these services it might take a while before someone responds to your question, if you can't wait, [use the forums](https://discourse.ioquake.org) +With either of these services it might take a while before someone responds to your question, if you can't wait for an answer on Discord or IRC, [use the forums](https://discourse.ioquake.org) + ## How Can I Contribute? +### On AI/LLM Contributions + +#### Policy + Do not submit code, pull requests, issues, or other contributions that have been developed with the + assistance of generative "AI" or other similar assistive tools (such as Microsoft Copilot, Anthropic + Claude, ChatGPT, etc). + + **If you submit contributions using these tools, you may be banned from the project.** + +#### Reasoning + This policy is here because: + +* Code and other contributions made by these tools are likely to violate licenses and copyright + because they plagiarize the original sources without permission. + +* The datacenters that are used to train and operate these tools have an enormous impact on limited + resources of both energy and water. + +* Generated code may include security vulnerabilities. + +* Making mistakes is human. Generative tools do not have the ability to reason and + understand mistakes they make. + +* Our time as contributors is valuable and the vast majority of our work is unpaid. When you + submit contributions generated by these tools, you waste our resources to review them. + This time is much better spent working on contributions from humans. + +#### Responsibility +When you submit contributions to the ioquake3 project you are affirming that the contributions are: + +* Solely the work of people. +* Not made with generative "AI" technologies. + +**If you fail to abide by these responsibilites you may be banned from the project.** + +#### What about translation tools, for non-English speakers? + +The only acceptable use is with human language translation services for facilitating communication +between people. Google translate, DeepL, and so on, are acceptable for these uses. + + +Unsure where to begin contributing to ioquake3? + +Check out our issues and pull requests, you can review and make new suggestions. + +We also have a label called [new contributor](https://github.com/ioquake/ioq3/issues?q=state%3Aopen%20label%3A%22new%20contributor%22) that might be a good starting point. + ### Reporting Bugs This section guides you through submitting a bug report for ioquake3. Following these guidelines helps maintainers and the community understand your report :pencil:, reproduce the behavior :computer: :computer:, and find related reports :mag_right:. @@ -39,7 +102,7 @@ Before creating bug reports, please check [this list](#before-submitting-a-bug-r #### Before Submitting A Bug Report -* **Check the latest version** The version in our installers is from 2009! Check if you can reproduce the problem [in the latest test build of ioquake3](http://ioquake3.org/get-it/test-builds/). +* **Check the latest version** The version in our installers is from 2009! Check if you can reproduce the problem [in the latest build of ioquake3](http://ioquake3.org/get-it/). * **Search the [forum](https://discourse.ioquake.org)** for your questions and problems. * **Perform a [cursory search](https://github.com/search?q=+is%3Aissue+user%3Aioquake)** to see if the problem has already been reported. If it has **and the issue is still open**, add a comment to the existing issue instead of opening a new one. @@ -71,15 +134,6 @@ Include details about your configuration and environment: * **What's the name and version of the OS you're using?** * **What graphics card or chipset is in your computer?** -### Helping others -People have questions, they ask them on our [forums](https://discourse.ioquake.org/), Discord, and on other services and websites. Answer them if you can, and suggest they get added to the [Players Guide](https://ioquake3.org/help/players-guide/) or [Sys Admin Guide](https://ioquake3.org/help/sys-admin-guide/) if the same questions keep coming up. If the answers are already in the one of our guides, copy and paste the answer and then link the people asking questions to those pages if they have more questions. - -### Tip ioquake3 developers -Money buys servers, hosting, and time. [Support ioquake3 developers directly through the links on this page](https://ioquake3.org/help/get-involved/). - -### Social Media -Follow ioquake3 [on Mastodon](https://mastodon.social/@ioquake3) and [on Blue Sky](https://bsky.app/profile/ioquake3.org). Let other Quake 3 players know about ioquake3, some people are still playing with id's client! - ### Suggesting Enhancements This section guides you through submitting an enhancement suggestion for ioquake3, including completely new features and minor improvements to existing functionality. Following these guidelines helps maintainers and the community understand your suggestion :pencil: and find related suggestions :mag_right:. @@ -104,56 +158,17 @@ Enhancement suggestions are tracked as [GitHub issues](https://guides.github.com * **Specify which version of ioquake3 you're using.** * **Specify the name and version of the OS you're using.** +### Helping others +People have questions, they ask them on our [forums](https://discourse.ioquake.org/), [Discord](https://discord.gg/fPaGNuy), and on other services and websites. Answer them if you can, and suggest they get added to the [Players Guide](https://ioquake3.org/help/players-guide/) or [Sys Admin Guide](https://ioquake3.org/help/sys-admin-guide/) if the same questions keep coming up. If the answers are already in the one of our guides, copy and paste the answer and then link the people asking questions to those pages if they have more questions. + +### Tip ioquake3 developers +Money buys servers, hosting, and time. [Support ioquake3 developers directly through the links on this page](https://ioquake3.org/help/get-involved/). + +### Social Media +Follow ioquake3 [on Mastodon](https://mastodon.social/@ioquake3) and [on Blue Sky](https://bsky.app/profile/ioquake3.org). Let other Quake 3 players know about ioquake3, some people are still playing with id's client! + ### Your First Code Contribution -Unsure where to begin contributing to ioquake3? - -Check out our issues and pull requests, you can review and make new suggestions. - -We also have a label called [new contributor](https://github.com/ioquake/ioq3/issues?q=state%3Aopen%20label%3A%22new%20contributor%22) that might be a good starting point. - -## On AI/LLM Contributions - -### Policy - Do not submit code, pull requests, issues, or other contributions that have been developed with the - assistance of generative "AI" or other similar assistive tools (such as Microsoft Copilot, Anthropic - Claude, ChatGPT, etc). - - **If you submit contributions using these tools, you may be banned from the project.** - -### Reasoning - This policy is here because: - -* Code and other contributions made by these tools are likely to violate licenses and copyright - because they plagiarize the original sources without permission. - -* The datacenters that are used to train and operate these tools have an enormous impact on limited - resources of both energy and water. - -* Generated code may include security vulnerabilities. - -* Making mistakes is human. Generative tools do not have the ability to reason and - understand mistakes they make. - -* Our time as contributors is valuable and the vast majority of our work is unpaid. When you - submit contributions generated by these tools, you waste our resources to review them. - This time is much better spent working on contributions from humans. - -### Responsibility -When you submit contributions to the ioquake3 project you are affirming that the contributions are: - -* Solely the work of people. -* Not made with generative "AI" technologies. - -**If you fail to abide by these responsibilites you may be banned from the project.** - -### What about translation tools, for non-English speakers? - -The only acceptable use is with human language translation services for facilitating communication -between people. Google translate, DeepL, and so on, are acceptable for these uses. - - - #### Local development ioquake3 can be developed locally. For instructions on how to do this, read the README.md. @@ -171,7 +186,7 @@ ioquake3 can be developed locally. For instructions on how to do this, read the credit for your contributions is automatically recorded in source control * Ensure that new code is built by the continuous integration service -### Building Official Installers +## Building Official Installers This is a reminder for how official installers should be built: