Tidy tags and badges definitions and svgs (#1503)

### Description of Changes

- edit opening paragraph to link to all our merit badges
- change anti-ai policy badge background color to be more readable
- update slop-free fork badge (use broom emoji) and definition (be more specific)
- add "proof of heart" badge and definition
- add official tag for "soft fork"
- add official tag for "bad CoC" and definition

Co-authored-by: Owentje <owen@open.eingineering>
Reviewed-on: https://codeberg.org/ethical-foss/open-slopware/pulls/1503
This commit is contained in:
ethical-foss-admin 2026-10-06 08:20:25 +02:00 • committed by Ethical FOSS admin
commit 68c2d66326
6 changed files with 90 additions and 15 deletions

View file

@ -5,8 +5,8 @@
![Sponsored by the Queer Agenda](https://pride-badges.pony.workers.dev/static/v1?label=Sponsored+by+the+Queer+Agenda&labelColor=%23555&stripeWidth=10&stripeColors=242124%2C7b3f00%2CE40303%2CFF8C00%2CFFED00%2C008026%2C24408E%2C732982)
[![Delightful Humane Tech](https://codeberg.org/delightful-commons/delightful-humane-design/raw/branch/main/humane-tech-badge.svg)](https://codeberg.org/delightful-commons/delightful-humane-design)
Free/Open Source Software tainted by LLM/AI usage, along with an informed set of AI-free *alternatives* and *last untainted commit* (so you can fork if you'd like) should your ethical boundaries be crossed or your tolerance for risk be exceeded. Please note that alternatives do not have to have an Anti-AI policy, but if they do have an Anti-AI Policy,
you'll see an [![Anti-AI Policy](./badges/anti-ai-policy.svg)](#anti-ai-policy) badge next to it. We also recently added a [![Slop-Free Fork](./badges/slop-free-fork.svg)](#slop-free-fork) badge which you can click to learn more about. If an alternative is found to have LLM/AI usage, please submit a pull request to get the alternative removed and added as tainted with evidence.
Free/Open Source Software tainted by LLM/AI usage, along with an informed set of AI-free *alternatives* and *last untainted commit* (so you can fork if you'd like) should your ethical boundaries be crossed or your tolerance for risk be exceeded. Please note that alternatives *do not have to have an Anti-AI policy*, but if they do have an Anti-AI Policy,
you'll see an [![Anti-AI Policy](./badges/anti-ai-policy.svg)](#anti-ai-policy) badge next to it. We also recently added a couple of other merit badges, which you can learn more about under [Positive Merit Badges](#positive-merit-badges). If an alternative is found to have LLM/AI usage, please submit a pull request to get the alternative removed and added as tainted with evidence.
This list is **not** a resource to be used for the harassment of other open-source developers. If you wish to advocate for a "No AI" Policy from another project, we ask that it be done respectfully and constructively (and do *not* mention this list).
@ -32,11 +32,13 @@ Any other questions? Please check out our [FAQ](./FAQ.md), and if your question
* [AI In Issue Tracker](#ai-in-issue-tracker)
* [Condones LLM Ingestion](#condones-llm-ingestion)
* [Soft Fork](#soft-fork)
* [Bad CoC](#bad-coc)
* [Neutral Tags](#neutral-tags)
* [Request for Help](#request-for-help)
* [Positive Merit Badges](#positive-merit-badges)
* [Anti-AI Policy](#anti-ai-policy)
* [Slop-Free Fork](#slop-free-fork)
* [Proof of Heart](#proof-of-heart)
* [Sibling Repos](#sibling-repos)
* [Tainted Software](#tainted-software)
* [Accessibility Tools](#accessibility-tools)
@ -317,7 +319,7 @@ Below are special definitions that are used for tagging purposes.
## Tainted tags
The word "tainted" here is used to describe any project that falls under any of the following tags in this section. A project may have these tags removed if they follow our [*Guide for Removal*](https://codeberg.org/ethical-foss/open-slopware/src/branch/main/CONTRIBUTING.md#removal-of-tainted-status), after which point they then qualify for the [Positive Merit Badges](#positive-merit-badges).
The word "tainted" here is used to describe any project that falls under any of the following tags in this section. A project may have these tags removed if they follow our [*Guide for Removal*](https://codeberg.org/ethical-foss/open-slopware/src/branch/main/CONTRIBUTING.md#removal-of-tainted-status), after which point they then qualify for the [Positive Merit Badges](#positive-merit-badges), *except in the case of CoC violations (see [![☣️ Bad CoC](./badges/bad-coc.svg)](#bad-coc))*.
### Vibecoded
@ -456,9 +458,19 @@ Evidence may be, but is not limited to:
### Soft Fork
<sup>[⚠️ soft fork](#soft-fork)</sup>
![⚠️ Soft Fork](./badges/soft-fork.svg)
Any alternative project that you see a "<sup>[⚠️ soft fork](#soft-fork)</sup>" next to is "soft forked" from an upstream tainted project. A soft fork means that the fork may still merge in commits from the tainted upstream project that it was forked from. Sometimes a soft fork is your only option for the sake of harm reduction, so we still allow these to be listed as alternatives, so long as soft fork itself still has an Anti-AI policy. We add the warning though, so you can choose your own risk appetite.
Any alternative project that you see a ![⚠️ Soft Fork](./badges/soft-fork.svg) next to is "soft forked" from an upstream tainted project. A soft fork means that the fork may still merge in commits from the tainted upstream project that it was forked from. Sometimes a soft fork is your only option for the sake of harm reduction, so we still allow these to be listed as alternatives, so long as soft fork itself still has an Anti-AI policy. We add the warning though, so you can choose your own risk appetite.
---
### Bad CoC
![☣️ Bad CoC](./badges/bad-coc.svg)
This is not an AI related tag.
This tag means a project or parent org has violated our Code of Conduct. They can never be recommended as an alternative, even if they roll out an Anti-AI policy, as they are not fostering an inclusive environment. We are still willing to accept forks of these projects as alternatives in some select cases, but *only* if they have a comprehensive code of conduct that bans bigotry (even if it's a one contributor project) and an Anti-AI policy. We will not give specific evidence of what a given project has done to violate our CoC as that is not the primary purpose of this repo. Users are free to ask around in other spaces outside of this repo, but as always, do not mention this repo when doing so.
## Neutral Tags
@ -492,13 +504,19 @@ By "special carve outs", we mean that the project also does not fit any of our o
![Slop-Free Fork](./badges/slop-free-fork.svg)
This is a special badge with a *positive* connotation. It certifies that a project listed as an alternative, forked to be untainted. This means the project forbids the use of AI and LLMs and does not have any special carve outs where they've condoned their usage. These projects should always be preferred as all other alternative projects listed are considered to have a neutral stance on AI until they put out an official policy.
This is a very special badge with a *positive* connotation. To use this badge, the project must already meet all the requirements of [![Anti-AI Policy](./badges/anti-ai-policy.svg)](#anti-ai-policy) and then also ensure that there is no slop in the code base. The maintainers should try to replace/remove all tainted commits. They must also ensure all dependencies, to the best of their ability, are untainted. There are some exceptions, such as the OS that your project runs on or the programming language that your project is written in. We will not judge that. There are also some exceptions if there's no literally no better library to use that doesn't have slop in it. We still appreciate the effort regardless!
> [!Note]
> Previous tainted status does not disqualify a project for this tag. Any project that was previously tainted, but followed the [*Guide for Removal*](https://codeberg.org/ethical-foss/open-slopware/src/branch/main/CONTRIBUTING.md#removal-of-tainted-status), can have this badge.
> Previous tainted status does not disqualify a project for this tag. Any project that was previously tainted, but followed the [*Guide for Removal*](https://codeberg.org/ethical-foss/open-slopware/src/branch/main/CONTRIBUTING.md#removal-of-tainted-status), can have this badge if they also follow the above requirements.
### Proof of Heart
![Proof of Heart](./badges/proof-of-heart.svg)
This is a very special badge with a *positive* connotation. To use this badge, the project must already meet all the requirements of [![Anti-AI Policy](./badges/anti-ai-policy.svg)](#anti-ai-policy) and then also ensure that there is no slop in the code base. If you previously had any LLM commits, you need to completely remove them (so it has to pass slop-scan). You must also ensure all dependencies, to the best of your ability, are untainted. There are some exceptions, such as the OS that your project runs on or the programming language that your project is written in. We will not judge that. There are also some exceptions if there's literally no better library to use that doesn't have slop in it. We still appreciate the effort regardless!
As this is our most prestigious merit badge, the project must also have a Code of Conduct that bans bigotry, even if this is not a self submission, and even if it's a repo with only one contributor.
> [!Note]
> If a project is a hard-fork of older versions of the original tainted project, it's better to use the Anti-AI badge instead of Slop-Free badge.
# Sibling Repos

View file

@ -8,8 +8,8 @@
<rect width="95" height="15" rx="3" fill="#000"/>
</clipPath>
<g clip-path="url(#r)">
<rect width="0" height="15" fill="#40A100"/>
<rect x="0" width="95" height="15" fill="#40A100"/>
<rect width="0" height="15" fill="#006600"/>
<rect x="0" width="95" height="15" fill="#006600"/>
<rect width="95" height="15" fill="url(#s)"/>
</g>
<g fill="#FFF" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="100">

Before

Width:  |  Height:  |  Size: 989 B

After

Width:  |  Height:  |  Size: 989 B

Before After
Before After

19
badges/bad-coc.svg Normal file
View file

@ -0,0 +1,19 @@
<svg xmlns="http://www.w3.org/2000/svg" width="67" height="20" role="img" aria-label="☣️ Bad CoC">
<title>☣️ Bad CoC</title>
<linearGradient id="s" x2="0" y2="100%">
<stop offset="0" stop-color="#bbb" stop-opacity=".1"/>
<stop offset="1" stop-opacity=".1"/>
</linearGradient>
<clipPath id="r">
<rect width="67" height="20" rx="3" fill="#fff"/>
</clipPath>
<g clip-path="url(#r)">
<rect width="0" height="20" fill="#A31B03"/>
<rect x="0" width="67" height="20" fill="#A31B03"/>
<rect width="67" height="20" fill="url(#s)"/>
</g>
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110">
<text aria-hidden="true" x="335" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="570">☣️ Bad CoC</text>
<text x="335" y="140" transform="scale(.1)" fill="#fff" textLength="570">☣️ Bad CoC</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 969 B

19
badges/proof-of-heart.svg Normal file
View file

@ -0,0 +1,19 @@
<svg xmlns="http://www.w3.org/2000/svg" width="95" height="15" role="img" aria-label="🩵 Proof of Heart">
<title>🩵 Proof Of Heart</title>
<linearGradient id="s" x2="0" y2="100%">
<stop offset="0" stop-color="#bbb" stop-opacity=".1"/>
<stop offset="1" stop-opacity=".1"/>
</linearGradient>
<clipPath id="r">
<rect width="95" height="15" rx="3" fill="#000"/>
</clipPath>
<g clip-path="url(#r)">
<rect width="0" height="15" fill="#006600"/>
<rect x="0" width="95" height="15" fill="#006600"/>
<rect width="95" height="15" fill="url(#s)"/>
</g>
<g fill="#FFF" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="100">
<text aria-hidden="true" x="480" y="110" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="860">🩵 Proof Of Heart</text>
<text x="480" y="110" transform="scale(.1)" fill="#FFF" textLength="860">🩵 Proof Of Heart</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 989 B

View file

@ -1,5 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" width="95" height="15" role="img" aria-label="🌟 Anti-AI Policy">
<title>🌟 Slop-Free Fork</title>
<svg xmlns="http://www.w3.org/2000/svg" width="95" height="15" role="img" aria-label="🧹 Slop-Free Fork">
<title>🧹 Slop-Free Fork</title>
<linearGradient id="s" x2="0" y2="100%">
<stop offset="0" stop-color="#bbb" stop-opacity=".1"/>
<stop offset="1" stop-opacity=".1"/>
@ -13,7 +13,7 @@
<rect width="95" height="15" fill="url(#s)"/>
</g>
<g fill="#FFF" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="100">
<text aria-hidden="true" x="480" y="110" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="860">🌟 Slop-Free Fork</text>
<text x="480" y="110" transform="scale(.1)" fill="#FFF" textLength="860">🌟 Slop-Free Fork</text>
<text aria-hidden="true" x="480" y="110" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="860">🧹 Slop-Free Fork</text>
<text x="480" y="110" transform="scale(.1)" fill="#FFF" textLength="860">🧹 Slop-Free Fork</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 989 B

After

Width:  |  Height:  |  Size: 989 B

Before After
Before After

19
badges/soft-fork.svg Normal file
View file

@ -0,0 +1,19 @@
<svg xmlns="http://www.w3.org/2000/svg" width="70" height="20" role="img" aria-label="⚠️ Soft Fork">
<title>⚠️ Soft Fork</title>
<linearGradient id="s" x2="0" y2="100%">
<stop offset="0" stop-color="#bbb" stop-opacity=".1"/>
<stop offset="1" stop-opacity=".1"/>
</linearGradient>
<clipPath id="r">
<rect width="70" height="20" rx="3" fill="#fff"/>
</clipPath>
<g clip-path="url(#r)">
<rect width="0" height="20" fill="#5319e7"/>
<rect x="0" width="70" height="20" fill="#5319e7"/>
<rect width="70" height="20" fill="url(#s)"/>
</g>
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110">
<text aria-hidden="true" x="350" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="580">⚠️ Soft Fork</text>
<text x="350" y="140" transform="scale(.1)" fill="#fff" textLength="580">⚠️ Soft Fork</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 977 B