From e1ff572b817832fe85931cdac3e5cdcdbc99f0bd Mon Sep 17 00:00:00 2001 From: ethical-foss-admin Date: Mon, 13 Jul 2026 09:04:49 +0200 Subject: [PATCH] Detail alternatives/last untainted commit/version exceptions, add TOC/formatting to Contributing guide, fix PR template (#1108) - lets people know where there's an exception to our rules, as noted in https://codeberg.org/ethical-foss/open-slopware/issues/1090#issuecomment-19000415 in the Contributing/Style Guide docs - adds a Table of Contents to the Contributing guide - cleans up some typos, formatting, and wording in the Contributing guide - fixes a stray colon that was breaking the PR template Reviewed-on: https://codeberg.org/ethical-foss/open-slopware/pulls/1108 --- .forgejo/pull_request_template.yaml | 4 +-- CONTRIBUTING.md | 54 ++++++++++++++++++++++------- STYLE.md | 4 +-- 3 files changed, 46 insertions(+), 16 deletions(-) diff --git a/.forgejo/pull_request_template.yaml b/.forgejo/pull_request_template.yaml index 31565a5c..b139e0f7 100644 --- a/.forgejo/pull_request_template.yaml +++ b/.forgejo/pull_request_template.yaml @@ -15,7 +15,7 @@ body: visible: [form] attributes: label: Docs have been read - description: By submitting this PR, you agree to the following: + description: By submitting this PR, you agree to the following options: - label: I agree to follow this project's [Code of Conduct](https://codeberg.org/ethical-foss/open-slopware/src/branch/main/CODE_OF_CONDUCT.md) required: true @@ -24,4 +24,4 @@ body: - label: I have also read the [Style Guide](https://codeberg.org/ethical-foss/open-slopware/src/branch/main/STYLE.md) required: true - label: If adding tatinted software, I have provided either the last untainted version/commit OR an alternative for all new entries in this PR. - required: true \ No newline at end of file + required: true diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8c81fd3b..7d025eaa 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,6 +1,24 @@ +# Guide to Contributing to this Repo + > [!warning] > Before you interact with this repo, please read the [**Code of Conduct**](./CODE_OF_CONDUCT.md)! This is a repo for *nice people only*! We would also appreciate it if you did not mention this repo on social media or in chats in order to shame a project or community. Do *not* make posts like, "`` should be added to the open-slopware list", especially if you are tagging a maintainer or using a project's hashtag. +* [Contributing Pull Requests](#contributing-pull-requests) + * [For Adding or Updating Tainted Software](#for-adding-or-updating-tainted-software) + * [Other tips for keeping the repo tidy](#other-tips-for-keeping-the-repo-tidy) + * [Criteria](#criteria) + * [Alternatives](#alternatives) + * [Style guide](#style-guide) + * [Removal of "Tainted" Status](#removal-of-tainted-status) + * [Adding Alternatives to Tainted Software](#adding-alternatives-to-tainted-software) + * [Rules for self submission](#rules-for-self-submission) + * [Unqualified Alternatives](#unqualified-alternatives) +* [Contributing Issues](#contributing-issues) + * [Discussion](#discussion) + * [More Kind Eyes](#more-kind-eyes) + * [Call for Collaborators](#call-for-collaborators) +* [Contributing to the Why Not LLMs File](#contributing-to-the-why-not-llms-file) + # Contributing Pull Requests ## For Adding or Updating Tainted Software @@ -20,12 +38,10 @@ Please don't link directly to codeberg.org repos, issues, pull requests or commi https://codeberg.org/org/project ``` -> [!important] -> Please do your best to *research alternatives* to the slopware before submitting a PR. All new contributions should have *either* an alternative OR a last untainted version/commit, so that people can fork the project. It's important to elevate projects that aren't drinking the slop, or to let people know how best to fork, so we don't all lose hope <3. +> [!note] +> Please make sure to only submit a PR for *one* section at a time, otherwise it is more difficult to coordinate between multiple Issues and PRs. We have a limit of only 5 *open* PRs per person. Please do not submit more than 5 PRs at a time. When your previous PRs are closed or merged, you are, of course, welcome to submit more, but please do not flood the repo. (There is an exception to this rule if one or more of your open PRs are awaiting upstream feedback.) -**Please make sure to only submit a PR for *one* section at a time, otherwise it is more difficult to coordinate between multiple Issues and PRs. We have a limit of only 5 *open* PRs per person. Please do not submit more than 5 PRs at a time. When your previous PRs are closed or merged, you are, of course, welcome to submit more, but please do not flood the repo.** - -Other tips for keeping the repo tidy and making sure we don't duplicate efforts: +### Other tips for keeping the repo tidy - Search for the software name in the Issues *and* Pull Requests of this repo. (Great minds think alike ❤️) - If the software is already reported in an open Issue, but not as a PR, open your PR linking to the open issue with the following description, so the related issue gets automatically closed if the PR gets merged: @@ -35,7 +51,7 @@ Other tips for keeping the repo tidy and making sure we don't duplicate efforts: - If the software is already reported in an open issue and as an open PR leave a comment in the PR with the new or updated evidence(s). - When submitting a PR, make sure you're comfortable with the description of the PR being what gets committed. We use the PR description when squashing all commits before merging. We default to sqaushing and merging, so that if the repo has only one commit per PR. -> [!note] +> [!tip] > Don't know how to create a PR? You can learn more about that in the [Codeberg Pull Requests and Git Flow docs](https://docs.codeberg.org/collaborating/pull-requests-and-git-flow/) 🩵 ### Criteria @@ -52,9 +68,23 @@ The criteria for being included in this repository are any of following tags. Yo - [![AI In Issue Tracker](./badges/ai-in-issue-tracker-teel.svg)](https://codeberg.org/ethical-foss/open-slopware#ai-in-issue-tracker) - [![Condones LLM Ingestion](./badges/condones-llm-ingestion.svg)](https://codeberg.org/ethical-foss/open-slopware#condones-llm-ingestion) +Please don't submit social media posts as evidence unless it is a post *by a maintainer of the tainted project* talking about using AI to develop the tainted project. Even then, we'd prefer links to a project's LLM commits in a git forge, AI/contributing policies, or blog posts. + +#### Alternatives + Alternatives should not contain any slop as defined by our tagging system above. -Please don't submit social media posts as evidence unless it is a post *by a maintainer of the tainted project* talking about using AI to develop the tainted project. Even then, we'd prefer links to a project's LLM commits in a git forge, AI/contributing policies, or blog posts. +Please do your best to *research alternatives* to the slopware before submitting a PR. All new contributions should have *either* an alternative OR a last untainted version/commit, so that people can fork the project. (You can still provide both, but only one is required.) It's important to elevate projects that aren't drinking the slop, or to let people know how best to fork, so we don't all lose hope <3. + +Alternatives don't have to be perfect 1:1, as long as you provide a note letting people know the differences. Sometimes the solution to avoiding tainted software is a combination of other tools, and that's OK. + +**Exceptions to needing an alternative** + +- You've provided a last untainted commit and/or version. + +- The tainted project is [![Vibecoded](./badges/vibecoded.svg)](https://codeberg.org/ethical-foss/open-slopware#vibecoded) with no clear alternative yet (this is fairly rare because AI code is often a sum of other stolen code), you don't need to provide an alternative (or last untainted commit). + +- There is *already* an "alternative note" section that provides at least one alternative for that section (e.g [local password managers](https://codeberg.org/ethical-foss/open-slopware#local-password-managers)) ### Style guide @@ -105,7 +135,7 @@ Projects that have an explicit "No AI" policy can be awarded the [![Anti-AI Poli Issues are meant primarily for discussing if something should be added or questions regarding clarification. An issue that says "Add x software" will be treated as a call to community action and labeled with `ready-for-pr`, provided it meets the above criteria. This is not a problem, but does not necessarily mean the core maintainers of this repo will create that PR for you. However it does mean you or someone else in the community is clear to go ahead and submit a PR for that software. This is maintained in the community's free time, so please understand that there will sometimes be a delay when a PR is created for you. -Please make sure to only submit an Issue for 1 piece of software or section at a time, otherwise it is more difficult to coordinate between multiple Issues and PRs. +Please make sure to only submit an Issue for 1 piece of software or section at a time, otherwise it is more difficult to coordinate between multiple Issues and Pull Requests. We use the following issue types and tags to keep conversation focused and actionable: @@ -122,7 +152,7 @@ This is not a place to discuss what you think an "ethical" LLM/AI is. We will cl This is also not a place to open an issue to the effect of "think of the centrists". -If someone has a question in a Discussion type issue, and it requires a hard stance on behalf of the repo, please do not comment with a definitive answer unless you are a maintainer. If you do comment, please explicitly state that you are not an official maintainer, and tag @ethical-foss-admin if one has not already responded. There are still situations in which the maintainers will ask for community feedback, and in those, anyone is free to comment. We have these rules to reduce confusion and prevent conflict if there is a mismatch between community members and maintainers. If you feel strongly and want to push back, we are ok with that, but you must do so kindly and in accordance with our [Code of Conduct](./CODE_OF_CONDUCT.md). +If someone has a question in a Discussion type issue, and it requires a hard stance on behalf of the repo, please do not comment with a definitive answer unless you are a maintainer. If you do comment, please explicitly state that you are not an official maintainer, and tag @ethical-foss-admin if one has not already responded. There are still situations in which the maintainers will ask for community feedback, and in those, anyone is free to comment. We have these rules to reduce confusion and prevent conflict if there is a mismatch between community members and maintainers. If you feel strongly and want to push back, we are OK with that, but you must do so kindly and in accordance with our [Code of Conduct](./CODE_OF_CONDUCT.md). ## More Kind Eyes @@ -166,13 +196,13 @@ This issue type is for advertising your "No AI allowed" project. It follows the - project has a "Code of Conduct" - project has a "No AI Policy" -Provided you meet the requirements, you're free to ask for additional collborators or contributors to your repo :) +Provided you meet the requirements, you're free to ask for additional collaborators or contributors to your repo :) -# Contributing to the Why Not LLMs section +# Contributing to the Why Not LLMs file This is a much more free form section without a specific rigid style guide at this time. Here are some general guidelines: -- Do not link to people's social media posts e.g. fediverse, bsky, X, etc even if they are against AI. Using blog posts is OK, but we'd prefer if the language there was not filled with profanity. We try to keep this repo professional. +- Do not link to people's social media posts e.g. the fediverse, bsky, X, etc even if they are against AI. Using blog posts is OK, but we'd prefer if the language there was not filled with profanity. We try to keep this repo professional. - When adding a link to back up your point, please use the name of the source and title of the article as the link name diff --git a/STYLE.md b/STYLE.md index 513bb0ac..9fa5b5d9 100644 --- a/STYLE.md +++ b/STYLE.md @@ -21,7 +21,7 @@ Make sure to format your table like below (note that it is alphabetized by softw **Name column**: should be the name of software linked to their git repo (or other software forge if they don't use git). -**Last Untainted Version/Commit**: should be the last commit before AI started being used in the repo. You can provide both the version and a commit hash, but if you can only provide one, please prefer using the version. (Reminder: This is meant for forking only, as running old software comes with security risks.) You must provide something either for this column, or for the alternatives column. +**Last Untainted Version/Commit**: should be the last commit before AI started being used in the repo. You can provide both the version and a commit hash, but if you can only provide one, please prefer using the version. (Reminder: This is meant for forking only, as running old software comes with security risks.) If the project is [![Vibecoded](./badges/vibecoded.svg)](https://codeberg.org/ethical-foss/open-slopware##vibecoded), you can just use the word "None" for the Last Untainted Version/Commit. You must provide something (even "None" if Vibecoded) *either* for this column, or for the alternatives column - unless there is already an "Alternatives" note. **Evidence column**: should contain one or more of the following tags (followed by *up to 3* numbered evidence links in parentheses): @@ -41,7 +41,7 @@ Make sure to format your table like below (note that it is alphabetized by softw **Alternatives Column**: should be a link to the source of a different project that is similar to the one that is tainted, but does not yet have any AI in it. This column can be omitted if there are many alternatives for one entry. See: [When to use an Alternatives Note Versus Table Column](#when-to-use-an-alternatives-note-versus-table-column). > [!warning] -> You must provide *either* a last untainted commit/version *or* an alternative. You can provide both, but if you don't provide one or the other, you will be politely asked to do so. +> You must provide *either* a last untainted commit/version *or* an alternative. You can provide both, but if you don't provide one or the other, you will be politely asked to do so. There is an exception if the tainted project is [![Vibecoded](./badges/vibecoded.svg)](https://codeberg.org/ethical-foss/open-slopware##vibecoded) with no clear alternatives OR there is already an "Alternatives" note. **Don't know what the alternative or last known untainted version/commit is?** Use this badge in its place: