diff --git a/.forgejo/issue_template/collaborate-with-me.yaml b/.forgejo/issue_template/collaborate-with-me.yaml deleted file mode 100644 index cf10126..0000000 --- a/.forgejo/issue_template/collaborate-with-me.yaml +++ /dev/null @@ -1,55 +0,0 @@ -name: Call for Collaborators for a New AI-free Project -about: Put out a call for collaborators on a new or recently forked project that has an explicit No AI policy. (must have a code of conduct) -title: "[Call for Collaborators]: project name here" -ref: "main" -labels: - - call-for-collaborators -body: - - type: markdown - attributes: - value: | - Thanks for helping to make the world a bit more AI free šŸ’™ - The idea here is to request help with forking or rewriting a currently tainted project. - - - type: input - id: project - attributes: - label: What's the name of the project? - description: | - What is the name or idea behind the project you want to start/have started? - - - type: input - id: link - attributes: - label: Link - description: | - Provide a link to the new repo you've created (this can be a fork or a fresh rewrite). - - - type: input - id: language - attributes: - label: Programming Language - description: | - What programming language will this be primarily written in? - - - type: textarea - id: additional-info - attributes: - label: Additional Info - description: | - Tell us what the project is about. Is it a fork? Is it a fresh rewrite? Which project on the tainted list would it be an alternative to? What do you intend to do with it? Do you need maintainers? Collaborators? Reviewers? Contributors? Documentation writers? How can we help? :) - - - type: checkboxes - id: terms - attributes: - label: Code of Conduct and Rules for Collaboration - description: By submitting this issue, you agree to follow our [Code of Conduct](https://codeberg.org/small-hack/open-slopware/src/branch/main/CODE_OF_CONDUCT.md) - options: - - label: I agree to follow this project's Code of Conduct - required: true - - label: The project I want to collaborate on has a No AI policy banning any and all AI usage - required: true - - label: The project I want to collaborate on is free and open source. - required: true - - label: The project I want to collaborate on has an explicit code of conduct banning bigotry. - required: true diff --git a/.forgejo/issue_template/config.yaml b/.forgejo/issue_template/config.yaml index c855a06..658992e 100644 --- a/.forgejo/issue_template/config.yaml +++ b/.forgejo/issue_template/config.yaml @@ -2,9 +2,6 @@ blank_issues_enabled: false contact_links: - - name: Our Contributing Doc - url: https://codeberg.org/small-hack/open-slopware/src/branch/main/CONTRIBUTING.md - about: Read this to learn how you can contribute to this project ✨ - - name: How to Create a Pull Request - url: https://docs.codeberg.org/collaborating/pull-requests-and-git-flow/ - about: Learn more about how to create a pull request on codeberg 🩵 + - name: Small Hack + url: https://codeberg.org/small-hack + about: Visit our org's homepage diff --git a/.forgejo/issue_template/discussion.yaml b/.forgejo/issue_template/discussion.yaml index 79c38e6..b89c550 100644 --- a/.forgejo/issue_template/discussion.yaml +++ b/.forgejo/issue_template/discussion.yaml @@ -1,5 +1,5 @@ name: Discussion -about: Open a discussion topic for the community. Please don't use this to say "add software". Open a Pull Request if you want to do that. +about: Open a discussion topic for the community title: '[Discussion]: ' ref: 'main' labels: @@ -15,8 +15,8 @@ body: label: Discussion Topic description: | Please let us know what you'd like to discuss. - Remember that if you already have concrete evidence, you should just open a PR. Pleae don't create an Issue. - This is also not a place to ask advice on using your own LLMs. + Remember that if you already have concrete evidence, you can just open a PR. You don't need to create an Issue. + This is not a place to ask advice on using your own LLMs. - type: checkboxes id: terms attributes: diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 889cff9..0431b21 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -3,12 +3,10 @@ - No racism. - No xenophobia. - No colorism/featurism. -- No casteism. - No transphobia. - No homophobia/queerphobia. - No sexism. -- No ableism. -- No islamophobia, antisemitism, or hatred to anyone based on their religion or lack thereof. +- No albeism. - No classism. - No fascism. @@ -32,11 +30,11 @@ That will display like this: homophobic content goes here. -Failure to do so will first result in a one time warning and future offenses will be considered a strike. We ask that you do not use the acronym "NSFW" and instead use specific tags such as "nudity" or "discussion of sex" as to be inclusive to all workers. +Failure to do so will first result in a one time warning and future offenses will be considered a strike. # On handling rude comments in this repo specifically -If you see someone behaving in appropriately, do not feed their behavior. Tag @vleermuis-admin instead. They will handle it. +If you see someone behaving in appropriately, do not feed their behavior. Tag an admin (@jessebot or @cloudymax) instead. They will handle it. ## Strike system @@ -53,10 +51,6 @@ We're going to do a 2 strike rule here with an optional warning. You are out on # Be kind or be gone -- Do **NOT** use this repo as a witch hunting device in any direction. You may not reach out on repos, forums, social media, reddit, messaging apps, etc, especially not in a rude way, to maintainers of other repos to harass them and threaten them, especially not with this list. Doing so will result in a ban. - -- Do **NOT** mention this list *at all* when reaching out to a project to discuss AI in any way. It only results in putting the maintainers of that project on the defensive, and then the maintainers of *this* repo need to deal with the fallout of that. If you need help with asking for a No AI Policy, consider checking out our [No AI Request Template doc](https://codeberg.org/small-hack/open-slopware/src/branch/main/NO_AI_REQUEST_TEMPLATE.md#tips-for-success). You are also free to copy and paste anything from the [Why not LLMs](https://codeberg.org/small-hack/open-slopware/src/branch/main#why-not-llms) section of our README. - - We don't want drive by sarcastic comments. - No references to bodily fluids (vomit, urine, feces), this includes emojis. It's gross and unproductive. @@ -69,26 +63,10 @@ We're going to do a 2 strike rule here with an optional warning. You are out on - This repo is not a substitute for social media. The maintainers do not have the mental health bandwidth to manage such a community. -- Please do not reach out to the maintainers or collaborators of this repo anywhere but this repo specifically (unless they have given explicit permission to do so). We do not operate our personal email or fediverse accounts as extensions of this repo and will not take feedback there. We need a proper work life balance. Please respect that. +- Do **NOT** use this repo as a witch hunting device in any direction. You may not reach out on social media, reddit, messaging apps, etc, especially not in a rude way, to maintainers of other repos to harass them and threaten them with this list. Doing so will result in a ban. -- No complaining about purity rules, "walking on egg shells", etc. If you can't behave professionally here, then please just kindly exit. - -This repo is specifically meant for identifying LLM usage in other projects, and coordinating on alternatives. You can also come here to ask others to please help you in chatting with another repo maintainer to sway them away from AI usage. But you need to do all of it *with kindness*. We have no interest in a rage feedback atmosphere here and won't tolerate it. Please consider your words before you hit send. - -## Gender Neutral Language - -When referring the people who work on this repo, please use gender neutral language unless you are referring to a specific person who you know the pronouns of. You should prefer to use "they/them/themself/themselves" if you do not know the pronouns of the person you're talking to/about. You can learn more about gender neutral language in the following resources: - -- [What are personal pronouns and why do they matter?](https://pronouns.org/what-and-why) -- [Gender-Neutral Pronouns 101: Everything You've Always Wanted to Know](https://www.them.us/story/gender-neutral-pronouns-101-they-them-xe-xem) -- [Dictionary of gender neutral language](https://en.pronouns.page/dictionary) +This repo is specifically meant for identifying LLM usage in other projects, and coordinating on alternatives. You can also come here to ask others to please help you in chatting with another repo maintainer to sway them away from AI usage. But you need to do all of it *with kindness*. We have no interest in a reddit type atmosphere here and won't tolerate it. Please consider your words before you hit send. ## Accessibility -### Alt Text - -Please provide alt text descriptions for any images you post. This is so that users that are blind or low vision know what is being posted as their screenreaders can read it aloud. This is also useful for people who speak other languages so that they can translate any text from the screenshot and understand context. If you don't provide alt text after being asked to, we will count that as a warning, and if you still fail to do so, it will be a strike. We make exceptions if you yourself have a disability preventing you from doing so. Please kindly ask that someone else provide alt text for you, and when they do, please update your image's alt text. (*You do not need to disclose your disability.* It is fine to ask others to provide alt text for you for ANY reason.) - -### Code blocks - -Please use syntax highlighting when posting code blocks. +Please provide alt text description for any images you post. This is so that users that are blind or low vision know what is being posted as their screenreaders can read it aloud. This is also useful for people who speak other languages so that they can translate any text from the screenshot and understand context. If you don't provide alt text after being asked to, we will count that as a warning, and if you still fail to do so, it will be a strike. We make exceptions if you yourself have a disability preventing you from doing so. Please just kindly ask that someone else provide alt text for you, and when they do, please update your image's alt text. (You do not need to disclose your disability. It is fine to just ask others to provide alt text for you for ANY reason.) \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 625aca6..37391bd 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,6 +1,3 @@ -> [!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*! - # Contributing Pull Requests To contribute to this list, file a pull request adding it to the appropriate category, along with any known alternatives. The pull request must include links to evidence (see [Criteria](#criteria)). @@ -27,9 +24,6 @@ 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). -> [!note] -> 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 The criteria for being included in this repository are any of following tags. You can click each one to jump to the definition and acceptable evidence: @@ -41,12 +35,9 @@ The criteria for being included in this repository are any of following tags. Yo - [![Gen AI 'Art'](./badges/gen-ai-art-dark-yellow.svg)](https://codeberg.org/small-hack/open-slopware#gen-ai-art) - [![AI Databroker Usage](./badges/ai-databroker-usage-pink.svg)](https://codeberg.org/small-hack/open-slopware#ai-databroker-usage) - [![AI In Issue Tracker](./badges/ai-in-issue-tracker-teel.svg)](https://codeberg.org/small-hack/open-slopware#ai-in-issue-tracker) -- [![Permits LLM Ingestion](./badges/permits-llm-ingestion.svg)](https://codeberg.org/small-hack/open-slopware#permits-llm-ingestion) 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. - ### Style guide When submitting new software to this list, please check out the [style guide](./STYLE.md) to ensure you are conforming to our community agreed upon standards. @@ -59,9 +50,7 @@ Any project here may be removed as long as the following become true, *even if p 2. Any genAI functionality of the project itself is removed in its entirety. "Kill switches" are insufficient. 3. Any LLM friendly files/folders are either poisoned or removed entirely. -When submitting a project for removal, please include a link to the evidence that they have created a "No genAI" policy. You can also submit PRs to update if a project stops using something like [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](https://codeberg.org/small-hack/open-slopware#ai-code-reviews), but keeps a [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](https://codeberg.org/small-hack/open-slopware#permissive-ai-policy). Updates are always welcome. - -Do you see a project on this list that you wish was not on it? Please consider reaching out in a kind way to suggest they implement a No AI Policy. You can check out our [No AI Request Template](./NO_AI_REQUEST_TEMPLATE.md) for inspiration šŸ™ +When submitting a project for removal, please include a link to the evidence that they have created a "No genAI" policy. You can also submit PRs to update if a project stops using something like AI code reviews, but keeps a permissive AI policy. Updates are always welcome. # Issues @@ -84,4 +73,4 @@ In either case, one thing you can do is react positively to a given upstream iss # Social media -We would 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. Please also don't quote social media posts in the "Why not LLMs" section. \ No newline at end of file +We would 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. diff --git a/FAQ.md b/FAQ.md deleted file mode 100644 index 8314029..0000000 --- a/FAQ.md +++ /dev/null @@ -1,71 +0,0 @@ -# Frequently Asked Questions - -There's no great place to put these in our current files, but these sorts of questions come up enough, that we wanted to put them down somewhere to easily link responses. - -## Can I self-advertise my project (that doesn't use AI)? - -> Yes, provided it's FOSS, has a code of conduct (even if it's a solo project), and a No AI Policy, you can add your project as an alternative to any tainted software in which it is a good fit, and you can also open a [Call for Collaborators Issue](https://codeberg.org/small-hack/open-slopware/issues/new?template=.forgejo%2fissue_template%2fcollaborate-with-me.yaml). - -## I use AI in my project and do not plan on stopping. Should I self-submit? - -> You don't have to, but it's helpful, because you know best what the alternatives are, and when your last untainted commit was, which is helpful for those who wish to fork your project. We hope you'll consider dropping AI one day, for all the reasons we've listed in our [Why Not LLMs?](https://codeberg.org/small-hack/open-slopware#why-not-llms) section, but if you don't plan on doing that ever, please just be cordial in this repo. No one is here to attack you, and if they do, please tag @vleermuis-admin and we'll handle the situation. - -## Do closed source or proprietary products belong on this list? - -> No, this repo is only for open source projects. - -## Can we split the "Permissive AI Policy" tag further? - -> No, beyond "vibecoded" being added in some extreme cases. We don't want to have this conversation continually, as it is subjective what "severity" something falls under. The decision to add these tags took us a long time, and unless you have another *specific* tag that cannot be covered under any other tag, we're currently not open to discussion about this. This repo is already quite a lot to manage. - -## What if the AI code is human reviewed? - -> Slop that is human reviewed is still slop. We are against AI for more than just code quality reasons. Please see our [Why Not LLMs?](https://codeberg.org/small-hack/open-slopware#why-not-llms) section. - -## Why are you targeting/attacking/harassing my favorite project? - -> We do not "target", "harass", or "attack" any projects. We, in fact, have a [very strict policy on not doing that](https://codeberg.org/small-hack/open-slopware/src/branch/main/CODE_OF_CONDUCT.md#be-kind-or-be-gone). This repo is one based on ethics and is intended as a call to action. If a project meets the definition of one of our tags, it will see itself added to this repo. It can take steps to stop doing whatever it is in that definition and we'll remove it. (See also the [guide for removal](https://codeberg.org/small-hack/open-slopware/src/branch/main/CONTRIBUTING.md#removal).) - -## If a repo had slop before, isn't it permanently tainted? Aren't all forks of slop therefore also slop? - -> No. See also: [guide for removal](https://codeberg.org/small-hack/open-slopware/src/branch/main/CONTRIBUTING.md#removal). -> -> Eventually, the slop will likely either be removed, replaced, or deprecated. -> -> We're also against AI for more than just code quality reasons. There's plenty of ethical reasons to be against continuing to use AI: -> -> - [environmental](https://codeberg.org/small-hack/open-slopware#environmental-impact) -> - [ties to the war industrial complex](https://codeberg.org/small-hack/open-slopware#ties-to-the-war-industrial-complex) -> - [effect on hardware prices hurting newcomers to the industry](https://codeberg.org/small-hack/open-slopware#effect-on-hardware-prices) (especially those already disenfranchised) -> -> The commitment to stop using AI stops those above ethical issues. It's like going vegetarian. You're still a vegetarian if you previously consumed meat, but now you don't. You've still reduced suffering and helped the environment. A commitment to doing better is better than never stopping a harmful action. - -## Is a project tainted if it has dependencies that are tainted? - -> This one is complicated, but in short: No, unless the dependencies are literally AI libraries. -> If the dependency is, for example, the ChatGPT SDK or something similar, then yes, the project is tainted. -> If the project is just built with something like Python, which is also tainted, we do not automatically consider it tainted, as the language is a general purpose language and there are *very* few languages not already tainted or slated to be tainted right now. We take a harm reduction philosophy and we believe that, especially in the case of established projects, demanding that they switch the core language of their project is not a simple undertaking. - -## Can you advise us on the ethical usage of AI? - -> No, but you may find the work of [DAIR](https://dair-institute.org/) interesting. Also, see our [Why not LLMs?](https://codeberg.org/small-hack/open-slopware#why-not-llms) section. - -## What about "Open Source AI"? - -> Yes, simply being open source does not resolve the issues listed in our [Why Not LLMs?](https://codeberg.org/small-hack/open-slopware#why-not-llms) section and thus such projects will still be included on this list. - -## Why is removal harder than landing on the list in the first place? - -> Because the project betrayed our trust. Now they have to try harder to rebuild that by committing to doing better in an accountable, public, concreate, and enforceable way. If the project is committed to doing better by rejecting AI in the future, putting out a No AI policy or updating their contributing docs, shouldn't be that difficult. - -## Why can't I include an social media post? - -> We do not want to have a social media type atmosphere here and quoting social media posts, no matter what side people are on, gets messy. The mtaintiners here do not have the mental health to engage in social media drama that inevitably arises from AI bros, nor do we want to inflict that on anyone who is unaware of this list and hasn't consented to that attention. This does not mean you should reach out to your favorite anti-AI influencer for permission to include them in this list. We don't want you to do that. - -### But what if it's a social media post against AI? - -> We would then need to research those social media users and see if we endorse them or not and we don't want to do that either. - -## I don't like your definition of slop or vibecoded. Can you change it? - -> No. Those [definitions](https://codeberg.org/small-hack/open-slopware#definitions) stay and are not up for debate. \ No newline at end of file diff --git a/HOW_TO_SLOP_FREE_FORK.md b/HOW_TO_SLOP_FREE_FORK.md deleted file mode 100644 index 74c49a9..0000000 --- a/HOW_TO_SLOP_FREE_FORK.md +++ /dev/null @@ -1,217 +0,0 @@ -# How to create a slop free fork - -So you found out something you love is tainted with slop and now you want to do something about it? - -First off, congrats and thank you! That's a huge step and we're excited for the community you build! šŸ’™ - -## How to fork a repo from a last untainted commit/version - -Should you see a project you'd really like to fork on this list, here's how you would go about that. - -> [!warning] -> Before you fork, make sure to check the licensing! It's important that you understand the license of whatever you fork, and never remove the old LICENSE. Safe to fork licenses include, but are not limited to: MIT, GPL, AGPL, Apache 2.0, CCv4, BSD. You can learn more about licensing in [Codeberg's documentation on licensing](https://docs.codeberg.org/getting-started/licensing/). - -Let's take tldr-pages as an example, as that was something the community recently hard forked into ethical-tldr. Here's how it was done. - -1. Setup a new home for your fork. We recommend using [codeberg.org](https://codeberg.org)! Codeberg has [great docs on setting up your first repo](https://docs.codeberg.org/getting-started/first-repository/). We recommend not adding a `.gitignore`, `LICENSE`, or `README` to start with, because your clone will likely already have those and so you want to make sure you don't run into any git merge conflicts :) Do make sure to note that your repo is a fork of the repo you're forking at first though, just to make sure no one gets confused. - -2. Since we're using tldr as an example, we'll assume the project you want to fork is already in this repo. Go to the table where the software you want to fork is (for instance the [Cheat Sheets and Documentation section](https://codeberg.org/small-hack/open-slopware#cheat-sheets-and-documentation)), which looked like this: - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -| --- |:---:| --- | --- | -| [tldr-pages](https://github.com/tldr-pages/tldr) | [`v2.3`](https://github.com/tldr-pages/tldr/releases/tag/v2.3) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/tldr-pages/tldr/blob/main/AGENTS.md), [2](https://github.com/tldr-pages/tldr/commit/b042736266e10cb026b678ba1d0fed362d5f579d)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | - -3. Go to the source repo and find the clone URL. In this case, you would go to [tldr-pages](https://github.com/tldr-pages/tldr). Since it's on GitHub, you should see a green button that says "<> Code". Click the green button, then click "HTTPS" and you should be able to copy that URL. - - a screenshot of the https://github.com/tldr-pages/tldr page where someone has clicked the code button. The green code button is circled in orange with an orange arrow pointing to it. The HTTPS tab and the web URL to clone also have an orange square around them with an orange arrow pointing to the url - - > [!tip] - > In the above case, the tldr repo was linked in the first column of the table, but in cases where it's not you can just click the lasted untainted version link and chop off everything after the name of the project, so https://github.com/tldr-pages/tldr/releases/tag/v2.3 becomes https://github.com/tldr-pages/tldr - -4. Open up a terminal and find a directory where you'd like to keep this project. Then clone the repo there. Here is an example where we keep things in the projects directory within your home directory: - - ```bash - # creates a directory called projects in your ~, which is your home directory - mkdir -p ~/Projects - - # change your current directory into the new projects directory - cd ~/Projects - - # clones the repo in your projects directory - git clone https://github.com/tldr-pages/tldr.git - - # changes directory to your recently cloned project (in this example, it's the tldr repo) - cd tldr - ``` - -5. Grab the new location of your new repo :) If you're using codeberg, you want to grab the SSH url for cloning, which you can find just below the repo stats. We've highlighted it and also we show you the button you can click to copy it easily here: - - Screenshot of the top of the page for https://codeberg.org/small-hack/ethical-tldr where we've highlighted the clone url and drawn orange arrows pointing to the word SSH, the URL, and the copy button. They exist just below the repo states, but before the repo's code search bar and repo files - -6. Change the upstream origin of your repo to be your new fork's SSH URL. There are two ways to do this. The first way is to use the `git` command: - - ```bash - git remote set-url origin ssh://git@codeberg.org/small-hack/ethical-tldr.git - ``` - - Another way is to edit the `.git/config` file Use your editor of choice to open the following file: - - ```bash - # We're using neovim here, but you can use any editor you're comfortable with. - # If you're new, nano is always a safe bet as it has tips at the bottom of the screen. - neovim .git/config - ``` - - The file will look like this: - - ```config - [core] - repositoryformatversion = 0 - filemode = true - bare = false - logallrefupdates = true - [remote "origin"] - url = https://github.com/tldr-pages/tldr.git - fetch = +refs/heads/*:refs/remotes/origin/* - [branch "main"] - remote = origin - merge = refs/heads/main - ``` - - You want to change your the value of "url" to your new SSH URL. In this case, it would look like this, since the new repo is ethical-tldr: - - ```config - [core] - repositoryformatversion = 0 - filemode = true - bare = false - logallrefupdates = true - [remote "origin"] - url = ssh://git@codeberg.org/small-hack/ethical-tldr.git - fetch = +refs/heads/*:refs/remotes/origin/* - [branch "main"] - remote = origin - merge = refs/heads/main - ``` - -7. Here comes the part where you check out the last known untainted commit or version. In this case, the last version of `v2.3`. You can do a hard reset of your fork to that exact version. This drops all the commits after that. To do that, run the following: - - ```bash - # hard reset your branch to the old commit or version - git reset --hard v2.3 - - # force push up your now untainted repo - git push --force - ``` - -8. The initial steps are now done and your new forked repo's history starts at the exact last known good version. Advanced git users can now cherry pick LLM commits out of the repo, but we recommend not doing that unless you're very confident with git. Instead, we think it's best that you create new commits to remove the AI and LLM generated code, because then this also keeps a cleaner history. In your "No AI Policy" or in your README, you can self disclose that the repo contains old commits from an LLM, but that you're working on replacing them or that you will not replace old commits, but all new commits will be done by humans. Either is fine. When it comes to AI Functionality, you'll also want to disclose that immediately and perhaps create an issue that says "Remove AI Functionality" to show users that you intend to remove that. You could also ask for help that that time. - - > [!note] - > Are you an advanced git user? Do you want to add more docs here on how to remove old LLM commits from the forked repo? Feel free to submit a PR and we'll test your instructions to make sure they're safe before merging it :) - -## Tips for a healthy community - -To start off, we recommend you do two things: - -- Create a "Code of Conduct" -- Create a "No AI Policy" - -### Code of Conduct - -This may seem like it's not related to the whole "No AI" thing we're all about, but it's incredibly important to creating safe and healthy communities. There will be people who try to cross lines and it's important that from outset, you both create rules for what is not allowed, and a process for enforcing those rules. We recommend the following be added to a `CODE_OF_CONDUCT.md` at the root level of your repo, immediately (this is straight from our own code of conduct): - -
- - CODE_OF_CONDUCT.md example - - ```md - # Code of Conduct - - ## No Bigotry - - - No racism. - - No xenophobia. - - No colorism/featurism. - - No casteism. - - No transphobia. - - No homophobia/queerphobia. - - No sexism. - - No albeism. - - No islamophobia, antisemitism, or hatred to anyone based on their religion or lack thereof. - - No classism. - - No fascism. - - ## Strike system - - We're going to do a 2 strike rule here with an optional warning. You are out on your second strike. We are not doing three strikes. - - 1. **warning**: You made a sarcastic or aggressive comment attacking another user here or elsewhere, regardless of which side you are on. You will get a reminder that you need to be kind here and if you need a comment by another user addressed, you must tag an admin. This warning and any warnings after it are *optional* and may be skipped if you are doing something that falls into the [No Bigotry](#no-bigotry) rules, or if you are clearly operating in bad faith. - - 2. **Strike one**: You made a comment that was off-base, slightly rude, but was not egregious enough to be banned, yet. - - 3. **Strike two**: After 1 strike, you behaved the same way again. - - > [WARNING] - > If you are caught being excessively rude here, especially if you're displaying a form of severe bigotry or bringing an inappropriate tone, we reserve the right to ban you from the repo with no strikes and if necessary, we will report you to codeberg.org. - - # Be kind or be gone - - - We don't want drive by sarcastic comments. - - - No references to bodily fluids (vomit, urine, feces), this includes emojis. It's gross and unproductive. - - - We don't want people talking about how they never liked a particular piece of software because they didn't like the features. - - - We don't want anyone personally attacking anyone from this repo or other repos. - - - We will delete off-topic comments that have rude vibes or are encouraging a generally rage-feedback atmosphere. - - - This repo is not a substitute for social media. The maintainers do not have the mental health bandwidth to manage such a community. - - - Please do not reach out to the maintainers or collaborators of this repo anywhere but this repo specifically (unless they have given explicit permission to do so). We do not operate our personal email or fediverse accounts as extensions of this repo and will not take feedback there. We need a proper work life balance. Please respect that. - - - No complaining about purity rules, "walking on egg shells", etc. If you can't behave professionally here, then please just kindly exit. - - ## Accessibility - - ### Alt Text - - Please provide alt text descriptions for any images you post. This is so that users that are blind or low vision know what is being posted as their screenreaders can read it aloud. This is also useful for people who speak other languages so that they can translate any text from the screenshot and understand context. If you don't provide alt text after being asked to, we will count that as a warning, and if you still fail to do so, it will be a strike. We make exceptions if you yourself have a disability preventing you from doing so. Please kindly ask that someone else provide alt text for you, and when they do, please update your image's alt text. (*You do not need to disclose your disability.* It is fine to ask others to provide alt text for you for ANY reason.) - ``` - -
- -If you do not outline exactly what is and is not allowed, you will get a lot of people saying "I didn't know I couldn't do that" and it will make enforcing your boundaries difficult. People will always disagree with some decisions you and your community make, and they will want to "take it offline", so it's important that you do not allow that, or your personal social media and messaging will become bad for your mental health. If you'd like to set up a social media account/server or a chat server, we recommend keeping it separate from your personal accounts, so that you have an easy way to disconnect at the end of the day or on your weekends. - -### No AI Policy - -This one is obvious in this repo, but in other repos, it's always important to set clear expectations. Failure to do so may cause people to test the boundaries and also land you on this list. We don't say that to be threatening, but our community takes a complete hard line stance on ALL AI/LLM usage. - -Some examples of "No AI Polices" that you can take take a look at for inspiration are: - -- [wafrn's Contributring Doc](https://codeberg.org/wafrn/wafrn/src/branch/main/CONTRIBUTING.md) - -- [Loupe's Use of Generative AI Policy](https://discourse.gnome.org/t/loupe-no-longer-allows-generative-ai-contributions/27327) - -But in general you want to outline the following: - -- No AI or LLM usage is allowed in this repo for contributions in Issues, Pull Requests, or Discussions. This includes bug finding, optimizations, security passes. - - You are not permitted to ingest this repo with AI or LLMs of any kind - - Any AI generated PRs will be rejected. -- We do not accept funding from AI companies. - -Do your best to not leave any wiggle room for anyone testing the waters on using AI in any way, this includes "self hosted LLMs". - -## Advertising your new fork - -We're so happy to hear you created a new slop free fork! You'll probably want some community help though. Here's what you can do to summon the open source community: - -1. Make sure your repo has all the appropriate and relevant topics, so for example, if you've forked the tldr-pages repo, tag the repo with `tldr`, and `cheatsheets`. Topics are managed the main page of your repository, directly under your repo's description. - - -### Adding new collaborators - -Codeberg also has great docs on [how to add new collaborators](https://docs.codeberg.org/collaborating/invite-collaborators/)! - -> [!warning] -> Ensure you trust anyone you give access to your repo. Don't add people as collaborators whom you've never interacted with before! diff --git a/NO_AI_REQUEST_TEMPLATE.md b/NO_AI_REQUEST_TEMPLATE.md deleted file mode 100644 index fc7c0bd..0000000 --- a/NO_AI_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,196 +0,0 @@ -# Reaching Out to a Project - -Below you'll find a couple of basic templates you can use to reach out to a project in order to politely ask them to consider creating a No AI Policy. We're creating a couple of different templates depending on which angle you think might be most appealing to a given a project. You're also free to combine sections of different templates together to hit many different points in a single post. This is meant to be a starting point, not the final iteration. - -Before you proceed, read our [Tips for Success](#tips-for-success). - -Would you like to improve these templates or add additional sections? Please feel free to submit a PR to do so and we'll discuss it :) - -## Tips for Success - -- Do this in the public forum, issue tracker, discussions, etc. - - Avoid using direct messages (otherwise you'd need to share screenshots of your direct message which could cause friction) - - Avoid using places like discord servers unless that is the ONLY place a project does Issue Triage -- Personalize the template a bit before sending it: - - Add how long you've been using the software. - - Add what the project means to you. -- Add the name of the project in the opening -- Add your name at the bottom. -- Be nice! *We cannot stress this enough*: Be Kind! - - Do not shame or threaten the project you are reaching out to, especially not with this list. -- You may not want to include every section, depending on the culture surrounding the project you are contacting. Use your best judgement. - -# Templates - -* [Appeal to Ethics Template](#appeal-to-ethics-template) -* [Appeal to Code Quality Template](#appeal-to-code-quality-template) -* [Appeal to Fear of Legal Ramfification Template](#appeal-to-fear-of-legal-ramfification-template) - -## Appeal to Ethics Template - -```markdown -Hello, - -I'd like to talk about your AI policy. Below are some reasons why using AI can be harmful: - -## Environmental Impact - -To start learning a bit more, you can check out the Wikipedia page on the [environmental impact of artificial intelligence](https://en.wikipedia.org/wiki/Environmental_impact_of_artificial_intelligence#Individual_level). Here's some more specific sources: - -- [MIT News: Generative AI's environmental impact](https://news.mit.edu/2025/explained-generative-ai-environmental-impact-0117) - -- [MIT Technology Review: We did the math on AI's energy footprint. Here's the story you haven't heard.](https://www.technologyreview.com/2025/05/20/1116327/ai-energy-usage-climate-footprint-big-tech/) - -## Effect on Hardware Prices - -The demand for construction and outfitting of new data-centers to host AI/LLM compute capacity has overwhelmed global supply and production of multiple hardware components. Memory, Storage, and GPUs have seen massive increases in price for both consumer and enterprise models, upwards of 400% in some cases. - -The lack of supply has led large system-builders to purchase production capacity from OEMs well in advance of delivery, leading some manufacturers to end consumer-oriented product lines in favor of enterprise capacity. - -The downstream effects for consumers is that nearly all electronic devices which contain memory and storage will see their prices rise and availability decline. Those who already own existing electronics and computer hardware components may also find themselves unable to have their devices repaired or replaced under warranty. - -- [The RAM shortage is coming for everything you care about](https://www.theverge.com/tech/880812/ramageddon-ram-shortage-memory-crisis-price-2026-phones-laptops) - -- [Western Digital is already sold out of hard drives for all of 2026 — chief says some long-term agreements for 2027 and 2028 already in place](https://www.tomshardware.com/pc-components/hdds/western-digital-is-already-sold-out-of-hard-drives-for-all-of-2026-chief-says-some-long-term-agreements-for-2027-and-2028-already-in-place) - -- [The 2026 storage crisis: Why AI data centers are hoarding every hard drive on the market](https://www.howtogeek.com/dont-count-on-hdds-to-save-you-from-rising-storage-costs/) - -This has resulted in pricing historically marginalized individuals, who are more likely to have less financial resources, out of learning about computers at home and shrinking the diversity of the computing and programming industry. - -## Ties to the War Industry - -A lot of AI companies also work directly with nation states for use in their War Departments, which in turn leads to further AI usage during war and invasions. This is coupled with [NYT: Palantir, Anthropic and small start-ups are generating rewards from their investments in defense tech](https://www.nytimes.com/2026/03/18/technology/silicon-valley-war-defense-tech.html). - -As another example [NPR: OpenAI announced Pentagon deal after Trump banned Anthropic](https://www.npr.org/2026/02/27/nx-s1-5729118/trump-anthropic-pentagon-openai-ai-weapons-ban) which was due to the USA Department of War [launching an AI acceleration strategy](https://web.archive.org/web/20260113071131/https://www.war.gov/News/Releases/Release/Article/4376420/war-department-launches-ai-acceleration-strategy-to-secure-american-military-ai/). - -Due to the nature of LLMs being only kind of as good as the data they are trained on, this can lead to additional civilian deaths and housing/infrastructure damage either intentionally or not. Examples: - -
- Content Warning: War details, death - - - [Gaza: UN experts deplore use of purported AI to commit ā€˜domicide’ in Gaza, call for reparative approach to rebuilding](https://www.ohchr.org/en/press-releases/2024/04/gaza-un-experts-deplore-use-purported-ai-commit-domicide-gaza-call) - - [Lavender & Where’s Daddy: How Israel Used AI to Form Kill Lists & Bomb Palestinians in Their Homes](https://www.democracynow.org/2024/4/5/israel_ai) - - [Microsoft says it provided AI to Israeli military for war](https://apnews.com/article/microsoft-israel-military-gaza-hamas-artificial-intelligence-20b2adb438b39ee9cb6eb2f52c1ae44a) - - [Google has dropped its promise not to use AI for weapons](https://theconversation.com/google-has-dropped-its-promise-not-to-use-ai-for-weapons-its-part-of-a-troubling-trend-249169) - - ["We want to use it for everything": How Project Maven became central to America’s AI-powered warfare](https://web.archive.org/web/20260312035736/https://www.independent.co.uk/news/world/americas/project-maven-ai-us-airstrike-iraq-anthropic-b2929138.html) - -
- -## What You Can Do - -I'd like to kindly suggest implementing a strict "No AI" policy. This can also help with what seems to be larger and larger influxes of low quality drive-by PRs by AI agents. - -You can find other projects that have taken steps to say no to AI here: -https://noai.starlightnet.work/list.html - -For a specific policy, I can recommend the following policies for inspiration: - -- [wafrn's Contributring Doc](https://codeberg.org/wafrn/wafrn/src/branch/main/CONTRIBUTING.md) - -- [Loupe's Use of Generative AI Policy](https://discourse.gnome.org/t/loupe-no-longer-allows-generative-ai-contributions/27327) - -Thank you and kind regards :pray: -``` - -## Appeal to Code Quality Template - -```markdown -Hello, - -I'd like to talk about your AI policy. Below are some reasons why using AI can result in poorer code quality: - -## Poor Code Quality - -Vibe coding / agentic workflows result in poorer code quality, and relaxed oversight practices. These effects may be compounded by the common practice of using additional LLM-based tooling to provide code-reviews. - -* [How I Dropped Our Production Database and Now Pay 10% More for AWS](http://archive.today/2026.03.06-144058/https://alexeyondata.substack.com/p/how-i-dropped-our-production-database) -* [Claude Tested Everything Except the One Thing That Mattered (AI agent refuses to follow explicit instructions to test `createPost()` in increasingly erratic ways)](http://archive.today/2026.03.09-201135/https://christophermeiklejohn.com/ai/claude/2026/03/08/claude-tested-everything-except-the-one-thing-that-mattered.html) -* [Amazon calls engineers for a ā€œdeep diveā€ internal meeting to discuss ā€œGenAIā€-related outages](https://ghostarchive.org/archive/3TfgF) -* GitClear has released reports in [2024](https://www.gitclear.com/coding_on_copilot_data_shows_ais_downward_pressure_on_code_quality) and [2025](https://www.gitclear.com/ai_assistant_code_quality_2025_research) indicating a worsening of key code quality metrics correlating with increased LLM adoption. - -### Deskilling - -There is increasing evidence to show that LLMs negatively impact developers' coding abilities: - -* [Brains show less activity when completing tasks with LLMs](https://arxiv.org/abs/2506.08872) compared to completing tasks with search or completing tasks without digital help. -* [Developers who use early-2025 LLMs](https://metr.org/blog/2025-07-10-early-2025-ai-experienced-os-dev-study/) reported higher subjective performance, but were measured to have lower objective performance. This gap between subjective and objective performance was considered notable. -* In an [Anthropic study](https://www.anthropic.com/research/AI-assistance-coding-skills), learners using LLMs demonstrated lower learning rates on average compared to learners not using LLMs. -* [A recent study uses the term "cognitive surrender"](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=6097646) to describe the way humans tend to offload key critical thinking skills onto LLMs, even when the output is wrong. -* A paper entitled ["AI Assistance Reduces Persistence and Hurts Independent Performance"](https://arxiv.org/abs/2604.04721) from April 2026 by academics from MIT, Oxford, UCLA, and Carnegie Mellon showed alarming evidence that performing a variety of tasks with the help of AI for only 10 minutes causes "inpaired unassisted performance and reduced persistence". The researchers noted that "although AI assistance improves performance in the short-term, people perform significantly worse without AI and are more likely to give up"; they also pointed out that "these findings are particularly concerning because persistence is foundational to skill acquisition and is one of the strongest predictors of long-term learning". - -### Infosec risks - -LLM usage results in massive security holes. - -* [Meta Security Researcher's AI Agent Accidentally Deleted Her Emails](http://archive.today/2026.02.26-153034/https://www.pcmag.com/news/meta-security-researchers-openclaw-ai-agent-accidentally-deleted-her-emails) -* [Moltbook's "vibe-coded" breach is the future of security failures](https://thehill.com/opinion/cybersecurity/5744310-ai-powered-security-risks/) -* [In a study evaluating over 500k code samples, LLM-generated code was found to contain more high-risk security vulnerabilities than human-generated code](https://arxiv.org/abs/2508.21634) -* [LLMs make up package names, making them vulnerable to incorporating malicious code in "slopsquatting" attacks](https://www.theregister.com/2025/04/12/ai_code_suggestions_sabotage_supply_chain/) ([Arxiv study](https://arxiv.org/abs/2406.10279)) - -## What You Can Do - -I'd like to kindly suggest implementing a strict "No AI" policy. This can also help with what seems to be larger and larger influxes of low quality drive-by PRs by AI agents. - -You can find other projects that have taken steps to say no to AI here: -https://noai.starlightnet.work/list.html - -For a specific policy, I can recommend the following policies for inspiration: - -- [wafrn's Contributring Doc](https://codeberg.org/wafrn/wafrn/src/branch/main/CONTRIBUTING.md) - -- [Loupe's Use of Generative AI Policy](https://discourse.gnome.org/t/loupe-no-longer-allows-generative-ai-contributions/27327) - -Thank you and kind regards :pray: -``` -## Appeal to Fear of Legal Ramfification Template -```markdown -Hello, - -I'd like to talk about your AI policy. Below are some reasons why using AI can result in legal trouble in the future: - -## Legal Ramifications - -LLMs are often trained on, and thus prone to regurgitate (either completely, or in-part), chunks of code that are licensed under terms which have specific legal requirements that a contributor using LLMs may not understand or even be aware of when making a contribution. Regardless of this ignorance, it falls to the repo's owner to comply with the terms of any and all licensed code integrated into their project. - -### License Problems - -Legal, copyright, and ethics problems arise, especially with copyleft licenses such as the GNU (A/L)GPL. With the "help" of AI the copyleft code may be "license-washed" very easily. - -Here are some ongoing problems with AI "license-washing" in the FOSS world: - -* `chardet` - used an LLM to rewrite the codebase from the LGPL license to Expat/MIT (and later 0-BSD) license, violating the (L)GPL. - * relicensed release: - * original author's concerns: - * "consumer's" concerns: - -Additionally, there have been legal cases regarding the usage of AI: - -* [GitHub Copilot litigation](https://githubcopilotlitigation.com/) -* [IEEE article explaining concerns about AI generated code ownership](https://spectrum.ieee.org/ai-code-generation-ownership) -* [Tracker of broader lawsuits against AI companies](https://chatgptiseatingtheworld.com/2025/11/02/tracker-of-tort-lawsuits-v-ai-companies/) - -### Stolen Training Data - -AI companies use data from across the web to train their models, most often without the website owners' and users' consent. Big tech companies like Google and Meta are scraping data from the users of major FOSS projects, such as Mastodon, WordPress, and other ActivityPub-powered and self-hosted software. - -* In 2023, [the Washington Post published a list of sources in Google's C4 data set](https://archive.ph/eehKq). A multitude of fediverse instances and personal sites were included. The fediverse is known for its userbase being major proponents of privacy and opt-in consent, making this especially jarring for those who have chosen to use decentralized social media for control over their data. -* In 2025, [a similar leak of Meta's sources was published](https://archive.ph/NZlf3). Meta's list demonstrates how their integration of ActivityPub into their Threads software has enhanced their ability to scrape content without authorization. Threads is widely blocked in some parts of the fediverse, but their scraping of server CDNs has allowed them to get around that. Notably, both the CDN domains of the managed hosting services masto.host and fedi.monster are included in the list; large servers like mastodon.art, which is hosted by the former and has many artists who've left sites like DeviantArt and others due to their AI scraping of user content, had [media unknowingly scraped](https://mastodon.art/@Curator/115022115346692178). -* In March 2026, [a research paper](https://arxiv.org/html/2603.20957v2) showed that simply fine-tuning LLMs resulted in outputs containing up to 90% of entire (copyrighted) books, contradicting LLM companies' previous statements in court that their models do not store copies of training data. After fine-tuning exclusively on a single author, the researchers were able to cause the LLM to output works from over 30 completely unrelated authors across different genres. None of the models were explicitly trained on these books by the researchers, which indicates that LLMs always carry with them a considerable amount of copyrighted materials from training. - -Usage of AI in your project is usage of tooling that blatantly disregards licensing and violates the Code of Conduct in your project (if present), making said tools antithetical to FOSS' purpose. - -## What You Can Do - -I'd like to kindly suggest implementing a strict "No AI" policy. This can also help with staying your code legally clean as code by AI agents often ignore licensing requirements. - -You can find other projects that have taken steps to say no to AI here: -https://noai.starlightnet.work/list.html - -For a specific policy, I can recommend the following policies for inspiration: - -- [wafrn's Contributring Doc](https://codeberg.org/wafrn/wafrn/src/branch/main/CONTRIBUTING.md) - -- [Loupe's Use of Generative AI Policy](https://discourse.gnome.org/t/loupe-no-longer-allows-generative-ai-contributions/27327) - -Thank you and kind regards :pray: -``` diff --git a/README.md b/README.md index 09698d9..c2e3eaf 100644 --- a/README.md +++ b/README.md @@ -6,17 +6,14 @@ Free/Open Source Software tainted by LLM developers/developed by genAI boosters, along with alternatives. -The intention of this list is to raise awareness of AI/LLM usage in popular open-source software. Provided below is an informed set of AI-free alternatives for users and developers to consider should their ethical boundaries be crossed or tolerance for risk be exceeded. 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). +The intention of this list is to raise awareness of AI/LLM usage in popular open-source software. Provided below is an informed set of AI-free alternatives for users and developers to consider should their ethical boundaries be crossed or tolerance for risk be exceeded. This list is not a resource to be used for the harassment of other open-source developers. If you wish to advocate for the cessation of use and/or removal of AI-generated code from another project, we ask that it be done respectfully and constructively. For more information on why we think this list matters, please see [Why not LLMs?](#why-not-llms). -Want to *add*, *update*, or *remove* a project listed below? Check out our [**Contributing Doc**](./CONTRIBUTING.md). +To Contribute, checkout our [`CONTRIBUTING.md`](./CONTRIBUTING.md). -See a project on here that you love, and wish wasn't on here? Check out our [**No AI Request Template**](./NO_AI_REQUEST_TEMPLATE.md). - -Ready to fork a project to introduce a No AI policy? Check out our [**How to Slop Free Fork Guide**](./HOW_TO_SLOP_FREE_FORK.md). - -Any other questions? Please check out our [FAQ](./FAQ.md), and if your question isn't answered there, please feel free to start a [Discussion](https://codeberg.org/small-hack/open-slopware/issues/new?template=.forgejo%2fissue_template%2fdiscussion.yaml). +> [!Note] +> This is a fork of a repo by the same name maintained by the @gen-ai-transparency org on Codeberg. If they make their repo available again, we will contribute back. * [Definitions](#definitions) * [Permissive AI Policy](#permissive-ai-policy) @@ -25,150 +22,63 @@ Any other questions? Please check out our [FAQ](./FAQ.md), and if your question * [AI Code Reviews](#ai-code-reviews) * [Gen AI 'Art'](#gen-ai-art) * [AI Sponsored](#ai-sponsored) - * [AI Databroker Usage](#ai-databroker-usage) + * [AI Databroker Usage](#ai-data-broker-usage) * [AI In Issue Tracker](#ai-in-issue-tracker) - * [Permits LLM Ingestion](#permits-llm-ingestion) * [Request for Help](#request-for-help) * [Sibling Repos](#sibling-repos) * [Tainted Software](#tainted-software) - * [Accessibility Tools](#accessibility-tools) - * [Accounting and Budgeting](#accounting-and-budgeting) - * [Accounting and Budgeting Alternatives](#accounting-and-budgeting-alternatives) - * [API Documentation](#api-documentation) - * [App Catalogs and Downloaders](#app-catalogs-and-downloaders) - * [App Launchers](#app-launchers) - * [Mobile Launchers](#mobile-launchers) - * [Mobile Launchers Alternatives](#mobile-launchers-alternatives) - * [Audio](#audio) - * [Digital Audio Workstations](#digital-audio-workstations) - * [Digital Audio Editors](#digital-audio-editors) - * [Standalone Digital Mixer](#standalone-digital-mixer) - * [Music Players](#music-players) - * [Podcast Aggregators](#podcast-aggregators) - * [Backups](#backups) - * [Benchmarking](#benchmarking) - * [Blogging Software](#blogging-software) - * [Content Management Systems](#content-management-systems) - * [Static Site Generators](#static-site-generators) - * [Books and Library Software](#books-and-library-software) - * [Bootloaders](#bootloaders) - * [Build Systems and Task Runners](#build-systems-and-task-runners) * [Browsers](#browsers) - * [Browser Addons](#browser-addons) * [Desktop Browsers](#desktop-browsers) - * [Headless Browsers](#headless-browsers) * [Mobile Browsers](#mobile-browsers) - * [Cheat Sheets and Documentation](#cheat-sheets-and-documentation) + * [E-Mail Clients](#e-mail-clients) + * [Cheat sheets and documentation](#cheat-sheets-and-documentation) * [Command-Line Shells](#command-line-shells) * [Addons and Prompts](#addons-and-prompts) - * [Compiler Tools](#compiler-tools) - * [Linkers](#linkers) + * [Search Engines](#search-engines) * [Computer Graphics](#computer-graphics) - * [3D Tools](#3d-tools) * [Image Manipulation](#image-manipulation) * [Photography](#photography) * [Video](#video) - * [Continuous Integration](#continuous-integration) - * [Cryptography](#cryptography) - * [Disk Encryption](#disk-encryption) - * [File Encryption](#file-encryption) - * [Data Archival](#data-archival) - * [Device Exploiting](#device-exploiting) - * [Documents](#documents) - * [Document Converters](#document-converters) - * [Document Viewers](#document-viewers) - * [E-Mail and Calendar](#e-mail-and-calendar) - * [E-mail Desktop Clients](#e-mail-desktop-clients) - * [E-mail Mobile Clients](#e-mail-mobile-clients) - * [Calendar Mobile Clients](#calendar-mobile-clients) - * [File Monitoring](#file-monitoring) - * [File Storage](#file-storage) - * [File Storage Alternatives](#file-storage-alternatives) - * [File Transferring](#file-transferring) - * [Filesystem Navigation](#filesystem-navigation) - * [File Managers](#file-managers) - * [Forum Software](#forum-software) - * [Gaming](#gaming) - * [Cellular Automata](#cellular-automata) - * [Game engines](#game-engines) - * [Alternative game engines](#alternative-game-engines) - * [Game Managers and Launchers](#game-managers-and-launchers) - * [Mod managers](#mod-managers) - * [Emulators](#emulators) - * [Input Remapping](#input-remapping) - * [Language and Localization](#language-and-localization) - * [Learning](#learning) - * [Anki desktop alternatives](#anki-desktop-alternatives) - * [Mapping](#mapping) - * [Alternatives](#mapping-alternatives) - * [Messaging](#messaging) - * [Messaging Servers](#messaging-servers) - * [Messaging Clients](#messaging-clients) - * [Microcontroller Tools and Libraries](#microcontroller-tools-and-libraries) - * [Alternative Microcontroller Tools and Libraries](#alternative-microcontroller-tools-and-libraries) - * [Networking](#networking) - * [Networking security tools](#networking-security-tools) - * [Networking security tool alternatives](#networking-security-tool-alternatives) - * [Operating Systems](#operating-systems) - * [BSD-based](#bsd-based) - * [Alternative BSD-based operating systems](#alternative-bsd-based-operating-systems) - * [Linux-based](#linux-based) - * [Alternative Linux-based operating systems](#alternative-linux-based-operating-systems) - * [Kernels](#kernels) - * [Other](#other-operating-systems) - * [Other alternative operating systems](#other-alternative-operating-systems) - * [Package Managers](#package-managers) - * [Package Manager Alternatives](#package-manager-alternatives) - * [Peripheral Managers](#peripheral-managers) - * [Password Management](#password-management) + * [Terminal Emulators](#terminal-emulators) + * [Developer Tools](#developer-tools) + * [Document Viewers](#document-viewers) * [Programming Languages](#programming-languages) + * [Editors](#editors) + * [Note Software Alternatives](#note-software-alternatives) + * [Alternative TUI Code Editors](#alternative-tui-code-editors) + * [Accessibility Tools](#accessibility-tools) + * [Microcontroller Tools and Libraries](#microcontroller-tools-and-libraries) + * [Service Monitoring](#service-monitoring) * [Programming Language-Specific Tooling](#programming-language-specific-tooling) * [C](#c) * [C++](#c-1) * [CSS](#css) - * [Dart](#dart) - * [Go](#go) - * [Java](#java) * [JavaScript And TypeScript](#javascript-and-typescript) - * [Lua](#lua) * [Python](#python) * [Rust](#rust) - * [Alternative GUI crates](#alternative-gui-crates) - * [Remote Desktop](#remote-desktop) - * [Reverse Engineering and Debugging](#reverse-engineering-and-debugging) - * [Runtime Version Managers](#runtime-version-managers) - * [Search Engines](#search-engines) - * [Service Monitoring](#service-monitoring) - * [Social Media](#social-media) - * [Servers](#servers) - * [Clients](#clients) - * [SSH](#ssh) - * [System Base](#system-base) - * [System Information Utilities](#system-information-utilities) - * [System Logs Managers](#system-logs-managers) - * [Android](#android) - * [Alternatives for Android](#alternatives-for-android) + * [Game Engines](#game-engines) + * [Audio](#audio) + * [Messaging](#messaging) + * [Package Managers](#package-managers) + * [Password Management](#password-management) + * [Git Servers](#git-servers) + * [Blogging Software](#blogging-software) + * [Content Management Systems](#content-management-systems) + * [Static Site Generators](#static-site-generators) + * [Services and Utilities](#services-and-utilities) + * [File Storage](#file-storage) + * [Game Managers](#game-managers) + * [Social Media](#social-media) + * [Servers](#servers) + * [Clients](#clients) + * [Unified Push Distributors](#unified-push-distributors) + * [Budgeting](#budgeting) * [System Services and Daemons](#system-services-and-daemons) - * [Terminal](#terminal) - * [Terminal Emulators](#terminal-emulators) - * [Terminal Multiplexers](#terminal-multiplexers) - * [Terminal Multiplexer Alternatives](#terminal-multiplexers-alternatives) - * [Text and Code Editors](#text-and-code-editors) - * [Alternative Text And Code Editors](#alternative-text-and-code-editors) - * [Note Software](#note-software) - * [Note Software Alternatives](#note-software-alternatives) - * [Unified Push Distributors](#unified-push-distributors) - * [Alternative Unified Push Distributors](#alternative-unified-push-distributors) - * [Version Control](#version-control) - * [Version Control Clients and Tooling](#version-control-clients-and-tooling) - * [Version Control Servers](#version-control-servers) - * [Alternative Version Control Servers](#alternative-version-control-servers) + * [Bootloaders](#bootloaders) + * [Operating Systems](#operating-systems) * [Virtualization](#virtualization) - * [Volunteer Computing](#volunteer-computing) * [VPN Software](#vpn-software) * [Window Managers](#window-managers) - * [Desktop Bars](#desktop-bars) - * [Desktop Shells](#desktop-shells) * [Why not LLMs?](#why-not-llms) * [Legal Ramifications](#legal-ramifications) * [Legal Cases And Law Problems](#legal-cases-and-law-problems) @@ -179,7 +89,7 @@ Any other questions? Please check out our [FAQ](./FAQ.md), and if your question * [Poor Code Quality](#poor-code-quality) * [Deskilling](#deskilling) * [Infosec risks](#infosec-risks) - * [Health and Safety](#health-and-safety) + * [Healthy and Safety](#healthy-and-safety) * [Ties to the War Industrial Complex](#ties-to-the-war-industrial-complex) * [Effects on Policing](#effects-on-policing) * [Maintainer Fatigue](#maintainer-fatigue) @@ -251,9 +161,6 @@ Evidence can be: - an AI code review CI workflow. - a PR where an AI code review seems to be automatically created by some sort of third party app -> [!note] -> Due to the way GitHub works, any user there can request a code review from copilot and a project's maintainers cannot ban copilot from their repo. If a user requests an AI code review on GitHub and a maintainer says "Don't do that", do not list the project using this tag. If the maintainer says nothing though, it's fine to still apply this tag as that's an implicit approval. - ### Gen AI 'Art' ![Gen AI 'Art'](./badges/gen-ai-art-dark-yellow.svg) @@ -262,13 +169,13 @@ AI "Art" is being used in a project. This is typically for banners, avatars, pro Evidence can be: -- link to the place where the AI "art" is used +- link to the place where the AI art is used ### AI Sponsored ![AI sponsored](./badges/ai-sponsored-blue.svg) -The project is sponsored directly by an AI company. An AI company is any company that advertises itself as pro-AI or develops an AI product itself. The obvious ones are Anthropic and OpenAI, however, all the big tech companies (e.g. Apple, Google, Microsoft, and Amazon) also count because they all have AI services and direct products as major offerings. +The project is sponsored directly by an AI company. Evidence can be: @@ -295,23 +202,7 @@ The use of an AI bot/agent for responding to Issues, Discussions, Forums etc rel Evidence can be: -- Link to AI in an Issue, Bug report, Discussion, etc - must be related to the project's bug/issue tracking (e.g. dosu) - -### Permits LLM Ingestion - -![Permits LLM Ingestion](./badges/permits-llm-ingestion.svg) - -Permits the use of AI/LLMs to ingest the project's contents. This can be for "understanding the code better", "finding bugs/security issues/optimizations". This tag is to be used independently for projects that generally reject the use of AI in their code repositories, issue trackers, and sponsorships, but still encourage or permit users to use LLMs to ingest their code base. - -The reason we still find this worthy of a tag is because it: - -- means that the LLM, often provided by a company with very little respect for copyright, will then save a copy of that open source repo for use in it's future outputs. -- still encourages people to use LLMs and carves out a special situation in which they're still OK, but as this repo is against AI/LLMs for more than just "poor code quality" reasons, we still believe this is not a good course of action as it still promotes the use of inherently unethical tooling. - -Evidence can be: - -- An AI or Contribution policy that carves out a space for "using LLMs to understand the code" or "finding bugs" -- Core maintainer using or accepting the use of AI for finding Security issues +- Link to AI in an Issue, Bug report, Discussion, etc - must be related to the project's bug/issue tracking ### Request for Help @@ -323,223 +214,24 @@ This means someone is asking for help with research. They would like it if you f This is a section for repos that are similar to this one either because they are also forks of the original upstream, or because they align with our goal of identifying and avoiding AI/LLM usage OR identifying/elevating projects that do NOT use AI/LLMs. These repos are not all maintained by the same people, but we may share some contributors and are generally kind FOSS neighbors. ✨ -- [llm-afflicted-software](https://codeberg.org/ai-alternatives/llm-afflicted-software) offers a similar list to ours here, however in YAML file format for each category, making it more suitable to consumption via code (for instance writing a CLI, GUI, or TUI tool to consume it). They've also kindly reached out in the past and submitted Issues and PRs (e.g. [#12](https://codeberg.org/small-hack/open-slopware/issues/12), [#22](https://codeberg.org/small-hack/open-slopware/pulls/22)) to help us here. +- [llm-afflicted-software](https://codeberg.org/ai-alternatives/llm-afflicted-software) offers a similar list to ours here, however in YMAL file format for each category, making it more suitable to consumption via code (for instance writing a CLI, GUI, or TUI tool to consume it). They've also kindly reached out in the past and submitted Issues and PRs (e.g. [#12](https://codeberg.org/small-hack/open-slopware/issues/12), [#22](https://codeberg.org/small-hack/open-slopware/pulls/22)) to help us here. - [forge.starlightnet.work/Team/No-AI/](https://forge.starlightnet.work/Team/No-AI/) which is the repo for this [no-AI list](https://noai.starlightnet.work/list.html) that lists projects that have explicitly pledged not to use AI or have an explicit policy to not use AI. - [slop-free-index](https://codeberg.org/brib/slopfree-software-index) is a list of software that has taken steps to reject AI in its development processes. -> [!Note] -> This is a fork of a repo by the same name maintained by the @gen-ai-transparency org on Codeberg. If they make their repo available again, we will contribute back. - # Tainted Software > [!Warning] -> We've recently added a "Last Untainted Version or Commit ID" column to our below tables. This is meant for tech savvy individuals to be able to fork the project and continue maintaining it without the use of AI. Choosing to install an older version of software could expose you to to security risks over time. Only do this if you are able to accept such risks. - -## Accessibility Tools - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [espeak-ng](https://github.com/espeak-ng/espeak-ng) | [`v1.52`](https://github.com/espeak-ng/espeak-ng/releases/tag/1.52.0) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/espeak-ng/espeak-ng/pull/2328#pullrequestreview-3559773058), [2](https://github.com/espeak-ng/espeak-ng/pull/2302))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/espeak-ng/espeak-ng/commit/a17b335f9f794f9176bd702ceacb09f34bcb1e16), [2](https://github.com/espeak-ng/espeak-ng/commit/00c9e543c7390c228266de5dcac12e5fb2ca98f9)) | [espeak](https://espeak.sourceforge.net/)1,
[flite](http://cmuflite.org/) | -| [Nametag](https://github.com/mattogodoy/nametag) | [`v0.17.0`](https://github.com/mattogodoy/nametag/releases/tag/v0.17.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/mattogodoy/nametag/pull/126), [2](https://github.com/mattogodoy/nametag/pull/119), [3](https://github.com/mattogodoy/nametag/pull/70)) | [Monica](https://github.com/monicahq/monica) | - -> [!Note] -> 1 espeak may be considered heavily outdated and very bad from a modern standpoint. - -## Accounting and Budgeting - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | -|---|:---:|---| -| [Actual](https://actualbudget.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://opencollective.com/actual/expenses/277324), [2](https://github.com/actualbudget/actual/blob/master/AGENTS.md)) | -| [beancount](https://github.com/beancount/beancount) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://groups.google.com/g/beancount/c/_7udAMlfLAg/m/o6PazGuoAAAJ), [2](https://groups.google.com/g/beancount/c/cz8Xwnb7BLE/m/LSA3rTfMAgAJ)) | -| [Firefly III](https://firefly-iii.org) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/firefly-iii/firefly-iii/blob/main/agents.md)) | -| [hledger (v2.x)](https://hledger.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://hledger.org/AI.html)) | -| [KMyMoney](https://kmymoney.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://invent.kde.org/office/kmymoney/-/issues/49#note_1331389)) | -| [ledger-cli](https://ledger-cli.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://www.newartisans.com/2026/02/my-claude-code-toolkit/), [2](https://github.com/ledger/ledger/blob/main/CLAUDE.md)) | -| [ODoo](https://www.odoo.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://www.odoo.com/documentation/19.0/applications/productivity/ai.html)) | - -> [!Note] -> #### Accounting and Budgeting Alternatives -> These might be worth reaching out to ask for a No AI Policy, but currently don't have LLM usage: -> - [Eqonomize] -> - [Grisbi] -> - [HomeBank] - -## API Documentation - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) -|---|:---:|---|---| -| [Scalar](https://scalar.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://scalar.com/products/docs/configuration/ask-ai))
[![Permissive AI Policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/scalar/scalar/blob/main/AGENTS.md))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/scalar/scalar/pull/8977#pullrequestreview-4167901335)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | - -## App Catalogs and Downloaders - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) -|---|:---:|---|---| -| [GitHub Store](https://github-store.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/OpenHub-Store/GitHub-Store/blob/2c7026337d6e8df6d87962a4bbe2366fcc336296/AGENTS.md), [2](https://github.com/OpenHub-Store/GitHub-Store/commit/49cd2c1378915af0435ccf15ab6158d3b330f278), [3](https://github.com/OpenHub-Store/GitHub-Store/commit/4c3af650d977d8aaac62a59d8db273b05bc81a7d))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/OpenHub-Store/GitHub-Store/pull/107), [2](https://github.com/OpenHub-Store/GitHub-Store/pull/115), [3](https://github.com/OpenHub-Store/GitHub-Store/pull/632)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | - -## App Launchers -### Mobile Launchers - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | -|---|:---:|---| -| [KISS](https://kisslauncher.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/Neamar/KISS/pull/2280#discussion_r1595740395)) | -| [Lawnchair](https://lawnchair.app) | [`14.0.0-beta3`](https://github.com/LawnchairLauncher/lawnchair/releases/tag/v14.0.0-beta3) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/LawnchairLauncher/lawnchair/pull/6424), [2](https://github.com/LawnchairLauncher/lawnchair/pull/6458))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/LawnchairLauncher/lawnchair/pull/6587)) | - -> [!note] -> #### Mobile Launchers Alternatives -> -> - [Ion Launcher](https://f-droid.org/en/packages/one.zagura.IonLauncher/) -> - [Pie Launcher](https://f-droid.org/en/packages/de.markusfisch.android.pielauncher/) - -## Audio - -### Digital Audio Workstations - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) -|---|:---:|---|---| -| [Audacity](https://www.audacityteam.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://www.audacityteam.org/blog/openvino-mac/))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/audacity/audacity/pull/10296#pullrequestreview-3740189943))
[![AI In Issue Tracker](./badges/ai-in-issue-tracker-teel.svg)](https://codeberg.org/small-hack/open-slopware#ai-in-issue-tracker) ([1](https://github.com/audacity/audacity/issues/10674#issuecomment-4205681036)) | [Tenacity](https://tenacityaudio.org/) | -| [Ardour](https://ardour.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/Ardour/ardour/pull/1060)) | [LMMS](https://lmms.io/)1 | -| [HISE](https://github.com/christophhart/HISE) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/christophhart/HISE/blob/59dab9965c5483a61dae01ec667f77aeecbbdb51/AGENTS.md)) | [DPF](https://github.com/DISTRHO/DPF) | -| [zrythm](https://www.zrythm.org) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/zrythm/zrythm/blob/master/CLAUDE.md)) | [LMMS](https://lmms.io/)1 | - -> [!Note] -> 1: Status as a *replacement* may be debatable. -> -> You may also consider browsing the DAWs available on [linuxdaw.org](https://linuxdaw.org/?p=f&l=o). - -### Standalone Digital Mixer - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) -|---|:---:|---|---| -| [FineTune](https://github.com/ronitsingh10/FineTune) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help)| [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/ronitsingh10/FineTune/blob/20bbef22644a468f403cf9a011586ba2b0ed067f/.gitignore#L3)) | [BackgroundMusic](https://github.com/kyleneideck/BackgroundMusic) | - -### Music Players - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) -|---|:---:|---|---| -| [somafm_tui](https://github.com/zsh-ncursed/somafm_tui) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/zsh-ncursed/somafm_tui/commit/bd176678d3f6b4f63603c331fb4481356068e78e), [2](https://github.com/zsh-ncursed/somafm_tui/commit/11c9e9e934aa0d6fe4a1f572eed2ba252aac064b)) | [soma-player](https://github.com/mpuccini/soma-play) | -| [SimpMusic](https://github.com/maxrave-dev/SimpMusic) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/maxrave-dev/SimpMusic/blob/d57617bd26ab29261f83654dfaf8063b4eb51d0f/CLAUDE.md), [2](https://github.com/maxrave-dev/SimpMusic/tree/d57617bd26ab29261f83654dfaf8063b4eb51d0f/.claude))
[![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://github.com/maxrave-dev/SimpMusic/blob/d57617bd26ab29261f83654dfaf8063b4eb51d0f/README.md?plain=1#L30)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | - -### Podcast Aggregators - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [AntennaPod](https://github.com/AntennaPod/AntennaPod) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/AntennaPod/AntennaPod/blob/develop/AGENTS.md), [2](https://forum.antennapod.org/t/proposal-to-change-expenses-policy-ai-subscriptions/8417)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | - -## Backups - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [Borg](https://github.com/borgbackup/borg) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/borgbackup/borg/issues/9409#issuecomment-3974230340), [2](https://github.com/borgbackup/borg/blob/master/CONTRIBUTING.md#responsible-ai-usage)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [Kopia](https://github.com/kopia/kopia) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/kopia/kopia/blob/master/.github/instructions/go.copilot-instructions.md), [2](https://github.com/kopia/kopia/commit/ed40a2f8b48f60a1ae78e831147064ada4d68336), [3](https://github.com/kopia/kopia/commit/a2d62c83404d770e333929ae9690a911a0743f20))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/kopia/kopia/pull/5341), [2](https://github.com/kopia/kopia/pull/5383), [3](https://github.com/kopia/kopia/pull/5292)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [Restic](https://github.com/restic/restic) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/restic/restic/pull/5560), [2](https://github.com/restic/restic/pull/5541), [3](https://github.com/restic/restic/pull/5610)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [Timeshift](https://github.com/linuxmint/timeshift) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/linuxmint/timeshift/pull/475), [2](https://github.com/linuxmint/timeshift/pull/428), [3](https://github.com/linuxmint/timeshift/pull/398)) | [btrbk](https://github.com/digint/btrbk) (btrfs-only) | - -## Benchmarking - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [Hyperfine](https://github.com/sharkdp/hyperfine) | [`v1.19.0`](https://github.com/sharkdp/hyperfine/releases/tag/v1.19.0) | [![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://github.com/sharkdp/hyperfine/blob/327d5f4d9107141929f67f062bf9ef59f98b7399/README.md#sponsors)) | [poop](https://github.com/andrewrk/poop) | - -## Blogging Software - -### Content Management Systems - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [Backdrop CMS](https://backdropcms.org/) | [`1.33.2`](https://github.com/backdrop/backdrop/releases/tag/1.33.2) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/backdrop/backdrop-issues/issues/440#issuecomment-4357835721)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [Banany blog](https://github.com/runawaydevil/banany-blog) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) |[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/runawaydevil/banany-blog/commit/5ee797556636dd43b1f476881e4a72878c2c021b)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [Bludit](https://www.bludit.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/bludit/bludit/pull/1642))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/bludit/bludit/pull/1642)) | [WriteFreely] | -| [Drupal](https://new.drupal.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://new.drupal.org/ai))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([2](https://www.drupal.org/docs/develop/issues/issue-procedures-and-etiquette/policy-on-the-use-of-ai-when-contributing-to-drupal)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [Ghost](https://ghost.org) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/TryGhost/Ghost/blob/main/AGENTS.md), [2](https://github.com/TryGhost/Ghost/pull/27666), [3](https://github.com/TryGhost/Ghost/pull/27642))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/TryGhost/Ghost/pull/27667), [2](https://github.com/TryGhost/Ghost/pull/27211)) | [WriteFreely] | -| [Wagtail](https://wagtail.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://wagtail.org/wagtail-ai/))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/wagtail/wagtail/blob/main/AGENTS.md)) | [WriteFreely] | -| [Webiny](https://www.webiny.com) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://www.webiny.com/docs/build-with-ai/ai-assisted-development), [2](https://github.com/webiny/webiny-js/pull/4990))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/webiny/webiny-js/blob/next/AGENTS.md), [2](https://github.com/webiny/webiny-js/pull/4954), [3](https://github.com/webiny/webiny-js/pull/5092)) | [WriteFreely] | -| [WordPress](https://wordpress.org) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://wordpress.com/blog/2026/03/20/ai-agent-manage-content/), [2](https://wordpress.org/download/releases/7.0/))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/WordPress/gutenberg/blob/trunk/AGENTS.md), [2](https://github.com/WordPress/gutenberg/pull/74449)) | [WriteFreely] | - -### Static Site Generators - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | -|---|:---:|---| -| [Hugo](https://gohugo.io/) | [v0.151.2](https://github.com/gohugoio/hugo/releases/tag/v0.151.2) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/gohugoio/hugo/blob/842d8f105256c5656e7895ee61fa5b2dfe90a9e3/AGENTS.md), [2](https://github.com/gohugoio/hugo/blob/842d8f105256c5656e7895ee61fa5b2dfe90a9e3/CLAUDE.md), [3](https://github.com/gohugoio/hugo/commit/842d8f105256c5656e7895ee61fa5b2dfe90a9e3))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/gohugoio/hugo/pull/14850)) | -| [Pelican](https://getpelican.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/getpelican/pelican/pull/3405#issuecomment-2592359405)) | -| [Zola](https://www.getzola.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/getzola/zola/blob/ec865e2cb7c159169f4dc56ebcd35a460b8eb297/.claude)) | - -> [!Note] -> #### Static site generators alternatives -> * [Bridgetown](https://www.bridgetownrb.com) -> * [BSSG](https://bssg.dragas.net/) -> * [Frog](https://docs.racket-lang.org/frog/index.html) for LISP lovers -> * [Jekyll](https://jekyllrb.com/) maybe? No signs of AI in the repo but also [no clear statement](https://talk.jekyllrb.com/t/ai-usage-in-the-jekyll-project/10269) provided -> * [Haunt](https://dthompson.us/projects/haunt.html) -> * [org-blog-wiki](https://orgmode.org/worg/org-blog-wiki.html ) (list by org devs - for GNU Emacs, no markdown) -> * [org-static-blog](https://github.com/bastibe/org-static-blog) (for GNU Emacs users, no markdown) -> * [Zine](https://zine-ssg.io) -> -> We haven't vetted these, but you *may* also find luck browsing [Jamstack's Static Site Generator List](https://jamstack.org/generators/). - -## Books and Library Software - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [Booklore](https://github.com/the-booklore/booklore/tree/develop) | none | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/the-booklore/booklore/blob/develop/CONTRIBUTING.md#ai-assisted-contributions)) | [Clbre](https://github.com/grimthorpe/clbre), Calibre fork without AI
[Arcalibre](https://codeberg.org/rereading/arcalibre), Calibre hard-fork from before AI | -| [Calibre](https://calibre-ebook.com) | [`8.15.0`](https://github.com/kovidgoyal/calibre/releases/tag/v8.15.0) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://github.com/kovidgoyal/calibre/blob/master/Changelog.txt)) | [Clbre](https://github.com/grimthorpe/clbre), Calibre fork without AI
[Arcalibre](https://codeberg.org/rereading/arcalibre), Calibre hard-fork from before AI | -| [KOReader](https://koreader.rocks/) | [`2023.08`](https://github.com/koreader/koreader/releases/tag/v2023.08) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/koreader/koreader/issues/11147#issuecomment-4171255898), [2](https://github.com/koreader/koreader/pull/13806), [3](https://github.com/koreader/koreader/pull/13884))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/koreader/koreader/pull/13633), [2](https://github.com/koreader/koreader/pull/14578), [3](https://github.com/koreader/koreader/pull/14583))
[![Gen AI 'Art'](./badges/gen-ai-art-dark-yellow.svg)](https://codeberg.org/small-hack/open-slopware#gen-ai-art) ([1](https://github.com/koreader/koreader/releases/tag/v2023.10), [2](https://koreader.rocks/user_guide/)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [Zotero](https://www.zotero.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/zotero/zotero/blob/main/CLAUDE.md)) | [Citations](https://apps.gnome.org/Citations/) | - -## Bootloaders - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [barebox](https://github.com/barebox/barebox) | [`fe328bc`](https://github.com/barebox/barebox/commit/fe328bcb8a40e407c7928b6256af4a69aacfab67) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/barebox/barebox/commit/e3078309ff30c88fab260c6dd08f9208802c7c4c)) | [Coreboot](https://review.coreboot.org/coreboot.git),
[EDK2 (UEFI)](https://github.com/tianocore/edk2),
[U-Boot](https://github.com/u-boot/u-boot) -| [Limine](https://github.com/Limine-Bootloader/Limine) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://codeberg.org/small-hack/open-slopware/pulls/263#issuecomment-12690237), [2](https://codeberg.org/small-hack/open-slopware/pulls/285#issue-4234860)) | [Hyper](https://github.com/UltraOS/Hyper), [GRUB](https://www.gnu.org/software/grub/) | - -## Build Systems and Task Runners - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [Bazel](https://bazel.build/) | [`9.0.2`](https://github.com/bazelbuild/bazel/releases/tag/9.0.2/) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/bazelbuild/bazel/blob/15609ba649286bf889bbb670c00e5b899eba525d/AGENTS.md)) | [Cloud Shake] or See Below | -| [Buck2](https://buck2.build/) | [`2025-10-15`](https://github.com/facebook/buck2/releases/tag/2025-10-15/) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/facebook/buck2/blob/f66124e98a6fc56a90d0a160b8988397ba04a2b2/.claude/CLAUDE.md))| [Cloud Shake] or See Below | -| [Just](https://just.systems/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://just.systems/man/en/model-context-protocol.html)) | See Below | -| [Mill](https://mill-build.org/) | [`v1.0.6`](https://github.com/com-lihaoyi/mill/releases/tag/1.0.6) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/com-lihaoyi/mill/blob/main/AGENTS.md), [2](https://github.com/com-lihaoyi/mill/blob/main/CLAUDE.md)) | See Below | -| [mise-en-place](https://mise.jdx.dev/) | [`659f851`](https://github.com/jdx/mise/commit/659f851bf6e29d2ac12d64b35fff9afa9981d02e) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/jdx/mise/blob/main/CLAUDE.md), [2](https://github.com/jdx/mise/tree/main/.claude), [3](https://github.com/search?q=repo%3Ajdx%2Fmise%20claude&type=commits&s=committer-date&o=asc))
[![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://mise.jdx.dev/mcp.html)) | See Below | -| [SCons](https://scons.org/) | [`4.10.1`](https://github.com/SCons/scons/releases/tag/4.10.1/) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/SCons/scons/blob/8ea152eddff6afa11f94108a10283bd6378a3dfa/AGENTS.md)) | [Waf](https://waf.io/) or See Below | -| [sbt](https://www.scala-sbt.org/) | [`1.12.3`](https://github.com/sbt/sbt/releases/tag/v1.12.3) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/sbt/sbt/blob/develop/AGENTS.md), [2](https://github.com/sbt/sbt/blob/develop/CONTRIBUTING.md#ai-assisted-contributions)) | See Below | -| [Taskfile](https://taskfile.dev/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/go-task/task/pull/2592#pullrequestreview-3596720069)) | See Below | - -> [!NOTE] -> #### On task runners and `make(1)` implementations: -> A lot of Make implementations exist that are very fit to replace other task runners. -> In fact so many were produced, that one can just look up "GNU Make alternative" and find >10 results to pick the one they like the best. Also see: [wikipedia/Make](https://en.wikipedia.org/wiki/Make_(software)) -> Here are some Make implementation suggestions: -> | name | description | -> |------|-------------| -> | [GNU Make](https://www.gnu.org/software/make/) | the most complete one, extra extensions, guile scripting, exports, etc. | -> | [NetBSD `make`](https://man.netbsd.org/make.1) | Make used to build NetBSD ports tree | -> | [Jam](https://swarm.workshop.perforce.com/projects/perforce_software-jam/) | OSS rewrite by Perforce | -> | [Schilytools] or [OpenOffice](https://www.openoffice.org/tools/dmake/) ``dmake`` | Descendants of Sun's Distributed Make | - -> [!NOTE] -> #### Alternative Build Systems -> Various other build systems exist, -> that try to address perceived deficiencies in `make` and its derivatives. -> * [Ninja](https://ninja-build.org/) - standalone or as the backend of a meta-build tool like [CMake](https://cmake.org/) or [Meson](http://mesonbuild.com/) -> * [redo](https://redo.readthedocs.io/) -> * [tup](https://gittup.org/) +> We've recently added a "Last Untainted Version or Commit ID" section to our below tables. This is meant for tech savvy individuals to be able to fork the project and continue maintaining it without the use of AI. Choosing to install an older version of software could expose you to to security risks over time. Only do this if you are able to accept such risks. ## Browsers -### Browser Addons - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternatives | -|---|:---:|---|---| -| [Stylus](https://add0n.com/stylus.html) | [`v2.3.19`](https://github.com/openstyles/stylus/releases/tag/v2.3.19) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/openstyles/stylus/pull/2058)) | [Stylebot](https://github.com/ankit/stylebot) | - ### Desktop Browsers | Name | Last Untainted Version or Commit ID | Tags and Evidence | |---|:---:|---| | Chromium/Blink engine | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/chromium/chromium/tree/aab503953a7f271aad675ef8a38f3108d9c2a0f0/.claude), [2](https://github.com/chromium/chromium/tree/aab503953a7f271aad675ef8a38f3108d9c2a0f0/.gemini), [3](https://github.com/chromium/chromium/tree/aab503953a7f271aad675ef8a38f3108d9c2a0f0/.agents)) | -| Firefox | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/mozilla-firefox/firefox/commit/71cc24b6a400dbd434e4df37087960d94b764791), [2](https://blog.mozilla.org/en/firefox/hardening-firefox-anthropic-red-team/))
[![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://web.archive.org/web/20260316170257/https://alextheward.com/blog/mozilla_is_now_an_ai_company)) | -| [Ladybird](https://github.com/LadybirdBrowser/ladybird) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://ladybird.org/posts/adopting-rust/)) | +| Firefox | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Vibecoded](./badges/vibecoded.svg)](#vibecoded) ([1](https://github.com/mozilla-firefox/firefox/commit/71cc24b6a400dbd434e4df37087960d94b764791), [2](https://blog.mozilla.org/en/firefox/hardening-firefox-anthropic-red-team/))
[![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://web.archive.org/web/20260316170257/https://alextheward.com/blog/mozilla_is_now_an_ai_company)) | +| [Ladybird](https://github.com/LadybirdBrowser/ladybird) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Vibecoded](./badges/vibecoded.svg)](#vibecoded) ([1](https://ladybird.org/posts/adopting-rust/)) | | [WebKit](https://webkit.org) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/WebKit/WebKit/tree/57438b0e69831fedd7851825b33b09a0917c9b74/.codex), [2](https://github.com/WebKit/WebKit/tree/57438b0e69831fedd7851825b33b09a0917c9b74/.gemini), [3](https://github.com/WebKit/WebKit/commit/94ffd831d1e5df97d5b8a7c5cbe8baa162670482)) | | [Zen](https://github.com/zen-browser/desktop) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/zen-browser/desktop/issues/7742#issuecomment-3062859362), [2](https://github.com/zen-browser/desktop/pull/12826))
[![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://docs.zen-browser.app/user-manual/shortcuts#other-features:~:text=Toggle%20AI%20Chatbot%20Sidebar)) | @@ -547,107 +239,64 @@ This is a section for repos that are similar to this one either because they are > #### Desktop Browser Alternatives > * [Epiphany] (by GNOME, WebKit based) does not currently have a stance, but GNOME developers as a whole [show aware anti-"AI" sentiments](https://discourse.gnome.org/t/loupe-no-longer-allows-generative-ai-contributions/27327) and roll out [wide reaching rules](https://gjs.guide/extensions/review-guidelines/review-guidelines.html#extensions-must-not-be-ai-generated) against it. > * [Servo] (New engine, formerly owned by Mozilla, now by a co-op) is not yet daily driver ready, but has [strong protections](https://book.servo.org/contributing/getting-started.html#ai-contributions) for when it is some time in the future. -> * [Waterfox] They have [clear anti-ai stance](https://www.waterfox.com/blog/no-ai-here-response-to-mozilla/) - -### Headless Browsers - -[Headless browsers](https://en.wikipedia.org/wiki/Headless_browser) are browsers, typically for server usage, that don't render web pages for humans to view. - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -| --- |:---:| --- | --- | -| [Lightpanda](https://lightpanda.io/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://lightpanda.io/), [2](https://lightpanda.io/docs/open-source/usage#mcp-server))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/lightpanda-io/browser/commit/b373fb4a424119c314da7c8a62aa3811c6a4698c), [2](https://github.com/lightpanda-io/browser/commit/1bdf464ef2c228bc53cc2eb52b07a4f56a9f750e), [3](https://github.com/lightpanda-io/browser/commit/fe9b2e672bce8d27457518cfd550c9fb9bbbc75b)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +> * [waterfox] They have [clear anti-ai stance](https://www.waterfox.com/blog/no-ai-here-response-to-mozilla/) ### Mobile Browsers | Name | Last Untainted Version or Commit ID | Tags and Evidence | |---|:---:|---| -| Firefox | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/mozilla-firefox/firefox/commit/71cc24b6a400dbd434e4df37087960d94b764791), [2](https://blog.mozilla.org/en/firefox/hardening-firefox-anthropic-red-team/))
[![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://web.archive.org/web/20260316170257/https://alextheward.com/blog/mozilla_is_now_an_ai_company)) | +| Firefox | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Vibecoded](./badges/vibecoded.svg)](#vibecoded) ([1](https://github.com/mozilla-firefox/firefox/commit/71cc24b6a400dbd434e4df37087960d94b764791), [2](https://blog.mozilla.org/en/firefox/hardening-firefox-anthropic-red-team/))
[![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://web.archive.org/web/20260316170257/https://alextheward.com/blog/mozilla_is_now_an_ai_company)) | > [!Note] > #### Mobile Browser Alternatives > * [IronFox] For Android, while not officially related to LibreWolf, some of the same developers work on it. -> * [Waterfox] For Android. -## Cheat Sheets and Documentation +### E-Mail Clients + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | +|---------|--------------|----------|-------| +| NeoMutt | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/neomutt/neomutt/pull/4737)) | [mutt](http://mutt.org) | + +## Cheat sheets and documentation | Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | | --- |:---:| --- | --- | +| [tldr-pages](https://github.com/tldr-pages/tldr) | [`v2.3`](https://github.com/tldr-pages/tldr/releases/tag/v2.3) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/tldr-pages/tldr/blob/main/AGENTS.md), [2](https://github.com/tldr-pages/tldr/commit/b042736266e10cb026b678ba1d0fed362d5f579d)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [cheat](https://github.com/cheat/cheat) | [`v4.4.2`](https://github.com/cheat/cheat/releases/tag/4.4.2) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/cheat/cheat/blob/master/CLAUDE.md)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [explainshell](https://explainshell.com/) | [`1157256`](https://github.com/idank/explainshell/commit/1157256e3da70d4acdd239e8821e8f0a457b0fe3) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/idank/explainshell/blob/master/AGENTS.md), [2](https://github.com/idank/explainshell/commit/f14b7d4f617678cfa95a4729991723bb7db31f4f), [3](https://github.com/idank/explainshell/commit/559cd91a5516950ddf27735b7cca5c9c16839129))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/idank/explainshell/commit/91e601916983d2447dc92d3cfb5d8d7afdf1f98d)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [tldr-pages](https://github.com/tldr-pages/tldr) | [`v2.3`](https://github.com/tldr-pages/tldr/releases/tag/v2.3) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/tldr-pages/tldr/blob/main/AGENTS.md), [2](https://github.com/tldr-pages/tldr/commit/b042736266e10cb026b678ba1d0fed362d5f579d)) | [ethical-tldr](https://codeberg.org/small-hack/ethical-tldr),
[ethical-tldr-client](https://codeberg.org/small-hack/ethical-tldr-client) | ## Command-Line Shells -| Name | Last Untainted Version or Commit ID | Tags and Evidence | -|---|:---:|---| -| [brush](https://github.com/reubeno/brush) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/reubeno/brush/blob/main/AGENTS.md), [2](https://github.com/reubeno/brush/blob/main/.github/copilot-instructions.md), [3](https://github.com/reubeno/brush/commit/4ca78babcb2111d34e26cdda6622b0fa2611bb32))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/reubeno/brush/pull/1167), [2](https://github.com/reubeno/brush/pull/1080), [3](https://github.com/reubeno/brush/pull/1078))
[![Gen AI 'Art'](./badges/gen-ai-art-dark-yellow.svg)](https://codeberg.org/small-hack/open-slopware#gen-ai-art) ([1](https://github.com/reubeno/brush/blob/8ea83d7/README.md)) | -| [nushell](https://www.nushell.sh/) | [`0.79.0`](https://github.com/nushell/nushell/releases/0.79.0) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://github.com/nushell/nushell/tree/main/crates/nu-mcp))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/nushell/nushell/commit/21a54d47a00f09e3710e08ee7624e7b4332dcb27), [2](https://github.com/nushell/nushell/commit/67952a46ad3df4ec5bea6f1a26d8f40585f1c65f), [3](https://github.com/nushell/nushell/pull/9145#issuecomment-1544593839)) | -| [Oil Shell](https://magicant.github.io/yash/) | [`dddab4a`](https://github.com/oils-for-unix/oils/commit/dddab4a73c479e3ad4831778dd25729ed89c83d3) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/oils-for-unix/oils/commit/c6dbffb30396b4085e8649190e1c178daa67af9a)) | -| [PowerShell](https://github.com/PowerShell/PowerShell) | [`v7.4.0-preview.2`](https://github.com/PowerShell/PowerShell/releases/tag/v7.4.0-preview.2) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/PowerShell/PowerShell/tree/25e80cefdb14d0c69eaa976314e31d035aeddd73/.github/agents), [2](https://github.com/PowerShell/PowerShell/commit/1241ad2794cc84c18554e36ce658bfd86781cf8e), [3](https://github.com/PowerShell/PowerShell/pull/27074))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/PowerShell/PowerShell/pull/27077)) | -| [xonsh](https://xon.sh/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/xonsh/xonsh/blob/main/CLAUDE.md)) | -| [yash](https://magicant.github.io/yash/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/magicant/yash/pull/217#issue-3699124790)) | - -> [!NOTE] -> #### Alternative Bourne Shell Implementations -> * [dash](http://gondor.apana.org.au/~herbert/dash/) -> * [bash](https://www.gnu.org/software/bash/) -> * [oksh](https://github.com/ibara/oksh) -> * [Busybox](https://busybox.net/) `ash` -> * [Schilytools] `bosh` - -> [!NOTE] -> #### Alternative Shell Languages -> * [elvish](https://elv.sh) -> * [fish](https://fishshell.com/) -> * [rc](http://doc.cat-v.org/plan_9/4th_edition/papers/rc) -> * [xc](https://git.sr.ht/~sircmpwn/xc) -> * [execline](https://www.skarnet.org/software/execline/) +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | +|---|:---:|---|---| +| [Oil Shell](https://magicant.github.io/yash/) | [`dddab4a`](https://github.com/oils-for-unix/oils/commit/dddab4a73c479e3ad4831778dd25729ed89c83d3) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/oils-for-unix/oils/commit/c6dbffb30396b4085e8649190e1c178daa67af9a)) | [`dash`] | +| [`nushell`](https://www.nushell.sh/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://github.com/nushell/nushell/tree/main/crates/nu-mcp))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/nushell/nushell/commit/21a54d47a00f09e3710e08ee7624e7b4332dcb27)) | [`elvish` shell][Elvish] | +| [PowerShell](https://github.com/PowerShell/PowerShell) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/PowerShell/PowerShell/tree/25e80cefdb14d0c69eaa976314e31d035aeddd73/.github/agents), [2](https://github.com/PowerShell/PowerShell/commit/1241ad2794cc84c18554e36ce658bfd86781cf8e), [3](https://github.com/PowerShell/PowerShell/pull/27074))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/PowerShell/PowerShell/pull/27077)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [`xonsh`](https://xon.sh/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/xonsh/xonsh/blob/main/CLAUDE.md)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [`yash`](https://magicant.github.io/yash/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/magicant/yash/pull/217#issue-3699124790)) | [`dash`] | ### Addons and Prompts | Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | |---|:---:|---|---| -| [Atuin](https://github.com/atuinsh/atuin) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://github.com/atuinsh/atuin/pull/3199))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/atuinsh/atuin/blob/main/AGENTS.md), [2](https://github.com/atuinsh/atuin/pull/2777#issuecomment-2944105696)) | Built-in shell history | -| [oh-my-bash](https://github.com/ohmybash/oh-my-bash) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/ohmybash/oh-my-bash/pull/729)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [oh-my-posh](https://github.com/JanDeDobbeleer/oh-my-posh/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://ohmyposh.dev/docs/segments/cli/claude))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/JanDeDobbeleer/oh-my-posh/commit/0ca76357a608f2e4043e10fe9591709ca554d75d)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [ohmyzsh](https://github.com/ohmyzsh/ohmyzsh) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://github.com/ohmyzsh/ohmyzsh/pull/13222))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/ohmyzsh/ohmyzsh/blob/master/CONTRIBUTING.md#a-note-on-ai-assisted-contributions), [2](https://github.com/ohmyzsh/ohmyzsh/commit/99b243b9a98576037c864ff115b1fe96621fec8a), [3](https://github.com/ohmyzsh/ohmyzsh/commit/8c5a60644a2a93fb6b7d76ec7a5598f99b426cf0)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [spaceship-prompt](https://spaceship-prompt.sh/) | [`v4.19.3`](https://github.com/spaceship-prompt/spaceship-prompt/releases/tag/v4.19.3) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/spaceship-prompt/spaceship-prompt/pull/1514), [2](https://github.com/spaceship-prompt/spaceship-prompt/pull/1542))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/spaceship-prompt/spaceship-prompt/pull/1513), [2](https://github.com/spaceship-prompt/spaceship-prompt/pull/1532), [3](https://github.com/spaceship-prompt/spaceship-prompt/pull/1541)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [Starship](https://starship.rs) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://github.com/starship/starship/pull/7234))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/starship/starship/commit/0d71065a6eb98ff00b42b2bc4ff78dad7b897a1e))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/starship/starship/pull/7451#pullrequestreview-4214288411)) | [shmonad](https://github.com/matthunz/shmonad) | +| [`oh-my-posh`](https://github.com/JanDeDobbeleer/oh-my-posh/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/JanDeDobbeleer/oh-my-posh/commit/0ca76357a608f2e4043e10fe9591709ca554d75d)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [`oh-my-bash`](https://github.com/ohmybash/oh-my-bash) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/ohmybash/oh-my-bash/pull/729)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [`ohmyzsh`](https://github.com/ohmyzsh/ohmyzsh) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://github.com/ohmyzsh/ohmyzsh/pull/13222))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/ohmyzsh/ohmyzsh/blob/master/CONTRIBUTING.md#a-note-on-ai-assisted-contributions), [2](https://github.com/ohmyzsh/ohmyzsh/commit/99b243b9a98576037c864ff115b1fe96621fec8a), [3](https://github.com/ohmyzsh/ohmyzsh/commit/8c5a60644a2a93fb6b7d76ec7a5598f99b426cf0)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [Starship](https://starship.rs) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/starship/starship/commit/0d71065a6eb98ff00b42b2bc4ff78dad7b897a1e)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -> [!NOTE] -> #### Alternative Plugin Managers -> * [zimfw](https://github.com/zimfw/zimfw) +## Search Engines -## Compiler Tools - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [`Godbolt`](https://godbolt.org) | [`d107352`](https://github.com/compiler-explorer/compiler-explorer/commit/d1073529e6bb26361e1105f5e56ed33510a83d76)? | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/compiler-explorer/compiler-explorer/blob/main/CLAUDE.md)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [LLVM](https://llvm.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://llvm.org/docs/AIToolPolicy.html)) | [GCC](https://gcc.gnu.org/), [Cranelift](https://cranelift.dev/), [pcc](https://github.com/PortableCC/pcc) | - -### Linkers - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [Mold](https://github.com/rui314/mold) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/rui314/mold/commit/dac20fa24373f35b5dec44e4740db85c3eb7b3dd)) | GNU ld | -| [Wild](https://github.com/wild-linker/wild) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/wild-linker/wild/blob/9027437a8776afea1a1f0840fcda3fd6895f6f55/CONTRIBUTING.md), [2](https://github.com/wild-linker/wild/pull/1653#issuecomment-4017584459), [3](https://github.com/wild-linker/wild/pull/912)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| Name | Alternatives | Evidence | Notes | +|---------|----------------------------------------------------------|--------------------------------------------------------------------------------------------|-------| +| Searxng | [LibreY](https://github.com/Ahwxorg/librey/) | [Copilot used](https://github.com/searxng/searxng/issues?q=copilot) in reviews | Note: maintainers experimenting with and open to adding AI results, see [1](https://github.com/searxng/searxng/issues/2273), [2](https://github.com/searxng/searxng/issues/2008), [3](https://github.com/searxng/searxng/issues/2163) ## Computer Graphics -### 3D Tools - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [Blender](https://www.blender.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://www.blender.org/lab/mcp-server/))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://devtalk.blender.org/t/ai-contributions-policy/44202), [2](https://github.com/blender/blender/commit/336b5d0de12a438614846961b7961bbf35399eb3), [3](https://github.com/blender/blender/commit/79e02e1405a98884cc8fd5505cc54df2c2dc5d21))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://www.blender.org/press/anthropic-joins-the-blender-development-fund-as-corporate-patron/), [2](https://mastodon.social/@Blender/116482997785333001), [3](https://bsky.app/profile/blender.org/post/3mkkuyq3ijs2q)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [F3D](https://f3d.app/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/f3d-app/f3d/blob/f908304004003a7fecadcd0b0f20bb772ba3f512/AI_POLICY.md))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://f3d.app/)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | - ### Image Manipulation | Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | |---|:---:|---|---| -| [ImageMagick](https://github.com/ImageMagick/ImageMagick) | [`v7.1.2.16`](https://github.com/ImageMagick/ImageMagick/releases/tag/7.1.2-16) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/ImageMagick/ImageMagick/discussions/8615#discussioncomment-16125182)) | [GraphicsMagick](http://www.graphicsmagick.org/), [vips](https://github.com/libvips/libvips) | +| [ImageMagick](https://github.com/ImageMagick/ImageMagick) | [`v7.1.2.16`](https://github.com/ImageMagick/ImageMagick/releases/tag/7.1.2-16) | [![Vibecoded](./badges/vibecoded.svg)](#vibecoded) ([1](https://github.com/ImageMagick/ImageMagick/discussions/8615#discussioncomment-16125182)) | [GraphicsMagick](http://www.graphicsmagick.org/) | | [excalidraw](https://github.com/excalidraw/excalidraw) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/excalidraw/excalidraw/blob/2b0e4c9623e44b3f2f7d02d532f23128e988cb5d/CLAUDE.md)) | [LibreOffice Draw] | -| [LibreSprite](https://libresprite.github.io/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) |[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/LibreSprite/LibreSprite/issues/601#issuecomment-4183562152))
[![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://github.com/LibreSprite/LibreSprite/blob/a678ddf8952a8be435bbd90da5071ab83aaf6183/data/scripts/examples/ai.js)) | [Krita](https://krita.org/de/) | | [tldraw](https://github.com/tldraw/tldraw) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/excalidraw/excalidraw/blob/2b0e4c9623e44b3f2f7d02d532f23128e988cb5d/CLAUDE.md)) | [LibreOffice Draw] | | [draw.io](https://github.com/jgraph/drawio-desktop) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/jgraph/drawio-desktop/blob/f1bcba4ef7f712a8ffd1efb73f4cbc699b25e998/CLAUDE.md)) | [LibreOffice Draw] @@ -655,810 +304,29 @@ This is a section for repos that are similar to this one either because they are | Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | |---|:---:|---|---| -| [darktable](https://github.com/darktable-org/darktable/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/darktable-org/darktable/pull/20706), [2](https://github.com/darktable-org/darktable/pull/20575), [3](https://github.com/darktable-org/darktable/pull/20556)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [RapidRAW](https://github.com/CyberTimon/RapidRAW/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/CyberTimon/RapidRAW/blob/main/README.md#rapidraw)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [RawTherapee](https://github.com/RawTherapee/RawTherapee/) | [`5.12`](https://github.com/RawTherapee/RawTherapee/releases/tag/5.12) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/RawTherapee/RawTherapee/commit/c4b04007107a426dd7011002e8085aa6f398ab60))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/RawTherapee/RawTherapee/pull/7518#pullrequestreview-3348449593), [2](https://github.com/RawTherapee/RawTherapee/pull/7435#pullrequestreview-3059697445), [3](https://github.com/RawTherapee/RawTherapee/pull/7378#pullrequestreview-2969042638)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | - +| [RawTherapee](https://github.com/RawTherapee/RawTherapee/) | [`5.12`](https://github.com/RawTherapee/RawTherapee/releases/tag/5.12) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/RawTherapee/RawTherapee/commit/c4b04007107a426dd7011002e8085aa6f398ab60))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/RawTherapee/RawTherapee/pull/7518#pullrequestreview-3348449593), [2](https://github.com/RawTherapee/RawTherapee/pull/7435#pullrequestreview-3059697445), [3](https://github.com/RawTherapee/RawTherapee/pull/7378#pullrequestreview-2969042638)) | [`5.12`](https://github.com/RawTherapee/RawTherapee/releases/tag/5.12) | ### Video | Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | |---|:---:|---|---| -| [Fladder](https://github.com/DonutWare/Fladder) | [`ddb71ef`](https://github.com/DonutWare/Fladder/commit/ddb71ef83514399ed326688cde5d6ee108dde7dd) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/DonutWare/Fladder/pull/827), [2](https://github.com/DonutWare/Fladder/pull/828), [3](https://github.com/DonutWare/Fladder/pull/831))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/DonutWare/Fladder/pull/158), [2](https://github.com/DonutWare/Fladder/pull/161), [3](https://github.com/DonutWare/Fladder/pull/556)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [gstreamer](https://gstreamer.freedesktop.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://gitlab.freedesktop.org/gstreamer/gstreamer/-/commit/e4d7f95b0c8ea4b1e23d6660317968f8033ae3a9)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [VLC](https://code.videolan.org/videolan/vlc) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Vibecoded](./badges/vibecoded.svg)](#vibecoded) ([1](https://www.youtube.com/watch?v=25MwBEWxQG0&t=2987s)) | [Showtime] (gstreamer-based)
[SMPlayer] (mplayer-based)
[ffplay] (ffmpeg+SDL-based) | +| [gstreamer](https://gstreamer.freedesktop.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Vibecoded](./badges/vibecoded.svg)](#vibecoded) ([1](https://gitlab.freedesktop.org/gstreamer/gstreamer/-/commit/e4d7f95b0c8ea4b1e23d6660317968f8033ae3a9)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [mpv](https://github.com/mpv-player/mpv) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/mpv-player/mpv/blob/master/DOCS/contribute.md#ai-assisted-contributions)) | [MPlayer](https://mplayerhq.hu/)
[Showtime] (gstreamer-based)
[SMPlayer] (mplayer-based)
[ffplay] (ffmpeg+SDL-based) | +| [Kodi](https://kodi.tv) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Vibecoded](./badges/vibecoded.svg)](#vibecoded) ([1](https://github.com/xbmc/xbmc/commit/6a1411f263f84d69da36cf15d0da03b3439d590f))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/xbmc/xbmc/pull/28144)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [Jellyfin](https://jellyfin.org) (server) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://jellyfin.org/docs/general/contributing/llm-policies#llm-code-contributions-to-official-projects))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/jellyfin/jellyfin/pull/16540)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [Jellyfin Desktop](https://github.com/jellyfin/jellyfin-desktop) | Use archived [Qt-based client](https://github.com/jellyfin-archive/jellyfin-desktop-qt/) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://jellyfin.org/docs/general/contributing/llm-policies#llm-code-contributions-to-official-projects), [2](https://github.com/jellyfin/jellyfin-desktop/blob/main/CLAUDE.md), [3](https://retro.social/@ieure/116304493795805340)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [Kodi](https://kodi.tv) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/xbmc/xbmc/commit/6a1411f263f84d69da36cf15d0da03b3439d590f))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/xbmc/xbmc/pull/28144)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [mpv](https://github.com/mpv-player/mpv) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/mpv-player/mpv/blob/master/DOCS/contribute.md#ai-assisted-contributions)) | [MPlayer](https://mplayerhq.hu/)
[Showtime] (gstreamer-based)
[SMPlayer] (mplayer-based)
[ffplay] (ffmpeg+SDL-based)
[QMPlay2] (ffmpeg+libmodplug-based) | -| [NewPipe](https://newpipe.net) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/TeamNewPipe/NewPipe?tab=contributing-ov-file#ai-policy)) | [LibreTube] | +| [Jellyfin Desktop](https://github.com/jellyfin/jellyfin-desktop) | Use the (now archived) [Qt-based client](https://github.com/jellyfin-archive/jellyfin-desktop-qt/) | [![Vibecoded](./badges/vibecoded.svg)](#vibecoded) ([1](https://github.com/jellyfin/jellyfin-desktop/commit/7c3ae05aa63b9155203daf15a2ec4f52c319c6e6))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://jellyfin.org/docs/general/contributing/llm-policies#llm-code-contributions-to-official-projects), [2](https://github.com/jellyfin/jellyfin-desktop/blob/main/CLAUDE.md)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [PipePipe](https://pipepipe.dev/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/InfinityLoop1308/PipePipeClient/blob/dev/CLAUDE.md)) | [LibreTube] | -| [VLC](https://code.videolan.org/videolan/vlc) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://code.videolan.org/videolan/vlc/-/commit/bd7d103792c37f6a9883b40d099f008672e2ea39), [2](https://www.youtube.com/watch?v=25MwBEWxQG0&t=2987s))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://code.videolan.org/videolan/vlc/-/merge_requests/8927))
[![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://nitter.net/videolan/status/1877072497146781946)) | [Showtime] (gstreamer-based)
[SMPlayer] (mplayer-based)
[ffplay] (ffmpeg+SDL-based)
[QMPlay2] (ffmpeg+libmodplug-based) | +| [NewPipe](https://newpipe.net) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/TeamNewPipe/NewPipe?tab=contributing-ov-file#ai-policy)) | [LibreTube] | -## Continuous Integration - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [Act](https://nektosact.com/) | [`v0.2.85`](https://github.com/nektos/act/releases/tag/v0.2.85) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/nektos/act/blob/48822e4a7722a1c43621218a9d5ae705fc395679/CLAUDE.md)) | [Forgejo Actions](https://forgejo.org/docs/latest/user/actions/overview/) | -| [Woodpecker](https://woodpecker-ci.org/) | [`v3.12.0`](https://github.com/woodpecker-ci/woodpecker/releases/tag/v3.12.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/woodpecker-ci/woodpecker/pull/6501), [2](https://github.com/woodpecker-ci/woodpecker/commit/92b48f813aa3c6be5421fa9747acb33abdf9f192))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/woodpecker-ci/woodpecker/pull/5767), [2](https://github.com/woodpecker-ci/woodpecker/pull/5886), [3](https://github.com/woodpecker-ci/woodpecker/pull/6166)) | [Forgejo Actions](https://forgejo.org/docs/latest/user/actions/overview/) | - -## Cryptography - -### Disk Encryption - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [cryptsetup](https://gitlab.com/cryptsetup/cryptsetup) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://gitlab.com/cryptsetup/cryptsetup/-/blob/main/CONTRIBUTING.md?ref_type=heads#how-to-contribute-changes-to-cryptsetup), [2](https://gitlab.com/cryptsetup/cryptsetup/-/work_items/986))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://gitlab.com/cryptsetup/cryptsetup/-/raw/v2.8.6/docs/v2.8.6-ReleaseNotes))
[![Permits LLM Ingestion](./badges/permits-llm-ingestion.svg)](#permits-llm-ingestion) ([1](https://gitlab.com/cryptsetup/cryptsetup/-/merge_requests/901)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [VeraCrypt](https://github.com/veracrypt/VeraCrypt) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/veracrypt/VeraCrypt/pull/1710), [2](https://github.com/veracrypt/VeraCrypt/pull/1703), [3](https://github.com/veracrypt/VeraCrypt/pull/1386))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/veracrypt/VeraCrypt/pull/1525)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | - -### File Encryption - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [age](https://github.com/FiloSottile/age) | [`4a3a4ef`](https://github.com/FiloSottile/age/commit/4a3a4ef00aa1e14627c017e978a45e309b39e516) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/FiloSottile/age/commit/db09cd66d1578bbb409cee25a891ba38483c5894), [2](https://github.com/FiloSottile/age/commit/706dfc1e799a03443ae46023502bd88d4e9e324f), [3](https://github.com/FiloSottile/age/commit/4c86929a84aac61aaca81ec67d7ccce9d1fad727)) | [rage](https://github.com/str4d/rage) | -| [gocryptfs](https://nuetzlich.net/gocryptfs/) | [`v2.5.4`](https://github.com/rfjakob/gocryptfs/releases/tag/v2.5.4) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/rfjakob/gocryptfs/pull/932))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/rfjakob/gocryptfs/pull/950), [2](https://github.com/rfjakob/gocryptfs/pull/995)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [Cryptomator](https://github.com/cryptomator/cryptomator) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/keybase/client/pull/29225), [2](https://github.com/cryptomator/cryptomator/commit/699e22d31a43512eb1d288f0177a2fd10d4fc1d9), [3](https://github.com/cryptomator/cryptomator/commit/d5d992b1c25af541b513b13c46f6b2aac13cbe38))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/cryptomator/cryptomator/pull/4227), [2](https://github.com/cryptomator/cryptomator/pull/4105), [3](https://github.com/cryptomator/cryptomator/pull/4179)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | - -## Data Archival - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [redumper](https://github.com/superg/redumper) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/superg/redumper/issues/365#issuecomment-4159043849)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | - -## Device Exploiting - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [MTKClient](https://github.com/bkerler/mtkclient) | [`9f64e8e`](https://github.com/bkerler/mtkclient/commit/9f64e8e6212cc94db506339426dcf6b61f9027fa) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/bkerler/mtkclient/commit/b74421a47d19a5eaf5929bf0daad7b9f03c0ef58)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | - -## Documents - -### Document Converters - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [cmark](https://github.com/commonmark/cmark) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/commonmark/cmark/commit/9dc68b89800ccba49551f2055f2b41e20e9039b1), [2](https://github.com/commonmark/cmark/commit/cb3fe8c4dcfafb5c291096a1afc84723015e52dc), [3](https://github.com/commonmark/cmark/commit/8c9dcdd2d71cc191f2f9a9791b06e58c9aec5ec3))
[![Permits LLM Ingestion](./badges/permits-llm-ingestion.svg)](#permits-llm-ingestion) ([1](https://github.com/commonmark/cmark/issues/599#issuecomment-3914290545)) | [Markdown.pl](https://daringfireball.net/projects/markdown/) (md to html) | -| [commonmark-java](https://github.com/commonmark/commonmark-java) | [`e62bca1`](https://github.com/commonmark/commonmark-java/commit/e62bca11062dc52b4f7a28d1da3d16c49ba81628) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/commonmark/commonmark-java/commit/f3be489803f3446e610f2948fd77d4e821a5cefd), [2](https://github.com/commonmark/commonmark-java/commit/5815c3c0b17f52b53e65465fd8ff65da8e6304fa), [3](https://github.com/commonmark/commonmark-java/commit/057f13dd8e9472a45c714ad0c06a1a425ec21f61)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [Pandoc](https://pandoc.org/) | [`0ce85b0`](https://github.com/jgm/pandoc/commit/0ce85b0cfa8e5d3155dddc77b1408b4d7d7890fa) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/jgm/pandoc/pull/11132), [2](https://github.com/jgm/pandoc/pull/11396), [3](https://github.com/jgm/pandoc/commit/4b26f50118d7c0fdb3c1095dc26ba671e1b4b538)) | [lowdown](https://kristaps.bsd.lv/lowdown/)?
[Typst](https://typst.app/)? | - -### Document Viewers - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [Sumatra PDF](https://www.sumatrapdfreader.org/) | [`v3.5.2`](https://github.com/sumatrapdfreader/sumatrapdf/releases/tag/3.5.2rel) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/sumatrapdfreader/sumatrapdf/commit/aad9f76790d2f44894d73e28620eac41aeb5eb5c))| [Xournal++](https://xournalpp.github.io/) | - -## E-Mail and Calendar - -### E-Mail Desktop Clients - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---------|:--------------:|----------|-------| -| [Forward Email](https://github.com/forwardemail/mail.forwardemail.net/blob/main/AGENTS.md) | [`v0.9.1`](https://github.com/forwardemail/mail.forwardemail.net/releases/tag/v0.9.1) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/forwardemail/mail.forwardemail.net/blob/main/AGENTS.md)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [NeoMutt](https://github.com/neomutt/neomutt) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/neomutt/neomutt/pull/4737)) | [mutt](http://mutt.org) | - -### E-Mail Mobile Clients - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---------|:--------------:|----------|-------| -| [FairEmail](https://github.com/M66B/FairEmail) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://github.com/M66B/FairEmail/blob/master/FAQ.md#faq190)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [thunderbird android/k-9 mail](https://github.com/thunderbird/thunderbird-android/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/thunderbird/thunderbird-android/blob/main/AGENTS.md)) | [Simple Email](https://framagit.org/dystopia-project/simple-email) | - -### Calendar Mobile Clients - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---------|:--------------:|----------|-------| -| [Giggity](https://github.com/Wilm0r/giggity) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/Wilm0r/giggity/blob/master/CLAUDE.md)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | - -## File Monitoring - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [watchexec](https://github.com/watchexec/watchexec) | [`2.3.2`](https://github.com/watchexec/watchexec/releases/tag/v2.3.2) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/watchexec/watchexec/commit/1715e7fc9d1f0cfd79ae23b96385df22deecc83a)) | [entr](https://github.com/eradman/entr), [watfs](https://codeberg.org/chjlsch/watfs) | - -## File Storage +## Terminal Emulators | Name | Last Untainted Version or Commit ID | Tags and Evidence | |---|:---:|---| -| [Ente Locker](https://ente.com/locker/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/ente-io/ente/commit/3fbe3a463b50aa52028c33acd10f7d1d94c7c368)) | -| [JuiceFS](https://juicefs.com/en/) | [`v1.2.3`](https://github.com/juicedata/juicefs/releases/tag/v1.2.3) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/juicedata/juicefs/pull/6241)) | -| [MinIO](https://www.min.io/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://github.com/minio/minio)) | -| [Nextcloud](https://nextcloud.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/nextcloud/desktop/blob/master/AGENTS.md))
[![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://nextcloud.com/assistant/)) | -| [Rook/Ceph](https://rook.io/) | [`v1.17.0`](https://github.com/rook/rook/releases/tag/v1.17.0) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/rook/rook/pull/15563#pullrequestreview-2724068439)) | -| [RustFS](https://rustfs.com/) | None | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/rustfs/rustfs/blob/main/AGENTS.md), [2](https://github.com/rustfs/rustfs/commit/6ce24f3b632f86c456a95d6e8b6ba9d05c8e4ae5), [3](https://github.com/rustfs/rustfs/commit/2bf4b1439495db1aeed5bbe474083a04a25f69e5))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/rustfs/rustfs/pull/2584), [2](https://github.com/rustfs/rustfs/pull/2583), [3](https://github.com/rustfs/rustfs/pull/2581)) | -| [SeaweedFS](https://seaweedfs.com/) | [`3.87`](https://github.com/seaweedfs/seaweedfs/releases/tag/3.87) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/seaweedfs/seaweedfs/pull/7996)) | -| [Silo](https://silo.pigsty.io/) | None | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/pgsty/minio/commit/ee55e5391a5d5e4bd46d555a11b2215eb6ed836e), [2](https://github.com/pgsty/minio/commit/ce1c537eb1dd6c4efa1cf75cf5df0e2c489c947a), [3](https://github.com/pgsty/minio/commit/8630937e7d1c3426ae28508e06f7091d7bde3a49)) | -| [Syncthing](https://syncthing.net/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/syncthing/syncthing/blob/main/.deepsource.toml), [2](https://github.com/syncthing/syncthing/pull/10652)) | -| [Syncthing-Fork](https://github.com/researchxxl/syncthing-android) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/researchxxl/syncthing-android/blob/main/.github/copilot-instructions.md), [2](https://github.com/researchxxl/syncthing-android/issues/184#issuecomment-4038469954), [3](https://github.com/researchxxl/syncthing-android/pull/223)) | -> [!NOTE] -> ### File Storage Alternatives -> * [CopyParty](https://github.com/9001/copyparty) for general file sharing -> * [Garage] for S3 compatibility -> * [k8s-csi-s3](https://github.com/yandex-cloud/k8s-csi-s3) S3-backed k8s CSI -> * [OpenEBS](https://github.com/openebs/openebs) for block storage -> -> For MinIO: -> MinIO no longer maintains open source software so the entry is just for their old FOSS presence. - -## File Transferring - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [LocalSend](https://localsend.org) | [`a14e610`](https://github.com/localsend/localsend/commit/a14e610ee015a15b5fcd84c0f46f3033cda9a033) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/localsend/localsend/pull/2741#discussion_r2404361615), [2](https://github.com/localsend/localsend/pull/2518))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/localsend/localsend/pull/2880#pullrequestreview-4093401027), [2](https://github.com/localsend/localsend/pull/2922#pullrequestreview-3723284938), [3](https://github.com/localsend/localsend/pull/2777#pullrequestreview-3342581351))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://github.com/localsend/localsend#sponsors)) | [LocalShare](https://github.com/defname/LocalShare),
[PairDrop](https://pairdrop.net/#about),
[Sharing](https://github.com/Ammar64/Sharing),
[Warp](https://apps.gnome.org/Warp/) | -| [rsync](https://rsync.samba.org/) | [`3.4.1`](https://github.com/RsyncProject/rsync/releases/tag/v3.4.1) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/RsyncProject/rsync/commit/aa142f08ef31d3ffa8d6b3b8af16d00324a98c1b), [2](https://github.com/RsyncProject/rsync/commit/b905ab23af2d71363271e99e446e8fe0bfc77f7f)) | [openrsync](https://github.com/kristapsdz/openrsync),
`scp`,
an FTP client,
[tar](https://drewdevault.com/blog/rsync-without-rsync/) | - -## Filesystem Navigation - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [eza](https://eza.rocks/) | [`v0.21.0`](http://github.com/eza-community/eza/releases/tag/v0.21.0) | [![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://github.com/eza-community/eza/blob/eed27ed05e74542af5852aed40e3dbff87d69c43/README.md)) | [ls](https://en.wikipedia.org/wiki/Ls) | -| [fd](https://github.com/sharkdp/fd) | [`v10.2.0`](https://github.com/sharkdp/fd/releases/tag/v10.2.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/sharkdp/fd/blob/7f1b1471d5e3f88087eaad77885dc70968750bb3/CONTRIBUTING.md), [2](https://github.com/sharkdp/fd/commit/0ada245e37c0de42e61da50da0ad3bcc49efb74f), [3](https://github.com/sharkdp/fd/commit/19dcbff5627010b11cb409a5ac2e0480bf0a61b7))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/sharkdp/fd/pull/1805), [2](https://github.com/sharkdp/fd/pull/1934), [3](https://github.com/sharkdp/fd/pull/1928)) | [find](https://en.wikipedia.org/wiki/Find_(Unix)) | -| [LSDeluxe](https://github.com/lsd-rs/lsd) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://github.com/lsd-rs/lsd/blob/ce869cf60e4d131bf0f781b6705265f34e68b6b5/README.md), [2](https://github.com/lsd-rs/lsd/commit/ae1a2cd964168dee240de1ba13dd85e08b9a26a4)) | [ls](https://en.wikipedia.org/wiki/Ls) | -| [zoxide](https://github.com/ajeetdsouza/zoxide) | [`v0.9.2`](https://github.com/ajeetdsouza/zoxide/releases/tag/v0.9.2) | [![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://github.com/ajeetdsouza/zoxide/blob/67ca1bc9592854dd4957b8b02f16292638475659/README.md), [2](https://github.com/ajeetdsouza/zoxide/commit/073500cbdf8ba211e5115fc6e51411cf2468fc5b), [3](https://github.com/ajeetdsouza/zoxide/commit/61f19a60d91b7181bfdc88470e72bcd1befc7c6a)) | [cd](https://en.wikipedia.org/wiki/Cd_(command)) | - -### File Managers - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [Superfile](https://superfile.dev) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/yorukot/superfile/blob/main/.gitignore),[2](https://github.com/yorukot/superfile/commit/4f875e5c2e0e2a837a2c4a6548dbc09f76905c29),[3](https://github.com/yorukot/superfile/commit/130f1ef57b8314dd4bc5c7a22eac6db996da4361))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/yorukot/superfile/pull/1405),[2](https://github.com/yorukot/superfile/pull/1391),[3](https://github.com/yorukot/superfile/pull/1387))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#ai-sponsored) ([1](https://github.com/yorukot/superfile#----superfile-is-supported-by-the-community--))| [lf](https://github.com/gokcehan/lf),
[Midnight Commander](https://midnight-commander.org/),
[vifm](https://vifm.info/) | -| [Yazi](https://yazi-rs.github.io/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/sxyazi/yazi/pull/3038), [2](https://github.com/sxyazi/yazi/commit/eb537733a2c5b09649b56284b74dbdd4e70006ec))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/sxyazi/yazi/pull/3949),[2](https://github.com/sxyazi/yazi/pull/3934),[3](https://github.com/sxyazi/yazi/pull/3930))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#ai-sponsored) ([1](https://github.com/sxyazi/yazi/blob/main/README.md), [2](https://github.com/sxyazi/yazi/commit/7f1e9b83fdd5a63aed048ecf17ef51e9b2584901))| [lf](https://github.com/gokcehan/lf),
[Midnight Commander](https://midnight-commander.org/),
[vifm](https://vifm.info/) | - -## Forum Software - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [Discourse](https://www.discourse.org/) | [`v3.1.0.beta2`](https://github.com/discourse/discourse/releases/tag/v3.1.0.beta2) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://meta.discourse.org/t/discourse-ai/259214), [2](https://meta.discourse.org/t/bundling-more-popular-plugins-with-discourse-core/373574))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/discourse/discourse/blob/af03824f417510aec37091f4f4e3b0c00e71075a/AI-AGENTS.md))
[![Gen AI 'Art'](./badges/gen-ai-art-dark-yellow.svg)](#gen-ai-art) ([1](https://meta.discourse.org/t/all-discourse-ai-features-now-available-on-pro-and-business/333409)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | - -## Gaming - -### Cellular Automata - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [Golly](https://golly.sourceforge.io/) | [`883b1ff`](https://sourceforge.net/p/golly/code/ci/883b1ff4f61d66426caf49768e7b1704ec7dadfc/) | [![Gen AI 'Art'](./badges/gen-ai-art-dark-yellow.svg)](https://codeberg.org/small-hack/open-slopware#gen-ai-art) ([1](https://golly.sourceforge.io/Help/changes.html)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | - -### Game engines - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [Godot Engine](https://godotengine.org/) | [`4.3-stable`](https://github.com/godotengine/godot/releases/tag/4.3-stable) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://contributing.godotengine.org/en/latest/pull_requests/pull_request_guidelines.html#ai-assisted-contributions), [2](https://github.com/godotengine/godot/pull/112471#issuecomment-4047941693)) | [Pandemonium Engine] | -| [GDevelop](https://gdevelop.io/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://gdevelop.io/), [2](https://github.com/4ian/GDevelop/commit/6ec16045d140a9d55721f71620e128d4969c5fe6), [3](https://github.com/4ian/GDevelop/pull/8509/commits/74409a280cd248ee4d54523b23f5c1507d6380af)) | [Pandemonium Engine] | -| [GZDoom](https://github.com/zdoom/gzdoom) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/ZDoom/gzdoom/commit/584af500736b0317e42824f39285ed3d954fc4e2)) | [UZDoom](https://github.com/UZDoom/UZDoom), [Chocolate Doom](https://www.chocolate-doom.org/) | -| [Jmonkey](https://jmonkeyengine.org/)| [`3.6.1-stable`](https://github.com/jMonkeyEngine/jmonkeyengine/releases/tag/v3.6.1-stable) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) [(1)](https://github.com/jMonkeyEngine/jmonkeyengine/pull/2640)
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) [(1)](https://github.com/jMonkeyEngine/jmonkeyengine/pull/2640#issuecomment-4039106977) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [Luanti](https://luanti.org) | [`5.14.0`](https://github.com/luanti-org/luanti/releases/tag/5.14.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/luanti-org/luanti/pull/16808), [2](https://github.com/luanti-org/luanti/pull/16961), [3](https://github.com/luanti-org/luanti/pull/17095)) | [ClassiCube](https://www.classicube.net/)
[Cubyz](https://github.com/PixelGuys/Cubyz)
[Cubos](https://cubosengine.org) | -| [UPBGE 0.5](https://upbge.org/) | [`0.36.1`](https://github.com/UPBGE/upbge/releases/tag/v0.36.1) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/UPBGE/upbge/wiki/Release-notes-version-0.50#b-implementation-technique-and-limitations)) | [![Request for Help](./badges/request-for-help.svg)](https://codeberg.org/small-hack/open-slopware#request-for-help) | - -> [!NOTE] -> #### Alternative Game Engines -> - [LƖVE](https://love2d.org/) is a 2D game engine based on Lua with some 3D capability that may serve as a viable alternative to Godot/Unity depending on your project's requirements. - -### Game Managers and Launchers - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [Heroic](https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher) | [`2.20.1`](https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/releases/tag/v2.20.1) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/pull/5373)) | [![Request for Help](./badges/request-for-help.svg)](https://codeberg.org/small-hack/open-slopware#request-for-help)| -| [Lutris](https://github.com/lutris/lutris) | [![Request for Help](./badges/request-for-help.svg)](https://codeberg.org/small-hack/open-slopware#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://web.archive.org/web/20260312043526/https://github.com/lutris/lutris/issues/6506#issuecomment-3976118573), [2](https://github.com/lutris/lutris/discussions/6530)) | [Bottles](https://github.com/bottlesdevs/Bottles) | -| [TinyWiiBackupManager](https://github.com/mq1/TinyWiiBackupManager) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Gen AI 'Art'](./badges/gen-ai-art-dark-yellow.svg)](#gen-ai-art) ([1](https://github.com/mq1/TinyWiiBackupManager/commit/3eef34254c18e9ad93e4291999d2abbc6d90b6a0)) | See [this post](https://pixelo789.codeberg.page/blog/2026-05-11-slop-free-wii-library-managing/) | -| [umu](https://github.com/Open-Wine-Components/umu-launcher) | [`1.3.0`](https://github.com/Open-Wine-Components/umu-launcher/releases/tag/1.3.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/Open-Wine-Components/umu-launcher/commit/424ffbf63c64107b87d948a7bbbea64d419bce4d), [2](https://github.com/Open-Wine-Components/umu-launcher/commit/12eb390fee3821fa3260ea856006e39ed85b26ae)) | [![Request for Help](./badges/request-for-help.svg)](https://codeberg.org/small-hack/open-slopware#request-for-help) | - -### Mod managers - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [Modrinth](https://modrinth.com/) | [![Request for Help](./badges/request-for-help.svg)](https://codeberg.org/small-hack/open-slopware#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/modrinth/code/blob/main/CLAUDE.md), [2](https://github.com/modrinth/code/tree/main/.claude/skills)) | [![Request for Help](./badges/request-for-help.svg)](https://codeberg.org/small-hack/open-slopware#request-for-help) | - -### Emulators - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [Amiberry](https://amiberry.com/) | [`7.1.1`](https://github.com/BlitterStudio/amiberry/releases/tag/v7.1.1) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/BlitterStudio/amiberry/pull/1870), [2](https://github.com/BlitterStudio/amiberry/pull/1868), [3](https://github.com/BlitterStudio/amiberry/pull/1866))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/BlitterStudio/amiberry/pull/1818), [2](https://github.com/BlitterStudio/amiberry/pull/1809), [3](https://github.com/BlitterStudio/amiberry/pull/1781)) | [Denise](https://sourceforge.net/projects/deniseemu/) | -| [Azahar](https://azahar-emu.org/) | [`2124.3`](https://github.com/azahar-emu/azahar/releases/tag/2124.3) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/azahar-emu/azahar/blob/master/AI-POLICY.md)) | [![Request for Help](./badges/request-for-help.svg)](https://codeberg.org/small-hack/open-slopware#request-for-help) | -| [Cemu](https://cemu.info/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/cemu-project/Cemu/issues/1924#issuecomment-4502709266)) | [decaf-emu](https://github.com/decaf-emu/decaf-emu) | -| [VisualBoyAdvance-M](https://github.com/visualboyadvance-m/visualboyadvance-m) | [![Request for Help](./badges/request-for-help.svg)](https://codeberg.org/small-hack/open-slopware#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/visualboyadvance-m/visualboyadvance-m/blob/master/CLAUDE.md), [2](https://github.com/visualboyadvance-m/visualboyadvance-m/commit/e5c7eae069aeab4630e588b760586f96f9fe9111), [3](https://github.com/visualboyadvance-m/visualboyadvance-m/pull/1515))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/visualboyadvance-m/visualboyadvance-m/pull/1501)) | [mGBA](https://github.com/mgba-emu/mgba) - -## Input Remapping - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [kanata](https://github.com/jtroo/kanata) | [`v1.9.0`](https://github.com/jtroo/kanata/releases/tag/v1.9.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/jtroo/kanata/commit/1fd7db64a74a5e66a1780dc60e3993e53d9d003f), [2](https://github.com/jtroo/kanata/commit/60fa5c8d0cdb033efcf3c3e54cb4047e29e6093f), [3](https://github.com/jtroo/kanata/pull/1707)) | [keyd](https://github.com/rvaiya/keyd),
[kmonad](https://github.com/kmonad/kmonad) | -| [keymapper](https://github.com/houmain/keymapper) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/houmain/keymapper/blob/55744c5a9f4f0c3eb1861cf2ac51632fb8ac7390/src/client/unix/MessageBoxCocoa.mm#L4), [2](https://github.com/houmain/keymapper/pull/356)) | [keyd](https://github.com/rvaiya/keyd),
[kmonad](https://github.com/kmonad/kmonad) | - -## Language and Localization - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [Weblate](https://weblate.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/WeblateOrg/weblate/blob/main/AGENTS.md), [2](https://github.com/WeblateOrg/weblate/commit/aad714d7a3eb728b1800a8874586a27a7253e177), [3](https://github.com/WeblateOrg/weblate/commit/23d1e3e41c394da62dcf69da2dbb3119bacbc75f)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | - -## Learning -| Name | Last Untainted Version or Commit ID | Tags and Evidence | -|---|:---:|---| -| [Anki](https://apps.ankiweb.net/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/ankitects/anki/tree/main/.cursor/rules), [2](https://github.com/ankitects/anki/blob/main/CLAUDE.md)) | -| [AnkiDroid](https://github.com/ankidroid/Anki-Android/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/ankidroid/Anki-Android/blob/main/AI_POLICY.md#disclosure)) | - -> [!Note] -> #### **Anki desktop alternatives** -> - [Mnemosyne](https://mnemosyne-proj.org/): Project is written in Python, which is tainted. See [Programming languages](#programming-languages) -> - [Scholarsome](https://scholarsome.com/): Last commit was 2 years ago. Self-hosted. - -## Mapping - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | -|---|:---:|---| -| [BRouter](https://brouter.de/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/jonnybbb/brouter/pull/5)) | -| [CoMaps](https://www.comaps.app/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://codeberg.org/comaps/Governance/src/branch/main/AI_USAGE.md)) | -| [GraphHopper](https://github.com/graphhopper/graphhopper) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/graphhopper/graphhopper/pull/3333)) | -| [Organic Maps](https://organicmaps.app/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/organicmaps/organicmaps/blob/master/.github/copilot-instructions.md)) | -| [OsmAnd](https://osmand.net/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/osmandapp/OsmAnd/blob/master/AGENTS.md)) | -| [OSRM](https://project-osrm.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/Project-OSRM/osrm-backend/blob/master/AGENT.md)) | -| [Vespucci](https://vespucci.io/) | [`c1053f9`](https://github.com/MarcusWolschon/osmeditor4android/commit/c1053f9a8612937b56d0ae5802cfeae35943f911) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/MarcusWolschon/osmeditor4android/blob/e6aea69c6f14fad37d1fbb9c09bc7b19d4c4d452/README.md#aillm-generated-contributions)) | - -> [!Note] -> ### Mapping Alternatives -> * [Navit](https://github.com/navit-gps/navit) for car navigation -> * [OpenRouteService](https://openrouteservice.org/) -> * [Open Street Map](https://www.openstreetmap.org) provides lists of clients on its [wiki](https://wiki.openstreetmap.org/wiki/Software). For example, other mobile clients can be found on the [Android](https://wiki.openstreetmap.org/wiki/Android) page. - -## Messaging - -### Messaging Servers - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | -|---|:---:|---| -| [Dendrite](https://github.com/element-hq/dendrite/) | [`v0.14.1`](https://github.com/element-hq/dendrite/commit/40bef6a423d91fff69afb1cfb926d0b1612f38ec) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/element-hq/dendrite/commit/7f4ba1f6ebeffc709e5be97930122711cb8c9d63)) | -| [Nerimity](https://github.com/Nerimity/nerimity-server) | [`661d069`](https://github.com/Nerimity/nerimity-server/commit/661d0693474180cee8d167c1201015c278c7a360) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/Nerimity/nerimity-server/pull/40), [2](https://github.com/Nerimity/nerimity-server/pull/38), [3](https://github.com/Nerimity/nerimity-server/pull/32))| -| [Synapse](https://github.com/element-hq/synapse) | [`b4282b8`](https://github.com/element-hq/synapse/commit/b4282b82d0dbc3ba34954d442a581ad9331e465a) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/element-hq/synapse/commit/539f708f32af4cc01f6d82f1bb0069ff38e93593), [2](https://github.com/element-hq/synapse/commit/f545aa4f33377f2c68aad7032afbe5a395c35cbc), [3](https://github.com/element-hq/synapse/commit/40d699b1d4d7855ffb892723eac90cd34f22aa6f)) | - -> [!Note] -> #### Messaging Server Alternatives by protocols -> - IRC servers overall don't seem to have AI-committed code - - -### Messaging Clients - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | -|---|:---:|---| -| [ArcaneChat](https://arcanechat.me/) | None | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://fosstodon.org/@arcanechat/116296135536352968))
[![Gen AI 'Art'](./badges/gen-ai-art-dark-yellow.svg)](https://codeberg.org/small-hack/open-slopware#gen-ai-art) ([1](https://fosstodon.org/@arcanechat/116292382977465468)) | -| [Converse.js](https://conversejs.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/conversejs/converse.js/blob/master/AGENTS.md)) | -| [Delta Chat](https://delta.chat/en/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/deltachat/deltachat-android/pull/4249))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/deltachat/deltachat-android/pull/4255), [2](https://github.com/deltachat/deltachat-android/pull/4257), [3](https://github.com/deltachat/deltachat-android/pull/4259)) -| [Element Web](https://github.com/element-hq/element-web/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/element-hq/element-web/commit/68070b2e9788f0e5396f4c9d532b05e146e6ad60)) -| [Element X Android](https://github.com/element-hq/element-x-android/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/element-hq/element-x-android/blob/develop/AGENTS.md)) -| [Element X iOS](https://github.com/element-hq/element-x-ios/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/element-hq/element-x-ios/blob/develop/AGENTS.md)) -| [Fluxer](https://fluxer.app/) | None | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://web.archive.org/web/20260213205023/https://blog.fluxer.app/how-i-built-fluxer-a-discord-like-chat-app/), [2](https://github.com/fluxerapp/fluxer/blob/refactor/CONTRIBUTING.md#4-understand-the-code-you-submit), [3](https://github.com/fluxerapp/fluxer/issues/435)) | -| [gomuks](https://github.com/gomuks/gomuks) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/gomuks/gomuks/commit/5d6c1ba57cc4617ef1218805b1cfd0d1f7613ed0)) -| [Mattermost](https://mattermost.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/mattermost/mattermost/commit/e7f021de3683c72faf99fa82427304f3aae5bbf5))
[![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://docs.mattermost.com/administration-guide/configure/agents-admin-guide.html))| -| [Nerimity](https://github.com/Nerimity/nerimity-web) | [`9077876`](https://github.com/Nerimity/nerimity-web/commit/90778766e5947540f5fcbe5075247c8990507f40) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/Nerimity/nerimity-web/pull/638), [2](https://github.com/Nerimity/nerimity-web/pull/621), [3](https://github.com/Nerimity/nerimity-web/pull/605))| -| [Psi](https://psi-im.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/psi-im/psi/issues/793#issuecomment-2118897607)) | -| [Sharkord](https://sharkord.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/Sharkord/sharkord/issues/85), [2](https://github.com/Sharkord/sharkord/blob/fd637b6f369b54f2726cd78603b6147d6fe45a29/.gitignore#L2)) | -| [Telegram](https://telegram.org)| [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/telegramdesktop/tdesktop/commit/983bd1a57bfd9a88bb0e17b51103c5e6cf1e3f24))
[![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://telegram.org/blog/ai-editor-mighty-polls-and-more))| -| [Zulip](https://zulip.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://blog.zulip.com/2026/04/27/zulip-12-0-released/#ai-tools-are-changing-our-development-process), [2](https://github.com/zulip/zulip/blob/main/.claude/CLAUDE.md))
[![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://github.com/zulip/zulip/pull/32895)) | - -> [!Note] -> #### Messaging Client Alternatives by protocols -> - [matrix] -> - [Cinny](https://github.com/cinnyapp/cinny) (web) -> - [FluffyChat](https://github.com/krille-chan/fluffychat) (cross-platform) -> - [nheko](http://nheko.im/) (desktop, Linux phones) -> - [xmpp](https://xmpp.org/) -> - [Conversations](https://conversations.im/) (android) -> - [Kaidan](https://invent.kde.org/network/kaidan) (cross-platform) -> - [WeeChat](https://github.com/weechat/weechat): Multi-protocol -> - IRC clients overall don't seem to have AI-committed code - -## Microcontroller Tools and Libraries - -| Name | Last Untainted Version or Commit ID | Tags and Evidence |Alternative(s) | -|---|:---:|---|---| -| [betaflight](https://github.com/betaflight/betaflight) |[![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/search?q=repo%3Abetaflight%2Fbetaflight%20Claude&type=commits))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/betaflight/betaflight/blob/master/.coderabbit.yaml)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [BouffaloSDK](https://github.com/bouffalolab/bouffalo_sdk) | [`2.0.0`](https://github.com/bouffalolab/bouffalo_sdk/tree/V2.0.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/bouffalolab/bouffalo_sdk/blob/master/CLAUDE.md), [2](https://github.com/bouffalolab/bouffalo_sdk/tree/master/.claude/skills), [3](https://github.com/bouffalolab/bouffalo_sdk/blob/master/components/wireless/wl80211/CLAUDE.md)) | See below | -| [ch32-hal](https://github.com/ch32-rs/ch32-hal) | [`07687b9`](https://github.com/ch32-rs/ch32-hal/commit/07687b9f8d7b3823ef91ca23baa21663025c0346) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/ch32-rs/ch32-hal/pull/161), [2](https://github.com/ch32-rs/ch32-hal/pull/151), [3](https://github.com/ch32-rs/ch32-hal/pull/139))
[![Gen AI 'Art'](./badges/gen-ai-art-dark-yellow.svg)](https://codeberg.org/small-hack/open-slopware#gen-ai-art) ([1](https://avatars.githubusercontent.com/u/104085502?s=200&v=4)) | See below | -| [esphome](https://github.com/esphome/esphome) | [`a31a5e7`](https://github.com/esphome/esphome/commit/a31a5e74bdfa3ece19c502a91f81b0d93414bd67) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/esphome/esphome/blob/dev/.ai/instructions.md), [2](https://github.com/esphome/esphome/blob/dev/.claude/skills/pr-workflow/SKILL.md))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/esphome/esphome/pull/16018#pullrequestreview-4176888667), [2](https://github.com/esphome/esphome/pull/15997#pullrequestreview-4175883662)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [ESP-IDF](https://github.com/espressif/esp-idf) | [`5.5.2`](https://github.com/espressif/esp-idf/releases/tag/v5.5.2) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/tools/idf-py.html#esp-idf-mcp-server))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/espressif/esp-idf/commit/a4c014f96ed024ba5139e2e91258ee785741d611), [2](https://github.com/espressif/esp-idf/commit/20b9e06e9262af45863bd7cc7afeba3513083266), [3](https://github.com/espressif/esp-idf/commit/380dde02d0e48a9e85abb0392ce27dcaf9322c36))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/espressif/esp-idf/pull/18195), [2](https://github.com/espressif/esp-idf/pull/18273), [3](https://github.com/espressif/esp-idf/pull/18283)) | See below | -| [FastLED](https://fastled.io/) | [`3.10.1`](https://github.com/FastLED/FastLED/releases/tag/3.10.1)| [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/FastLED/FastLED/blob/master/ADVANCED_DEVELOPMENT.md#enabling-ai-coding), [2](https://github.com/FastLED/FastLED/commit/a7fcbf316fe7b0d6759e8d9955a22ff9df4328b2), [3](https://github.com/FastLED/FastLED/commit/bcfc3c0ff8b464a50a7f5f0a8b7437131fe08995)) | See below | -| [WLED](https://github.com/wled/WLED) | [`62d3e15`](https://github.com/wled/WLED/commit/62d3e155bde1077bf5784eb481cdc6e0059f993a) |[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/wled/WLED/blob/main/AGENTS.md), [2](https://github.com/wled/WLED/blob/main/.github/agent-build.instructions.md), [3](https://github.com/wled/WLED/blob/main/.github/copilot-instructions.md))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/wled/WLED/pull/5547#issuecomment-4321911776), [2](https://github.com/wled/WLED/pull/5503#issuecomment-4238198330)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | - -> [!Note] -> #### Alternative Microcontroller Tools and Libraries: -> Suggestions for alternative microcontroller SDK's are necessarily more complex than many other categories considered here, as that's one of the core technical choices to be made when starting a new hardware development project and the fact that a microcontroller SDK contains many pieces (like HAL's for hardware blocks, Wi-Fi/Bluetooth libraries) that are not easy to replicate from scratch, so don't feel pressured to switch. -> -> Switching to a different less known platform (e.g. Realtek or Beken) means losing out on many examples, community support and depending on the SDK also different licensing. -> -> Depending on your needs and technical concerns, you may find any number of different alternative microcontrollers useful. For example, when considering alternatives to ESP32 based chips, Beken may be an interesting candidate from the perspective of being a similar WiFi based microcontroller replacing the legacy ESP based microcontrollers in Wi-Fi enabled devices. -> -> For Bouffalo Lab microcontrollers: -> * [bl_iot_sdk](https://github.com/bouffalolab/bl_iot_sdk) -> -> For WCH microcontrollers: -> * [ch32fun](https://github.com/cnlohr/ch32fun) -> * Official [WCH C SDK's](https://github.com/openwch) -> -> Everything else not microcontroller-specific: -> -> * [Adafruit NeoPixel](https://github.com/adafruit/Adafruit_NeoPixel) - -## Networking - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [curl](https://curl.se/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://curl.se/dev/contribute.html#on-ai-use-in-curl), [2](https://mastodon.social/@bagder/116204333476519757))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/curl/curl/pull/20797), [2](https://github.com/curl/curl/pull/20798), [3](https://github.com/curl/curl/pull/20787))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://mastodon.social/@bagder/116609161259593989)) | [Wget](https://www.gnu.org/software/wget/) | - -### Reverse proxies - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | -|---|:---:|---| -| [caddy](https://github.com/caddyserver/caddy) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/caddyserver/caddy/blob/master/AGENTS.md), [2](https://github.com/caddyserver/caddy/pull/7666), [3](https://github.com/caddyserver/caddy/pull/7492)) | - -### Networking security tools -| Name | Last Untainted Version or Commit ID | Tags and Evidence | -|---|:---:|---| -| [Anubis](https://anubis.techaro.lol) | none | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/TecharoHQ/anubis/blob/main/AGENTS.md))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/TecharoHQ/anubis/pull/321), [2](https://github.com/TecharoHQ/anubis/pull/749)) | - -> [!NOTE] -> #### Networking security tool alternatives -> * [iocaine](https://iocaine.madhouse-project.org) -> * [go-away](https://git.gammaspectra.live/git/go-away) - -## Operating Systems - -> [!NOTE] -> Operating systems are not easy things to switch over night, and you may run into compatibility issues, so if you choose to switch, remember that it's OK to do so slowly. - -### BSD-based - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | -|---|:---:|---| -| [DragonFlyBSD](https://www.dragonflybsd.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://gitweb.dragonflybsd.org/?p=dragonfly.git;a=commit;h=41fb76421dce54f90c9cfb9f4f7e2993ae795266)) | -| [FreeBSD](https://freebsd.org) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/freebsd/freebsd-src/commit/6495dafd58b94a44fc9bc966ef47d6bc6916f5b9), [2](https://github.com/freebsd/freebsd-src/commit/1644e2ffd2640fa3e2c191ceaf048a5fc8399493), [3](https://github.com/freebsd/freebsd-src/commit/e1cff854997884ed9b7251d409d9c9c7a025606d))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/freebsd/freebsd-src/commit/943a05528494b2f4585541089606796476fb229e), [2](https://github.com/freebsd/freebsd-src/commit/25cc459286a02b646751541ccde5a33319471c73), [3](https://github.com/freebsd/freebsd-src/commit/18b7115cba2f698909a4801dc2cc1b04b1f4f210)) | -| [MidnightBSD](http://www.midnightbsd.org/) | [`ed4b0a5`](https://github.com/MidnightBSD/src/commit/ed4b0a5d41d2dcdd89a3795713fd5c8f91c39533) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/MidnightBSD/src/blob/ea6d4e4fb944e0f3a76dd9bfb91d23917a27d24b/AI_POLICY.md), [2](https://github.com/MidnightBSD/src/commit/7c14aa7a887490da483646a84a23d7452d7f719c))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/MidnightBSD/src/pull/262), [2](https://github.com/MidnightBSD/src/pull/302), [3](https://github.com/MidnightBSD/src/pull/302)) | -| [OpenBSD](https://openbsd.org) | [`7.8`](https://www.openbsd.org/78.html) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/openbsd/src/commit/9c2b8e445a0bdfafdd6148b1760f00aa5429627b), [2](https://github.com/openbsd/src/commit/e9af5eb5a61d189327b553b24d0d31f19c64b63f)) | - -> [!NOTE] -> #### Alternative BSD-based operating systems -> * [HyperbolaBSD](https://www.hyperbola.info/) has [banned LLMs](https://wiki.hyperbola.info/doku.php?id=en:philosophy:reject_machinelearning) -> * [MirBSD](https://mbsd.evolvis.org/) has [banned LLMs](https://mbsd.evolvis.org/permalinks/wlog2021_e20240726.htm#e20240726_wlog2021) -> * [NetBSD](https://www.netbsd.org/) has [allows core maintainers to sign off on LLM generated code](https://www.netbsd.org/developers/commit-guidelines.html), but to date they have not yet. - -### Linux-based - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [Fedora](https://fedoraproject.org) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://docs.fedoraproject.org/en-US/council/policy/ai-contribution-policy/)) | See below | -| [NixOS](https://github.com/NixOS/nix) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/NixOS/nix/commit/6dddd433f8a40df445257d69f0ec2c3d88d37b21), [2](https://github.com/NixOS/nix/commit/b738af0f5cefaa4fd76d74a981433d608b109d2c), [3](https://github.com/NixOS/nix/commit/5286c0477d77fb919df890324d3a510a199f450e)) | [GNU Guix System](https://guix.gnu.org/) | -| [OpenWrt](https://openwrt.org) | [`7214acd`](https://github.com/openwrt/openwrt/commit/7214acd7599a25863d6185a036d878b593b4b16c) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/openwrt/openwrt/commit/af3cbd4013a2c8c82450e4a4b21a73d28ab4cda2), [2](https://github.com/openwrt/openwrt/pull/21284), [3](https://github.com/openwrt/openwrt/commit/410277ca12d811daa8040edf75dfd87a2d9dd5f8))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/openwrt/openwrt/pull/22565), [2](https://github.com/openwrt/openwrt/pull/22421), [3](https://github.com/openwrt/openwrt/pull/22543)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [Ubuntu](https://ubuntu.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://ubuntu.com/ai), [2](https://discourse.ubuntu.com/t/the-future-of-ai-in-ubuntu/81130)) | See below | - -> [!NOTE] -> #### Alternative Linux-based operating systems -> * [Chimera Linux](https://chimera-linux.org/) has [banned LLMs](https://github.com/chimera-linux/chimera-linux.github.io/blob/4d7dee4c389e7d18f52b35da5b0eb016d17dd03d/community/index.md#contributing) -> * [elementary OS](https://elementary.io/) has [banned LLMs](https://docs.elementary.io/contributor-guide/development/generative-ai-policy) -> * [Gentoo Linux](https://www.gentoo.org/) has [banned LLMs](https://wiki.gentoo.org/wiki/Project:Council/AI_policy) -> * [Hyperbola GNU/Linux-libre](https://www.hyperbola.info/) has [banned LLMs](https://wiki.hyperbola.info/doku.php?id=en:philosophy:reject_machinelearning) -> * [postmarketOS](https://postmarketos.org/) has [banned LLMs](https://docs.postmarketos.org/policies-and-processes/development/ai-policy.html) - -### Kernels - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [GNU Mach](https://www.gnu.org/software/hurd/microkernel/mach/gnumach.html) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://lists.gnu.org/archive/html/bug-hurd/2026-03/msg00100.html))
[![Permits LLM Ingestion](./badges/permits-llm-ingestion.svg)](#permits-llm-ingestion) ([1](https://lists.gnu.org/archive/html/bug-hurd/2026-02/pdffAOvuZusjj.pdf),[2](https://cgit.git.savannah.gnu.org/cgit/hurd/gnumach.git/commit/?id=ca1ed0baec4d339d2c5273d7f4782210f6835cdf), [3](https://cgit.git.savannah.gnu.org/cgit/hurd/gnumach.git/commit/?id=afede3dac65a566fe0c72a0f141048e27218b73d)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [Linux Kernel](https://kernel.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/torvalds/linux/blob/0f00132132937ca01a99feaf8985109a9087c9ff/Documentation/process/coding-assistants.rst), [2](https://lwn.net/Articles/1041694/)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | - -### Other Operating Systems - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [FreeDOS](http://www.fdos.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/FDOS/country/pull/16))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/FDOS/country/pull/16), [2](https://github.com/FDOS/country/pull/18)) | [MS-DOS source code](https://github.com/microsoft/MS-DOS) (Expat/MIT license) | -| [ReactOS](https://reactos.org/) | [`d4993c6`](https://github.com/reactos/reactos/commit/d4993c67cd8e9bb724ceeb26e0b252273c8184e1) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/reactos/reactos/pull/5850#discussion_r1375260272))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/reactos/reactos/pull/8690), [2](https://github.com/reactos/reactos/pull/8704), [3](https://github.com/reactos/reactos/pull/8747)) | [Wine](https://www.winehq.org/) for some use cases | -| [TrueNAS](https://www.truenas.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/truenas/truenas_pylibzfs/blob/master/CLAUDE.md)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | - -> [!NOTE] -> #### Other alternative operating systems -> * [Haiku](https://www.haiku-os.org/) has [banned LLMs](https://www.haiku-os.org/community/organization/policies/) -> * [illumos](https://illumos.org/) and its distributions remain unaffected as of April 2026. -> * [RedoxOS](https://redox-os.org/) has [banned LLMs](https://gitlab.redox-os.org/redox-os/redox/-/blob/master/CONTRIBUTING.md) - -## Package Managers - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | -|---|:---:|---| -| [brew](https://github.com/Homebrew/brew) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/Homebrew/brew/blob/main/AGENTS.md)) | -| [macports](https://github.com/macports/macports-ports) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/macports/macports-ports/pull/28628)) | -| [PiKISS](https://github.com/jmcerrejon/PiKISS) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/jmcerrejon/PiKISS/pull/240)) | - -> [!Note] -> ### Package Manager Alternatives -> For most operating systems, there should be a default package manager provided to you (e.g. `apt`). You may consider using this, or you can consider a manual installation of the software you choose. There's also the option of compiling from source. Cross-platform alternatives include: -> -> * [pkgsrc](https://pkgsrc.org/) - A framework for managing third-party software on UNIX-like systems. Used by default on [NetBSD](https://www.netbsd.org/) and [SmartOS](https://wiki.smartos.org/), but also available on Linux, macOS, and illumos. -> -> If you have any other suggestions for package managers with a "No AI" policy, please feel free to open a PR. - -## Peripheral Managers - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [Logitune](https://github.com/mmaher88/logitune) | None | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/mmaher88/logitune/blob/master/CLAUDE.md), [2](https://github.com/mmaher88/logitune/commit/ecdf41157b2f98575c8b6912423ee348990e2bd2), [3](https://github.com/mmaher88/logitune/commit/88a4e6883c72381a662977bedb3c4eed9e95fb41)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) - -## Password Management - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | -|---|:---:|---| -| [AliasVault](https://aliasvault.net) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/aliasvault/aliasvault/issues/1924)) | -| [Bitwarden](https://bitwarden.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/bitwarden/server/blob/main/.claude/CLAUDE.md)) | -| [KeePassDX](https://www.keepassdx.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/Kunzisoft/KeePassDX/blob/master/CONTRIBUTING.md#code-generation), [2](https://github.com/Kunzisoft/KeePassDX/issues/2447#issuecomment-4029885903)) | -| [KeepassXC](https://keepassxc.org/) | [`2.7.9`](https://github.com/keepassxreboot/keepassxc/releases/tag/2.7.9) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://keepassxc.org/blog/2025-11-09-about-keepassxcs-code-quality-control/), [2](https://github.com/keepassxreboot/keepassxc/pull/12588), [3](https://github.com/keepassxreboot/keepassxc/pull/12314)) | -| [vaultwarden](https://github.com/dani-garcia/vaultwarden) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/dani-garcia/vaultwarden/pull/6967#issuecomment-4178703245), [2](https://github.com/dani-garcia/vaultwarden/pull/6279#discussion_r2366146831), [3](https://github.com/dani-garcia/vaultwarden/pull/6202#issuecomment-3679822420)) | - -> [!Note] -> ### Password Manager Alternatives -> * [rbw](https://github.com/doy/rbw) (client) -> * [KeePass 2](https://keepass.info/download.html). It is a .NET application, but [Mono](https://keepass.info/help/v2/setup.html#mono) or [Wine](https://keepass.info/help/v2/setup.html#wine) can be used for non-Windows platforms. -> * [ChiPass](https://codeberg.org/ChiPass/ChiPass): An active fork of KeePass 2.7.9 [with clear stance against LLMs](https://social.anoxinon.de/@whitequark@treehouse.systems/116403781772180051) and a [No AI Contribution Policy](https://codeberg.org/ChiPass/ChiPass/src/branch/main/CODE_OF_CONDUCT.md). -> * [Secrets](https://apps.gnome.org/Secrets/) uses the KeePass file format. -> * Password managers based on [pass](https://www.passwordstore.org/) or [Himitsu](https://himitsustore.org/) could be interesting. - -## Programming Languages - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [.NET](https://dotnet.microsoft.com/) | [`v9.0.0`](https://github.com/dotnet/runtime/releases/tag/v9.0.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/dotnet/runtime/blob/main/.github/copilot-instructions.md), [2](https://github.com/dotnet/runtime/blob/main/.github/agents/agentic-workflows.agent.md), [3](https://github.com/dotnet/runtime/commit/128321e88e2c93d69766e15ad4f06bab70b753b7))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/dotnet/runtime/pull/116200)) | See below | -| [D](https://dlang.org/) | [`2.112.0`](https://dlang.org/download.html) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/dlang/dmd/commit/0bb399977511b76d770868fe14e16cad8dc49104)) | See below | -| [Dart](https://dart.dev/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/dart-lang/sdk/blob/main/CONTRIBUTING.md#ai-contribution-guidelines), [2](https://github.com/dart-lang/sdk/tree/6cd3938741d48681330363b3553da8eccf335407/.agents/skills), [3](https://github.com/dart-lang/core/tree/0def20c4bef2b242db15b38202a54735101f5791/.gemini)) | See below | -| [Elixir](https://elixir-lang.org) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI Policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/elixir-lang/elixir/blob/main/CONTRIBUTING.md#ai-contributions)) | See below | -| [Gerbil Scheme](https://github.com/mighty-gerbils/gerbil) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/mighty-gerbils/gerbil/pull/1397)) | [Chez Scheme](https://cisco.github.io/ChezScheme/)
[Guile](https://www.gnu.org/software/guile/) | -| [Go](https://go.dev) | [`go1.22.4`](https://github.com/golang/go/releases/tag/go1.22.4) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://go.dev/gopls/features/))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/golang/go/commit/b8be5de81ee78f51fbd600498093b542e75a710e), [2](https://github.com/golang/go/commit/f8f87129646ca3821b3926e649c856a960d6bc9e), [3](https://github.com/golang/go/commit/26d5e160750b34a537cce0f1bfd47f663a110d27))
[![AI In Issue Tracker](./badges/ai-in-issue-tracker-teel.svg)](#ai-in-issue-tracker) ([1](https://github.com/golang/go/discussions/67901)) | See below | -| [Haskell](https://www.haskell.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://gitlab.haskell.org/ghc/ghc/-/wikis/contributing/AI)) | [Idris] (attempts to refine Haskell; Bans AI)
[SML](https://smlfamily.github.io/) (several implementations; community is nearly dead) | -| [Janet](https://janet-lang.org/) | [`517e40a`](https://github.com/janet-lang/janet/commit/517e40a17b8d42cfc1cae29f2d0b9015da84c9a9) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/janet-lang/janet/blob/c6b802b082aa21b6e65e8c2729c85237b0cc8a24/CONTRIBUTING.md#llms-tool-usage-and-transparency), [2](https://github.com/janet-lang/janet/pull/1710))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/janet-lang/janet/pull/1710), [2](https://github.com/janet-lang/janet/pull/1721), [3](https://github.com/janet-lang/janet/pull/1731)) | See below | -| [Julia](https://julialang.org/) | [`v1.11.4`](https://github.com/JuliaLang/julia/releases/tag/v1.11.4) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/JuliaLang/julia/blob/master/AGENTS.md)
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/JuliaLang/julia/pull/57995), [2](https://github.com/JuliaLang/julia/pull/59706)) | See below | -| [Kotlin](https://github.com/JetBrains/kotlin) | [`v2.3.0`](https://github.com/JetBrains/kotlin/releases/tag/v2.3.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/JetBrains/kotlin/blob/master/.ai/guidelines.md), [2](https://github.com/JetBrains/kotlin/commit/65fee3c3cad8012a6aad5df7554a1dd20dfb8d22))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://kotlinlang.org/)) | See below | -| [mruby](https://github.com/mruby/mruby/releases/tag/3.3.0) | [`v3.3.0`](https://github.com/mruby/mruby/releases/tag/3.3.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/mruby/mruby/commit/b9a1a1fb2389e5b36dd0f0d9a6f95818f7f30af5))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/mruby/mruby/pull/6482), [2](https://github.com/mruby/mruby/pull/6572)) | See below | -| [Nim](https://nim-lang.org/) | [`e2a3063`](https://github.com/nim-lang/Nim/commit/e2a306355ca179aa256a2cee7a0d3a809538c8b9) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/nim-lang/Nim/pull/24564), [2](https://github.com/nim-lang/Nim/pull/25429), [3](https://github.com/nim-lang/Nim/pull/25439)) | [Ada](https://www.adaic.org/)? | -| [Numbat](https://numbat.dev/) | [`18f81b1`](https://github.com/sharkdp/numbat/commit/18f81b19dc8698b29048ab0166a3a87dcadd34b7) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/sharkdp/numbat/blob/88b2e81a35d06942101d74e9b368081f02555f4f/AGENTS.md)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [OCaml](https://ocaml.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/ocaml/ocaml/blob/trunk/AI.md), [2](https://github.com/ocaml/ocaml/pull/14702#issue-4186687842)) | [SML](https://smlfamily.github.io/) | -| [Odin](https://odin-lang.org) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/odin-lang/Odin/commit/1a7f78b66578492103607628d2cd4a2de70b29ec), [2](https://github.com/odin-lang/Odin/commit/bd6148dd6b77920cf64fea8804b205e8257e8a66)) | See below | -| [Python](https://python.org) | [`v3.14.0a4`](https://github.com/python/cpython/releases/tag/v3.14.0a4) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://devguide.python.org/getting-started/generative-ai/), [2](https://github.com/python/cpython/commit/f97e4098ff71a6488fd3411f9f9e6fa7a7bb4efe))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/python/cpython/pull/128399)) | See below | -| [MicroPython](https://micropython.org) | [`1.26.1`](https://github.com/micropython/micropython/releases/1.26.1) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/micropython/micropython/wiki/ContributorGuidelines#generative-ai-policy), [2](https://github.com/micropython/micropython/pull/15592), [3](https://github.com/micropython/micropython/pull/17333)) | See below | -| [CircuitPython](https://circuitpython.org) | [`9.2.9`](https://github.com/adafruit/circuitpython/releases/9.2.9) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/adafruit/circuitpython/pull/10872), [2](https://github.com/adafruit/circuitpython/pull/10794), [3](https://github.com/adafruit/circuitpython/pull/10703)) | See below | -| [Racket](https://racket-lang.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/racket/racket/issues/5466), [2](https://github.com/racket/racket/pull/5415)) | [Chez Scheme](https://cisco.github.io/ChezScheme/)
[Guile](https://www.gnu.org/software/guile/) | -| [Ruby](https://www.ruby-lang.org) | [`v3.3.8`](https://github.com/ruby/ruby/releases/tag/v3_3_8) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/ruby/ruby/commit/c76ba839b153805f0498229284fea1a809308dbc), [2](https://github.com/ruby/ruby/commit/a0fc03ef3717ad0aab363a53a6f6f178dab7b526))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/ruby/ruby/commit/c76ba839b153805f0498229284fea1a809308dbc)) | See below | -| [Rust](https://rust-lang.org/) | [`v1.95.0`](https://github.com/rust-lang/rust/releases/tag/1.95.0) | [![Permits LLM Ingestion](./badges/permits-llm-ingestion.svg)](#permits-llm-ingestion) ([1](https://github.com/rust-lang/rust/commit/eceed7c1c28a05b31dc5dffacf3abab22a7cb1c2), [2](https://github.com/rust-lang/rust/commit/eb2c80dabef0358c953ed49258061ab58f485c56), [3](https://github.com/rust-lang/rust/commit/47e6437af4ada1fa90771999740da861c5c2f9cb))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://rustfoundation.org/members/)) | See below | -| [Scala](https://scala-lang.org/) | [`v3.7.1`](https://github.com/scala/scala3/releases/tag/3.7.1) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/scala/scala3/blob/main/AGENTS.md), [2](https://github.com/scala/scala3/commit/a3a3fb8a907132a19181b5e76f0a3cf19e4f8cd3), [3](https://github.com/scala/scala3/commit/04dcaa43df3d4959114c7875a246f7f1bed09299)) | [Scala 2.13.18](https://github.com/scala/scala/releases/tag/v2.13.18),
[Scala 3.3 LTS](https://github.com/scala/scala3/releases/tag/3.3.7),
See below | -| [Scratch](https://scratch.mit.edu) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://medium.com/scratchteam-blog/introducing-creative-ai-at-scratch-bcdbd6c3efc9))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/scratchfoundation/scratch-editor/blob/develop/AGENTS.md), [2](https://github.com/scratchfoundation/.github/blob/main/CONTRIBUTING.AI.md))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/scratchfoundation/scratch-editor/pull/264#pullrequestreview-3019481549), [2](https://github.com/scratchfoundation/scratch-editor/pull/291#pullrequestreview-3109857889), [3](https://github.com/scratchfoundation/scratch-editor/pull/327#pullrequestreview-3263575779))
[![AI Databroker Usage](./badges/ai-databroker-usage-pink.svg)](#ai-databroker-usage) ([1](https://mitscratch.freshdesk.com/en/support/solutions/articles/4000219182-scratch-terms-of-service), [2](https://scratch.mit.edu/discuss/topic/862281/)) | [Scratch 1.4]
[Scratch 2] | -| [TruffleRuby](https://truffleruby.dev/) | [`v33.0.0`](https://github.com/truffleruby/truffleruby/releases/tag/graal-33.0.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/truffleruby/truffleruby/commit/9f028ec178642bc71285a32c82b0a2761723b40b), [2](https://github.com/truffleruby/truffleruby/pull/4133))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/truffleruby/truffleruby/pull/4161)) | See below | -| [TurboWarp](https://turbowarp.org) | [`v1.15.0`](https://github.com/TurboWarp/desktop/releases/tag/v1.15.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://codeberg.org/small-hack/open-slopware/pulls/797#issuecomment-15853862), [2](https://github.com/TurboWarp/extensions/pull/2449#issuecomment-4150685173)) | [Scratch 1.4]
[Scratch 2] | -| [Typescript](https://www.typescriptlang.org/) | [`v5.1.3`](https://github.com/microsoft/TypeScript/releases/tag/v5.1.3) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/microsoft/TypeScript/blob/main/.github/copilot-instructions.md), [2](https://github.com/microsoft/TypeScript/commit/c9e7428bb76f0543a3555d0af87777e7db3a41e6), [3](https://github.com/microsoft/TypeScript/commit/ad04bf7488384a5dcdf7d250ccb8e5263021a8ff)) | See below | - -> [!Note] -> #### On alternative languages: -> Suggestions for alternative programming languages are necessarily more complex than many other categories considered here, as that's one of the core technical choices to be made when starting a new software development project. -> -> Depending on your needs and technical concerns, you may find any number of different alternative languages useful. For example, when considering alternatives to .NET, Java may be an interesting candidate from the perspective of being a similar VM-based framework. -> -> * [Clojure] - dynamic, compiled, general-purpose programming language: [AI-generated code not accepted](https://clojure.org/dev/contributor_agreement#_no_generated_code) -> * [Idris] - purely functional programming language, similar to Haskell: [Strict No LLM / No AI Policy](https://github.com/idris-lang/Idris2/blob/main/CONTRIBUTING.md#things-we-will-not-accept) -> * [Java] - memory safe, object-oriented, VM-based programming language: [AI-generated code not accepted](https://openjdk.org/legal/ai) -> * [Zig] - general-purpose, compiled, system programming language: [Strict No LLM / No AI Policy](https://codeberg.org/ziglang/zig#strict-no-llm-no-ai-policy) - - -## Programming Language-Specific Tooling - -### C - -| Name | Last Untainted Version or Commit ID | Tags and Evidence |Alternative(s) | -|---|:---:|---|---| -| [cppcheck](https://github.com/cppcheck-opensource/cppcheck) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/cppcheck-opensource/cppcheck/commit/376d7f1896e1b9145a369055d5f15be2d87cea11))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/cppcheck-opensource/cppcheck/pull/8491), [2](https://github.com/cppcheck-opensource/cppcheck/pull/7517), [3](https://github.com/cppcheck-opensource/cppcheck/pull/7457)) | [ccls](https://github.com/MaskRay/ccls)? | -| [cpplint](https://github.com/cpplint/cpplint) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/cpplint/cpplint/pull/423), [2](https://github.com/cpplint/cpplint/pull/412), [3](https://github.com/cpplint/cpplint/pull/411)) | [ccls](https://github.com/MaskRay/ccls)? | -| [Expat](https://libexpat.github.io/) | [`2.7.4`](https://github.com/libexpat/libexpat/releases/tag/R_2_7_4) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/libexpat/libexpat/pull/1147)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [gobject-linter](https://github.com/bilelmoussaoui/gobject-linter) | None | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/bilelmoussaoui/goblint/commit/d54da4dc2ac0036bf3864294f1ef9d0f9f3a1dca)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [harfbuzz](https://github.com/harfbuzz/harfbuzz) |[`12.3.2`](https://github.com/harfbuzz/harfbuzz/tree/12.3.2) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://typo.social/@behdad/116172838540880597),[2](https://github.com/harfbuzz/harfbuzz/commit/73616f9808dfc31f82877e842be87e4f4543d8ab),[3](https://github.com/harfbuzz/harfbuzz/commit/664085f0ae19bf101ef4c8cda94a590a0f253286)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [LVGL](https://lvgl.io) | [`9.2.2`](https://github.com/lvgl/lvgl/releases/tag/v9.2.2) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/lvgl/lvgl/blob/master/.github/copilot-instructions.md), [2](https://github.com/lvgl/lvgl/pull/9432), [3](https://github.com/lvgl/lvgl/pull/9434))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/lvgl/lvgl/pull/10040), [2](https://github.com/lvgl/lvgl/pull/10042), [3](https://github.com/lvgl/lvgl/pull/10039)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [MbedTLS](https://www.trustedfirmware.org/projects/mbed-tls/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/Mbed-TLS/mbedtls/pull/10635), [2](https://github.com/Mbed-TLS/mbedtls/pull/10636), [3](https://github.com/Mbed-TLS/mbedtls/pull/10683)) | See below | -| [Mongoose](https://mongoose.ws) | [`7a21199`](https://github.com/cesanta/mongoose/commit/7a21199d4a64dc9d941417f3ddef12b89905af1f) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/cesanta/mongoose/commit/97c53ec5a6e36a7c9ab188314d96ac0772f6c793), [2](https://github.com/cesanta/mongoose/commit/c937144b651eff9c2d4396f1e1d5b43d43956b2e)) | [libmicrohttpd] | -| [OpenSSL](https://openssl-library.org/) | [`3.5.0`](https://github.com/openssl/openssl/releases/tag/openssl-3.5.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/openssl/openssl/commit/4cf52a2feda838b99a9255417844fbd20420159d),[2](https://github.com/openssl/openssl/commit/44e453d0f9c765e14c4d1f5dcde9a616fc7d05df),[3](https://github.com/openssl/openssl/commit/e5ff85fd777aee8fd6bd1c8136d8041b5c4fbc78))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/openssl/openssl/pull/29150),[2](https://github.com/openssl/openssl/pull/29074),[3](https://github.com/openssl/openssl/pull/29074)) | See below | -| [raylib](https://github.com/raysan5/raylib) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/raysan5/raylib/discussions/5712#discussioncomment-16411612)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [sd-bus](https://www.freedesktop.org/software/systemd/man/latest/sd-bus.html) (via systemd) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [*See systemd section*](#system-services-and-daemons) | [basu](https://sr.ht/~emersion/basu/) | -| [SDL](https://github.com/libsdl-org/SDL) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permits LLM Ingestion](./badges/permits-llm-ingestion.svg)](#permits-llm-ingestion) ([1](https://github.com/libsdl-org/SDL/blob/c46dfdba543195873c205f8a30957d1a50b99565/AGENTS.md?plain=1#L10)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [WolfSSL](https://wolfssl.com) | [`5.7.6`](https://github.com/wolfSSL/wolfssl/releases/tag/v5.7.6-stable) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/wolfSSL/wolfssl/releases/tag/v5.9.1-stable))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/wolfSSL/wolfssl/pull/10349), [2](https://github.com/wolfSSL/wolfssl/pull/10352), [3](https://github.com/wolfSSL/wolfssl/pull/10351)) | See below | -| [zlib-ng](https://github.com/zlib-ng/zlib-ng) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/zlib-ng/zlib-ng/commit/927c5a46a72cf058043a4b792ff20d8b50a9f1ab),[2](https://github.com/zlib-ng/zlib-ng/commit/061f0e4fa8b266f643a7070befe8d7a0b412ef31),[3](https://github.com/zlib-ng/zlib-ng/commit/a7e15da75f8ec00b392a467675617a9112948d00))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/zlib-ng/zlib-ng/pull/2197#issuecomment-4020684882)) | [zlib](https://zlib.net) | - -> [!Note] -> #### Crypto/SSL/TLS Software Alternatives -> - [axTLS](https://axtls.sourceforge.net/) -> - [GnuTLS](https://www.gnutls.org/) -> - [LibreSSL](https://www.libressl.org/) - -### C++ - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -| --- |:---:| --- | --- | -| [Scratch Everywhere](https://github.com/ScratchEverywhere) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/ScratchEverywhere/ScratchEverywhere/issues/670)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [spdlog](https://github.com/gabime/spdlog) | [`v1.16.0`](https://github.com/gabime/spdlog/releases/tag/v1.16.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/gabime/spdlog/commit/b656d1ceecac83e969faaf8b35f8a5edb964b0e0), [2](https://github.com/gabime/spdlog/commit/6b240a892d40f91f30b81cae73964219ab04c55d))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/gabime/spdlog/pull/3581#event-24197698244)) |[![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [SQLiteCpp](https://github.com/SRombauts/SQLiteCpp) | [`v3.3.3`](https://github.com/SRombauts/SQLiteCpp/releases/tag/3.3.3) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/SRombauts/SQLiteCpp/commit/9986f570bef00ca1029a2c19e4ce8fcbf206f775), [2](https://github.com/SRombauts/SQLiteCpp/commit/a9d117e0a38dc12fd49d6bcd675c67a7383fa2fa)) | [SQLite's first-party interface](https://sqlite.org/cintro.html) | - -### CSS - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -| --- |:---:| --- | --- | -| [`tailwindcss`](https://github.com/tailwindlabs/tailwindcss) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/tailwindlabs/tailwindcss/commit/9ded4a23de06fb7e8cdc34a3bdf9318e7e8d2bbc))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://tailwindcss.com/sponsor)) | [`twind`](https://github.com/tw-in-js/twind) | - -### Dart - -Note that Dart is itself tainted; see [the Programming Languages section](#programming-languages). - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -| --- |:---:| --- | --- | -| [Flutter](https://flutter.dev/) | [`985576d`](https://github.com/flutter/flutter/commit/985576dbfdff5e9321941d9f66cb33baed337346) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://docs.flutter.dev/ai))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/flutter/flutter/tree/2844af6a713467da39a34658fb889a61a953cb67/.agents), [2](https://github.com/flutter/flutter/tree/2844af6a713467da39a34658fb889a61a953cb67/.gemini), [3](https://github.com/flutter/flutter/pull/145170#discussion_r1525328287))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/flutter/flutter/pull/172910), [2](https://github.com/flutter/flutter/pull/172978), [3](https://github.com/flutter/flutter/pull/185164)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | - -### Go - -Note that Go is itself tainted; see [the Programming Languages section](#programming-languages). - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -| --- |:---:| --- | --- | -| [debugui](https://github.com/ebitengine/debugui) | [`f9c0b31a`](https://github.com/ebitengine/debugui/commit/f9c0b31aa2bf90cc0457c742605ac01f3daaefb5) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/ebitengine/debugui/commit/fe9b3065d06189c6bc9bfb9b3db32972e52bff93), [2](https://github.com/ebitengine/debugui/commit/fe9b3065d06189c6bc9bfb9b3db32972e52bff93)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [ebitengine](https://github.com/hajimehoshi/ebiten) | [`v2.8.7`](https://github.com/hajimehoshi/ebiten/tree/v2.8.7) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/hajimehoshi/ebiten/commit/f5688eb3e2a664685f3818d671ed3c39b7034c24), [2](https://github.com/hajimehoshi/ebiten/commit/ecbff36e41b127a55c1b396785ad2ccbdc6283a6), [3](https://github.com/hajimehoshi/ebiten/commit/e144fc3fc9adfd9b3552870bb46d29e3b60e578f))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/hajimehoshi/ebiten/pull/3437), [2](https://github.com/hajimehoshi/ebiten/pull/3416), [3](https://github.com/hajimehoshi/ebiten/pull/3411)) | [Vuelto](https://github.com/vuelto-org/vuelto), [Engo](https://github.com/EngoEngine/engo) | -| [goffi](https://github.com/go-webgpu/goffi) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/go-webgpu/goffi/pull/32)) | [go-ffi](https://github.com/achille-roussel/go-ffi) | -| [gotests](https://github.com/cweill/gotests) | [`v1.6.0`](https://github.com/cweill/gotests/releases/tag/v1.6.0) | ![Permissive AI policy](./badges/permissive-ai-policy-orange.svg) [1](https://github.com/cweill/gotests/releases/tag/v1.9.0) | [nxt_unit](https://github.com/bytedance/nxt_unit) | -| [oto](https://github.com/ebitengine/oto) | [`b71107cf`](https://github.com/ebitengine/oto/commit/b71107cf736202d5ce3ee0ad3005e52dcda405ea) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/ebitengine/oto/commit/c7371b45fd922eefc6a1e612baa2733407a6aa59), [2](https://github.com/ebitengine/oto/commit/e3a524c98afb26f8af2ecd59f41262db9862a342))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/ebitengine/oto/pull/277)) | [sio](https://github.com/zikichombo/sio) | -| [purego](https://github.com/ebitengine/purego) | [`469dacd`](https://github.com/ebitengine/purego/commit/469dacd313f8a72e784701d5efd2f8f7f95ed66b) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/ebitengine/purego/commit/684058f04464150061697541bfd7424774748ed3), [2](https://github.com/ebitengine/purego/commit/91e14e1f9173e8b82e891513a8b0316d53312ff6))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/ebitengine/purego/pull/437), [2](https://github.com/ebitengine/purego/pull/436), [3](https://github.com/ebitengine/purego/pull/435)) | [go-ffi](https://github.com/achille-roussel/go-ffi) | - -### Java - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -| --- |:---:| --- | --- | -| [Gradle](https://github.com/gradle/gradle) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/gradle/gradle/blob/master/AI_POLICY.md)) | [Apache Ant] | -| [libGDX](https://libgdx.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://mastodon.gamedev.place/@badlogic/115697365956020092), [2](https://github.com/libgdx/libgdx/commit/3335e7598fb061cadc6472e8f4dffe811d438ab2)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [Maven](https://github.com/apache/maven) | [3.9.12](https://github.com/apache/maven/tree/maven-3.9.12) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/apache/maven/pull/11632)) | [Apache Ant] | - -### JavaScript And TypeScript - -Note that TypeScript is itself tainted; see [the Programming Languages section](#programming-languages). - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -| --- |:---:| --- | --- | -| [ArkType](https://arktype.io/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://arktype.io/llms.txt), [2](https://github.com/arktypeio/arktype/blob/main/.cursor/commands/armstrong.md), [3](https://github.com/arktypeio/arktype/pull/1553#issuecomment-3672923281))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/arktypeio/arktype/pull/1594)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [bun](https://github.com/oven-sh/bun) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Vibecoded](./badges/vibecoded.svg)](#vibecoded) ([1](https://github.com/oven-sh/bun/pull/30412), [2](https://www.theregister.com/devops/2026/05/14/anthropics-bun-rust-rewrite-merged-at-speed-of-ai/5240381))
[![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://bun.com/docs/runtime/templating/init))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/oven-sh/bun/blob/main/CLAUDE.md), [2](https://github.com/oven-sh/bun/blob/main/.cursorignore), [3](https://github.com/oven-sh/bun/blob/main/AGENTS.md))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/oven-sh/bun/pull/29395))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://bun.com/blog/bun-joins-anthropic), [2](https://www.anthropic.com/news/anthropic-acquires-bun-as-claude-code-reaches-usd1b-milestone))
[![AI In Issue Tracker](./badges/ai-in-issue-tracker-teel.svg)](https://codeberg.org/small-hack/open-slopware#ai-in-issue-tracker) ([1](https://github.com/oven-sh/bun/issues/29336#issuecomment-4249855116)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [Deno](https://github.com/denoland/deno) | [`6002d26`](https://github.com/denoland/deno/commit/6002d2624e567d92c5d659be77dfa14fc4db28fa) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/denoland/deno/blob/ac0a7e60295f00ccd1a0f057062fca8fde5e8140/.github/CONTRIBUTING.md), [2](https://github.com/denoland/deno/blob/ac0a7e60295f00ccd1a0f057062fca8fde5e8140/CLAUDE.md), [3](https://xcancel.com/i/status/2013280952370573666))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/denoland/deno/pull/33335#pullrequestreview-4143170352)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [Electron](https://electronjs.org) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/electron/electron/blob/f4c4cd14ac8eebf4ed33d75ca4f9b35b0e013208/CLAUDE.md), [2](https://github.com/electron/electron/commit/3295d0d4b05bf338427e5f98374dda206b83651f), [3](https://github.com/electron/electron/commit/816e5964fb574585840ec82f7b1e3e99b3f93785)) | Use native GUIs, such as [GTK](https://gtk.org) | -| [ESLint](https://eslint.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://eslint.org/docs/latest/use/mcp))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://eslint.org/docs/latest/contribute/ai-policy)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [es-toolkit](https://es-toolkit.dev) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://es-toolkit.dev/ai-integration.html))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/toss/es-toolkit/blob/main/AGENTS.md), [2](https://github.com/toss/es-toolkit/commit/b3f1f5433144a54c80fb61e4c9fda0d71cf9c85f)) | [Lodash](https://github.com/lodash/lodash) | -| [fnm](https://fnm.vercel.app/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/Schniz/fnm/blob/master/AGENTS.md)) | [n](https://github.com/tj/n) | -| [Next.js](https://nextjs.org/) | [`v13.2.5-canary.0`](https://github.com/vercel/next.js/releases/tag/v13.2.5-canary.0) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://nextjs.org/docs/app/guides/mcp), [2](https://nextjs.org/docs/app/guides/ai-agents))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/vercel/next.js/blob/766b7cbff4debc579bcff3f5c823dfb4d55f74fc/AGENTS.md), [2](https://github.com/vercel/next.js/commit/b785969e83dfcc948be69eb7ec182a2808c183ff), [3](https://github.com/vercel/next.js/commit/f760e48532355197ec8902804dce76a55d1a07f8))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/vercel/next.js/pull/77692), [2](https://github.com/vercel/next.js/pull/77846), [3](https://github.com/vercel/next.js/pull/77929))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://vercel.com/)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [npmx](https://npmx.dev/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/npmx-dev/npmx.dev/blob/e3b575ad0760ce79a278e34fc3553020d093e940/CONTRIBUTING.md#using-ai), [2](https://github.com/npmx-dev/npmx.dev/blob/7f2fc1ae716605c87612b0e138aa95a277d44559/.github/copilot-instructions.md), [3](https://github.com/npmx-dev/npmx.dev/pull/1513/changes/557db327a06ffa2d42e67a8df3ccc107381fe063))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/npmx-dev/npmx.dev/pull/2183#issuecomment-4104059314)) | [npmjs](https://www.npmjs.com/) | -| [nvm](https://github.com/nvm-sh/nvm) | [`v0.40.2`](https://github.com/nvm-sh/nvm/releases/tag/v0.40.2)? | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/nvm-sh/nvm/pull/3609), [2](https://github.com/nvm-sh/nvm/blob/master/AGENTS.md)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [React](https://react.dev/) | [`v19.1.1`](https://github.com/facebook/react/releases/tag/v19.1.1) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://github.com/facebook/react/blob/d5736f098edee62c44f27b053e6e48f5fa443803/compiler/packages/react-mcp-server/README.md))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/facebook/react/blob/d5736f098edee62c44f27b053e6e48f5fa443803/CLAUDE.md), [2](https://github.com/facebook/react/commit/90a124a9802a5ab6509d5838e65b9f4d4fbbc16b), [3](https://github.com/facebook/react/commit/2b4064eb9b40f65d20a03ce93b246ad762d562e6))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/facebook/react/pull/32777), [2](https://github.com/facebook/react/pull/32991), [3](https://github.com/facebook/react/pull/36353))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://opensource.fb.com/projects/)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [TS for GIR](https://gjsify.github.io/docs/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/gjsify/ts-for-gir/blob/80ecf9e071c82f4d107ebf7d1129cb363a025f0d/AGENTS.md), [2](https://github.com/gjsify/ts-for-gir/pull/320), [3](https://github.com/gjsify/ts-for-gir/commit/7b1e2b31df06f59046899d4b2d476187afad95aa)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [Typebox](https://github.com/sinclairzx81) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/sinclairzx81/typebox/pull/1015), [2](https://github.com/sinclairzx81/typebox/issues/1294), [3](https://github.com/sinclairzx81/typebox/issues/1364)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [Valibot](https://valibot.dev/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/open-circle/valibot/tree/main/prompts), [2](https://valibot.dev/guides/llms-txt/))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/open-circle/valibot/pull/1388))
[![AI In Issue Tracker](./badges/ai-in-issue-tracker-teel.svg)](https://codeberg.org/small-hack/open-slopware#ai-in-issue-tracker) ([1](https://github.com/open-circle/valibot/issues/1389)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [Vite](http://vite.dev/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/vitejs/vite/blob/640202a2167b0c19b94e4d3b8ff87309ae1f44d0/.github/copilot-instructions.md))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://github.com/vitejs/vite/blob/640202a2167b0c19b94e4d3b8ff87309ae1f44d0/README.md#sponsors), [2](https://github.com/vitejs/vite/blob/640202a2167b0c19b94e4d3b8ff87309ae1f44d0/README.md?plain=1#L19))
[![AI In Issue Tracker](./badges/ai-in-issue-tracker-teel.svg)](https://codeberg.org/small-hack/open-slopware#ai-in-issue-tracker) ([1](https://github.com/vitejs/vite/blob/640202a2167b0c19b94e4d3b8ff87309ae1f44d0/.github/workflows/issue-template-check.yml#L50)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [Webpack](https://webpack.js.org/) | [`v5.76.3`](https://github.com/webpack/webpack/releases/tag/v5.76.3) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/webpack/webpack/pull/20640), [2](https://github.com/webpack/webpack/pull/20648), [3](https://github.com/webpack/webpack/pull/20978))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/webpack/webpack/pull/16881), [2](https://github.com/webpack/webpack/pull/20828), [3](https://github.com/webpack/webpack/pull/20834)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [Zod](https://zod.dev/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/colinhacks/zod/blob/main/AGENTS.md), [2](https://github.com/colinhacks/zod/blob/main/CLAUDE.md), [3](https://github.com/colinhacks/zod/blob/main/.cursorrules))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://github.com/colinhacks/zod/blob/c7805073fef5b6b8857307c3d4b3597a70613bc2/packages/zod/README.md?plain=1#L40)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | - -### Lua - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [Penlight](https://lunarmodules.github.io/Penlight/) | [`8bf90ff`](https://github.com/lunarmodules/Penlight/commit/8bf90ff2bc8bfed8dfa238f3c600e51963cdc98d) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/lunarmodules/Penlight/pull/519)) | [Microlight](https://github.com/stevedonovan/Microlight)
[Penlighter](https://codeberg.org/slop-free/Penlighter) (fork, WIP) | - -### Python - -Note that Python is itself tainted; see [the Programming Languages section](#programming-languages). - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [Black](https://github.com/psf/black) | [`25.9.0`](https://github.com/psf/black/releases/tag/25.9.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/psf/black/commit/43dbc2f1ccbd74d4eea1c3615fe854961e6a07b7), [2](https://github.com/psf/black/commit/d745be69bfa9d85ec2ef6e5f9b7ec7e253b5e8ab), [3](https://github.com/psf/black/commit/8ab9719dcbeedccadf5d458d8139df38fcf84285))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/psf/black/pull/4790), [2](https://github.com/psf/black/pull/4804), [3](https://github.com/psf/black/pull/4825)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [Chardet](https://github.com/chardet/chardet) | [`6.0.0.post1`](https://github.com/chardet/chardet/releases/tag/6.0.0.post1) | [![Vibecoded](./badges/vibecoded.svg)](#vibecoded) ([1](https://github.com/chardet/chardet/issues/327), [2](https://github.com/chardet/chardet/commit/5038f52057e0cc84f622fb2a0546393c43a84a15)) | [charset\_normalizer](https://github.com/jawah/charset_normalizer/) | -| [`cryptography`](https://github.com/pyca/cryptography) | [`44.0.0`](https://github.com/pyca/cryptography/releases/tag/44.0.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/pyca/cryptography/blob/main/AGENTS.md), [2](https://github.com/pyca/cryptography/commit/ce7f263d2b5492222497966e4132010caf650a70), [3](https://github.com/pyca/cryptography/commit/62d0783211a329c5d1d27b52c527a245e9bc842b))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/pyca/cryptography/pull/12976), [2](https://github.com/pyca/cryptography/pull/13137), [3](https://github.com/pyca/cryptography/pull/12937)) | [PyCryptodome](https://github.com/Legrandin/pycryptodome) | -| [isort](https://github.com/pycqa/isort) | [`8.0.0`](https://github.com/PyCQA/isort/releases/tag/8.0.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/PyCQA/isort/pull/2459), [2](https://github.com/PyCQA/isort/pull/2471), [3](https://github.com/PyCQA/isort/pull/2470))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/PyCQA/isort/pull/2509), [2](https://github.com/PyCQA/isort/pull/2516), [3](https://github.com/PyCQA/isort/pull/2503))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://github.com/PyCQA/isort/blob/dac090ce4d9ee313d086e2e89ab1acb8c2664fa1/README.md#why-isort)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [JupyterLab](https://github.com/jupyterlab/jupyterlab) | [`v4.5.6`](https://github.com/jupyterlab/jupyterlab/tree/v4.5.6) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/jupyterlab/jupyterlab/blob/main/AGENTS.md))
[![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://github.com/jupyterlab/jupyter-ai)) | Possibly GNU Emacs ([1](https://www.danliden.com/notes/20241112-python-setup.html), [2](https://blog.serghei.pl/posts/emacs-python-ide/)) | -| [Pygments](https://github.com/pygments/pygments) | [`2.19.2`](https://github.com/pygments/pygments/commits/2.19.2/) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/pygments/pygments/pull/3038)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help)| -| [Pylint](https://github.com/pylint-dev/pylint) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/pylint-dev/pylint/blob/b080a21ca0005b13e985456537bb8510919a2672/.github/copilot-instructions.md), [2](https://github.com/pylint-dev/pylint/pull/10350), [3](https://github.com/pylint-dev/pylint/pull/10892))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/pylint-dev/pylint/pull/10321), [2](https://github.com/pylint-dev/pylint/pull/10322), [3](https://github.com/pylint-dev/pylint/pull/10930)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [pytermgui](https://github.com/bczsalba/pytermgui) | [`v7.7.4`](https://github.com/bczsalba/pytermgui/releases/tag/v7.7.4) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/bczsalba/pytermgui/issues/167)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [Requests](https://github.com/psf/requests) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/psf/requests/commit/b2a1d33f571518ca9a6148e7da787cc5827f897a)) | [`urllib.request` (Python Standard Lib)](https://docs.python.org/3/library/urllib.request.html) | -| [ruff](https://docs.astral.sh/ruff/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/astral-sh/.github/blob/c5187e200db51bfe11d56e13053d29bd3793fdd8/AI_POLICY.md), [2](https://github.com/astral-sh/ruff/blob/bd3150f4e2cdf9278cf329ef12c875a4d30bf601/AGENTS.md), [3](https://github.com/astral-sh/ruff/commit/3ffc8b93d61ae91e2b6daf61c740e7df52448a50))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://astral.sh/blog/openai)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [Textual](https://github.com/Textualize/textual) | [`v2.1.2`](https://github.com/Textualize/textual/releases/tag/v2.1.2) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/Textualize/textual/blob/main/AI_POLICY.md), [2](https://github.com/Textualize/textual/commit/fefec041759b6a48f5c675d388e973a22a0f8b3d), [3](https://github.com/Textualize/textual/pull/6218#issuecomment-3512605833))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/Textualize/textual/pull/5681), [2](https://github.com/Textualize/textual/pull/5948), [3](https://github.com/Textualize/textual/pull/6202)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [Trio](https://github.com/python-trio/trio) | [`v0.28.0`](https://github.com/python-trio/trio/releases/tag/v0.28.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/python-trio/trio/pull/3145#discussion_r1867663598), [2](https://github.com/python-trio/trio/pull/3197#discussion_r2036484486), [3](https://github.com/python-trio/trio/pull/3394)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [uv](https://docs.astral.sh/uv/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/astral-sh/.github/blob/c5187e200db51bfe11d56e13053d29bd3793fdd8/AI_POLICY.md), [2](https://github.com/astral-sh/uv/blob/00d72dac7b789d1c64ed21626175b80f4a1b8f2b/CLAUDE.md), [3](https://github.com/astral-sh/uv/commit/bd2e0c9b09551c6570b14c4da80364fe90805b78))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://astral.sh/blog/openai)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [ty](https://docs.astral.sh/ty/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/astral-sh/.github/blob/c5187e200db51bfe11d56e13053d29bd3793fdd8/AI_POLICY.md), [2](https://github.com/astral-sh/ty/commit/065338a1fcc24ac5b974724dbb5d8a3ab740c5b7))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://astral.sh/blog/openai)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | - -### Ruby - -Note that Ruby is itself tainted; see [the Programming Languages section](#programming-languages). - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [Hanakai](https://hanakai.org) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://hanakai.org/ai-policy)) | [sinatra](https://sinatrarb.com) | -| [Ruby on Rails](https://rubyonrails.org) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/rails/rails/blob/main/AGENTS.md)) | [sinatra](https://sinatrarb.com) | - -### Rust - -Note that Rust is itself tainted; see [the Programming Languages section](#programming-languages). - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [c2rust](https://github.com/immunant/c2rust) | [`0.21.0`](https://github.com/immunant/c2rust/tree/v0.21.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/immunant/c2rust/issues/1653#issuecomment-4035773395),[2](https://github.com/immunant/c2rust/pull/1614))
[![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://github.com/immunant/c2rust/tree/master/c2rust-postprocess))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](https://codeberg.org/small-hack/open-slopware#ai-code-reviews) ([1](https://github.com/immunant/c2rust/pull/1664),[2](https://github.com/immunant/c2rust/pull/1595),[3](https://github.com/immunant/c2rust/pull/1587))| [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [egui](https://github.com/emilk/egui) | [`0.31.1`](https://github.com/emilk/egui/tree/0.31.1) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/emilk/egui/commit/f3611e3e5a448ba8a96cb880ea3a29245bb3a2d2), [2](https://github.com/emilk/egui/pull/8088), [3](https://github.com/emilk/egui/pull/8031))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](https://codeberg.org/small-hack/open-slopware#ai-code-reviews) ([1](https://github.com/emilk/egui/pull/7948), [2](https://github.com/emilk/egui/pull/7617), [3](https://github.com/emilk/egui/pull/7577)) | See below | -| [facet](https://github.com/facet-rs/facet) | [`cad0de9`](https://github.com/facet-rs/facet/commit/cad0de9b14ce6a4b9a24018260b28998b4dd18c9) as Shapely
(before the `facet-rs` rebrand) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](https://codeberg.org/small-hack/open-slopware#permissive-ai-policy) ([1](https://archive.ph/YhcOh),[2](https://github.com/facet-rs/facet/pull/1607),[3](https://github.com/facet-rs/facet/pull/1465))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](https://codeberg.org/small-hack/open-slopware#ai-code-reviews) ([1](https://github.com/facet-rs/facet/pull/2170),[2](https://github.com/facet-rs/facet/pull/2127),[3](https://github.com/facet-rs/facet/pull/2109)) | [nanoserde](https://github.com/not-fl3/nanoserde)
See note below. | -| [iocraft] | [`0.7.17`](https://github.com/ccbrown/iocraft/tree/iocraft-v0.7.17) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/ccbrown/iocraft/commit/1daff8bdef6d6c0f0ceeb89d0308b1990a5fa428),[2](https://github.com/ccbrown/iocraft/commits?author=domenkozar))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](https://codeberg.org/small-hack/open-slopware#ai-code-reviews) ([1](https://github.com/ccbrown/iocraft/pull/98), [2](https://github.com/ccbrown/iocraft/pull/70)) | [console],
[cursive] | -| [Matrix-rust-sdk](https://github.com/matrix-org/matrix-rust-sdk/) || [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/matrix-org/matrix-rust-sdk/pull/6162)), [2](https://github.com/matrix-org/matrix-rust-sdk/pull/6417)) | -| [Nextest](https://github.com/nextest-rs/nextest) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/nextest-rs/nextest/commit/3853279b41cc4a81f82e26fd88fac3bf85054af5)) | `cargo test` | -| [PyO3](https://pyo3.rs) | [`v0.23.5`](https://github.com/PyO3/pyo3/releases/tag/v0.23.5) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/PyO3/pyo3/pull/5615), [2](https://github.com/PyO3/pyo3/pull/5933), [3](https://github.com/PyO3/pyo3/pull/5870))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/PyO3/pyo3/pull/4768), [2](https://github.com/PyO3/pyo3/pull/5724), [3](https://github.com/PyO3/pyo3/pull/5729)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [ratatui](https://github.com/ratatui/ratatui) | [`0.29.0`](https://github.com/ratatui/ratatui/tree/v0.29.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/ratatui/ratatui/discussions/2201),[2](https://github.com/ratatui/ratatui/pull/2308))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](https://codeberg.org/small-hack/open-slopware#ai-code-reviews) ([1](https://github.com/ratatui/ratatui/pull/1998),[2](https://github.com/ratatui/ratatui/pull/1490)) | [console],
[cursive] | -| [rust-analyzer](https://github.com/rust-lang/rust-analyzer) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](https://codeberg.org/small-hack/open-slopware#permissive-ai-policy) ([1](https://github.com/rust-lang/rust-analyzer/pull/21314/changes),[2](https://github.com/rust-lang/rust-analyzer/blob/master/CLAUDE.md))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](https://codeberg.org/small-hack/open-slopware#ai-code-reviews) ([1](https://github.com/rust-lang/rust-analyzer/pull/21968),[2](https://github.com/rust-lang/rust-analyzer/pull/21957),[3](https://github.com/rust-lang/rust-analyzer/pull/21750)) | cargo check | -| [Slint](https://github.com/slint-ui/slint) | [`1.14.1`](https://github.com/slint-ui/slint/tree/v1.14.1) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/slint-ui/slint/blob/master/AGENTS.md), [2](https://github.com/slint-ui/slint/commit/f479ae6d8ee24de17634e22e8079374222a4a8fd)) | See below | -| [wgpu](https://github.com/gfx-rs/wgpu) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](https://codeberg.org/small-hack/open-slopware#permissive-ai-policy) ([1](https://github.com/gfx-rs/wgpu?tab=contributing-ov-file#llms-ai), [2](https://github.com/gfx-rs/wgpu/commit/bed71efe59e2360c625163c28c70de598dee41b7), [3](https://github.com/gfx-rs/wgpu/pull/9141))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](https://codeberg.org/small-hack/open-slopware#ai-code-reviews) ([1](https://github.com/gfx-rs/wgpu/pull/9364),[2](https://github.com/gfx-rs/wgpu/pull/9089),[3](https://github.com/gfx-rs/wgpu/pull/8821))| [ash](https://github.com/ash-rs/ash),
[glow](https://github.com/grovesnl/glow),
[vulcano](https://github.com/vulkano-rs/vulkano) | -| [zbus](https://github.com/z-galaxy/zbus) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](https://codeberg.org/small-hack/open-slopware#permissive-ai-policy) ([1](https://github.com/z-galaxy/zbus/blob/78f786cad319f9027a9893f73aa862ed2f4b45cd/CLAUDE.md), [2](https://github.com/z-galaxy/zbus/pull/1761))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](https://codeberg.org/small-hack/open-slopware#ai-code-reviews) ([1](https://github.com/z-galaxy/zbus/pull/1660)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [zerocopy](https://github.com/google/zerocopy) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) |[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](https://codeberg.org/small-hack/open-slopware#permissive-ai-policy) ([1](https://github.com/google/zerocopy/commits?author=google-labs-jules%5Bbot%5D),[2](https://github.com/google/zerocopy/blob/1834846b5aa8e2d95f9ec810f7b8e6e26909cb2e/AGENTS.md)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | - -> [!Note] -> #### Alternative GUI crates -> - [GTK](https://github.com/gtk-rs/gtk4-rs) -> - [iced](https://github.com/iced-rs/iced) -> - [imgui](https://github.com/imgui-rs/imgui-rs) -> - [relm](https://github.com/antoyo/relm) - -> [!Note] -> -> Also, there is an advisory database of Rust slopware crates, which you can use in tools like -> [cargo-deny](https://embarkstudios.github.io/cargo-deny): . -> -> On facet: If possible avoid all-in-one libraries for deserialization, and avoid macros that slow things down. - -## Remote Desktop - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [FreeRDP](https://www.freerdp.com/) | [`3.20.0`](https://github.com/FreeRDP/FreeRDP/releases/tag/3.20.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/FreeRDP/FreeRDP/commit/bd67348eb3380a66b544835346191bd2138a5ba4), [2](https://github.com/FreeRDP/FreeRDP/commit/95e17c57fd1a5e729516ee6bfb351ec02c431f90), [3](https://github.com/FreeRDP/FreeRDP/commit/45ace279494e8dfdfe0f94ac885d807a4288cda7)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | - -## Reverse Engineering and Debugging - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [binutils / gdb](https://www.gnu.org/software/binutils/) | [`928e6f5`](https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=928e6f5a728f6cb917ee6bdceed45e8f9da7203e) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=c1da013915e93155ddeedb2aea50ce3e29689e17)) | See below | -| [ImHex](https://github.com/WerWolv/ImHex) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/WerWolv/ImHex/issues/1070#issuecomment-1546944994)) | See below | -| [radare2](https://github.com/radareorg/radare2) | [`7a4aa2c`](https://github.com/radareorg/radare2/commit/7a4aa2c24c063e55104bfe9cd30c3e7719479a9d) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/radareorg/radare2/blob/dfe41793cade9de466d8119c4a6d04975cf300a0/AGENTS.md), [2](https://github.com/radareorg/radare2/pull/21890)) | See below | -| [Rizin](https://github.com/rizinorg/rizin) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/rizinorg/rizin/blob/dev/CONTRIBUTING.md#usage-of-ai-tools)) | See below | - -> [!Note] -> #### Alternatives -> [![Request for Help](./badges/request-for-help.svg)](#request-for-help) -> - Debugger: -> - [scanmem & Game Conqueror](https://github.com/scanmem/scanmem): last updated in 2024 -> - Disassembler: -> - [da65](https://cc65.github.io/doc/da65.html) (part of [cc65](https://github.com/cc65/cc65)) (MOS 6502-only) -> - [DIS6502](https://sourceforge.net/projects/dis6502/) (MOS 6502-only) -> - Hex editor: -> - Vim Classic's [xxd](https://git.sr.ht/~sircmpwn/vim-classic/tree/main/item/src/xxd) -> - [hexedit](https://github.com/pixel/hexedit) -> - [ghex](https://github.com/GNOME/ghex) -> - [hexcurse](https://github.com/prso/hexcurse-ng) - -## Runtime Version Managers - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [asdf](https://asdf-vm.com/) | [`v0.18.1`](https://github.com/asdf-vm/asdf/releases/tag/v0.18.1) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/asdf-vm/asdf/pull/2246), [2](https://github.com/asdf-vm/asdf/pull/2275)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | - -## Search Engines - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [Searxng](https://github.com/searxng/searxng) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/searxng/searxng/blob/master/AI_POLICY.rst))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/searxng/searxng/issues?q=copilot)) | [LibreY](https://github.com/Ahwxorg/librey/),
[marginalia](https://github.com/MarginaliaSearch/MarginaliaSearch),
[securityops.co](https://git.securityops.co/securityops/securitysearch) | - -## Service Monitoring - -| Name | Last Untainted Version or Commit ID | Tags and Evidence |Alternative(s) | -|---|:---:|---|---| -| [Glitchtip](https://gitlab.com/glitchtip/glitchtip-backend) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://gitlab.com/glitchtip/glitchtip-backend/-/blob/8c94c95d37f76c1d3adfcdc719968c63afd45a24/AI_POLICY.md)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [Grafana](https://grafana.com) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://grafana.com/docs/grafana-cloud/machine-learning/intro/))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/grafana/grafana/blob/main/AGENTS.md), [2](https://github.com/grafana/grafana/blob/main/CLAUDE.md)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [Uptime Kuma](https://github.com/louislam/uptime-kuma) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/louislam/uptime-kuma/pull/6645)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [Vector](https://vector.dev/) | [`44562f6`](https://github.com/vectordotdev/vector/commit/44562f6b3b8a1682009f0a34dc9fb61f3e668dbf) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/vectordotdev/vector/blob/89e5c343c631e36090d2543106b88685d7a1c908/AGENTS.md), [2](https://github.com/vectordotdev/vector/commit/93a9771b1824c848c8efdf7166638226f01f42d2), [3](https://github.com/vectordotdev/vector/commit/93a9771b1824c848c8efdf7166638226f01f42d2))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/vectordotdev/vector/pull/22735), [2](https://github.com/vectordotdev/vector/pull/25228), [3](https://github.com/vectordotdev/vector/pull/24706)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | - -## Social Media - -This is for both social media websites and apps. - -### Servers - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [Bluesky](https://bsky.app) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://bsky.app/profile/attie.ai))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://bsky.app/profile/pfrazee.com/post/3luyb3jcbv52d)) | See below | -| [`rsky`](https://github.com/blacksky-algorithms/rsky) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/blacksky-algorithms/rsky/commit/02313d970dc2e1cef0909277b94bbff222dff152), [2](https://github.com/blacksky-algorithms/rsky/commit/fd6063d4e2f0688899faef34e2d3553c36c69d43), [3](https://github.com/blacksky-algorithms/rsky/commit/b7adaa213ca49318de078b82410bf54f828ba0f2)) | See below | -| [PeerTube](https://joinpeertube.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/Chocobozzz/PeerTube/blob/c2345d670bfe83295896b3451ebfc14185934a1b/AGENTS.md))
[![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://framacolibri.org/t/peertube-and-generative-ai/26622)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [Mastodon](https://joinmastodon.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/mastodon/.github/blob/49b9c64f3e2b6a459e56a05068c05b3247659bb3/AI_POLICY.md)) | See below | -| [Misskey](https://misskey-hub.net/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/misskey-dev/misskey/commit/2fa6ecc7efaaf9b9d189cdd3a3ebbb9171c86078)) | See below | -| [Lemmy](https://join-lemmy.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://join-lemmy.org/docs/code_of_conduct.html)) | [PieFed](https://join.piefed.social/) | - -> [!Note] -> #### Social media server alternatives -> * [GoToSocial] (Note the [gallery profile layout](https://docs.gotosocial.org/en/v0.21.2/user_guide/settings/#gallery) for those that want a more pixelfed/instagram experience such as artists/creators) -> * [Wafrn](https://codeberg.org/wafrn/wafrn/) (Closest to tumblr) supports both ActivityPub and ATproto -> * [snac2](https://codeberg.org/grunfink/snac2) -> * [Iceshrimp.NET](https://iceshrimp.net/) -> * [Epicyon](https://codeberg.org/bashrc/epicyon) - -### Clients -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [IceCubesApp](https://github.com/Dimillian/IceCubesApp) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/Dimillian/IceCubesApp/blob/main/CLAUDE.md)) |[Feditext](https://github.com/feditext/feditext) (iOS),
[wafrn-rn] | -| [Bluesky Social App](https://github.com/bluesky-social/social-app) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/bluesky-social/social-app/blob/177bdcd2b7807c9980dab32e7a5664fc006df40b/CLAUDE.md), [2](https://github.com/bluesky-social/social-app/commit/8c4fc087f8119de5c007b71baaaf02089a346b38), [3](https://github.com/bluesky-social/social-app/commit/612a778361edc0314f92a0451abb98843e7bef9a)) | [wafrn-rn] | -| [FeurStagram](https://github.com/jean-voila/FeurStagram/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/jean-voila/FeurStagram/issues/23#issuecomment-4331590472), [2](https://discuss.privacyguides.net/t/feurstagram/37476/16)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | - -## SSH - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [ConnectBot](https://connectbot.org/) | [`f523c43`](https://github.com/connectbot/connectbot/commit/f523c43b03c54386212ea14d52181e5108c46b37) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/connectbot/connectbot/commit/6d88ec0fad958344650fba1e6f128ad181013e20), [2](https://github.com/connectbot/connectbot/commit/3d86df070b0d6337827034a1e6a2a2cf64e06df8), [3](https://github.com/connectbot/connectbot/commit/0104790456e6860a00cb321c3d4a3b1800ba2443))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/connectbot/connectbot/pull/1640), [2](https://github.com/connectbot/connectbot/pull/1685), [3](https://github.com/connectbot/connectbot/pull/1780)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | - -## System Base - -This section is strictly for software implementing a core set of UNIX-like utilities and/or directly interfacing with several kernel subsystems. Think potential replacements for coreutils and util-linux. - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [plan9port](https://9fans.github.io/plan9port/) | [`0155f29`](https://github.com/9fans/plan9port/commit/0155f29bdc3cf0cab017fd7b33bf9e93cb9af64c) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/9fans/plan9port/pull/748)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [sudo](https://github.com/sudo-project/sudo) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/sudo-project/sudo/pull/529), [2](https://github.com/sudo-project/sudo/commit/b040db2be79b635c), [3](https://github.com/sudo-project/sudo/commit/3226ef7b3d66097d3432d2a49915b3fc457203dd)) | [OpenDoas] | -| [sudo-rs](https://github.com/trifectatechfoundation/sudo-rs) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/trifectatechfoundation/sudo-rs/blob/main/CONTRIBUTING.md#use-of-generative-artificial-intelligence), [2](https://github.com/trifectatechfoundation/sudo-rs/commit/a59a09e33f9f97e00b708c2585a6d64ba8dfa23b)) | [OpenDoas] | -| [uutils](https://uutils.github.io/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/uutils/coreutils/pull/11717), [2](https://github.com/uutils/coreutils/commit/6e18efb218dbd4d7ad7441d255d02fb0c1df4bf0) [3](https://github.com/uutils/coreutils/pull/11918#issuecomment-4284527284))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/uutils/coreutils/pull/7266), [2](https://github.com/uutils/coreutils/pull/10505), [3](https://github.com/uutils/coreutils/pulls?q=copilot)) | [Busybox](https://busybox.net/),
GNU coreutils | - -## System Information Utilities - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [fastfetch](https://github.com/fastfetch-cli/fastfetch) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/fastfetch-cli/fastfetch/commit/f5dfec6dcb0ea3048826b5e5f558f0ab4c9f4506), [2](https://github.com/fastfetch-cli/fastfetch/commit/451bc394eeffe2e1b709cf4fd102de8400db528d), [3](https://github.com/fastfetch-cli/fastfetch/commit/fe1c5c8f6f8139a56e20fd50effd144d09682744))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/fastfetch-cli/fastfetch/pull/2331), [2](https://github.com/fastfetch-cli/fastfetch/pull/2287), [3](https://github.com/fastfetch-cli/fastfetch/pull/2220)) | See below | -| [hyfetch](https://github.com/hykilpikonna/hyfetch) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/hykilpikonna/hyfetch/pull/482), [2](https://github.com/hykilpikonna/hyfetch/commit/9500e8c0aa0f64ed231ba700c4eaac75e505312d))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/hykilpikonna/hyfetch/pull/484), [2](https://github.com/hykilpikonna/hyfetch/pull/481), [3](https://github.com/hykilpikonna/hyfetch/pull/480)) | See below | - -> [!Note] -> #### Alternatives -> As of writing and to the best of our knowledge, none of these projects have LLM usage, but they also have no explicit policies against AI. -> -> - [Archey 4](https://github.com/HorlogeSkynet/archey4) displays info in a similar way to neofetch (and fastfetch) -> - [macchina](https://github.com/Macchina-CLI/macchina) -> - [nerdfetch](https://github.com/ThatOneCalculator/NerdFetch) -> - [neofetch](https://github.com/dylanaraps/neofetch) and [screenFetch](https://github.com/KittyKatt/screenFetch) are still technically options, although they both have officially ceased development. -> -> The [Wikipedia page for neofetch](https://en.wikipedia.org/wiki/Neofetch#Other_implementations) also lists many implementations of neofetch in different programming languages, it may be worth a look as well. - -## System Logs Managers - -### Android - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | -|---|:---:|---| -| [Logcat Reader](https://github.com/darshanparajuli/LogcatReader) | [`877cc0a`](https://github.com/darshanparajuli/LogcatReader/commit/877cc0a17be6d39c5797301eb0d5ff7e6dd4e341), version [2.3.1](https://github.com/darshanparajuli/LogcatReader/releases/tag/v2.3.1) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/darshanparajuli/LogcatReader/blob/main/AGENTS.md), [2](https://github.com/darshanparajuli/LogcatReader/commit/842bd4033c4e6332a77424866ee92383a6acafac), [3](https://github.com/darshanparajuli/LogcatReader/commit/5b891a0dcd2abda7ea7b8434e23282f4d6baaa13))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/darshanparajuli/LogcatReader/pull/118#pullrequestreview-3954825326)) | -| [LogFox](https://github.com/F0x1d/LogFox) | [`dd1405c`](https://github.com/F0x1d/LogFox/commit/dd1405c67737601b27530533feeebf73711fe47e), version [2.0.7](https://github.com/F0x1d/LogFox/releases/tag/v2.0.7) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/F0x1d/LogFox/blob/master/AGENTS.md), [2](https://github.com/F0x1d/LogFox/tree/master/.claude), [3](https://github.com/F0x1d/LogFox/commit/c7953ec38f480c4d0a8ec5311e03ff2d562422b3)) | - -> [!note] -> -> #### Alternatives for Android -> -> - [Rootless Logcat](https://github.com/tananaev/rootless-logcat) -> - [aShell You](https://github.com/DP-Hridayan/aShellYou) or [aShell](https://gitlab.com/sunilpaulmathew/ashell) running the `logcat`command. -> - Direct use of the `logcat` command in the Android shell. - -## System Services and Daemons - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [framework-system](https://github.com/FrameworkComputer/framework-system) | [`50a18e8`](https://github.com/FrameworkComputer/framework-system/commit/50a18e825e0a81aa8761ab2677d9cd139d766854) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/FrameworkComputer/framework-system/blob/main/CLAUDE.md), [2](https://github.com/FrameworkComputer/framework-system/pull/250)) | BIOS settings,
UI widgets,
/proc | -| [fwupd](https://github.com/fwupd/fwupd) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/fwupd/fwupd/blob/e94be3c7b9adc51c78ae1837e3ff4e52623926b9/.github/copilot-instructions.md), [2](https://github.com/fwupd/fwupd/commit/1ae4eddd5a7a2a9a5290f087855b942c1a0fbe75),[3](https://github.com/fwupd/fwupd/commit/1bdbcd68c72806dfd372280d9815827b886d3b4))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/fwupd/fwupd/pull/9918), [2](https://github.com/fwupd/fwupd/pull/9960), [3](https://github.com/fwupd/fwupd/pull/9995)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [libinput](https://gitlab.freedesktop.org/libinput/libinput) | [`43547b46`](https://gitlab.freedesktop.org/libinput/libinput/-/commit/43547b461bea7a5bfe0658ee1689bea03dca6fa7) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1444), [2](https://gitlab.freedesktop.org/libinput/libinput/-/commit/8dd25ece1073653c95ed26450be2739d3e0e30fd), [3](https://gitlab.freedesktop.org/libinput/libinput/-/commit/7d15503b4537d73b9e0b49738fc509060fa5a14b)) | [evdev](https://en.wikipedia.org/wiki/evdev) | -| [lvm2](https://sourceware.org/lvm2/) |[![Request for Help](./badges/request-for-help.svg)](#request-for-help) |[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://gitlab.com/lvmteam/lvm2/-/commit/6207fe707a4ae255ef62a2fa088ec2497ae6c0a8),[2](https://gitlab.com/lvmteam/lvm2/-/commit/ff76548a3da5cee224e4663d81d7041558115b8e),[3](https://gitlab.com/lvmteam/lvm2/-/commit/99b85e7e4acc7fb69460b2bdb94aa8c2ca0f8946)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [Mesa3D](https://mesa3d.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://docs.mesa3d.org/submittingpatches.html#expectations-on-contributors)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help)| -| [ntpd-rs](https://github.com/pendulum-project/ntpd-rs) | [`v1.6.1`](https://github.com/pendulum-project/ntpd-rs/releases/tag/v1.6.1) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/pendulum-project/ntpd-rs/blob/main/CONTRIBUTING.md#use-of-generative-artificial-intelligence)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [rsyslog](https://www.rsyslog.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://www.rsyslog.com/doc/about/ai_first.html)) | [syslog-ng](https://www.syslog-ng.com/products/open-source-log-management/) | -| [systemd](https://github.com/systemd/systemd) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/systemd/systemd/blob/main/AGENTS.md), [2](https://github.com/systemd/systemd/commit/744d589632c545e90ae76853abbfbc90cb530e24)) | [dinit](https://davmac.org/projects/dinit),
[s6](https://skarnet.org/software/s6/),
[OpenRC](https://github.com/OpenRC/openrc),
[shepherd](https://shepherding.services/) | -| [wireplumber](https://gitlab.freedesktop.org/pipewire/wireplumber/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://gitlab.freedesktop.org/pipewire/wireplumber/-/blob/master/AGENTS.md?ref_type=heads)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help)| - -## Terminal - -### Terminal Emulators - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | -|---|:---:|---| -| [Ghostty](https://ghostty.org) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/ghostty-org/ghostty/blob/main/AI_POLICY.md)) | | [iTerm2](https://iterm2.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://gitlab.com/gnachman/iterm2/-/issues/11470)) | +| [Ghostty](https://ghostty.org) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/ghostty-org/ghostty/blob/main/AI_POLICY.md)) | | [Kitty](https://github.com/kovidgoyal/kitty) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/kovidgoyal/kitty/commit/551acca0e470cba9b43ab631d1a62fbfa3e6b56b), [2](https://github.com/kovidgoyal/kitty/commit/6b2a8b6a65c6aae7145d00bcf9836e222de3d404), [3](https://github.com/kovidgoyal/kitty/commit/74f817cd36a4d391c72453f666665e72e0bf86fa)) | -| [OpenWarp](https://openwarp.zerx.dev) | None | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://openwarp.zerx.dev))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/zerx-lab/warp/commit/8f4eef1fce88c17c2cf1af452ea2e7f348fc8406), [2](https://github.com/zerx-lab/warp/commit/0c6b5d37c5a65eba97abe01587b65d3db8427aa9), [3](https://github.com/zerx-lab/warp/commit/52f4e17905fba725b62738d882c65662532a347b))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/zerx-lab/warp/pull/48)) | -| [Warp](https://warp.dev) | None |[![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://warp.dev))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/warpdotdev/warp/commit/fc1157e066576bf0d577ab18426d66a5d5dcc3da), [2](https://github.com/warpdotdev/warp/commit/1d1c06db0fd7ccfea7e99ad938f7278a12cdf575), [3](https://github.com/warpdotdev/warp/commit/6ea1a52af1d02914ab43e2f2e4e37f1dedaa99fd))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/warpdotdev/warp/pull/10004), [2](https://github.com/warpdotdev/warp/pull/9956), [3](https://github.com/warpdotdev/warp/pull/9910))
[![AI In Issue Tracker](./badges/ai-in-issue-tracker-teel.svg)](#ai-in-issue-tracker) ([1](https://github.com/warpdotdev/warp/issues/10359#issuecomment-4397177289), [2](https://github.com/warpdotdev/warp/issues/10358#issuecomment-4396700787), [3](https://github.com/warpdotdev/warp/issues/10355#issuecomment-4396359216))| -| [Waveterm](https://www.waveterm.dev/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://docs.waveterm.dev/waveai))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/wavetermdev/waveterm/pull/3122), [2](https://github.com/wavetermdev/waveterm/commit/57e4e27a291642406060c795d69c63450ee9229d), [3](https://github.com/wavetermdev/waveterm/commit/bda8421377f4abcf9c30cfc9a40bfa7190a1f72e))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/wavetermdev/waveterm/pull/3289), [2](https://github.com/wavetermdev/waveterm/pull/3247), [3](https://github.com/wavetermdev/waveterm/pull/3222)) | -| [Wezterm](https://wezterm.org) | [`712400a`](https://github.com/wezterm/wezterm/commit/712400a558848455e45bd39841fc6dc714e14a94)? | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/wezterm/wezterm/commit/d2fc83559c4616d74e847770373b2da88b63cba3))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/wezterm/wezterm/pull/7745)) | > [!NOTE] > #### Alternative terminal emulators @@ -1474,193 +342,390 @@ This section is strictly for software implementing a core set of UNIX-like utili > * [xfce4-terminal] > * [XTerm] -### Terminal Multiplexers +## Developer Tools -| Name | Last Untainted Version or Commit ID | Tags and Evidence | -|---|:---:|---| -| [tmux](https://github.com/tmux/tmux) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/tmux/tmux/wiki/Contributing#use-of-ai)) | -| [zellij](https://zellij.dev/) | [`1411b2d9`](https://github.com/zellij-org/zellij/commit/1411b2d9adf2d08a6e14f3262493ca9e6d26b219) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/zellij-org/zellij/commit/0532949bbdcee5116e91807ddb45a85d78a2aafc)) | +| Name | Alternative(s) | Evidence | +|---|---|---| +| [`atuin`](https://github.com/atuinsh/atuin) | Built-in shell history | [AI command generation](https://github.com/atuinsh/atuin/pull/3199), [LLM PRs accepted](https://github.com/atuinsh/atuin/pull/2777#issuecomment-2944105696) | +| [Sapling](https://github.com/facebook/sapling) | Continue using `git` itself | [`.codex` and `.llms` directories](https://github.com/facebook/sapling/tree/0298ebd8e7/eden), [`.claude` folder](https://github.com/facebook/sapling/blob/ddbd9814bc/eden/scm/.claude/settings.json#L9) | +| [`cargo-nextest`](https://github.com/nextest-rs/nextest) | Just use `cargo test` | [`CLAUDE.md` and `AGENTS.md` in repository](https://github.com/nextest-rs/nextest/commit/3853279b41cc4a81f82e26fd88fac3bf85054af5) | +| [Golly](https://golly.sourceforge.io/) | | [5.0 release notes say the app icon is generated by Claude.](https://golly.sourceforge.io/Help/changes.html) | +| [`Jujutsu`](https://www.jj-vcs.dev/latest/) | Continue using `git` itself | [A core dev occasionally uses Claude to generate local test cases.](https://discord.com/channels/968932220549103686/1458877549034864703); Merged Claude commits (e.g. [1](https://github.com/jj-vcs/jj/pull/9076), [2](https://github.com/jj-vcs/jj/pull/9083), [3](https://github.com/jj-vcs/jj/pull/8571)) | +| [`just`](https://just.systems/) | A Make implementation | Lists an [MCP server in its User Manual](https://just.systems/man/en/model-context-protocol.html). | +| [`mold` linker](https://github.com/rui314/mold) | GNU ld, LLVM lld | [Copilot use](https://github.com/rui314/mold/commit/dac20fa24373f35b5dec44e4740db85c3eb7b3dd) | +| [Taskfile](https://taskfile.dev) | A Make implementation | [Uses Copilot for PRs](https://github.com/go-task/task/pull/2592) | +| [`wild` linker](https://github.com/wild-linker/wild) | GNU ld, LLVM ld | [Allows AI use](https://github.com/wild-linker/wild/blob/9027437a8776afea1a1f0840fcda3fd6895f6f55/CONTRIBUTING.md), [doesn't require disclosure](https://github.com/wild-linker/wild/pull/1653#issuecomment-4017584459), [accepts AI code](https://github.com/wild-linker/wild/pull/912) | +| [`curl`](https://curl.se) | An older version; [wget](https://www.gnu.org/software/wget/)? | Core maintainer uses LLMs for code review (e.g. [1](https://github.com/curl/curl/pull/20797), [2](https://github.com/curl/curl/pull/20798), [3](https://github.com/curl/curl/pull/20787)), and is quoted in the description of the [Aisle Research Bot](https://github.com/apps/aisle-research-bot) LLM. See also [this post](https://mastodon.social/@bagder/116204333476519757) | +| [`rsync`](https://rsync.samba.org/) | An older version: 3.4.1 and below; Maybe `scp` or FTP client? (not applicable to the all cases) | For now (2026-03-15) two top commits at 2026-03-01 were "coauthored" by Claude LLM, see: [1](https://github.com/RsyncProject/rsync/commit/aa142f08ef31d3ffa8d6b3b8af16d00324a98c1b) and [2](https://github.com/RsyncProject/rsync/commit/b905ab23af2d71363271e99e446e8fe0bfc77f7f) | +| [`npmx`](https://npmx.dev/) | [npmjs](https://www.npmjs.com/) | Include [`copilot-instructions.md`](https://github.com/npmx-dev/npmx.dev/blob/7f2fc1ae716605c87612b0e138aa95a277d44559/.github/copilot-instructions.md); [permissive AI policy](https://github.com/npmx-dev/npmx.dev/blob/e3b575ad0760ce79a278e34fc3553020d093e940/CONTRIBUTING.md#using-ai); makes use of [CoderabbitAI](https://github.com/npmx-dev/npmx.dev/pull/2183#issuecomment-4104059314); merges PRs with [Claude commits](https://github.com/npmx-dev/npmx.dev/pull/1513/changes/557db327a06ffa2d42e67a8df3ccc107381fe063) | > [!NOTE] -> #### Terminal Multiplexer Alternatives -> - [dvtm](https://www.brain-dump.org/projects/dvtm/) -> - [GNU Screen](https://www.gnu.org/software/screen/) -> - [mtm](https://github.com/deadpixi/mtm) +> #### On task runners and `make(1)` implementations: +> A lot of Make implementations exist that are very fit to replace other task runners. +> In fact so many were produced, that one can just look up "GNU Make alternative" and find >10 results to pick the one they like the best. Also see: [wikipedia/Make](https://en.wikipedia.org/wiki/Make_(software)) +> Here are some Make implementation suggestions: +> | name | description | +> |------|-------------| +> | [GNU Make](https://www.gnu.org/software/make/) | the most complete one, extra extensions, guile scripting, exports, etc.| +> | [NetBSD make](https://man.netbsd.org/make.1) | Make used to build NetBSD ports tree| +> | [Jam](https://swarm.workshop.perforce.com/projects/perforce_software-jam/) | OSS rewrite by Perforce| -## Text and Code Editors +## Document Viewers -| Name | Last Untainted Version or Commit ID | Tags and Evidence | -|---|:---:|---| -| [CotEditor](https://github.com/coteditor/CotEditor) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/coteditor/CotEditor/commit/dcef4b2aa399aadb8c1c50f2139ca62eedb2cfc7), [2](https://github.com/coteditor/CotEditor/pull/2063)) | -| [Flow](https://codeberg.org/neurocyte/flow) | [`a782bfb`](https://codeberg.org/neurocyte/flow/commit/a782bfb690aec321fc3c6a955953895a150333b1) (unsure) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://codeberg.org/neurocyte/flow/src/commit/9c66b196500b7ee5fbfd98db88a2116f36f1b366), [2](https://codeberg.org/neurocyte/flow/src/commit/ae0f62c3bf75aa13c1916c9d1f37092869765dc8)) ![Permits LLM Ingestion](./badges/permits-llm-ingestion.svg) ([1](https://codeberg.org/neurocyte/flow/src/branch/master#development-resources))| -| [Helix](https://github.com/helix-editor/helix) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/helix-editor/helix/commit/22d0d294bdb2e8f90fd6cb6f2546aefe2844e642)) | -| [Kakoune](https://kakoune.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/mawww/kakoune/commit/ca2c93470352e89cde62cecf2507110509d7be20)) | -| [Lem](http://lem-project.github.io/) | [`e039567`](https://github.com/lem-project/lem/tree/e039567bc8976d2d59920d91e865440068ea8097) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://github.com/lem-project/lem/commit/4f2713e0af6afda559d8aaa896285f18b4a969bb))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/lem-project/lem/blob/main/CLAUDE.md), [2](https://github.com/lem-project/lem/commit/bec98d7d0600f67e5f430cc3032970efeb24b80c), [3](https://github.com/lem-project/lem/commit/376601e2213ba7d1ef83a85e8dc37ddeb7a9f9ea)) | -| [Microsoft Edit](https://github.com/microsoft/edit) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/microsoft/edit/pull/72))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/microsoft/edit/pull/738)) | -| [Neovim](https://github.com/neovim/neovim/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/neovim/neovim/blob/b8a976afdaf0080498e85530fae65a3165f201d5/CONTRIBUTING.md#ai-assisted-work), [2](https://github.com/neovim/neovim/issues/38186#issuecomment-4018682912), [3](https://github.com/neovim/neovim/blob/master/AGENTS.md)) | -| [Nextpad++](https://nextpad.org/) | None | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/nextpad-plus-plus/nextpad-plus-plus-macos/commit/5420e8cf93dd7fdd4aa878035e203748b6aedabf), [2](https://github.com/nextpad-plus-plus/nextpad-plus-plus-macos/commit/9bb0503d758d7f5b9be166fc4b544344fdc9cfe7)) | -| [Ox](https://github.com/curlpipe/ox) | [`v0.7.5`](https://github.com/curlpipe/ox/releases/tag/0.7.5) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://github.com/curlpipe/ox/pull/190/commits/7b2addcfb8c14b5dcae9210b3d18e68dd57c9a93)) | -| [Qt Creator](https://www.qt.io/development/tools/qt-creator-ide) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://www.qt.io/development/tools/qt-creator-ide)) | -| [RStudio](https://posit.co/products/open-source/rstudio) |[![Request for Help](./badges/request-for-help.svg)](#request-for-help) |[![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://docs.posit.co/ide/news/#rstudio))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/rstudio/rstudio/tree/main/.claude), [2](https://github.com/rstudio/rstudio/pull/17500)) | -| [VIm](https://www.vim.org/) | [`v9.1.0189`](https://github.com/vim/vim/releases/tag/v9.1.0189) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://hachyderm.io/@AndrewRadev/116175986749599825), [2](https://github.com/search?q=repo%3Avim%2Fvim+claude&type=commits&s=committer-date&o=desc), [3](https://github.com/vim/vim/issues/18800#issuecomment-3568099543)) | -| [VS Code](https://code.visualstudio.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://code.visualstudio.com/))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/microsoft/vscode/blob/main/.github/copilot-instructions.md), [2](https://github.com/microsoft/vscode/tree/main/.agents/skills/launch), [3](https://github.com/microsoft/vscode/commit/899cb3b5084400ff10d771c65023c32da2e704f6)) | -| [Zed](https://zed.dev) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://zed.dev/ai))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/zed-industries/zed/blob/e613b2c9d36f48248018d3684ddd034f2eade31e/.rules), [2](https://github.com/zed-industries/zed/tree/e613b2c9d36f48248018d3684ddd034f2eade31e/.factory), [3](https://github.com/zed-industries/zed/commit/beb0b028f11c341e2d59f71a3dae29abe41b3df4)) | +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | +|---|:---:|---|---| +| [Sumatra PDF](https://www.sumatrapdfreader.org/) | [`v3.5.2`](https://github.com/sumatrapdfreader/sumatrapdf/releases/tag/3.5.2rel) | ![Vibecoded](./badges/vibecoded.svg) ([1](https://github.com/sumatrapdfreader/sumatrapdf/commit/aad9f76790d2f44894d73e28620eac41aeb5eb5c))| [Xournal++](https://xournalpp.github.io/) | -> [!NOTE] -> ### Alternative Text and Code Editors -> * [EVi] (TUI) -> * [GNU Emacs] (TUI, GUI) -> * [Gram] (GUI) -> * [Hemlock] (TUI, GUI) -> * [Lapce] (GUI) -> * [Vim Classic] (TUI) +## Programming Languages -### Note Software -| Name | Last Untainted Version or Commit ID | Tags and Evidence | -|---|:---:|---| -| [Joplin](https://joplinapp.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/laurent22/joplin/blob/dev/CLAUDE.md)) | -| [Logseq](https://logseq.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/logseq/logseq/blob/master/AGENTS.md)) | -| [Memos](https://usememos.com/) | [`v0.12.1`](https://github.com/usememos/memos/releases/tag/v0.12.1) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/usememos/memos/blob/main/AGENTS.md), [2](https://github.com/usememos/memos/pull/5794))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/usememos/memos/pull/5794))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://github.com/usememos/memos#-featured-sponsors)) | +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | +|---|:---:|---|---| +| [.NET](https://dotnet.microsoft.com/) | [v9.0.0](https://github.com/dotnet/runtime/releases/tag/v9.0.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/dotnet/runtime/blob/main/.github/copilot-instructions.md), [2](https://github.com/dotnet/runtime/blob/main/.github/agents/agentic-workflows.agent.md), [3](https://github.com/dotnet/runtime/commit/128321e88e2c93d69766e15ad4f06bab70b753b7))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/dotnet/runtime/pull/116200)) | See below | +| [Julia](https://julialang.org/) | [v1.11.4](https://github.com/JuliaLang/julia/releases/tag/v1.11.4) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/JuliaLang/julia/blob/master/AGENTS.md)
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/JuliaLang/julia/pull/57995), [2](https://github.com/JuliaLang/julia/pull/59706)) | See below | +| [Kotlin](https://github.com/JetBrains/kotlin) | [v2.3.0](https://github.com/JetBrains/kotlin/releases/tag/v2.3.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/JetBrains/kotlin/blob/master/.ai/guidelines.md), [2](https://github.com/JetBrains/kotlin/commit/65fee3c3cad8012a6aad5df7554a1dd20dfb8d22))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://kotlinlang.org/)) | See below | +| [mruby](https://github.com/mruby/mruby/releases/tag/3.3.0) | [v3.3.0](https://github.com/mruby/mruby/releases/tag/3.3.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/mruby/mruby/commit/b9a1a1fb2389e5b36dd0f0d9a6f95818f7f30af5))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/mruby/mruby/pull/6482), [2](https://github.com/mruby/mruby/pull/6572)) | See below | +| [Nim](https://nim-lang.org/) | [`e2a3063`](https://github.com/nim-lang/Nim/commit/e2a306355ca179aa256a2cee7a0d3a809538c8b9) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/nim-lang/Nim/pull/24564), [2](https://github.com/nim-lang/Nim/pull/25429), [3](https://github.com/nim-lang/Nim/pull/25439)) | [Ada](https://www.adaic.org/)? | +| [Python](https://python.org) | [v3.14.0a4](https://github.com/python/cpython/releases/tag/v3.14.0a4) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://devguide.python.org/getting-started/generative-ai/), [2](https://github.com/python/cpython/commit/f97e4098ff71a6488fd3411f9f9e6fa7a7bb4efe))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/python/cpython/pull/128399)) | See below | +| [MicroPython](https://micropython.org) | [1.26.1](https://github.com/micropython/micropython/releases/1.26.1) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/micropython/micropython/wiki/ContributorGuidelines#generative-ai-policy), [2](https://github.com/micropython/micropython/pull/15592), [3](https://github.com/micropython/micropython/pull/17333)) | See below | +| [CircuitPython](https://circuitpython.org) | [9.2.9](https://github.com/adafruit/circuitpython/releases/9.2.9) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/adafruit/circuitpython/pull/10872), [2](https://github.com/adafruit/circuitpython/pull/10794), [3](https://github.com/adafruit/circuitpython/pull/10703)) | See below | +| [Ruby](https://www.ruby-lang.org) | [v.3.3.8](https://github.com/ruby/ruby/releases/tag/v3_3_8) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/ruby/ruby/commit/c76ba839b153805f0498229284fea1a809308dbc), [2](https://github.com/ruby/ruby/commit/a0fc03ef3717ad0aab363a53a6f6f178dab7b526))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/ruby/ruby/commit/c76ba839b153805f0498229284fea1a809308dbc)) | See below | +| [Scala](https://scala-lang.org/) | [v3.3.6-RC1](https://github.com/scala/scala3/releases/tag/3.3.6-RC1) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/scala/scala3/blob/main/AGENTS.md), [2](https://github.com/scala/scala3/commit/a3a3fb8a907132a19181b5e76f0a3cf19e4f8cd3), [3](https://github.com/scala/scala3/commit/04dcaa43df3d4959114c7875a246f7f1bed09299)) | See below | +| [TruffleRuby](https://truffleruby.dev/) | [v33.0.0](https://github.com/truffleruby/truffleruby/releases/tag/graal-33.0.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/truffleruby/truffleruby/commit/9f028ec178642bc71285a32c82b0a2761723b40b), [2](https://github.com/truffleruby/truffleruby/pull/4133))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/truffleruby/truffleruby/pull/4161)) | See below | +| [Typescript](https://www.typescriptlang.org/) | [v5.1.3](https://github.com/microsoft/TypeScript/releases/tag/v5.1.3) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/microsoft/TypeScript/blob/main/.github/copilot-instructions.md), [2](https://github.com/microsoft/TypeScript/commit/c9e7428bb76f0543a3555d0af87777e7db3a41e6), [3](https://github.com/microsoft/TypeScript/commit/ad04bf7488384a5dcdf7d250ccb8e5263021a8ff)) | See below | > [!Note] -> #### Note Software Alternatives -> - [flatnotes](https://github.com/dullage/flatnotes) (Markdown-based) +> #### On alternative languages: +> Suggestions for alternative programming languages are necessarily more complex than many other categories considered here, as that's one of the core technical choices to be made when starting a new software development project. +> +> Depending on your needs and technical concerns, you may find any number of different alternative languages useful. For example, when considering alternatives to .NET, Java may be an interesting candidate from the perspective of being a similar VM-based framework. +> +> * [Clojure] - dynamic, compiled, general-purpose programming language: [AI-generated code not accepted](https://clojure.org/dev/contributor_agreement#_no_generated_code) +> * [Java] - memory safe, object-oriented, VM-based programming language: [AI-generated code not accepted](https://openjdk.org/legal/ai) +> * [Zig] - general-purpose, compiled, system programming language: [Strict No LLM / No AI Policy](https://codeberg.org/ziglang/zig#strict-no-llm-no-ai-policy) + +## Editors + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | +|---|:---:|---|---| +| [Helix](https://github.com/helix-editor/helix) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/helix-editor/helix/commit/22d0d294bdb2e8f90fd6cb6f2546aefe2844e642)) | See editors below | +| [Joplin](https://joplinapp.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/laurent22/joplin/blob/dev/CLAUDE.md)) | See note software below | +| [Logseq](https://logseq.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/logseq/logseq/blob/master/AGENTS.md)) | See note software below | +| [Neovim](https://github.com/neovim/neovim/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/neovim/neovim/blob/b8a976afdaf0080498e85530fae65a3165f201d5/CONTRIBUTING.md#ai-assisted-work), [2](https://github.com/neovim/neovim/issues/38186#issuecomment-4018682912), [3](https://github.com/neovim/neovim/blob/master/AGENTS.md)) | See editors below | +| [VIm](https://www.vim.org/) | [v9.1.0189](https://github.com/vim/vim/releases/tag/v9.1.0189) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://hachyderm.io/@AndrewRadev/116175986749599825), [2](https://github.com/search?q=repo%3Avim%2Fvim+claude&type=commits&s=committer-date&o=desc), [3](https://github.com/vim/vim/issues/18800#issuecomment-3568099543)) | See editors below | +| [VS Code](https://code.visualstudio.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](./evidence/img/vscode.png))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/microsoft/vscode/blob/main/.github/copilot-instructions.md), [2](https://github.com/microsoft/vscode/tree/main/.agents/skills/launch), [3](https://github.com/microsoft/vscode/commit/899cb3b5084400ff10d771c65023c32da2e704f6)) | [VSCodium](https://vscodium.com/)'s builds disable AI "features" | +| [Zed](https://zed.dev) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://zed.dev/ai))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/zed-industries/zed/blob/e613b2c9d36f48248018d3684ddd034f2eade31e/.rules), [2](https://github.com/zed-industries/zed/tree/e613b2c9d36f48248018d3684ddd034f2eade31e/.factory), [3](https://github.com/zed-industries/zed/commit/beb0b028f11c341e2d59f71a3dae29abe41b3df4)) | [Lapce](https://lap.dev/lapce/)
[Gram](https://codeberg.org/GramEditor/gram) (fork)
Others (emacs, etc.) | + +> [!Note] +> ### Note Software Alternatives > - [Zettlr](https://www.zettlr.com/) (Markdown-based) -## Unified Push Distributors +> [!NOTE] +> ### Alternative TUI Code Editors +> * [emacs] +> * [EVi] +> * [vim-classic] +> * Other forks of VIm prior to March 20th 2024, build [v9.1.0190](https://github.com/vim/vim/releases/tag/v9.1.0190) or commit [`8950bf7f8b85c1287d4e696965d88091fcc60594`](https://github.com/vim/vim/commit/8950bf7f8b85c1287d4e696965d88091fcc60594) + +## Accessibility Tools + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | +|---|:---:|---|---| +| [espeak-ng](https://github.com/espeak-ng/espeak-ng) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help)| [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/espeak-ng/espeak-ng/pull/2328#pullrequestreview-3559773058), [2](https://github.com/espeak-ng/espeak-ng/pull/2302))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/espeak-ng/espeak-ng/commit/a17b335f9f794f9176bd702ceacb09f34bcb1e16), [2](https://github.com/espeak-ng/espeak-ng/commit/00c9e543c7390c228266de5dcac12e5fb2ca98f9)) | [espeak](https://espeak.sourceforge.net/) (note: heavily outdated and very bad from a modern standpoint), [flite](http://cmuflite.org/) | +| [Nametag](https://github.com/mattogodoy/nametag) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help)| [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/mattogodoy/nametag/pull/126), [2](https://github.com/mattogodoy/nametag/pull/119), [3](https://github.com/mattogodoy/nametag/pull/70)) | [Monica](https://github.com/monicahq/monica) | + +## Microcontroller Tools and Libraries + +| Name | Last Untainted Version or Commit ID | Tags and Evidence |Alternative(s) | +|---|:---:|---|---| +| [FastLED](https://fastled.io/) | [`3.10.1`](https://github.com/FastLED/FastLED/releases/tag/3.10.1)| [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/FastLED/FastLED/blob/master/ADVANCED_DEVELOPMENT.md#enabling-ai-coding), [2](https://github.com/FastLED/FastLED/commit/a7fcbf316fe7b0d6759e8d9955a22ff9df4328b2), [3](https://github.com/FastLED/FastLED/commit/bcfc3c0ff8b464a50a7f5f0a8b7437131fe08995)) | | [Adafruit NeoPixel](https://github.com/adafruit/Adafruit_NeoPixel) | +| [ch32-hal](https://github.com/ch32-rs/ch32-hal) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/ch32-rs/ch32-hal/pull/161), [2](https://github.com/ch32-rs/ch32-hal/pull/151), [3](https://github.com/ch32-rs/ch32-hal/pull/139)) | Official [WCH C SDK's](https://github.com/openwch), [ch32fun](https://github.com/cnlohr/ch32fun) | + +## Service Monitoring + +| Name | Last Untainted Version or Commit ID | Tags and Evidence |Alternative(s) | +|---|:---:|---|---| +| [Uptime Kuma](https://github.com/louislam/uptime-kuma) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/louislam/uptime-kuma/pull/6645)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [Glitchtip](https://gitlab.com/glitchtip/glitchtip-backend) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://gitlab.com/glitchtip/glitchtip-backend/-/blob/8c94c95d37f76c1d3adfcdc719968c63afd45a24/AI_POLICY.md)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | + +## Programming Language-Specific Tooling + +### C + +| Name | Alternative(s) | Evidence | Notes | +|---|---|---|---| +| [harfbuzz](https://github.com/harfbuzz/harfbuzz) | Not realistically replaceable currently, use earlier version. | [Core developer enthusiastically discloses LLM usage](https://typo.social/@behdad/116172838540880597) | | +| [sd-bus](https://www.freedesktop.org/software/systemd/man/latest/sd-bus.html) (via systemd) | basu (sd-bus extracted from systemd 2 years before first AI commits) | *See systemd section* | | +| [zlib-ng](https://github.com/zlib-ng/zlib-ng) | [zlib](https://zlib.net) | LLM-powered Coderabbit reviews are used extensively for pull requests: [Example](https://github.com/zlib-ng/zlib-ng/pull/2197), contains commits authored by Claude: [1](https://github.com/zlib-ng/zlib-ng/commit/927c5a46a72cf058043a4b792ff20d8b50a9f1ab), [2](https://github.com/zlib-ng/zlib-ng/commit/061f0e4fa8b266f643a7070befe8d7a0b412ef31), [3](https://github.com/zlib-ng/zlib-ng/commit/a7e15da75f8ec00b392a467675617a9112948d00) | | + +### C++ + +| Name | Last Untainted Version or Commit ID | Alternative(s) | Evidence | +| --- |:---:| --- | --- | +| [spdlog](https://github.com/gabime/spdlog) | [`v1.16.0`](https://github.com/gabime/spdlog/releases/tag/v1.16.0) | | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/gabime/spdlog/commit/b656d1ceecac83e969faaf8b35f8a5edb964b0e0), [2](https://github.com/gabime/spdlog/commit/6b240a892d40f91f30b81cae73964219ab04c55d))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/gabime/spdlog/pull/3581#event-24197698244)) | +| [SQLiteCpp](https://github.com/SRombauts/SQLiteCpp) | [`v3.3.3`](https://github.com/SRombauts/SQLiteCpp/releases/tag/3.3.3) | [SQLite's first-party interface](https://sqlite.org/cintro.html) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/SRombauts/SQLiteCpp/commit/9986f570bef00ca1029a2c19e4ce8fcbf206f775), [2](https://github.com/SRombauts/SQLiteCpp/commit/a9d117e0a38dc12fd49d6bcd675c67a7383fa2fa)) | + +### CSS + +| Name | Alternative(s) | Evidence | Notes | +|---|---|---|---| +| [`tailwindcss`](https://github.com/tailwindlabs/tailwindcss) | [`twind`](https://github.com/tw-in-js/twind) | [Sponsorship page states explicitly that the founder uses AI to write code and even sells access to his "Cursor/Claude/AGENTS.md rules"](https://tailwindcss.com/sponsor) | | + +### JavaScript And TypeScript + +| Name | Alternative(s) | Evidence | Notes | +|---|---|---|---| +| [Zod](https://zod.dev/) | [TypeBox](https://github.com/sinclairzx81/typebox) (in grey area) | [CLAUDE.md, AGENTS.md, .cursorrules in GitHub repo](https://github.com/colinhacks/zod) | Is also sponsored by AI startups | +| [Valibot](https://valibot.dev/) | [TypeBox](https://github.com/sinclairzx81/typebox) (in grey area) | Uses LLM's in [GitHub issues](https://github.com/open-circle/valibot/issues/1389) and [PR's](https://github.com/open-circle/valibot/pull/1388); [`prompts` folder](https://github.com/open-circle/valibot/tree/main/prompts); [LLMs.txt](https://valibot.dev/guides/llms-txt/) | | +| [ArkType](https://arktype.io/) | [TypeBox](https://github.com/sinclairzx81/typebox) (in grey area) | Uses an LLM for PR review (e.g. [PR #1594](https://github.com/arktypeio/arktype/pull/1594)), [accepted a PR from someone using Claude](https://github.com/arktypeio/arktype/pull/1553#issuecomment-3672923281), and has an [llms.txt](https://arktype.io/llms.txt) | Contains a [Cursor instruction file](https://github.com/arktypeio/arktype/blob/main/.cursor/commands/armstrong.md) that may be pro-LLM | +| [Electron](https://electronjs.org) | Using native GUIs, such as [GTK](https://gtk.org), instead of making a web site | Contains [CLAUDE.md](https://github.com/electron/electron/blob/f4c4cd14ac8eebf4ed33d75ca4f9b35b0e013208/CLAUDE.md) and commits from Claude (e.g. [1](https://github.com/electron/electron/commit/3295d0d4b05bf338427e5f98374dda206b83651f), [2](https://github.com/electron/electron/commit/816e5964fb574585840ec82f7b1e3e99b3f93785), [3](https://github.com/electron/electron/commit/f4a50a8fde877075ce3877efd54578997d5e7ece), [4](https://github.com/electron/electron/commit/6993eb3c78770087e0d2a10e184ec96f9eda6b97), [5](https://github.com/electron/electron/commit/f4c4cd14ac8eebf4ed33d75ca4f9b35b0e013208)) | | +| [nvm](https://github.com/nvm-sh/nvm) | | [AGENTS.md](https://github.com/nvm-sh/nvm/blob/master/AGENTS.md), with [precursor copilot rules dating back to July 2025](https://github.com/nvm-sh/nvm/pull/3609) | | + +### Python + +Note that Python is itself tainted; see [the Programming Languages section](#programming-languages). + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | +|---|:---:|---|---| +| [Chardet](https://github.com/chardet/chardet) | [`6.0.0.post1`](https://github.com/chardet/chardet/releases/tag/6.0.0.post1) | [![Vibecoded](./badges/vibecoded.svg)](#vibecoded) ([1](https://github.com/chardet/chardet/issues/327), [2](https://github.com/chardet/chardet/commit/5038f52057e0cc84f622fb2a0546393c43a84a15)) | [charset\_normalizer](https://github.com/jawah/charset_normalizer/) | +| JupyterLab | [`v4.5.6`](https://github.com/jupyterlab/jupyterlab/tree/v4.5.6) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/jupyterlab/jupyterlab/blob/main/AGENTS.md))
[![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://github.com/jupyterlab/jupyter-ai)) | Possibly Emacs ([1](https://www.danliden.com/notes/20241112-python-setup.html), [2](https://blog.serghei.pl/posts/emacs-python-ide/)) | +| [Requests](https://github.com/psf/requests) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/psf/requests/commit/b2a1d33f571518ca9a6148e7da787cc5827f897a)) | [`urllib.request` in Python Standard Library](https://docs.python.org/3/library/urllib.request.html) | +| [Textual](https://github.com/Textualize/textual) | [`v7.5.0`](https://github.com/Textualize/textual/releases/tag/v7.5.0) | [![Vibecoded](./badges/vibecoded.svg)](#vibecoded) ([1](https://github.com/batrachianai/toad/commits?author=willmcgugan))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/Textualize/textual/blob/main/AI_POLICY.md)) | [pytermgui](https://github.com/bczsalba/pytermgui) | + +### Rust + +| Name | Alternative(s) | Evidence | Notes | +|---|---|---|---| +| [`c2rust`](https://github.com/immunant/c2rust) | | [Statement from developer](https://github.com/immunant/c2rust/issues/1653#issuecomment-4035773395)
[`postprocess`](https://github.com/immunant/c2rust/tree/master/c2rust-postprocess) component uses LLMs
[PR](https://github.com/immunant/c2rust/pull/1614) made with AI +| [`egui`](https://github.com/emilk/egui) | [imgui](https://github.com/imgui-rs/imgui-rs), [relm](https://github.com/antoyo/relm), [iced](https://github.com/iced-rs/iced) | [Claude commit](https://github.com/emilk/egui/commit/f3611e3e5a448ba8a96cb880ea3a29245bb3a2d2) | +| [`facet`](https://github.com/facet-rs/facet) | Use more specific deserialization libraries and avoid macros that slow things down anyway. [`serde`](https://serde.rs) itself is [tainted by its Palantir-defending author](https://archive.ph/fe9g5). [`nanoserde`](https://github.com/not-fl3/nanoserde) could be suitable for certain use cases. | [Core developer openly uses LLMs for library dev](https://archive.ph/YhcOh) | | +| [`ratatui`](https://github.com/ratatui/ratatui) | [`iocraft`] (<=0.7.17) and [`cursive`]. [`console`] and its family of libraries may also be enough for some use cases. | [Core developer has stated their use of AI for rust code](https://github.com/ratatui/ratatui/discussions/2201) | | +| [`iocraft`] | An older version (<=0.7.17, prior to [Feb 12, 2026](https://github.com/ccbrown/iocraft/commit/1daff8bdef6d6c0f0ceeb89d0308b1990a5fa428)); [`cursive`] and [`console`] | Contains [commits from Claude](https://github.com/ccbrown/iocraft/commits?author=domenkozar) | | +| [rust-analyzer](https://github.com/rust-lang/rust-analyzer) | cargo check | [Allows AI contributions](https://github.com/rust-lang/rust-analyzer/pull/21314/changes) and [has Claude rules](https://github.com/rust-lang/rust-analyzer/blob/master/CLAUDE.md) | | +| [`wgpu`](https://github.com/gfx-rs/wgpu) | [`vulcano`](https://github.com/vulkano-rs/vulkano), [`ash`](https://github.com/ash-rs/ash), [`glow`](https://github.com/grovesnl/glow) | Explicitly [allowed in CONTRIBUTING.md](https://github.com/gfx-rs/wgpu?tab=contributing-ov-file#llms-ai), [LLM instructions](https://github.com/gfx-rs/wgpu/commit/bed71efe59e2360c625163c28c70de598dee41b7) added according to a decision by the maintainers in [this issue](https://github.com/gfx-rs/wgpu/issues/8834) | +| [`zbus`](https://github.com/z-galaxy/zbus) | | [CLAUDE.md](https://github.com/z-galaxy/zbus/blob/78f786cad319f9027a9893f73aa862ed2f4b45cd/CLAUDE.md), [core developer talking about their AI policy](https://matrix.to/#/!uSaWOSkfhbBXoCCxYe:matrix.org/$6frxoLIKKBIE7ejJr3OJk9jn_nSTl_B5a2poK4lxDjo?via=matrix.org&via=gnome.org&via=mozilla.org) ([screenshot](./evidence/img/zbus.png)) | +| [`zerocopy`](https://github.com/google/zerocopy) | | [Commits from Jules](https://github.com/google/zerocopy/commits?author=google-labs-jules%5Bbot%5D) and [AGENTS.md](https://github.com/google/zerocopy/blob/1834846b5aa8e2d95f9ec810f7b8e6e26909cb2e/AGENTS.md) | | + +Also, there is an advisory database of Rust slopware crates, which you can use in tools like +[cargo-deny](https://embarkstudios.github.io/cargo-deny): . + +## Game Engines + +| Name | Alternative(s) | Evidence | +|---|---|---| +| [UPBGE 0.5](https://upbge.org) | UPBGE 0.36.1 seems to be slop-free | [0.5 release notes state the use of AI in plain language](https://github.com/UPBGE/upbge/wiki/Release-notes-version-0.50#b-implementation-technique-and-limitations) | +| [Godot Engine](https://godotengine.org/) | [Pandemonium Engine](https://pandemoniumengine.org/) | [Allows LLM contributions](https://contributing.godotengine.org/en/latest/pull_requests/pull_request_guidelines.html#ai-assisted-contributions) (also see [this comment](https://github.com/godotengine/godot/pull/112471#issuecomment-4047941693)) | + +## Audio + +| Name | Alternative(s) | Evidence | +|---|---|---| +| [HISE](https://github.com/christophhart/HISE) | [DPF](https://github.com/DISTRHO/DPF) | Include [`AGENTS.md`](https://github.com/christophhart/HISE/blob/59dab9965c5483a61dae01ec667f77aeecbbdb51/AGENTS.md) | +| [zrythm](https://www.zrythm.org) | [Ardour](https://ardour.org/) (opinions may vary whether it is a replacement or not) | [CLAUDE.md](https://github.com/zrythm/zrythm/blob/master/CLAUDE.md) in repository | +| [FineTune](https://github.com/ronitsingh10/FineTune) | [BackgroundMusic](https://github.com/kyleneideck/BackgroundMusic) | Include [`CLAUDE.md`](https://github.com/ronitsingh10/FineTune/blob/20bbef22644a468f403cf9a011586ba2b0ed067f/.gitignore#L3) in the `.gitignore` | +| [SimpMusic](https://github.com/maxrave-dev/SimpMusic) | | Include [`CLAUDE.md`](https://github.com/maxrave-dev/SimpMusic/blob/d57617bd26ab29261f83654dfaf8063b4eb51d0f/CLAUDE.md) and [`.claude`](https://github.com/maxrave-dev/SimpMusic/tree/d57617bd26ab29261f83654dfaf8063b4eb51d0f/.claude) directory; offers [AI integration](https://github.com/maxrave-dev/SimpMusic/blob/d57617bd26ab29261f83654dfaf8063b4eb51d0f/README.md?plain=1#L30) for song suggestions | + +## Messaging | Name | Last Untainted Version or Commit ID | Tags and Evidence | |---|:---:|---| -| [ntfy-sh](https://ntfy.sh/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/binwiederhier/ntfy/releases/tag/v2.18.0), [2](https://web.archive.org/web/20260308142510/https://github.com/binwiederhier/ntfy/releases/tag/v2.18.0)) | +| [Mattermost](https://mattermost.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/mattermost/mattermost/commit/e7f021de3683c72faf99fa82427304f3aae5bbf5))
[![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://docs.mattermost.com/administration-guide/configure/agents-admin-guide.html))| +| [Telegram](https://telegram.org) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/telegramdesktop/tdesktop/commit/983bd1a57bfd9a88bb0e17b51103c5e6cf1e3f24))| +| [Zulip](https://zulip.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://github.com/zulip/zulip/pull/32895)) | +| [Sharkord](https://sharkord.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/Sharkord/sharkord/issues/85), [2](https://github.com/Sharkord/sharkord/blob/fd637b6f369b54f2726cd78603b6147d6fe45a29/.gitignore#L2)) | +| [ArcaneChat](https://arcanechat.me/) | None | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://fosstodon.org/@arcanechat/116296135536352968))
[![Gen AI 'Art'](./badges/gen-ai-art-dark-yellow.svg)](https://codeberg.org/small-hack/open-slopware#gen-ai-art) ([1](https://fosstodon.org/@arcanechat/116292382977465468)) | +| [Delta Chat](https://delta.chat/en/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/deltachat/deltachat-android/pull/4249)
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/deltachat/deltachat-android/pull/4255), [2](https://github.com/deltachat/deltachat-android/pull/4257), [3](https://github.com/deltachat/deltachat-android/pull/4259)) + +> [!Note] +> ### Messaging alternatives +> - [matrix] + +## Package Managers + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | +|---|:---:|---|---| +| [brew](https://github.com/Homebrew/brew) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/Homebrew/brew/blob/main/AGENTS.md)) | Build packages from source | +| [macports](https://github.com/macports/macports-ports) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/macports/macports-ports/pull/28628)) | Build packages from source | +| [PiKISS](https://github.com/jmcerrejon/PiKISS) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/jmcerrejon/PiKISS/pull/240)) | Use system repositories provided by your distro or manual installation of software | + +## Password Management + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | +|---|:---:|---| +| [AliasVault](https://aliasvault.net) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Gen AI 'Art'](./badges/gen-ai-art-dark-yellow.svg)](#gen-ai-art) ([1](https://app.aliasvault.net/img/avatar.webp)) | +| [Bitwarden](https://bitwarden.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/bitwarden/server/blob/main/.claude/CLAUDE.md)) | +| [KeepassXC](https://keepassxc.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Vibecoded](./badges/vibecoded.svg)](#vibecoded) ([1](https://keepassxc.org/blog/2025-11-09-about-keepassxcs-code-quality-control/), [2](https://github.com/keepassxreboot/keepassxc/pull/12588), [3](https://github.com/keepassxreboot/keepassxc/pull/12314)) | + +> [!Note] +> ### Password manager alternatives +> * [vaultwarden] (server) / [rbw](https://github.com/doy/rbw) (client) +> * [KeePass 2](https://keepass.info/download.html). It is a .NET application, but [Mono](https://keepass.info/help/v2/setup.html#mono) or [Wine](https://keepass.info/help/v2/setup.html#wine) can be used for non-Windows platforms. +> * [KeePassXC 2.7.9](https://github.com/keepassxreboot/keepassxc/releases/tag/2.7.9) was released before the statement, and was awarded 3 year security Visa by the French National Cybersecurity Agency ([ANSSI](https://cyber.gouv.fr/)) for a First-level Security Certification (CSPN), valid in France and Germany, under report No. ANSSI-CSPN-2025/16 ([archive.org](https://web.archive.org/web/20251128131437/https://cyber.gouv.fr/produits-certifies/keepassxc-version-279), [certificate](https://messervices.cyber.gouv.fr/visas/ANSSI-CSPN-2025-16-certificat.pdf)). +> * [KeePassChi](https://codeberg.org/keepasschi/keepasschi): A fork of KeePass 2.7.9 [with clear stance against LLMs](https://social.anoxinon.de/@whitequark@treehouse.systems/116403781772180051). +> * [Secrets](https://apps.gnome.org/Secrets/) uses the KeePass file format. +> * Password managers based on [pass](https://www.passwordstore.org/) or [Himitsu](https://himitsustore.org/) could be interesting. + +## Git Servers + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | +|---|:---:|---|---| +| [Gitea](https://about.gitea.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/go-gitea/gitea/blob/main/CONTRIBUTING.md#ai-contribution-policy), [2](https://github.com/go-gitea/gitea/blob/main/AGENTS.md), [3](https://github.com/go-gitea/gitea/blob/main/CLAUDE.md))
[![Gen AI 'Art'](./badges/gen-ai-art-dark-yellow.svg)](https://codeberg.org/small-hack/open-slopware#gen-ai-art) ([1](https://about.gitea.com/blog/gitea-achieves-soc2-type2-soc3-certification)) | [Forgejo](https://codeberg.org/forgejo/forgejo) (self-hosted) or [Codeberg](https://codeberg.org/) (hosted) | +| [GitLab](https://gitlab.com/rluna-gitlab/gitlab-ce) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://gitlab.com/rluna-gitlab/gitlab-ce/-/blob/master/.ai/)) | [Forgejo](https://codeberg.org/forgejo/forgejo) (self-hosted) or [Codeberg](https://codeberg.org/) (hosted) | + +## Blogging Software + +### Content Management Systems + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | +|---|:---:|---|---| +| [Ghost](https://ghost.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/TryGhost/Ghost/tree/main/.claude))
| [WriteFreely] | +| [Wagtail](https://wagtail.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/wagtail/wagtail/blob/main/AGENTS.md))
[![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://wagtail.org/wagtail-ai/)) | [WriteFreely] | +| [WordPress](https://wordpress.org) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/WordPress/gutenberg/blob/trunk/AGENTS.md), [2](https://github.com/WordPress/gutenberg/pull/74449)) | [WriteFreely] | +| [Bludit](https://www.bludit.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/bludit/bludit/pull/1642))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/bludit/bludit/pull/1642)) | [WriteFreely] | + +### Static Site Generators + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | +|---|:---:|---| +| [Hugo](https://gohugo.io/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/gohugoio/hugo/blob/842d8f105256c5656e7895ee61fa5b2dfe90a9e3/AGENTS.md), [2](https://github.com/gohugoio/hugo/blob/842d8f105256c5656e7895ee61fa5b2dfe90a9e3/CLAUDE.md), [3](https://github.com/gohugoio/hugo/commit/842d8f105256c5656e7895ee61fa5b2dfe90a9e3)) | +| [Pelican](https://getpelican.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/getpelican/pelican/pull/3405#issuecomment-2592359405)) | +| [Zola](https://www.getzola.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/getzola/zola/blob/ec865e2cb7c159169f4dc56ebcd35a460b8eb297/.claude)) | + +> [!Note] +> #### Static site generators alternatives +> * [Bridgetown](https://www.bridgetownrb.com) +> * [BSSG](https://bssg.dragas.net/) +> * [Jekyll](https://jekyllrb.com/) maybe? No signs of AI in the repo but also [no clear statement](https://talk.jekyllrb.com/t/ai-usage-in-the-jekyll-project/10269) provided +> * [Haunt](https://dthompson.us/projects/haunt.html) +> * [Zine](https://zine-ssg.io) + +## Services and Utilities + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | +|---|:---:|---|---| +| [Calibre](https://calibre-ebook.com) | [`8.15.0`](https://github.com/kovidgoyal/calibre/releases/tag/v8.15.0) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://github.com/kovidgoyal/calibre/blob/master/Changelog.txt)) | [BookLore](https://booklore.org/)
[Clbre](https://github.com/grimthorpe/clbre), a Calibre fork without AI
[Arcalibre](https://codeberg.org/rereading/arcalibre), a Calibre hard-fork from before AI features | +| [somafm_tui](https://github.com/zsh-ncursed/somafm_tui) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/zsh-ncursed/somafm_tui/commit/bd176678d3f6b4f63603c331fb4481356068e78e), [2](https://github.com/zsh-ncursed/somafm_tui/commit/11c9e9e934aa0d6fe4a1f572eed2ba252aac064b)) | [soma-player](https://github.com/mpuccini/soma-play) | + +### File Storage + +| Name | Alternative(s) | Evidence | +|---|---|---| +| [MinIO](https://www.min.io/) | [Garage] | Advertises AI as their primary focus on their website. | +| [Nextcloud](https://nextcloud.com/) | [seafile](https://github.com/haiwen/seafile) for file storage and syncing only (not a complete worksuite replacement) | [✨ Nextcloud Assistant](https://nextcloud.com/assistant/) (can be disabled)
Nextcloud Desktop has [AGENTS.md](https://github.com/nextcloud/desktop/blob/master/AGENTS.md) | +| [SeaweedFS](https://seaweedfs.com/) | [Garage] for S3 api + [JuiceFS](https://juicefs.com/en/) for the NFS mounts and K8s CSI driver
[Rook/Ceph](https://rook.io/) | Using [Gemini and coderabbitai in PRs](https://github.com/seaweedfs/seaweedfs/pull/7996). | + +### Game Managers +| Name | Alternative(s) | Evidence | +|---|---|---| +| [Lutris](https://github.com/lutris/lutris) | [Bottles](https://github.com/bottlesdevs/Bottles) | Issue ["is lutris slop now"](https://github.com/lutris/lutris/issues/6506#issuecomment-3976118573) & Discussion ["is lutris slop now"](https://github.com/lutris/lutris/discussions/6530) | + +### Social Media + +This is for both social media websites and apps. + +#### Servers + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | +|---|:---:|---|---| +| [Bluesky](https://bsky.app) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Vibecoded](./badges/vibecoded.svg)](#vibecoded) ([1](https://bsky.app/profile/pfrazee.com/post/3luyb3jcbv52d)) | See below | +| [`rsky`](https://github.com/blacksky-algorithms/rsky) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Vibecoded](./badges/vibecoded.svg)](#vibecoded) ([1](https://github.com/blacksky-algorithms/rsky/commit/02313d970dc2e1cef0909277b94bbff222dff152), [2](https://github.com/blacksky-algorithms/rsky/commit/fd6063d4e2f0688899faef34e2d3553c36c69d43), [3](https://github.com/blacksky-algorithms/rsky/commit/b7adaa213ca49318de078b82410bf54f828ba0f2)) | See below | +| [PeerTube](https://joinpeertube.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/Chocobozzz/PeerTube/blob/c2345d670bfe83295896b3451ebfc14185934a1b/AGENTS.md))
[![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://framacolibri.org/t/peertube-and-generative-ai/26622)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [Mastodon](https://joinmastodon.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/mastodon/.github/blob/49b9c64f3e2b6a459e56a05068c05b3247659bb3/AI_POLICY.md)) | See below | +| [Misskey](https://misskey-hub.net/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Vibecoded](./badges/vibecoded.svg)](#vibecoded) ([1](https://github.com/misskey-dev/misskey/commit/2fa6ecc7efaaf9b9d189cdd3a3ebbb9171c86078)) | See below | +| [Lemmy](https://join-lemmy.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://join-lemmy.org/docs/code_of_conduct.html)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | + +> [!Note] +> ##### Generic social media server alternatives +> * [GoToSocial] +> * [Wafrn](https://codeberg.org/wafrn/wafrn/) supports both ActivityPub and ATproto +> * [snac2](https://codeberg.org/grunfink/snac2) +> * [Iceshrimp.NET](https://iceshrimp.net/) +> * [Epicyon](https://codeberg.org/bashrc/epicyon) + +#### Clients + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | +|---|:---:|---|---| +| [IceCubesApp for iOS](https://github.com/Dimillian/IceCubesApp) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/Dimillian/IceCubesApp/blob/main/CLAUDE.md)) |[Feditext](https://github.com/feditext/feditext) (an iOS fediverse app in beta), [wafrn-rn] | +| [Bluesky Social App](https://github.com/misskey-dev/misskey/commit/2fa6ecc7efaaf9b9d189cdd3a3ebbb9171c86078) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/bluesky-social/social-app/blob/177bdcd2b7807c9980dab32e7a5664fc006df40b/CLAUDE.md))
[![Vibecoded](./badges/vibecoded.svg)](#vibecoded) ([1](https://github.com/bluesky-social/social-app/commit/8c4fc087f8119de5c007b71baaaf02089a346b38), [2](https://github.com/bluesky-social/social-app/commit/612a778361edc0314f92a0451abb98843e7bef9a), [3](https://github.com/bluesky-social/social-app/commit/1782a65174cbd22f01936f529f954e7a491b3fac)) | [wafrn-rn] | + +### Unified Push Distributors +| Name | Alternative(s) | Evidence | +|---|---|---| +| [ntfy-sh](https://ntfy.sh/) | see below | [v2.18.0 is "14,997 added lines of code \[...\] written by Cursor and Claude"](https://github.com/binwiederhier/ntfy/releases/tag/v2.18.0) ([archive](https://web.archive.org/web/20260308142510/https://github.com/binwiederhier/ntfy/releases/tag/v2.18.0)) | + +list of unified push distributors at: https://unifiedpush.org/users/distributors: +- Sunup +- NextPush (see entry for NextCloud on taintedness) +- Conversations (XMPP client) or one of the forks + +### Budgeting + +| Name | Alternative(s) | Evidence | +|---|---|---| +| [Actual](https://actualbudget.org/) | | Include [AGENTS.md](https://github.com/actualbudget/actual/blob/master/AGENTS.md); [Used Open Collective funds for Cursor subscription](https://opencollective.com/actual/expenses/277324) | +| [Firefly III](https://firefly-iii.org) | | Include [agents.md](https://github.com/firefly-iii/firefly-iii/blob/main/agents.md) | + +## System Services and Daemons + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | +|---|:---:|---|---| +| [framework-system](https://github.com/FrameworkComputer/framework-system) | [`50a18e8`](https://github.com/FrameworkComputer/framework-system/commit/50a18e825e0a81aa8761ab2677d9cd139d766854) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/FrameworkComputer/framework-system/blob/main/CLAUDE.md), [2](https://github.com/FrameworkComputer/framework-system/pull/250)) | BIOS settings, UI widgets, /proc | +| [lvm2](https://sourceware.org/lvm2/) |[![Request for Help](./badges/request-for-help.svg)](#request-for-help) |[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://gitlab.com/lvmteam/lvm2/-/commit/6207fe707a4ae255ef62a2fa088ec2497ae6c0a8),[2](https://gitlab.com/lvmteam/lvm2/-/commit/ff76548a3da5cee224e4663d81d7041558115b8e),[3](https://gitlab.com/lvmteam/lvm2/-/commit/99b85e7e4acc7fb69460b2bdb94aa8c2ca0f8946)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [rsyslog](https://www.rsyslog.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://www.rsyslog.com/doc/about/ai_first.html)) | [syslog-ng](https://www.syslog-ng.com/products/open-source-log-management/) | +| [systemd](https://github.com/systemd/systemd) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/systemd/systemd/blob/main/AGENTS.md), [2](https://github.com/systemd/systemd/commit/744d589632c545e90ae76853abbfbc90cb530e24)) | [dinit](https://davmac.org/projects/dinit), [s6](https://skarnet.org/software/s6/), [OpenRC](https://github.com/OpenRC/openrc), [shepherd](https://shepherding.services/) | +| [wireplumber](https://gitlab.freedesktop.org/pipewire/wireplumber/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://gitlab.freedesktop.org/pipewire/wireplumber/-/blob/master/AGENTS.md?ref_type=heads)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help)| +| [Mesa3D](https://mesa3d.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://docs.mesa3d.org/submittingpatches.html#expectations-on-contributors)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help)| + +## Bootloaders +| Name | Alternative(s) | Evidence | +|---|---|---| +| [Limine](https://github.com/Limine-Bootloader/Limine) | [Hyper](https://github.com/UltraOS/Hyper), [GRUB](https://www.gnu.org/software/grub/) | This entry was added by the creator and main maintainer of Limine. Limine does not ban code authored by LLMs or anyone/anything else, as long as it's reviewed by a human. The author has used LLMs (Claude Code) numerous times for many commits. | + +## Operating Systems + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | +|---|:---:|---|---| +| [DragonFlyBSD](https://www.dragonflybsd.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Vibecoded](./badges/vibecoded.svg)](#vibecoded) ([1](https://gitweb.dragonflybsd.org/?p=dragonfly.git;a=commit;h=41fb76421dce54f90c9cfb9f4f7e2993ae795266)) | See below | +| [FreeBSD](https://freebsd.org) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/freebsd/freebsd-src?tab=contributing-ov-file#quality-expectations)) | See below | +| [FreeDOS](http://www.fdos.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Vibecoded](./badges/vibecoded.svg)](#vibecoded) ([1](https://github.com/FDOS/country/pull/16))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/FDOS/country/pull/16), [2](https://github.com/FDOS/country/pull/18)) | [The original MS-DOS source code](https://github.com/microsoft/MS-DOS) is under the Expat/MIT license | +| [Linux Kernel](https://kernel.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Vibecoded](./badges/vibecoded.svg)](#vibecoded) ([1](https://lwn.net/Articles/1041694/))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/torvalds/linux/blob/0f00132132937ca01a99feaf8985109a9087c9ff/Documentation/process/coding-assistants.rst)) | See below | +| [MidnightBSD](http://www.midnightbsd.org/) | [`ed4b0a5`](https://github.com/MidnightBSD/src/commit/ed4b0a5d41d2dcdd89a3795713fd5c8f91c39533) | [![Vibecoded](./badges/vibecoded.svg)](#vibecoded) ([1](https://github.com/MidnightBSD/src/commit/7c14aa7a887490da483646a84a23d7452d7f719c))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/MidnightBSD/src/blob/ea6d4e4fb944e0f3a76dd9bfb91d23917a27d24b/AI_POLICY.md))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/MidnightBSD/src/pull/262), [2](https://github.com/MidnightBSD/src/pull/302), [3](https://github.com/MidnightBSD/src/pull/302)) | See below | +| [NixOS](https://github.com/NixOS/nix) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/NixOS/nix/commit/6dddd433f8a40df445257d69f0ec2c3d88d37b21), [2](https://github.com/NixOS/nix/commit/b738af0f5cefaa4fd76d74a981433d608b109d2c), [3](https://github.com/NixOS/nix/commit/5286c0477d77fb919df890324d3a510a199f450e)) | [GNU Guix System](https://guix.gnu.org/) | +| [OpenBSD](https://openbsd.org) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Vibecoded](./badges/vibecoded.svg)](#vibecoded) ([1](https://github.com/openbsd/src/commit/9c2b8e445a0bdfafdd6148b1760f00aa5429627b), [2](https://github.com/openbsd/src/commit/e9af5eb5a61d189327b553b24d0d31f19c64b63f)) | See below | +| [ReactOS](https://reactos.org/) | [`d4993c6`](https://github.com/reactos/reactos/commit/d4993c67cd8e9bb724ceeb26e0b252273c8184e1) | [![Vibecoded](./badges/vibecoded.svg)](#vibecoded) ([1](https://github.com/reactos/reactos/pull/5850#discussion_r1375260272))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/reactos/reactos/pull/8690), [2](https://github.com/reactos/reactos/pull/8704), [3](https://github.com/reactos/reactos/pull/8747)) | [Wine](https://www.winehq.org/) for some use cases | +| [TrueNAS](https://www.truenas.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/truenas/truenas_pylibzfs/blob/master/CLAUDE.md)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | > [!NOTE] -> ### Alternative Unified Push Distributors -> See [List of unified push distributors](https://unifiedpush.org/users/distributors) -> - Sunup -> - NextPush (see entry for NextCloud on taintedness) -> - Conversations (XMPP client) or one of the forks - -## Version Control - -### Version Control Clients and Tooling - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | -|---|:---:|---| -| [Breezy](https://github.com/breezy-team/breezy/) | [`4559cec`](https://github.com/breezy-team/breezy/commit/4559cec280b280e9624da79624baf31d2791fa85) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/breezy-team/breezy/pull/270/)) | -| [Gerrit](https://www.gerritcodereview.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://www.gerritcodereview.com/3.14.html#review-agent-ai-chat), [2](https://storage.googleapis.com/gerrit-talks/summit/2025/AI.Code-Review.for.Gerrit.pdf))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/GerritCodeReview/gerrit/blob/b1cbca0715cc3cc4d41f1b04752abbac25cc3fba/AGENTS.md)) | -| [Git](https://git-scm.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/git/git/pull/2189), [2](https://github.com/git/git/commit/fb1b786ebfab18b851ce1fa94d5063daf11f647f)) | -| [Git for Windows](https://gitforwindows.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/git-for-windows/git-for-windows-automation/blob/4f62410e5279fe972eee0366992143980a44306d/.github/workflows/rebase-shears.yml), [2](https://github.com/git-for-windows/git-for-windows-automation/commit/052cb1f2ce3dd38ac21c57d4561fa00c20bab643), [3](https://github.com/git-for-windows/build-extra/commit/d1afe4dfd6383c4d51ac5558b9d150ca97b91c41)) | -| [GitButler](https://gitbutler.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://docs.gitbutler.com/features/branch-management/ai-assistance), [2](https://github.com/gitbutlerapp/gitbutler/tree/2b9da0d6d88bfc117da72f3cd06baac8d194fd18/apps/desktop/src/lib/ai))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/gitbutlerapp/gitbutler/blob/87180b105ced4d3fa908c96c641068b58073be29/AGENTS.md), [2](https://github.com/gitbutlerapp/gitbutler/commit/ab5b3fae080df9f0b34d16e3395dc4a5abac4024)) | -| [gitoxide](https://github.com/GitoxideLabs/gitoxide) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/GitoxideLabs/gitoxide/blob/main/CONTRIBUTING.md#please-disclose-the-use-of-ai), [2](https://github.com/GitoxideLabs/gitoxide/blob/main/.claude/instructions.md), [3](https://github.com/GitoxideLabs/gitoxide/commit/61c504dfdd6505eeeda22a6c4254c7342b78d6e3))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/GitoxideLabs/gitoxide/pull/2584), [2](https://github.com/GitoxideLabs/gitoxide/pull/2379), [3](https://github.com/GitoxideLabs/gitoxide/pull/2514)) | -| [Jujutsu](https://www.jj-vcs.dev/latest/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://discord.com/channels/968932220549103686/1458877549034864703), [2](https://github.com/jj-vcs/jj/pull/9076), [3](https://github.com/jj-vcs/jj/pull/9083)) | -| [Mercurial](https://mercurial-scm.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://foss.heptapod.net/mercurial/mercurial-devel/-/merge_requests/1914)) | -| [Sapling](https://github.com/facebook/sapling) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/facebook/sapling/tree/0298ebd8e7/eden), [2](https://github.com/facebook/sapling/blob/ddbd9814bc/eden/scm/.claude/settings.json#L9)) | - -> [!Note] -> #### Alternative Version Control Systems -> * [Game of Trees] -> * [Fossil](https://www.fossil-scm.org/) -> * [BitKeeper](https://github.com/bitkeeper-scm/bitkeeper) - -### Version Control Servers - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | -|---|:---:|---| -| [Gitea](https://about.gitea.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/go-gitea/gitea/blob/main/CONTRIBUTING.md#ai-contribution-policy), [2](https://github.com/go-gitea/gitea/blob/main/AGENTS.md), [3](https://github.com/go-gitea/gitea/blob/main/CLAUDE.md))
[![Gen AI 'Art'](./badges/gen-ai-art-dark-yellow.svg)](https://codeberg.org/small-hack/open-slopware#gen-ai-art) ([1](https://about.gitea.com/blog/gitea-achieves-soc2-type2-soc3-certification)) | -| [Gogs](https://gogs.io/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/gogs/gogs/pull/8059), [2](https://github.com/gogs/gogs/pull/8061), [3](https://github.com/gogs/gogs/pull/8121))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/gogs/gogs/pull/7981), [2](https://github.com/gogs/gogs/pull/8069)) | -| [GitLab](https://gitlab.com/gitlab-org/gitlab) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://about.gitlab.com/), [2](https://about.gitlab.com/blog/gitlab-act-2/), [3](https://docs.gitlab.com/user/project/ml/))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://gitlab.com/gitlab-org/gitlab/-/blob/bc0c170b8266e5ed182a3def29313bb8a8421af4/AGENTS.md), [2](https://gitlab.com/rluna-gitlab/gitlab-ce/-/blob/master/.ai/)) | -| [Tangled](https://tangled.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://tangled.org/tangled.org/core/issues/394)) | - -> [!Note] -> #### Alternative Version Control Servers -> - [Forgejo](https://codeberg.org/forgejo/forgejo) (self-hosted; [bans LLMs](https://forgejo.org/2026-03-monthly-report/#ai-agreement)) -> - [Codeberg](https://codeberg.org/) (hosted Forgejo) -> - [Sourcehut](https://sourcehut.org/) (self-hosted; provides a hosted option) +> #### Alternative operating systems +> Operating systems are a tough ask. No matter what you choose, support will be inferior compared to an operating system with the Linux kernel, so don't feel pressured to switch. +> * [MirBSD](https://mbsd.evolvis.org/) has [banned LLMs](https://mbsd.evolvis.org/permalinks/wlog2021_e20240726.htm#e20240726_wlog2021) +> * [NetBSD](https://www.netbsd.org/) has a [somewhat ambiguous policy](https://www.netbsd.org/developers/commit-guidelines.html) +> * [illumos](https://illumos.org/) and its distributions remain unaffected as of April 2026. +> * [RedoxOS](https://redox-os.org/) has [banned LLMs](https://gitlab.redox-os.org/redox-os/redox/-/blob/master/CONTRIBUTING.md) +> * [Haiku](https://www.haiku-os.org/) has [banned LLMs](https://www.haiku-os.org/community/organization/policies/) ## Virtualization -| Name | Last Untainted Version or Commit ID | Tags and Evidence | -|---|:---:|---| -| [Botspot Virtual Machine](https://github.com/Botspot/bvm) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/Botspot/bvm?tab=readme-ov-file#ask-me-anything)) | -|[Cloud-Hypervisor](https://github.com/cloud-hypervisor/cloud-hypervisor/)| [`v47.0`](https://github.com/cloud-hypervisor/cloud-hypervisor/releases/tag/v47.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/cloud-hypervisor/cloud-hypervisor/blob/ea2df946f63d6662cae3a93ef3299d397a543a10/CONTRIBUTING.md#aillm-assistance--generated-code))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/cloud-hypervisor/cloud-hypervisor/blob/ea2df946f63d6662cae3a93ef3299d397a543a10/CONTRIBUTING.md#code-review)) | -| [Kubevirt](https://kubevirt.io/) | [`v1.5.0`](https://github.com/kubevirt/kubevirt/releases/tag/v1.5.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/kubevirt/community/blob/main/ai-contribution-policy.md))
[![AI In Issue Tracker](./badges/ai-in-issue-tracker-teel.svg)](https://codeberg.org/small-hack/open-slopware#ai-in-issue-tracker) ([1](https://github.com/kubevirt/kubevirt/issues/17003#issuecomment-3990607938))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/kubevirt/kubevirt/pull/17522#pullrequestreview-4128078747)) | -| [VirtualBox](https://www.virtualbox.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/VirtualBox/virtualbox/blob/main/AGENTS.md)) | - -> [!NOTE] -> #### Virtualization Alternatives -> * [QEMU]: Emulator and virtualizer that [does not accept slop contributions](https://www.qemu.org/docs/master/devel/code-provenance.html#use-of-ai-generated-content). -> * [virt-manager]: GUI for managing libvirt machines. Needed for VirtualBox feature parity as QEMU [does not provide one of its own](https://wiki.archlinux.org/title/QEMU#Graphical_front-ends_for_QEMU). -> * [GNOME Boxes] - -## Volunteer Computing - -Volunteer computing is a system in which someone can donate (excess) compute resources to research projects. - | Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | |---|:---:|---|---| -| [BOINC](https://boinc.berkeley.edu/) | [`3e5c24b`](https://github.com/BOINC/boinc/commit/3e5c24b6ed0fdf66ae0e7814c9d9ebc994fb3b01) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/BOINC/boinc/commit/95cf8aa6c4cfaa5cb2ead01f6161290f0c1fa2ac), [2](https://github.com/BOINC/boinc/commit/efba32432d383732249b6171acdba3799b02da65), [3](https://github.com/BOINC/boinc/commit/ea17911ab1fe8b5b0167c47c46d9d2297d2eb501))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/BOINC/boinc/pull/5914), [2](https://github.com/BOINC/boinc/pull/5918), [3](https://github.com/BOINC/boinc/pull/5954)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [Botspot Virtual Machine](https://github.com/Botspot/bvm) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Vibecoded](./badges/vibecoded.svg)](#vibecoded) ([1](https://github.com/Botspot/bvm?tab=readme-ov-file#ask-me-anything)) | [QEMU](https://qemu.org) + [virt-manager](https://virt-manager.org/) | + ## VPN Software -| Name | Last Untainted Version or Commit ID | Tags and Evidence | -|---|:---:|---| -| [Headscale](https://github.com/juanfont/headscale) | [`474ea23` (`v0.26.1`)](https://github.com/juanfont/headscale/commit/474ea236d0c6d393dbcf7baa98da240ad20c1b66) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/juanfont/headscale/blob/main/AGENTS.md), [2](https://github.com/juanfont/headscale/tree/main/.claude/agents), [3](https://github.com/juanfont/headscale/pull/3050)) | -| [netbird](https://netbird.io) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | ![AI Databroker Usage](./badges/ai-databroker-usage-pink.svg) ([1](https://netbird.io/privacy)) | -| [nebula](https://github.com/slackhq/nebula) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/slackhq/nebula/commit/f8587956babc28da162afaba9861c282dc90a90e)) | -| [frp](https://github.com/fatedier/frp) | [`0.48.0`](https://github.com/fatedier/frp/tree/v0.48.0?tab=readme-ov-file) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/fatedier/frp/commit/6b1be922e155def020e78aa78f4b796b7a530ea4), [2](https://github.com/fatedier/frp/commit/7cfa546b55ee485240c3a713b01a4923ee6b714c))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/fatedier/frp/pull/5234), [2](https://github.com/fatedier/frp/pull/5223), [3](https://github.com/fatedier/frp/pull/5209))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://github.com/fatedier/frp?tab=readme-ov-file#sponsors)) | - -> [!NOTE] -> ### VPN Software Alternatives -> * Use [WireGuard](https://www.wireguard.com/)Ā®ļø capable VPN's such as those listed in the official [wireguard repos](https://www.wireguard.com/repositories/). +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | +|---|:---:|---|---| +| [Headscale](https://github.com/juanfont/headscale) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/juanfont/headscale/blob/main/AGENTS.md), [2](https://github.com/juanfont/headscale/tree/main/.claude/agents), [3](https://github.com/juanfont/headscale/pull/3050)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [netbird](https://netbird.io) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | ![AI Databroker Usage](./badges/ai-databroker-usage-pink.svg) ([1](https://netbird.io/privacy)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [nebula](https://github.com/slackhq/nebula) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/slackhq/nebula/commit/f8587956babc28da162afaba9861c282dc90a90e)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | ## Window Managers -| Name | Last Untainted Version or Commit ID | Tags and Evidence | -|---|:---:|---| -| [Hyprland](https://github.com/hyprwm/Hyprland) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/hyprwm/Hyprland/pull/13749)) | -| [i3](https://i3wm.org) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/i3/i3?tab=contributing-ov-file#ai-contribution-policy), [2](https://github.com/i3/i3/issues/6546)) | -| [IceWM](https://ice-wm.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | ![AI Code Reviews](./badges/ai-code-reviews-purple.svg) ([1](https://github.com/ice-wm/icewm/issues/203#issuecomment-3318901550) | -| [MangoWC](https://github.com/mangowm/mango) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](https://codeberg.org/small-hack/open-slopware#ai-code-reviews) ([1](https://github.com/mangowm/mango/pull/728), [2](https://github.com/mangowm/mango/pull/713), [3](https://github.com/mangowm/mango/pull/818)) | -| [Mir](https://github.com/canonical/mir) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/canonical/mir/blob/4978dbc445c906a5675e9c41c1dd59b84a3cbd18/.github/copilot-instructions.md))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](https://codeberg.org/small-hack/open-slopware#ai-code-reviews) ([1](https://github.com/canonical/mir/pull/4422)) | -| [miracle-wm](https://github.com/miracle-wm-org/miracle-wm) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/miracle-wm-org/miracle-wm/pull/775), [2](https://github.com/miracle-wm-org/miracle-wm/pull/780), [3](https://github.com/miracle-wm-org/miracle-wm/commit/1177f50000c1bd2c7d6492a4c700a4e75b6804e9), [4](https://github.com/miracle-wm-org/miracle-wm/pull/862)) | -| [niri](https://github.com/niri-wm/niri) | [`v25.05.1`](https://github.com/niri-wm/niri/releases/tag/v25.05.1) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/niri-wm/niri/blob/main/CONTRIBUTING.md#ai-contributions), [2](https://github.com/niri-wm/niri/pull/2109))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/niri-wm/niri/pull/3651)) | -| [Qtile](https://github.com/qtile/qtile) | [`v0.34.1`](https://github.com/qtile/qtile/releases/tag/v0.34.1) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/qtile/qtile/commit/0c5e1285124eaef419c93519de7465e95cbe64a3), [2](https://github.com/qtile/qtile/commit/1e3a2040d20e2df771b867899083ff00e9721665), [3](https://github.com/qtile/qtile/commit/f2c69f585a6b5d8dd7bcefd87f3dee539c29cdaa))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/qtile/qtile/pull/5743)) | - -> [!NOTE] -> ### Window Managers Alternatives -> #### Wayland -> * [dwl](https://codeberg.org/dwl/dwl) -> * [river](https://codeberg.org/river/river) has [Strict No LLM / No AI Policy](https://codeberg.org/river/river#strict-no-llm-no-ai-policy) -> * [sway](https://github.com/swaywm/sway) -> * [tinywl](https://gitlab.freedesktop.org/wlroots/wlroots/-/tree/70d99eefef44f4c0db1923c5dd89cf7059f5e97a/tinywl) is a "minimum viable product" compositor for learning and experimentation (not for everyday use), see [tinywl limitations](https://gitlab.freedesktop.org/wlroots/wlroots/-/blob/70d99eefef44f4c0db1923c5dd89cf7059f5e97a/tinywl/README.md#limitations) -> * [vivarium](https://github.com/inclement/vivarium) -> -> #### X11 -> * [awesome](http://awesomewm.org/) -> * [bspwm](https://github.com/baskerville/bspwm) -> * [cwm](https://github.com/leahneukirchen/cwm) -> * [FVWM](https://www.fvwm.org/) -> * [Openbox](https://openbox.org/) -> * [wmii](https://github.com/0intro/wmii) -> * [XMonad](https://github.com/xmonad/xmonad) - -### Desktop Bars - -Little bar on your desktop, kinda like a "start" bar. - | Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | |---|:---:|---|---| -| [Waybar](https://github.com/Alexays/Waybar) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/Alexays/Waybar/pull/4888), [2](https://github.com/Alexays/Waybar/pull/4964)) | [polybar](https://github.com/polybar/polybar) | - -### Desktop Shells - -All-in-one solutions for stitching together a desktop. - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [DankMaterialShell](https://github.com/AvengeMedia/DankMaterialShell) | none | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/AvengeMedia/DankMaterialShell/blob/master/.agents/settings.local.json), [2](https://github.com/AvengeMedia/DankMaterialShell/commit/7cdeba162531baecb2fd8dc302b4cc33b4a229a8)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [Noctalia Shell](https://github.com/noctalia-dev/noctalia-shell) | [`v2.7.0`](https://github.com/noctalia-dev/noctalia-shell/releases/tag/v2.7.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/search?q=repo%3Anoctalia-dev%2Fnoctalia-shell%20Claude&type=commits)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [Open-Shell](https://open-shell.github.io/Open-Shell-Menu/) | [`4.4.197`](https://github.com/Open-Shell/Open-Shell-Menu/releases/tag/v4.4.197) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/Open-Shell/Open-Shell-Menu/pull/2451)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [Hyprland](https://github.com/hyprwm/Hyprland) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/hyprwm/Hyprland/pull/13749)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [i3](https://i3wm.org) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/i3/i3?tab=contributing-ov-file#ai-contribution-policy), [2](https://github.com/i3/i3/issues/6546)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [Niri](https://github.com/niri-wm/niri) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/niri-wm/niri/commit/5ea9092a4954f8c5cd795f0ebec910666b367d5f)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | # Why not LLMs? @@ -1668,32 +733,30 @@ Could use some help writing this with concrete receipts on environmental, social ## Legal Ramifications -LLMs are often trained on, and thus prone to regurgitate (either completely, or in-part), chunks of code that are licensed under terms which have specific legal requirements that a contributor using LLMs may not understand or even be aware of when making a contribution. Regardless of this ignorance, it falls to the repo's owner to comply with the terms of any and all licensed code integrated into their project. +LLMs are often trained on, and thus prone to, regurgitate either completely, or in-part, chunks of code that are licensed under terms which have specific legal requirements that a sloperator may not understand or even be aware of when making a contribution. Regardless of this ignorance, it falls to the repo's owner to comply with the terms of any and all licensed code integrated into their project. ### Legal Cases And Law Problems -* [GitHub Copilot litigation](https://githubcopilotlitigation.com/) -* [IEEE article explaining concerns about AI generated code ownership](https://spectrum.ieee.org/ai-code-generation-ownership) -* [Tracker of broader lawsuits against AI companies](https://chatgptiseatingtheworld.com/2025/11/02/tracker-of-tort-lawsuits-v-ai-companies/) +* [copilot litigations](https://githubcopilotlitigation.com/), [IEEE article explaining how we go here](https://spectrum.ieee.org/ai-code-generation-ownership) +* [broader lawsuits against AI companies tracker ](https://chatgptiseatingtheworld.com/2025/11/02/tracker-of-tort-lawsuits-v-ai-companies/) ### License Problems -Legal, copyright, and ethics problems arise, especially with copyleft licenses such as the GNU (A/L)GPL. With the "help" of AI the copyleft code may be "license-washed" very easily. +Legal, copyright and ethic problems arise especially with copyleft licenses such as (A/L)GPL. With the "help" of AI the copyleft code may be "license-washed" very easily. There are ongoing problems with AI "license-washing" in the FOSS world: -* `chardet` - used an LLM to rewrite the codebase from the LGPL license to Expat/MIT (and later 0-BSD) license, violating the (L)GPL. +* `chardet` - switched from LGPL to MIT license without asking all contributors (which itself is a violation of GPL) * relicensed release: * original author's concerns: * "consumer's" concerns: ## Stolen Training Data -AI companies use data from across the web to train their models, most often without the website owners' and users' consent. Big tech companies like Google and Meta are scraping data from the users of major FOSS projects, such as Mastodon, WordPress, and other ActivityPub-powered and self-hosted software. +AI companies use data from across the web for training their models, most often without the website owners' and users' consent. Big tech companies like Google and Meta are scraping data from the users of major FOSS projects, such as Mastodon, WordPress, and other ActivityPub-powered and self-hosted software. * In 2023, [the Washington Post published a list of sources in Google's C4 data set](https://archive.ph/eehKq). A multitude of fediverse instances and personal sites were included. The fediverse is known for its userbase being major proponents of privacy and opt-in consent, making this especially jarring for those who have chosen to use decentralized social media for control over their data. -* In 2025, [a similar leak of Meta's sources was published](https://archive.ph/NZlf3). Meta's list demonstrates how their integration of ActivityPub into their Threads software has enhanced their ability to scrape content without authorization. Threads is widely blocked in some parts of the fediverse, but their scraping of server CDNs has allowed them to get around that. Notably, both the CDN domains of the managed hosting services masto.host and fedi.monster are included in the list; large servers like mastodon.art, which is hosted by the former and has many artists who've left sites like DeviantArt and others due to their AI scraping of user content, had [media unknowingly scraped](https://mastodon.art/@Curator/115022115346692178). -* In March 2026, [a research paper](https://arxiv.org/html/2603.20957v2) showed that simply fine-tuning LLMs resulted in outputs containing up to 90% of entire (copyrighted) books, contradicting LLM companies' previous statements in court that their models do not store copies of training data. After fine-tuning exclusively on a single author, the researchers were able to cause the LLM to output works from over 30 completely unrelated authors across different genres. None of the models were explicitly trained on these books by the researchers, which indicates that LLMs always carry with them a considerable amount of copyrighted materials from training. +* In 2025, [a similar leak of Meta's sources was published](https://archive.ph/NZlf3). Meta's list demonstrates how their integration of ActivityPub into their Threads software has enhanced their ability to mine content without authorization. Threads is widely blocked in some parts of the fediverse, but their scraping of server CDNs has allowed them to get around that. Notably, both the CDN domains of the managed hosting services masto.host and fedi.monster are included in the list; large servers like mastodon.art, which is hosted by the former and has many artists who've left sites like DeviantArt and others due to their AI scraping of user content, had [media unknowingly scraped](https://mastodon.art/@Curator/115022115346692178). FOSS projects listed in this repo are using tooling that blatantly disregard licensing and violate of Codes of Conduct, making said tools antithetical to FOSS' purpose. @@ -1701,13 +764,8 @@ FOSS projects listed in this repo are using tooling that blatantly disregard lic To start learning a bit more, you can checkout the wikipedia page on [Environmental impact of artificial intelligence](https://en.wikipedia.org/wiki/Environmental_impact_of_artificial_intelligence#Individual_level). We're very open to people contributing other explanations, links, and resources to learn more about this. Here's what we've gathered so far: -- [MIT News: Generative AI's Environmental Impact](https://news.mit.edu/2025/explained-generative-ai-environmental-impact-0117) -- [MIT Technology Review: We did the math on AI's energy footprint. Here's the story you haven't heard.](https://www.technologyreview.com/2025/05/20/1116327/ai-energy-usage-climate-footprint-big-tech/) -- [Grantham Institute: What Direct Risks Does AI Pose to the Climate and Environment](https://www.lse.ac.uk/granthaminstitute/explainers/what-direct-risks-does-ai-pose-to-the-climate-and-environment/) -- [UCLA: AI is Destroying Our Planet](https://newsroom.ucla.edu/stories/opinion-ai-is-destroying-our-planet-we-must-act) -- [The Guardian: Officials hugely underestimated impact of AI datacentres on UK carbon emissions](https://web.archive.org/web/20260425032459/https://www.theguardian.com/technology/2026/apr/24/officials-hugely-underestimated-impact-of-ai-datacentres-on-uk-carbon-emissions) -- [KU Leuven Centre for IT & IP Law: The environmental costs of AI: a shake-up of the EU's twin transition](https://www.law.kuleuven.be/citip/blog/the-environmental-costs-of-ai-a-shake-up-of-the-eus-twin-transition/) -- [Australian Parliament: Impacts of AI on the environment](https://www.aph.gov.au/Parliamentary_Business/Committees/Senate/Adopting_Artificial_Intelligence_AI/AdoptingAI/Report/Chapter_6_-_Impacts_of_AI_on_the_environment) +- [MIT News: Generative AI’s environmental impact](https://news.mit.edu/2025/explained-generative-ai-environmental-impact-0117) +- [MIT Technology Review: We did the math on AI’s energy footprint. Here’s the story you haven’t heard.](https://www.technologyreview.com/2025/05/20/1116327/ai-energy-usage-climate-footprint-big-tech/) ## Labor @@ -1726,7 +784,7 @@ On one hand, many things that you think are "AI" are actually humans in another Vibe coding / agentic workflows result in poorer code quality, and relaxed oversight practices. These effects may be compounded by the common practice of using additional LLM-based tooling to provide code-reviews. * [How I Dropped Our Production Database and Now Pay 10% More for AWS](http://archive.today/2026.03.06-144058/https://alexeyondata.substack.com/p/how-i-dropped-our-production-database) -* [Claude Tested Everything Except the One Thing That Mattered (AI agent refuses to follow explicit instructions to test `createPost()` in increasingly erratic ways)](http://archive.today/2026.03.09-201135/https://christophermeiklejohn.com/ai/claude/2026/03/08/claude-tested-everything-except-the-one-thing-that-mattered.html) +* [Claude Tested Everything Except the One Thing That Mattered (Ai agent refuses to follow explicit instructions to test `createPost()` in increasingly erratic ways)](http://archive.today/2026.03.09-201135/https://christophermeiklejohn.com/ai/claude/2026/03/08/claude-tested-everything-except-the-one-thing-that-mattered.html) * [Amazon calls engineers for a ā€œdeep diveā€ internal meeting to discuss ā€œGenAIā€-related outages](https://ghostarchive.org/archive/3TfgF) * GitClear has released reports in [2024](https://www.gitclear.com/coding_on_copilot_data_shows_ais_downward_pressure_on_code_quality) and [2025](https://www.gitclear.com/ai_assistant_code_quality_2025_research) indicating a worsening of key code quality metrics correlating with increased LLM adoption. @@ -1735,21 +793,21 @@ Vibe coding / agentic workflows result in poorer code quality, and relaxed overs There is increasing evidence to show that LLMs negatively impact developers' coding abilities: * [Brains show less activity when completing tasks with LLMs](https://arxiv.org/abs/2506.08872) compared to completing tasks with search or completing tasks without digital help. -* [Developers who use early-2025 LLMs](https://metr.org/blog/2025-07-10-early-2025-ai-experienced-os-dev-study/) reported higher subjective performance, but were measured to have lower objective performance. This gap between subjective and objective performance was considered notable. -* In an [Anthropic study](https://www.anthropic.com/research/AI-assistance-coding-skills), learners using LLMs demonstrated lower learning rates on average compared to learners not using LLMs. +* [Developers who use early-2025 LLMs reported higher subjective performance](https://metr.org/blog/2025-07-10-early-2025-ai-experienced-os-dev-study/), but were measured to have lower objective performance. This gap between subjective and objective performance was considered notable. +* [In an Anthropic study](https://www.anthropic.com/research/AI-assistance-coding-skills), learners using LLMs demonstrated lower learning rates on average compared to learners not using LLMs. * [A recent study uses the term "cognitive surrender"](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=6097646) to describe the way humans tend to offload key critical thinking skills onto LLMs, even when the output is wrong. -* A paper entitled ["AI Assistance Reduces Persistence and Hurts Independent Performance"](https://arxiv.org/abs/2604.04721) from April 2026 by academics from MIT, Oxford, UCLA, and Carnegie Mellon showed alarming evidence that performing a variety of tasks with the help of AI for only 10 minutes causes "inpaired unassisted performance and reduced persistence". The researchers noted that "although AI assistance improves performance in the short-term, people perform significantly worse without AI and are more likely to give up"; they also pointed out that "these findings are particularly concerning because persistence is foundational to skill acquisition and is one of the strongest predictors of long-term learning". +* There are [anecdotal reports of LLM users forgetting how to code](https://www.theverge.com/ai-artificial-intelligence/767973/vibe-coding-ai-future-end-evolution). ### Infosec risks -LLM usage results in massive security holes. +This also often results in massive security holes. * [Meta Security Researcher's AI Agent Accidentally Deleted Her Emails](http://archive.today/2026.02.26-153034/https://www.pcmag.com/news/meta-security-researchers-openclaw-ai-agent-accidentally-deleted-her-emails) -* [Moltbook's "vibe-coded" breach is the future of security failures](https://thehill.com/opinion/cybersecurity/5744310-ai-powered-security-risks/) +* [Moltbook’s ā€˜vibe-coded’ breach is the future of security failures](https://thehill.com/opinion/cybersecurity/5744310-ai-powered-security-risks/) * [In a study evaluating over 500k code samples, LLM-generated code was found to contain more high-risk security vulnerabilities than human-generated code](https://arxiv.org/abs/2508.21634) * [LLMs make up package names, making them vulnerable to incorporating malicious code in "slopsquatting" attacks](https://www.theregister.com/2025/04/12/ai_code_suggestions_sabotage_supply_chain/) ([Arxiv study](https://arxiv.org/abs/2406.10279)) -## Health and Safety +## Healthy and Safety There's been a number of high profile incidents that have resulted in endangerment or death. Here's some examples: @@ -1771,7 +829,7 @@ A lot of AI companies also work directly with nation states for use in their Dep As another example [NPR: OpenAI announced Pentagon deal after Trump banned Anthropic](https://www.npr.org/2026/02/27/nx-s1-5729118/trump-anthropic-pentagon-openai-ai-weapons-ban) which was due to the USA Department of War [launching an AI acceleration strategy](https://web.archive.org/web/20260113071131/https://www.war.gov/News/Releases/Release/Article/4376420/war-department-launches-ai-acceleration-strategy-to-secure-american-military-ai/). -Due to the nature of LLMs being only kind of as good as the data they are trained on, this can lead to additional civilian deaths and housing/infrastructure damage either intentionally or not. Examples: +Due to the nature of LLMs being only kind of as good as the data they are trained on, this can lead to additional civilian deaths and housing/infrastructure damage either intensionally or not. Examples:
Content Warning: War details, death @@ -1780,7 +838,6 @@ Due to the nature of LLMs being only kind of as good as the data they are traine - [Lavender & Where’s Daddy: How Israel Used AI to Form Kill Lists & Bomb Palestinians in Their Homes](https://www.democracynow.org/2024/4/5/israel_ai) - [Microsoft says it provided AI to Israeli military for war](https://apnews.com/article/microsoft-israel-military-gaza-hamas-artificial-intelligence-20b2adb438b39ee9cb6eb2f52c1ae44a) - [Google has dropped its promise not to use AI for weapons](https://theconversation.com/google-has-dropped-its-promise-not-to-use-ai-for-weapons-its-part-of-a-troubling-trend-249169) - - ["We want to use it for everything": How Project Maven became central to America’s AI-powered warfare](https://web.archive.org/web/20260312035736/https://www.independent.co.uk/news/world/americas/project-maven-ai-us-airstrike-iraq-anthropic-b2929138.html)
@@ -1834,60 +891,40 @@ This repository is licensed under the Creative Commons Attribution Share Alike 4 [Alacritty]: https://alacritty.org/ [Alacritty fork with sixel]: https://github.com/ayosec/alacritty -[Apache Ant]: https://ant.apache.org [Clojure]: https://clojure.org -[Cloud Shake]: https://shakebuild.com/cloud -[console]: https://github.com/console-rs/console +[`console`]: https://github.com/console-rs/console [Contour Terminal]: https://github.com/contour-terminal/contour [COSMIC Terminal]: https://github.com/pop-os/cosmic-term -[cursive]: https://github.com/gyscos/cursive +[`cursive`]: https://github.com/gyscos/cursive [`dash`]: http://gondor.apana.org.au/~herbert/dash/ [Deepin Terminal]: https://github.com/linuxdeepin/deepin-terminal +[Elvish]: https://elv.sh +[emacs]: https://www.gnu.org/software/emacs/ [Epiphany]: https://apps.gnome.org/Epiphany -[Eqonomize]: https://eqonomize.github.io/ [EVi]: https://codeberg.org/NerdNextDoor/evi [ffplay]: https://ffmpeg.org/ffplay.html [foot]: https://codeberg.org/dnkl/foot -[Game of Trees]: https://gameoftrees.org/ [Garage]: https://garagehq.deuxfleurs.fr/ -[GNOME Boxes]: https://gnomeboxes.org [GNOME Terminal]: https://gitlab.gnome.org/GNOME/gnome-terminal -[GNU Emacs]: https://www.gnu.org/software/emacs/ -[GnuTLS]: https://www.gnutls.org/ [GoToSocial]: https://codeberg.org/superseriousbusiness/gotosocial -[Gram]: https://codeberg.org/GramEditor/gram -[Grisbi]: https://grisbi.org/ -[Hemlock]: https://phemlock.common-lisp.dev/ -[HomeBank]: https://www.gethomebank.org/ -[Idris]: https://www.idris-lang.org/ -[iocraft]: https://github.com/ccbrown/iocraft +[`iocraft`]: https://github.com/ccbrown/iocraft [IronFox]: https://gitlab.com/ironfox-oss/IronFox [Java]: https://dev.java -[Konsole]: https://invent.kde.org/utilities/konsole -[Lapce]: https://lap.dev/lapce/ -[libmicrohttpd]: https://www.gnu.org/software/libmicrohttpd/ [LibreOffice]: https://www.libreoffice.org/download/download-libreoffice/ [LibreOffice Draw]: https://www.libreoffice.org/download/download-libreoffice/ [LibreTube]: https://libretube.dev [Lua]: https://lua.org +[Konsole]: https://invent.kde.org/utilities/konsole [MATE Terminal]: https://wiki.mate-desktop.org/mate-desktop/applications/mate-terminal/ [matrix]: https://matrix.org -[OpenDoas]: https://github.com/Duncaen/OpenDoas -[Pandemonium Engine]: https://pandemoniumengine.org/ -[QEMU]: https://www.qemu.org -[QMPlay2]: https://github.com/zaps166/QMPlay2 [Rio Terminal]: https://github.com/raphamorim/rio [Servo]: https://servo.org/ -[Schilytools]: https://codeberg.org/schilytools/schilytools -[Scratch 1.4]: https://scratch.mit.edu/scratch_1.4 -[Scratch 2]: https://scratch.mit.edu/download/scratch2 -[SMPlayer]: https://www.smplayer.info/ [Showtime]: https://apps.gnome.org/Showtime/ +[SMPlayer]: https://www.smplayer.info/ [vaultwarden]: https://github.com/dani-garcia/vaultwarden -[Vim Classic]: https://sr.ht/~sircmpwn/vim-classic/ -[virt-manager]: https://virt-manager.org +[vim-classic]: https://drewdevault.com/2026/03/25/2026-03-25-Forking-vim.html [wafrn-rn]: https://codeberg.org/wafrn/wafrn-rn -[Waterfox]: https://www.waterfox.com +[waterfox]: https://www.waterfox.com [WriteFreely]: https://writefreely.org/ [xfce4-terminal]: https://gitlab.xfce.org/apps/xfce4-terminal [XTerm]: https://xterm.dev/ diff --git a/STYLE.md b/STYLE.md index fb41220..4e526ea 100644 --- a/STYLE.md +++ b/STYLE.md @@ -1,6 +1,6 @@ # Style Guide -This is a guide for how to structure the markdown tables and headings of the main README.md of this repo. Please be sure to organize the categories alphabetically to save people time in finding things within the list. +This is a guide for how to structure the markdown tables and headings of the main README.md of this repo. * [Tainted Software](#tainted-software) * [Category](#category) @@ -12,26 +12,21 @@ Be sure to put things in the correct category and always update the above TOC (t ## Category -Make sure to format your table like below (note that it is alphabetized by software name): +Make sure to format your table like below: | Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | |---|:---:|---|---| -| [formallyCoolSoftware](https://linktocoolsoftware.tld) | [`ab12345`](linktolastgoodcommitid.tld/commit/ab12345) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](https://codeberg.org/small-hack/open-slopware#ai-functionality) ([1](https://docs.linktocoolsoftware.tld/ai-assistant))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://linktocoolsoftware.tld/branch/main/AGENTS.md))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](https://codeberg.org/small-hack/open-slopware#ai-code-reviews) ([1](https://linktocoolsoftware.tld/branch/main/AGENTS.md))
[![Gen AI 'Art'](./badges/gen-ai-art-dark-yellow.svg)](https://codeberg.org/small-hack/open-slopware#gen-ai-art) ([1](https://linktocoolsoftware.tld/ai_logo.jpg))
[![AI Databroker Usage](./badges/ai-databroker-usage-pink.svg)](https://codeberg.org/small-hack/open-slopware#ai-databroker-usage) ([1](https://linktocoolsoftware.tld/privacypolicy))
![AI Sponsored](./badges/ai-sponsored-blue.svg) ([1](https://linktocoolsoftware.tld/branch/main/README.md))
[![AI In Issue Tracker](./badges/ai-in-issue-tracker-teel.svg)](https://codeberg.org/small-hack/open-slopware#ai-in-issue-tracker) ([1](http://linktocoolsoftware.tld/issues/123))
[![Permits LLM Ingestion](./badges/permits-llm-ingestion.svg)](https://codeberg.org/small-hack/open-slopware#permits-llm-ingestion) ([1](https://linktocoolsoftware.tld/branch/main/ai_policy.md)) | [coolSlopFreeProject] | -| [formallyOKSoftware](https://linktofinesoftware.tld) | [`v2.0.0`](linktolastgoodversion.tld/v2.0.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://linktocoolsoftware.tld/branch/main/AGENTS.md))
![AI Sponsored](./badges/ai-sponsored-blue.svg) ([1](https://linktocoolsoftware.tld/branch/main/README.md))| [alrightSlopFreeProject] | +| [formallyCoolSoftware](https://linktocoolsoftware.com) | [`v2.0.0`](linktolastgoodversion.com/v2.0.0) *or* [`ab12345`](linktolastgoodcommitid.com/commit/ab12345) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](http://linktocoolsoftware.com/branch/main/AGENTS.md))
![AI Sponsored](./badges/ai-sponsored-blue.svg) ([1](http://linktocoolsoftware.com/branch/main/README.md))| [coolSlopFreeProject] | **Evidence column**: should contain one or more of the following tags (followed by *up to 3* numbered evidence links in parentheses): - [![AI Functionality](./badges/ai-functionality-yellow.svg)](https://codeberg.org/small-hack/open-slopware#ai-functionality) - [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](https://codeberg.org/small-hack/open-slopware#permissive-ai-policy) - [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](https://codeberg.org/small-hack/open-slopware#ai-code-reviews) +- [![AI sponsored](./badges/ai-sponsored-blue.svg)](https://codeberg.org/small-hack/open-slopware#sponsored-by-ai) - [![Gen AI 'Art'](./badges/gen-ai-art-dark-yellow.svg)](https://codeberg.org/small-hack/open-slopware#gen-ai-art) - [![AI Databroker Usage](./badges/ai-databroker-usage-pink.svg)](https://codeberg.org/small-hack/open-slopware#ai-databroker-usage) -- [![AI sponsored](./badges/ai-sponsored-blue.svg)](https://codeberg.org/small-hack/open-slopware#sponsored-by-ai) - [![AI In Issue Tracker](./badges/ai-in-issue-tracker-teel.svg)](https://codeberg.org/small-hack/open-slopware#ai-in-issue-tracker) -- [![Permits LLM Ingestion](./badges/permits-llm-ingestion.svg)](https://codeberg.org/small-hack/open-slopware#permits-llm-ingestion) - -> [!note] -> The above order is the official order you should add your tags in. **Don't know what the alternative or last known good version is?** Use this badge in its place: @@ -56,19 +51,15 @@ Here are all the badges for easy copying and pasting: ``` ```markdown -[![Gen AI 'Art'](./badges/gen-ai-art-dark-yellow.svg)](#gen-ai-art) +[![Gen AI 'Art'](./badges/gen-ai-art-dark-yellow.svg)](https://codeberg.org/small-hack/open-slopware#gen-ai-art) ``` ```markdown -[![AI Databroker Usage](./badges/ai-databroker-usage-pink.svg)](#ai-databroker-usage) +[![AI Databroker Usage](./badges/ai-databroker-usage-pink.svg)](https://codeberg.org/small-hack/open-slopware#ai-databroker-usage) ``` ```markdown -[![AI In Issue Tracker](./badges/ai-in-issue-tracker-teel.svg)](#ai-in-issue-tracker) -``` - -```markdown -[![Permits LLM Ingestion](./badges/permits-llm-ingestion.svg)](#permits-llm-ingestion) +[![AI In Issue Tracker](./badges/ai-in-issue-tracker-teel.svg)](https://codeberg.org/small-hack/open-slopware#ai-in-issue-tracker) ``` ```markdown @@ -92,6 +83,5 @@ The above "Alternative(s)" column is for software that has a 1:1 parity or is a > * [coolSlopFreeProject]: This can be a short description and [link to anti-AI policies](somelink.link). -[alternativeSoftware]: https://verygoodnotslopware.tld "alternative software" -[coolSlopFreeProject]: https://verygoodnotslopware2.tld "another alternative software" -[alrightSlopFreeProject]: https://veryoknotslopware3.tld "another extra alternative software" +[alternativeSoftware]: https://verygoodnotslopware.com "alternative software" +[coolSlopFreeProject]: https://verygoodnotslopware2.com "another alternative software" diff --git a/badges/permits-llm-ingestion.svg b/badges/permits-llm-ingestion.svg deleted file mode 100644 index 810c8a6..0000000 --- a/badges/permits-llm-ingestion.svg +++ /dev/null @@ -1,19 +0,0 @@ - - Permits LLM Ingestion - - - - - - - - - - - - - - - Permits LLM Ingestion - - diff --git a/evidence/img/vscode.png b/evidence/img/vscode.png new file mode 100644 index 0000000..1ec022b Binary files /dev/null and b/evidence/img/vscode.png differ diff --git a/evidence/img/zbus.png b/evidence/img/zbus.png new file mode 100644 index 0000000..a669657 Binary files /dev/null and b/evidence/img/zbus.png differ diff --git a/img/how_to/clone_tldr.png b/img/how_to/clone_tldr.png deleted file mode 100644 index 4600d09..0000000 Binary files a/img/how_to/clone_tldr.png and /dev/null differ diff --git a/img/how_to/copy_new_repo_url_codeberg.png b/img/how_to/copy_new_repo_url_codeberg.png deleted file mode 100644 index 085b27c..0000000 Binary files a/img/how_to/copy_new_repo_url_codeberg.png and /dev/null differ