diff --git a/.forgejo/issue_template/collaborate-with-me.yaml b/.forgejo/issue_template/collaborate-with-me.yaml index 9663707..25ba6c4 100644 --- a/.forgejo/issue_template/collaborate-with-me.yaml +++ b/.forgejo/issue_template/collaborate-with-me.yaml @@ -1,7 +1,7 @@ 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' +title: "[Call for Collaborators]: project name here" +ref: "main" labels: - call-for-collaborators body: @@ -9,7 +9,7 @@ body: 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. + The idea here is to request help with any slop-free project, including forking or rewriting a currently tainted project. - type: input id: project @@ -28,7 +28,7 @@ body: - type: input id: language attributes: - label: Programming Lanaguage + label: Programming Language description: | What programming language will this be primarily written in? @@ -43,9 +43,9 @@ body: 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) + description: By submitting this issue, you agree to follow our [Code of Conduct](https://codeberg.org/ethical-foss/open-slopware/src/branch/main/CODE_OF_CONDUCT.md) options: - - label: I agree to follow this project's Code of Conduct + - label: I agree to follow this project's [Code of Conduct](https://codeberg.org/ethical-foss/open-slopware/src/branch/main/CODE_OF_CONDUCT.md) required: true - label: The project I want to collaborate on has a No AI policy banning any and all AI usage required: true diff --git a/.forgejo/issue_template/config.yaml b/.forgejo/issue_template/config.yaml index c855a06..12638d1 100644 --- a/.forgejo/issue_template/config.yaml +++ b/.forgejo/issue_template/config.yaml @@ -3,8 +3,11 @@ blank_issues_enabled: false contact_links: - name: Our Contributing Doc - url: https://codeberg.org/small-hack/open-slopware/src/branch/main/CONTRIBUTING.md + url: https://codeberg.org/ethical-foss/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: How to have "tainted" status removed + url: https://codeberg.org/ethical-foss/open-slopware/src/branch/main/CONTRIBUTING.md#removal-of-tainted-status + about: If you want to know how to get your project (or a project you love) removed from the list, please check out this link. \ No newline at end of file diff --git a/.forgejo/issue_template/discussion.yaml b/.forgejo/issue_template/discussion.yaml index 79c38e6..38001ca 100644 --- a/.forgejo/issue_template/discussion.yaml +++ b/.forgejo/issue_template/discussion.yaml @@ -15,16 +15,16 @@ 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. + Remember that if you already have concrete evidence, you should just open a PR. Please don't create an Issue. This is also not a place to ask advice on using your own LLMs. - type: checkboxes id: terms attributes: label: Code of Conduct - 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) + description: By submitting this issue, you agree to follow our [Code of Conduct](https://codeberg.org/ethical-foss/open-slopware/src/branch/main/CODE_OF_CONDUCT.md) options: - - label: I agree to follow this project's Code of Conduct + - label: I agree to follow this project's [Code of Conduct](https://codeberg.org/ethical-foss/open-slopware/src/branch/main/CODE_OF_CONDUCT.md) required: true - - label: I have also read the [CONTRIBUTION.MD](https://codeberg.org/small-hack/open-slopware/src/branch/main/CONTRIBUTING.md) + - label: I have also read the [Contributing Guidelines](https://codeberg.org/ethical-foss/open-slopware/src/branch/main/CONTRIBUTING.md) required: true visible: [form] diff --git a/.forgejo/issue_template/request-for-help.yaml b/.forgejo/issue_template/request-for-more-kind-eyes.yaml similarity index 63% rename from .forgejo/issue_template/request-for-help.yaml rename to .forgejo/issue_template/request-for-more-kind-eyes.yaml index 45f33d0..5e2c510 100644 --- a/.forgejo/issue_template/request-for-help.yaml +++ b/.forgejo/issue_template/request-for-more-kind-eyes.yaml @@ -8,21 +8,14 @@ body: - type: markdown attributes: value: | - Thanks for helping to make the world a bit more AI frree šŸ’™ - - - type: input - id: project - attributes: - label: What project is this for? - description: | - What external project are you reaching out to? + Thanks for helping to make the world a bit more AI free šŸ’™ This issue type is not intended for harassment. Do not use this issue type to be rude to anyone in any repo. - type: input id: link attributes: label: Link description: | - A link to your Pull Request, Issue, Discussion, forum post, mailing list, etc where you've requested clarification on an AI policy. + A link to your Pull Request, Issue, Discussion, forum post, mailing list, etc where you've requested clarification on an AI policy. You must provide a link to where you're currently discussing an AI policy. - type: textarea id: additional-info @@ -35,7 +28,9 @@ body: id: terms attributes: label: Code of Conduct - 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) + description: By submitting this issue, you agree to follow our [Code of Conduct](https://codeberg.org/ethical-foss/open-slopware/src/branch/main/CODE_OF_CONDUCT.md) options: - - label: I agree to follow this project's Code of Conduct + - label: I have read the full description of this issue type [here](https://codeberg.org/ethical-foss/open-slopware/src/branch/main/CONTRIBUTING.md#more-kind-eyes) + required: true + - label: I agree to follow this project's [Code of Conduct](https://codeberg.org/ethical-foss/open-slopware/src/branch/main/CODE_OF_CONDUCT.md) required: true diff --git a/.forgejo/pull_request_template.yaml b/.forgejo/pull_request_template.yaml new file mode 100644 index 0000000..a4b0a0f --- /dev/null +++ b/.forgejo/pull_request_template.yaml @@ -0,0 +1,27 @@ +name: pull-request +about: Submit a PR +ref: 'main' +body: + - type: input + id: description + attributes: + visible: [content] + label: Description of Changes + description: Include a description of what you're changing and why. Remember, anything here will also show up in the commit when we squash and merge this PR. + placeholder: This PR (Updates/Adds/Removes/Improves) (Name of Section / Project) As (Tainted/An Alternative) + + - type: checkboxes + id: terms + visible: [form] + attributes: + label: Docs have been read + description: By submitting this PR, you agree to the following + options: + - label: I agree to follow this project's [Code of Conduct](https://codeberg.org/ethical-foss/open-slopware/src/branch/main/CODE_OF_CONDUCT.md) + required: true + - label: I have also read the [Contributing Guidelines](https://codeberg.org/ethical-foss/open-slopware/src/branch/main/CONTRIBUTING.md) + required: true + - label: I have also read the [Style Guide](https://codeberg.org/ethical-foss/open-slopware/src/branch/main/STYLE.md) + required: true + - label: If adding tatinted software, I have provided either the last untainted version/commit OR an alternative for all new entries in this PR. See about exceptions in the Contributing/Style guides. + required: true diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6801e1f --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +DONT_REFERENCE_ME.md diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index f18403d..11ba5cc 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -3,13 +3,17 @@ - No racism. - No xenophobia. - No colorism/featurism. +- No casteism. - No transphobia. - No homophobia/queerphobia. - No sexism. -- No albeism. +- No ableism. +- No islamophobia, antisemitism, or hatred to anyone based on their religion or lack thereof. - No classism. - No fascism. +When it comes to bigotry, if you're found to have been broken one of the "No Bigotry" rules, you may not participate here. Your software is also disqualified from being listed as an alternative or suggested for the "More Kind Eyes" or "Call for Collaborators" Issue types. + ## On handling bigotry or unsavory content for the purposes of the open-slopware list It is still worth bringing up if a core repo maintainer has a history of bigotry such as racism, transphobia, etc, if it's in the context of adding an alternative software or something to that nature, but still just be objective, e.g. "We should not add a link to x because it is maintained by a transphobic person, see evidence here" and just leave it at that. We'll take that feedback and reject a pull request or ask someone to modify it if it's relevant for community safety (like ensuring people avoid software maintained by discriminatory people for instance). @@ -30,11 +34,17 @@ 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. +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. + +# No CSAM + +We do not allow any form of CSAM, including drawn CSAM: lolicon, shotacon, or "cub" content. Do not submit alternatives that feature sexualized children anywhere in the source code. This includes drawn children. If you need to talk about a someone being accused of something related to CSAM in the context of alternatives in this repo, please use a specific Content Warning as described above. # 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 @ethical-foss-admin instead. They will handle it. + +In some cases, we may delete comments, issues, or PRs if they're encouraging an inappropriate atmosphere e.g. a popular maintainer has come in with an accusatory tone and is actively advertising their followers to come and spam the repo. ## Strike system @@ -49,8 +59,14 @@ We're going to do a 2 strike rule here with an optional warning. You are out on > [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. +We do not allow people to debate strikes or bans either for themselves or on behalf of others. + # 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/ethical-foss/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](./why_not_llms.md) file. + - We don't want drive by sarcastic comments. - No references to bodily fluids (vomit, urine, feces), this includes emojis. It's gross and unproductive. @@ -63,12 +79,32 @@ 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. -- 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. - - 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. + 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 to 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) + +Some example nouns you can use if you don't know the gender of someone: +- maintainer +- collaborator +- author +- user +- colleague +- friend +- acquaintance + +> [!tip] +> Many people put their pronouns in their profile. If you're unsure, you can check there, and if a person has pronouns listed, use those. If there's no pronouns listed, still default to neutral language as mentioned above. + ## Accessibility ### Alt Text diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ebbeff6..c7af47b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,8 +1,28 @@ +# Guide to Contributing to this Repo + > [!warning] -> Before you interact with this repo, please read the [**Code of Conduct**](./CODE_OF_CONDUCT.md)! This is a repo for *nice people only*! +> Before you interact with this repo, please read the [**Code of Conduct**](./CODE_OF_CONDUCT.md)! This is a repo for *nice people only*! We would also appreciate it if you did not mention this repo on social media or in chats in order to shame a project or community. Do *not* make posts like, "`` should be added to the open-slopware list", especially if you are tagging a maintainer or using a project's hashtag. + +* [Contributing Pull Requests](#contributing-pull-requests) + * [For Adding or Updating Tainted Software](#for-adding-or-updating-tainted-software) + * [Other tips for keeping the repo tidy](#other-tips-for-keeping-the-repo-tidy) + * [Criteria](#criteria) + * [Alternatives](#alternatives) + * [Style guide](#style-guide) + * [Removal of "Tainted" Status](#removal-of-tainted-status) + * [Adding Alternatives to Tainted Software](#adding-alternatives-to-tainted-software) + * [Rules for self submission](#rules-for-self-submission) + * [Unqualified Alternatives](#unqualified-alternatives) +* [Contributing Issues](#contributing-issues) + * [Discussion](#discussion) + * [More Kind Eyes](#more-kind-eyes) + * [Call for Collaborators](#call-for-collaborators) +* [Contributing to the Why Not LLMs File](#contributing-to-the-why-not-llms-file) # Contributing Pull Requests +## For Adding or Updating Tainted Software + 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)). Title the pull request one of the following: @@ -11,14 +31,17 @@ Title the pull request one of the following: - Add `` as an Alternative for `` - Add `` as an Alternative for `` - Update `` -- Remove `` -> [!important] -> Please do your best to *research alternatives* to the slopware before submitting a PR. It's important to elevate projects that aren't drinking the slop <3 +Please don't link directly to codeberg.org repos, issues, pull requests or commits, as it will alert the other repo that they're being talked about in this list, which could create a negative atmosphere. If you need to link to them, please use a codeblock like this: -**Please make sure to only submit a PR for 1 section at a time, otherwise it is more difficult to coordinate between multiple Issues and PRs.** +``` +https://codeberg.org/org/project +``` -Other tips for keeping the repo tidy and making sure we don't duplicate efforts: +> [!note] +> Please make sure to only submit a PR for *one* section at a time, otherwise it is more difficult to coordinate between multiple Issues and PRs. We have a limit of only 5 *open* PRs per person. Please do not submit more than 5 PRs at a time. When your previous PRs are closed or merged, you are, of course, welcome to submit more, but please do not flood the repo. (There is an exception to this rule if one or more of your open PRs are awaiting upstream feedback.) + +### Other tips for keeping the repo tidy - Search for the software name in the Issues *and* Pull Requests of this repo. (Great minds think alike ā¤ļø) - If the software is already reported in an open Issue, but not as a PR, open your PR linking to the open issue with the following description, so the related issue gets automatically closed if the PR gets merged: @@ -26,60 +49,176 @@ Other tips for keeping the repo tidy and making sure we don't duplicate efforts: - Closes #123 ``` - If the software is already reported in an open issue and as an open PR leave a comment in the PR with the new or updated evidence(s). +- When submitting a PR, make sure you're comfortable with the description of the PR being what gets committed. We use the PR description when squashing all commits before merging. We default to sqaushing and merging, so that if the repo has only one commit per PR. -> [!note] +> [!tip] > Don't know how to create a PR? You can learn more about that in the [Codeberg Pull Requests and Git Flow docs](https://docs.codeberg.org/collaborating/pull-requests-and-git-flow/) 🩵 -## Criteria +### 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: -- [![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 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) +- [![Vibecoded](./badges/vibecoded.svg)](https://codeberg.org/ethical-foss/open-slopware#vibecoded) (only to be used in extreme cases) +- [![AI Functionality](./badges/ai-functionality.svg)](https://codeberg.org/ethical-foss/open-slopware#ai-functionality) +- [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](https://codeberg.org/ethical-foss/open-slopware#permissive-ai-policy) +- [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](https://codeberg.org/ethical-foss/open-slopware#ai-code-reviews) +- [![AI sponsored](./badges/ai-sponsored-blue.svg)](https://codeberg.org/ethical-foss/open-slopware#sponsored-by-ai) +- [![Gen AI 'Art'](./badges/gen-ai-art-dark-yellow.svg)](https://codeberg.org/ethical-foss/open-slopware#gen-ai-art) +- [![AI Databroker Usage](./badges/ai-databroker-usage-pink.svg)](https://codeberg.org/ethical-foss/open-slopware#ai-databroker-usage) +- [![AI In Issue Tracker](./badges/ai-in-issue-tracker-teel.svg)](https://codeberg.org/ethical-foss/open-slopware#ai-in-issue-tracker) +- [![Condones LLM Ingestion](./badges/condones-llm-ingestion.svg)](https://codeberg.org/ethical-foss/open-slopware#condones-llm-ingestion) + +Please don't submit social media posts as evidence unless it is a post *by a maintainer of the tainted project* talking about using AI to develop the tainted project. Even then, we'd prefer links to a project's LLM commits in a git forge, AI/contributing policies, or blog posts. + +#### Alternatives Alternatives should not contain any slop as defined by our tagging system above. +Please do your best to *research alternatives* to the slopware before submitting a PR. All new contributions should have *either* an alternative OR a last untainted version/commit, so that people can fork the project. (You can still provide both, but only one is required.) It's important to elevate projects that aren't drinking the slop, or to let people know how best to fork, so we don't all lose hope <3. + +Alternatives don't have to be perfect 1:1, as long as you provide a note letting people know the differences. Sometimes the solution to avoiding tainted software is a combination of other tools, and that's OK. + +**Exceptions to needing an alternative** + +- You've provided a last untainted commit and/or version. + +- The tainted project is [![Vibecoded](./badges/vibecoded.svg)](https://codeberg.org/ethical-foss/open-slopware#vibecoded) with no clear alternative yet (this is fairly rare because AI code is often a sum of other stolen code), you don't need to provide an alternative (or last untainted commit). + +- There is *already* an "alternative note" section that provides at least one alternative for that section (e.g [local password managers](https://codeberg.org/ethical-foss/open-slopware#local-password-managers)) + ### Style guide 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. -## Removal +### Removal of "Tainted" Status -Any project here may be removed as long as the following become true, *even if prior LLM-authored code remains*: +Any project here may have the "Tainted" status removed as long as the following become true, *even if prior LLM-authored code remains*: 1. The project establishes a "No genAI" policy, where the core developers commit to no longer using LLMs for developing that project in particular and no longer accepting obvious LLM-authored contributions, and state the policy prominently in their repo. 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. +Title the pull request like this: +> Remove `` + +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/ethical-foss/open-slopware#ai-code-reviews), but keeps a [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](https://codeberg.org/ethical-foss/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 šŸ™ -# Issues +> [!note] +> Age of evidence is not grounds for removal. Example: If agent instructions were added several years ago, but have never been removed, this evidence is still valid and the only way to have the project's tainted status removed is for them to remove those instructions and to put out a No AI policy. We do not make exceptions to this rule. + +### Adding Alternatives to Tainted Software + +Feel free to submit any software as an alternative provided it is FOSS, has no AI in the code base, and is not associated with hate or bigotry (see [examples of bigotry](https://codeberg.org/ethical-foss/open-slopware/src/branch/main/CODE_OF_CONDUCT.md#no-bigotry)). + +Alternatives do not need to be perfect 1:1 replacements for tainted software. Sometimes, the alternative may even be a combination of multiple pieces of software. If something isn't a one to one replacement, please add a note explaining what the differences are. + +Projects that have an explicit "No AI" policy can be awarded the [![Anti-AI Policy](./badges/anti-ai-policy.svg)](https://codeberg.org/ethical-foss/open-slopware#anti-ai-policy) badge. See the [style guide](./STYLE.md) for more info. + +#### Rules for self submission + +You can absolutely self-submit your own projects. You just need to make sure you adhere to the following: + +- no previous strikes or bans in the repo +- project is completely FOSS +- project has a "Code of Conduct" +- project has a "No AI Policy" + +#### Unqualified Alternatives + +- Any project associated with bigotry is not allowed. + +- At this time, we're not accepting alternatives that are centralized and/or lacking the appropriate documentation to be self-hosted by non-experts. For example, we will not endorse the messaging app "Signal", or social media platforms based on AT-protocol. In the event that such projects do become tainted they would not be easy to fork, operate, or support - which places users and operators at a disadvantage. If a project does improve their documentation such that self-hosting becomes more accessible, we will of course re-evaluate. Feel free to open a PR at that time. + +- We do not allow adult content at this time. (Please also do not submit alternatives with screenshots of adult content) + +# Contributing Issues Issues are meant primarily for discussing if something should be added or questions regarding clarification. An issue that says "Add x software" will be treated as a call to community action and labeled with `ready-for-pr`, provided it meets the above criteria. This is not a problem, but does not necessarily mean the core maintainers of this repo will create that PR for you. However it does mean you or someone else in the community is clear to go ahead and submit a PR for that software. This is maintained in the community's free time, so please understand that there will sometimes be a delay when a PR is created for you. -Please make sure to only submit an Issue for 1 piece of software or section at a time, otherwise it is more difficult to coordinate between multiple Issues and PRs. +Please make sure to only submit an Issue for 1 piece of software or section at a time, otherwise it is more difficult to coordinate between multiple Issues and Pull Requests. + +We use the following issue types and tags to keep conversation focused and actionable: + +- [![discussion](./badges/discussion.svg)](#discussion) +- [![more kind eyes please](./badges/more-kind-eyes.svg)](#more-kind-eyes) + +## Discussion + +![discussion](./badges/discussion.svg) + +This is a general issue type and tag to discuss things related to the repo. Before opening this issue type, please read the [FAQ](./FAQ.md). This is not a place to discuss what you think an "ethical" LLM/AI is. We will close any Issues opened asking for advice on AI/LLM usage. This is also not a place to open an issue to the effect of "think of the centrists". -## Helping with kind eyes +If someone has a question in a Discussion type issue, and it requires a hard stance on behalf of the repo, please do not comment with a definitive answer unless you are a maintainer. If you do comment, please explicitly state that you are not an official maintainer, and tag @ethical-foss-admin if one has not already responded. There are still situations in which the maintainers will ask for community feedback, and in those, anyone is free to comment. We have these rules to reduce confusion and prevent conflict if there is a mismatch between community members and maintainers. If you feel strongly and want to push back, we are OK with that, but you must do so kindly and in accordance with our [Code of Conduct](./CODE_OF_CONDUCT.md). -Maybe you don't need/want to open an Issue or Pull Request to this repo, but you still want to help. Here's what you can do. Take a look through the: +## More Kind Eyes -- **Issues** labeled with [`more-kind-eyes-please`](https://codeberg.org/small-hack/open-slopware/issues?q=&type=all&sort=relevance&labels=1318107&state=open&milestone=0&project=0&assignee=0&poster=0) or [`awaiting-upstream-feedback`](https://codeberg.org/small-hack/open-slopware/issues?q=&type=all&state=open&labels=1280479&milestone=0&assignee=0&poster=0) -- **Pull Requests** labeled with [`more-kind-eyes-please`](https://codeberg.org/small-hack/open-slopware/pulls?q=&type=all&sort=relevance&labels=1318107&state=open&milestone=0&project=0&assignee=0&poster=0) or [`awaiting-upstream-feedback`](https://codeberg.org/small-hack/open-slopware/pulls?q=&type=all&sort=relevance&labels=1280479&state=open&milestone=0&project=0&assignee=0&poster=0) +![more kind eyes please](./badges/more-kind-eyes.svg) -In either case, one thing you can do is react positively to a given upstream issue, pull request, or discussion thread. If you're already a contributor to that project, you may also leave a comment. You *must* do so kindly though! We do not approve of anyone reaching out in a rude manner to any other projects. If you have no connection to project, the best thing you can do is an emoji react or upvote on the opening discussion topic or to a comment where AI is called out as bad. It's unwise to pop into a discussion for a project you do not use and have no interest in using and only adds noise to the conversation, which could overwhelm the maintainers. Please be cautious and courteous. If we find out you were threatening or expressed any form of bigotry, you will receive a ban from this repo. +Maybe you don't need/want to open an Issue or Pull Request to this repo, but you still want to help. Consider chiming in, kindly, on a ![more kind eyes please](./badges/more-kind-eyes.svg) Issue. This issue type is for when someone has found, or created, a link to an AI discussion topic. AI discussion topic links can be: -# Social media +- Bug/Issue in a repo's Issue Tracker +- Discussion on forge sites that support that feature e.g. GitHub Discussions +- PR on an AI Policy where feedback is welcome +- Forum post specifically dedicated to the project and read by the maintainers of the project +- Social media account run *by the project* and not a solo maintainer. We do **not** want to call watchers of this repo to approach solo maintainers (there is too much room for that to potentially result in harassment), but if a project/company has a specific social media thread asking for opinions on AI usage in their code base or as a feature of their project/product, feel free to link that. -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. +>[!warning] +> Do not recommend any software run by AI companies or by orgs/people who have a history of bigotry. + +Anyone can then react (kindly) to a linked upstream issue, pull request, or discussion thread. If you're already a contributor to that project, you may also leave a comment. You *must* do so kindly though! We do not approve of anyone reaching out in a rude manner to any other projects. If you have no connection to project, the best thing you can do is an emoji react or upvote on the opening discussion topic or to a comment where AI is called out as bad. Please be cautious and courteous. If we find out you were threatening or expressed any form of bigotry, you will receive a ban from this repo. + +Please don't link directly to codeberg.org repos, issues, pull requests or commits, as it will alert the other repo that they're being talked about in this list, which could create a negative atmosphere. If you need to link to them, please use a codeblock like this: + +``` +https://codeberg.org/org/project +``` + +>[!important] +> Reminder that if you post a link to software that is maintained by people who openly embrace bigotry, we will close that issue. If you're a community member and see something we missed, feel free to kindly inform us and we will take action as soon as we're available (typically within 8 hours, but sometimes within 24 hours depending on availability). + +If you want to help in that way, search for: + +- [**Issues**](https://codeberg.org/ethical-foss/open-slopware/issues?q=&type=all&sort=relevance&labels=1318107&state=open&milestone=0&project=0&assignee=0&poster=0) +- [**Pull Requests**](https://codeberg.org/ethical-foss/open-slopware/pulls?q=&type=all&sort=relevance&labels=1318107&state=open&milestone=0&project=0&assignee=0&poster=0) + +You can also open your own [![more kind eyes please](./badges/more-kind-eyes.svg) Issue](https://codeberg.org/ethical-foss/open-slopware/issues/new?template=.forgejo%2fissue_template%2frequest-for-more-kind-eyes.yaml). + +## Call for Collaborators + +This issue type is for advertising your "No AI allowed" project. It follows the same rules as self submission: + +- no previous strikes or bans in the repo +- project is completely FOSS +- project has a "Code of Conduct" +- project has a "No AI Policy" + +Provided you meet the requirements, you're free to ask for additional collaborators or contributors to your repo :) + +# Contributing to the Why Not LLMs file + +This is a much more free form section without a specific rigid style guide at this time. Here are some general guidelines: + +- Do not link to people's social media posts e.g. the fediverse, bsky, X, etc even if they are against AI. Using blog posts is OK, but we'd prefer if the language there was not filled with profanity. We try to keep this repo professional. + +- When adding a link to back up your point, please use the name of the source and title of the article as the link name + +- Do not use paywalled links unless you are using an archive link that removes the paywall + +- Prefer archive links wherever possible + + - Please don't use `archive.ph` or `archive.today`. See #54 for details. Using the wayback machine is always a good first course of action, but websites may ban it's IPs and in some rare cases, it may not be accessible to people globally. When in doubt, just chat with us in your PR to figure out the best course of action. + +- Use a content warning if anything may be triggering. Content warnings must be specific to the subject matter. Do not use the term "NSFW". Here is an example of how to write a content warning: + + ```html +
+ Content warning: Genocide + Content discussing genocide goes here. +
+ ``` diff --git a/FAQ.md b/FAQ.md new file mode 100644 index 0000000..774c31e --- /dev/null +++ b/FAQ.md @@ -0,0 +1,75 @@ +# 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 meets our [Rules for Self Submission](https://codeberg.org/ethical-foss/open-slopware/src/branch/main/CONTRIBUTING.md#rules-for-self-submission), 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/ethical-foss/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?](./why_not_llms.md) 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 @ethical-foss-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, 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. We need to keep tags specific. + +## 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?](./why_not_llms.md) 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/ethical-foss/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/ethical-foss/open-slopware/src/branch/main/CONTRIBUTING.md#removal-of-tainted-status).) + +## 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/ethical-foss/open-slopware/src/branch/main/CONTRIBUTING.md#removal-of-tainted-status). +> +> 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 impact](https://codeberg.org/ethical-foss/open-slopware/src/branch/main/why_not_llms.md#environmental-impact) +> - [ties to the war industrial complex](https://codeberg.org/ethical-foss/open-slopware/src/branch/main/why_not_llms.md#ties-to-the-war-industrial-complex) +> - [effect on hardware prices hurting newcomers to the industry](https://codeberg.org/ethical-foss/open-slopware/src/branch/main/why_not_llms.md#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?](./why_not_llms.md) section. + +## What about "Open Source AI" tooling/usage? + +> Yes, simply being open source does not resolve the issues listed in our [Why Not LLMs?](./why_not_llms.md) section and thus such projects that utilize "open source AI" would still be included on this list as tainted. + +## 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, concrete, 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 a 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 maintainers 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/ethical-foss/open-slopware#definitions) stay and are not up for debate. + +## How do we handle slop-free software with no tainted equivalent? + +> This is probably not the best list for the time being. This list focuses on boycotts and listing alternatives. If you want to list untainted software on it's own, we ask that you checkout our [sibling repos](https://codeberg.org/ethical-foss/open-slopware/src/branch/main#sibling-repos) section of our README that goes over a couple of other repos that highlight exclusively slop-free software :) As a note: we've had really positive interactions with all the repos listed under "sibling repos", so please don't hesitate to open PRs for their repos as well. Please follow the same code of conduct as you would here though, so above all: be kind! \ No newline at end of file diff --git a/GOVERNANCE.md b/GOVERNANCE.md new file mode 100644 index 0000000..496065a --- /dev/null +++ b/GOVERNANCE.md @@ -0,0 +1,46 @@ +# Who does What + +This repo wouldn't exist without the hundred or so people who contribute to it. We value everyone's contributions, but for certain tasks, we have a structure on who can do what. + +So it is clear: This is not anyone's full time job. Everyone is an unpaid volunteer working in their free time, including the owners. + +## Owners + +This is mainly @ethical-foss-admin which is an account that is run by multiple people who initially forked this repo. They have the ability to make new rules or tags and updates to the code of conduct. They have full approval and merge rights. If they've approved any PR, Team Human Made can pop in and merge that PR at their leisure. If you're asking for a new rule, tag, or major change to the repo in some way, you need to tag this account. This is also the account you should tag should you need moderation help in any capacity, as they have the authority to ban people from the repo, as well as lock a conversation if it gets too heated or has the potential to drive a rude atmosphere. + +If future owners appear, the tag to get them involved would be @ethical-foss/owners. + +## Team Human Made + +This is a special team of collaborators that have been vetted over time via their kind attitudes and continued contributions to the repo. When they show up in the repo, they will have a "member" tag on all their posts to distinguish them. They have the ability to speak on behalf of the repo when it comes to already established rules, and are frequently tagged on matters of discussion. They can also approve PRs, and it carries weight, but does not count towards the official approval required to allow a merge (something that may change in the near future). They can also merge anything that was already approved by the Owners. + +If they ask you to update something, or make a suggestion to improve something, please engage kindly. + +The entire team can be tagged with @ethical-foss/team-human-made. Please prefer tagging Team Human Made instead of a specific member, as to not weigh down one particular collaborator as, again, they all work on this in their free time. + +### How to Become a Member of Team Human Made + +When positions on Team Human Made are available, we'll create an Issue asking for people to apply and/or nominating specific people. You should not feel pressure to accept a position if you do not want it. We are still happy to have you as a contributor. + +We vet collaborators over a period of a couple of months of continued contributions. Provided you: + +- are kind and take feedback well +- have participated in either PRs or Issues semi-regularly +- have no Code of Conduct strikes (warnings can be OK depending on the warning, how you reacted, and how long it has been since your warning) + - do not have a visible history of behavior that would violate our Code of Conduct (even outside of this repo) + +There is no time requirement for how much you need to do in the repo once you're made a collaborator. Everyone should operate to the best of their ability. If you need time off for personal life, don't sweat it. + +## Contributors + +These are people who contribute to the repo. They have no special access. Anyone can be a contributor. They cannot approve or merge PRs, and they are not allowed to speak on behalf of the repo. If they would like to give an opinion on a discussion, they're free to do so, but if answering a question, they should state that they're not official maintainers, then tag in @ethical-foss/owners and/or @ethical-foss/team-human-made for an official response. + +# Vacations + +This repo gets put into "vacation mode" periodically through out the year. We do this because we need time away from the repo, and during that time, we can't guarentee any moderation, so for safety, no commenting on the repo can be allowed during that time. + +During vacation mode, we will disable Issues and Pull Requests and will not actively work on the repo in any way. Even though the Issues and Pull Requests are temporarily hidden, they are not deleted. The repo will still be public. There will be a notice at the top of README explaining that we're in vacation mode and when we will be back. When the vacation is over, the Issues and Pull Requests will be re-enabled, and all previous Issues/Pull Requests will be visible again. + +Vacations typically last anywhere from 3 days to 2 weeks depending on the owner's schedule, and are announced in advance. + +The owners reserve the right to put the repo into vacation mode if they are unwell and unable to tend to the repo. diff --git a/HOW_TO_SLOP_FREE_FORK.md b/HOW_TO_SLOP_FREE_FORK.md new file mode 100644 index 0000000..ca7f389 --- /dev/null +++ b/HOW_TO_SLOP_FREE_FORK.md @@ -0,0 +1,217 @@ +# 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-foss. 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/ethical-foss/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/ethical-foss/ethical-foss 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/ethical-foss/ethical-foss.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-foss: + + ```config + [core] + repositoryformatversion = 0 + filemode = true + bare = false + logallrefupdates = true + [remote "origin"] + url = ssh://git@codeberg.org/ethical-foss/ethical-foss.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 index a361ed6..fc7c0bd 100644 --- a/NO_AI_REQUEST_TEMPLATE.md +++ b/NO_AI_REQUEST_TEMPLATE.md @@ -61,6 +61,21 @@ This has resulted in pricing historically marginalized individuals, who are more 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. @@ -79,8 +94,103 @@ Thank you and kind regards :pray: ## Appeal to Code Quality Template -Feel free to submit a PR to fill this one in. +```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, -Feel free to submit a PR to fill this one in. +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 518db2d..e59bc1b 100644 --- a/README.md +++ b/README.md @@ -4,99 +4,141 @@ ![trans rights](https://pride-badges.pony.workers.dev/static/v1?label=trans%20rights&stripeWidth=6&stripeColors=5BCEFA,F5A9B8,FFFFFF,F5A9B8,5BCEFA) ![Sponsored by the Gay Agenda](https://pride-badges.pony.workers.dev/static/v1?label=Sponsored+by+the+Gay+Agenda&labelColor=%23555&stripeWidth=8&stripeColors=E40303%2CFF8C00%2CFFED00%2C008026%2C24408E%2C732982) -Free/Open Source Software tainted by LLM developers/developed by genAI boosters, along with alternatives. +Free/Open Source Software tainted by LLM/AI usage, along with *alternatives* and *last untainted commit* so you can fork. -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. +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). -For more information on why we think this list matters, please see [Why not LLMs?](#why-not-llms). +For more information on why we think this list matters, please see out [Why not LLMs?](./why_not_llms.md) file. Want to *add*, *update*, or *remove* a project listed below? Check out our [**Contributing Doc**](./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/ethical-foss/open-slopware/issues/new?template=.forgejo%2fissue_template%2fdiscussion.yaml). + * [Definitions](#definitions) + * [Vibecoded](#vibecoded) * [Permissive AI Policy](#permissive-ai-policy) - * [Vibecode](#vibecode) * [AI Functionality](#ai-functionality) * [AI Code Reviews](#ai-code-reviews) * [Gen AI 'Art'](#gen-ai-art) * [AI Sponsored](#ai-sponsored) * [AI Databroker Usage](#ai-databroker-usage) * [AI In Issue Tracker](#ai-in-issue-tracker) - * [Permits LLM Ingestion](#permits-llm-ingestion) + * [Condones LLM Ingestion](#condones-llm-ingestion) * [Request for Help](#request-for-help) + * [Anti-AI Policy](#anti-ai-policy) * [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) + * [Desktop Launchers](#desktop-launchers) * [Mobile Launchers](#mobile-launchers) - * [Mobile Launchers Alternatives](#mobile-launchers-alternatives) * [Audio](#audio) + * [Audio Plugins and Virtual Instruments](#audio-plugins-and-virtual-instruments) * [Digital Audio Workstations](#digital-audio-workstations) - * [Standalone Digital Mixer](#standalone-digital-mixer) * [Music Players](#music-players) + * [Notation Software](#notation-software) * [Podcast Aggregators](#podcast-aggregators) + * [Standalone Digital Mixer](#standalone-digital-mixer) + * [Backups](#backups) + * [Benchmarking](#benchmarking) + * [BitTorrent Clients](#bittorrent-clients) + * [BitTorrent Clients Alternatives](#bittorrent-clients-alternatives) * [Blogging Software](#blogging-software) * [Content Management Systems](#content-management-systems) * [Static Site Generators](#static-site-generators) * [Books and Library Software](#books-and-library-software) + * [Book Readers](#book-readers) + * [Book Readers Alternatives](#book-readers-alternatives) + * [Citation Software](#citation-software) + * [Graphic Novel Readers](#graphic-novel-readers) + * [Graphic Novel Readers Alternatives](#graphic-novel-readers-alternatives) + * [Library Management Software](#library-management-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) + * [Build Systems and Task Runners](#build-systems-and-task-runners) + * [Cheat Sheets and Documentation](#cheat-sheets-and-documentation) + * [Clipboard Managers](#clipboard-managers) * [Command-Line Shells](#command-line-shells) * [Addons and Prompts](#addons-and-prompts) + * [Compiler Tools](#compiler-tools) + * [Linkers](#linkers) * [Computer Graphics](#computer-graphics) * [3D Tools](#3d-tools) * [Image Manipulation](#image-manipulation) + * [Interactive Media](#interactive-media) * [Photography](#photography) * [Video](#video) - * [Developer Tools](#developer-tools) - * [Compiler Tools And Related](#compiler-tools-and-related) + * [Containers](#containers) + * [Continuous Integration](#continuous-integration) + * [Continuous Integration Alternatives](#continuous-integration-alternatives) + * [Cryptography](#cryptography) + * [Disk Encryption](#disk-encryption) + * [File Encryption](#file-encryption) + * [Data Archival](#data-archival) + * [Databases](#databases) + * [Device Exploiting](#device-exploiting) * [Documents](#documents) * [Document Converters](#document-converters) * [Document Viewers](#document-viewers) - * [Editors](#editors) - * [Note Software Alternatives](#note-software-alternatives) - * [Alternative TUI Code Editors](#alternative-tui-code-editors) + * [Office Suite](#office-suite) * [E-Mail and Calendar](#e-mail-and-calendar) - * [E-mail Desktop Clients](#e-mail-desktop-clients) - * [E-mail Mobile Clients](#e-mail-mobile-clients) + * [E-Mail Desktop Clients](#e-mail-desktop-clients) + * [E-Mail Mobile Clients](#e-mail-mobile-clients) + * [E-Mail Web Clients](#e-mail-web-clients) * [Calendar Mobile Clients](#calendar-mobile-clients) + * [File Comparison](#file-comparison) + * [File Monitoring](#file-monitoring) * [File Storage](#file-storage) - * [File Storage Alternatives](#file-storage-alternatives) + * [File Tagging](#file-tagging) + * [Music Taggers](#music-taggers) * [File Transferring](#file-transferring) * [Filesystem Navigation](#filesystem-navigation) * [File Managers](#file-managers) + * [Forum Software](#forum-software) + * [Forum Software Alternatives](#forum-software-alternatives) + * [Fuzzy Finders](#fuzzy-finders) * [Gaming](#gaming) - * [Game engines](#game-engines) - * [Alternative game engines](#alternative-game-engines) - * [Game managers and Launchers](#game-managers-and-launchers) - * [Mod managers](#mod-managers) + * [Cellular Automata](#cellular-automata) * [Emulators](#emulators) + * [Game engines](#game-engines) + * [Game Managers and Launchers](#game-managers-and-launchers) + * [Mod managers](#mod-managers) + * [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 Alternatives by protocols](#messaging-alternatives-by-protocols) + * [Messaging Clients](#messaging-clients) + * [Messaging Servers](#messaging-servers) * [Microcontroller Tools and Libraries](#microcontroller-tools-and-libraries) * [Networking](#networking) + * [Reverse proxies](#reverse-proxies) * [Networking security tools](#networking-security-tools) - * [Networking security tool alternatives](#networking-security-tool-alternatives) * [Operating Systems](#operating-systems) + * [BSD-based](#bsd-based) + * [Linux-based](#linux-based) + * [Kernels](#kernels) + * [Other Operating Systems](#other-operating-systems) * [Package Managers](#package-managers) - * [Package Manager Alternatives](#package-manager-alternatives) - * [Peripheral Managers](#peripheral-managers) + * [AUR Helpers](#aur-helpers) * [Password Management](#password-management) + * [Cloud-based Password Managers](#cloud-based-password-managers) + * [Local Password Managers](#local-password-managers) + * [Peripheral Managers](#peripheral-managers) * [Programming Languages](#programming-languages) - * [Programming Language-Specific Tooling](#programming-language-specific-tooling) + * [Programming Language-Specific Tools and Libraries](#programming-language-specific-tools-and-libraries) + * [Bash](#bash) * [C](#c) * [C++](#c-1) * [CSS](#css) @@ -106,182 +148,216 @@ See a project on here that you love, and wish wasn't on here? Check out our [**N * [JavaScript And TypeScript](#javascript-and-typescript) * [Lua](#lua) * [Python](#python) + * [Ruby](#ruby) * [Rust](#rust) - * [Search Engines](#search-engines) + * [Alternative GUI crates](#alternative-gui-crates) + * [Alternative TUI crates](#alternative-tui-crates) + * [Scala](#scala) + * [Zig](#zig) + * [Proof Assistants](#proof-assistants) + * [Remote Desktop](#remote-desktop) + * [Reverse Engineering and Debugging](#reverse-engineering-and-debugging) + * [RSS](#rss) + * [RSS Aggregators](#rss-aggregators) + * [RSS Clients](#rss-readers) + * [Runtime Version Managers](#runtime-version-managers) + * [Search](#search) + * [Search Platforms](#search-platforms) + * [Web Search](#web-search) * [Service Monitoring](#service-monitoring) * [Social Media](#social-media) - * [Servers](#servers) * [Clients](#clients) + * [Servers](#servers) + * [SSH](#ssh) + * [Alternative SSH Clients](#alternative-ssh-clients) * [System Base](#system-base) + * [System Information Utilities](#system-information-utilities) + * [System Logs Managers](#system-logs-managers) + * [Android](#android) * [System Services and Daemons](#system-services-and-daemons) + * [Power Management](#power-management) + * [Alternative Power Management Software](#alternative-power-management-software) * [Terminal](#terminal) * [Terminal Emulators](#terminal-emulators) * [Terminal Multiplexers](#terminal-multiplexers) - * [Terminal Multiplexer Alternatives](#terminal-multiplexers-alternatives) + * [Text and Code Editors](#text-and-code-editors) + * [Note Software](#note-software) * [Unified Push Distributors](#unified-push-distributors) - * [Alternative Unified Push Distributors](#alternative-unified-push-distributors) * [Version Control](#version-control) - * [Version Control Servers](#version-control-servers) - * [Alternative Version Control Servers](#alternative-version-control-servers) * [Version Control Clients and Tooling](#version-control-clients-and-tooling) + * [Version Control Servers](#version-control-servers) * [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) - * [License Problems](#license-problems) - * [Stolen Training Data](#stolen-training-data) - * [Environmental Impact](#environmental-impact) - * [Labor](#labor) - * [Poor Code Quality](#poor-code-quality) - * [Deskilling](#deskilling) - * [Infosec risks](#infosec-risks) - * [Health and Safety](#health-and-safety) - * [Ties to the War Industrial Complex](#ties-to-the-war-industrial-complex) - * [Effects on Policing](#effects-on-policing) - * [Maintainer Fatigue](#maintainer-fatigue) - * [Effect on Hardware Prices](#effect-on-hardware-prices) * [License](#license) -## Definitions - -| Term | Definition | -|-----------|---------------------------------------------------------------------------------------------------------------------------------------| -| LLM | Large Language Model, a language model trained on vast amounts of text (often entire websites without the website owner's permission) | -| slop | Anything generated by AI, typically code, books, articles, or images. | -| slopshop | Company, Organization, or Group of sloperators working together to use AI to generate content. | +# Definitions +| Term | Definition | +|----------------|---------------------------------------------------------------------------------------------------------------------------------------| +| LLM | Large Language Model, a language model trained on vast amounts of text (often entire websites without the website owner's permission) | +| slop | Anything generated by AI, typically code, books, articles, or images. | Below are special definitions that are used for tagging purposes. -### Permissive AI Policy +## Vibecoded -![Permissive AI policy](./badges/permissive-ai-policy-orange.svg) +![Vibecoded](./badges/vibecoded.svg) -A policy that permits the use of AI/LLMs in any capacity or is declared to be [vibecoded](#vibecode). Both vibecoding and opening the door for people to vibecode count as a permissive AI policy. - -Evidence can be: - -- an explicit AI policy (e.g. `AI_POLICY.md`, `CONTRIBUTING.md`, developer docs) in the repo or something in the project's contributing guidelines or in their website's documentation that says that AI/LLMs are allowed -- an LLM friendly `AGENTS.md`, `CLAUDE.md`, or other such LLM instruction files or folders. -- core maintainers' blog or social media post about vibecoding -- link to readme, website, or documentation stating the project is vibecoded - -> [!Important] -> If a core maintainer has noted that the code is entirely vibecoded, please put that as the *first* evidence link. - -#### Vibecode - -Asking an AI to write software for you (often without human review). Per [Wikipedia](https://en.wikipedia.org/wiki/Vibe_coding): +Asking an AI to write software for you (*often* without human review). Per [Wikipedia](https://en.wikipedia.org/wiki/Vibe_coding): > In computer programming, vibe coding is a software development practice assisted by artificial intelligence (AI) such as by chatbots (programs that simulate conversation) or AI agents such as Codex or Claude Code. The software developer describes a project or task in a prompt to a large language model (LLM), which generates source code automatically. Vibe coding may involve accepting AI-generated code without reviewing the output thoroughly, instead relying on results and follow-up prompts to guide changes. -The term was coined by [Andrej Karpathy](https://en.wikipedia.org/wiki/Andrej_Karpathy) (co-founder of [OpenAI](https://openai.com/)) in February 2025. +The term was coined by [Andrej Karpathy](https://en.wikipedia.org/wiki/Andrej_Karpathy) (co-founder of [OpenAI](https://openai.com/)) in February 2025. A **Vibecoder** is a person who uses AI prompts to generate anything, typically code or images. It would therefore be appropriate to call Andrej Karpathy a vibecoder. -A **Vibecoder** is a person who uses AI prompts to generate anything, typically code or images. It would therefore be appropriate to call Andrej Karpathy a vibecoder. - -> [!Note] +> [!tip] > Humans reviewing vibecoded code does not disqualify said code from being considered vibecoded. +Sometimes people will refer to vibecoding as "agenic engineering". We will not be using that term in this repo, but that still counts for this tag's usage. -### AI Functionality +Evidence may be, but is not limited to: -![AI Functionality](./badges/ai-functionality-yellow.svg) +- blog post stating the project was vibecoded +- link to readme stating that the project was vibecoded. +- contributing/developer docs *requiring* the usage of AI + +> [!Important] +> Please note we only use the [![Vibecoded](./badges/vibecoded.svg)](#vibecoded) tag in extreme scenarios when a project is *mostly* coded using AI. If the project is not mostly vibecoded, you should prefer the [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) tag. + +## Permissive AI Policy + +![Permissive AI policy](./badges/permissive-ai-policy-orange.svg) + +A policy, written or otherwise implied by maintainers' actions/statements, that permits the use of AI/LLMs into the code base. Opening the door for others to use gen AI counts as a "Permissive AI Policy". + +Evidence may be, but is not limited to: + +- an explicit AI policy (e.g. `AI_POLICY.md`, `CONTRIBUTING.md`, developer docs) in the repo or something in the project's contributing guidelines or in their website's documentation that says that AI/LLMs are allowed +- an LLM friendly `AGENTS.md`, `CLAUDE.md`, or other such LLM instruction files or folders. +- core maintainers' blog or social media post about using AI/LLMs +- LLM code being merged into the default branch of a project's code repository. (Must be merged to count; Open PRs do not count) + +> [!Important] +> If a core maintainer has noted that the code is entirely vibecoded, please use the [![Vibecoded](./badges/vibecoded.svg)](#vibecoded) tag instead. The [![Vibecoded](./badges/vibecoded.svg)](#vibecoded) tag is specifically meant for *extreme* cases only. + +> [!note] +> If AI *code* is not permitted in the project, however a policy (written or otherwise) suggests that the maintainers condone the use of LLMs/AI to ingest the repo to "find bugs" or "better understand the repo", then you should not use this tag, and instead consider using the [![Condones LLM Ingestion](./badges/condones-llm-ingestion.svg)](#condones-llm-ingestion) tag. + +## AI Functionality + +![AI Functionality](./badges/ai-functionality.svg) This would include the ability to enable or disable an AI feature, such as an AI assistant or AI summary feature. This would also cover the case when a project depends on an AI program or library, such as an LLM SDK. -Evidence can be: +Evidence may be, but is not limited to: - a link to the docs explaining the AI Functionality - a blog post advertising the AI Functionality - a link to the default branch in a repo that shows where the AI Functionality is implemented -### AI Code Reviews +## AI Code Reviews ![AI Code Reviews](./badges/ai-code-reviews-purple.svg) An AI agent/bot is used to review pull requests, which makes slop acceptance more probable and maintainability more difficult, especially when human reviews are scarce. -Evidence can be: +Evidence may be, but is not limited to: - a link to an AI code review requested by a maintainer. - 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 -### Gen AI 'Art' +> [!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) AI "Art" is being used in a project. This is typically for banners, avatars, promotional material, and/or blog posts. This means they're using tools that steal art from visual artists. -Evidence can be: +Evidence may be, but is not limited to: - link to the place where the AI "art" is used -### AI Sponsored +## AI Sponsored ![AI sponsored](./badges/ai-sponsored-blue.svg) -The project is sponsored directly by an AI company. +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. -Evidence can be: +Evidence may be, but is not limited to: - Blog post disclosing AI funding - link to website that lists AI companies in sponsors list - README that says "Sponsored by " -### AI Databroker Usage +## AI Databroker Usage ![AI Databroker Usage](./badges/ai-databroker-usage-pink.svg) The use of an AI company as a third party service for processing user data. -Evidence can be: +Evidence may be, but is not limited to: - Blog post talking about using AI for processing user data - Privacy policy listing an AI company as a third party service -### AI In Issue Tracker +## AI In Issue Tracker ![AI In Issue Tracker](./badges/ai-in-issue-tracker-teel.svg) The use of an AI bot/agent for responding to Issues, Discussions, Forums etc related to a project's issue/bug tracking. -Evidence can be: +Evidence may be, but is not limited to: - 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 +## Condones LLM Ingestion -![Permits LLM Ingestion](./badges/permits-llm-ingestion.svg) +![Condones LLM Ingestion](./badges/condones-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. +Condones 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. This is *independent of a project's licensing*. This tag is to be used for the maintainers' statements about, or reactions to, the usage of LLMs/AIs to ingest the repo. 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: +Evidence may be, but is not limited to: - 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 +- Core maintainer using or accepting the use of AI for finding bugs or security issues -### Request for Help +> [!tip] +> This tag is not to be confused with [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy), which is for when there is already AI generated code in the codebase or agent instructions, such as `AGENTS.md`, in the repo. + +## Request for Help ![Request for Help](./badges/request-for-help.svg) This means someone is asking for help with research. They would like it if you found the last known good version of a project or suggestions on alternatives for people to use. You can submit a pull request to add this info. +## Anti-AI Policy + +![Anti-AI Policy](./badges/anti-ai-policy.svg) + +This is a special badge with a *positive* connotation. It certifies that a project, that's been recommended as an alternative, has a *Clear* "No AI" policy. This means the project forbids the use of AI and LLMs and does not have any special carve outs where they've condoned their usage. These projects should always be preferred as all other alternative projects listed are considered to have a neutral stance on AI until they put out an official policy. + +> [!Note] +> Previous tainted status does not disqualify a project for this tag. Any project that was previously tainted, but took the steps for Removal (removed AI functionality, removed LLM agent instructions, and put out a No AI policy), can have this badge. + +> [!Tip] +> If a project has an Anti-AI policy, but doesn't fit as an alternative to anything we have listed as tainted, consider checking out one of our [sibling repos](#sibling-repos) that specializes in elevating slop-free/No AI software. + # Sibling Repos 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 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/ethical-foss/open-slopware/issues/12), [#22](https://codeberg.org/ethical-foss/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. @@ -310,19 +386,47 @@ This is a section for repos that are similar to this one either because they are | [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)) | +| [GNUCash](http://gnucash.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/Gnucash/gnucash/commits?author=claude)) | | [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)) | +| [MyExpenses](https://myexpenses.mobi/) | [`47ab235`](https://github.com/mtotschnig/MyExpenses/commit/47ab235ace5161220d3fa44eb4ab13d2e71030ee) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/mtotschnig/MyExpenses/commit/ab7b802b7e65516bc05076651e81ef49f6111eac))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/mtotschnig/MyExpenses/pull/1948#pullrequestreview-4321501043), [2](https://github.com/mtotschnig/MyExpenses/pull/1944#pullrequestreview-4291334840), [3](https://github.com/mtotschnig/MyExpenses/pull/1934#pullrequestreview-4208237200)) | +| [Odoo](https://www.odoo.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality.svg)](#ai-functionality) ([1](https://www.odoo.com/documentation/19.0/applications/productivity/ai.html)) | +| [ProExpenses](https://github.com/arduia/ProExpense) | [![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/arduia/ProExpense/pull/89)) | +| [Recurring Expense Tracker](https://f-droid.org/en/packages/de.dbauer.expensetracker/) | [![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/DennisBauer/RecurringExpenseTracker/pull/748#pullrequestreview-3351802682), [2](https://github.com/DennisBauer/RecurringExpenseTracker/pull/740#pullrequestreview-3329344288)) | > [!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] +> - [Finance Manager (PFA)](https://f-droid.org/en/packages/org.secuso.privacyfriendlyfinancemanager/) > - [Grisbi] +> - [HappyTaxes](https://f-droid.org/en/packages/io.github.dorumrr.happytaxes/) > - [HomeBank] +> - [MoneyWallet](https://f-droid.org/en/packages/com.oriondev.moneywallet/) +> - [MWPlus](https://github.com/nitr-himanshu/MWPlus) +> - [Simple Money Tracker](https://f-droid.org/en/packages/com.xvzan.simplemoneytracker/) + +## 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.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 + +### Desktop Launchers + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) +|---|:---:|---|---| +| [AppGrid](https://github.com/xarbit/plasma6-applet-appgrid) | None | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/xarbit/plasma6-applet-appgrid#credits)) | KDE's built-in launchers
([kickoff](https://invent.kde.org/plasma/plasma-desktop/-/tree/master/applets/kickoff), [krunner](https://invent.kde.org/frameworks/krunner)…) + ### Mobile Launchers | Name | Last Untainted Version or Commit ID | Tags and Evidence | @@ -332,18 +436,26 @@ This is a section for repos that are similar to this one either because they are > [!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 +### Audio Plugins and Virtual Instruments + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | +|---|:---:|---|---| +| [SurgeXT](https://surge-synthesizer.github.io/) | [`1.3.4`](https://github.com/surge-synthesizer/surge/releases/tag/release_xt_1.3.4) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/surge-synthesizer/surge/issues/8352), [2](https://github.com/surge-synthesizer/surge/issues/8285), [3](https://github.com/surge-synthesizer/surge/issues/8337)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | + ### Digital Audio Workstations -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | |---|:---:|---|---| +| [Audacity](https://www.audacityteam.org/) | [3.7.7](https://github.com/audacity/audacity/releases/tag/Audacity-3.7.7) | [![AI Functionality](./badges/ai-functionality.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)](#ai-in-issue-tracker) ([1](https://github.com/audacity/audacity/issues/10674#issuecomment-4205681036)) | [Tenacity](https://tenacityaudio.org/) [![Anti-AI Policy](./badges/anti-ai-policy.svg)](#anti-ai-policy) ([1](https://codeberg.org/tenacityteam/tenacity/src/branch/main/CONTRIBUTING.md#the-use-of-llms-and-ai-in-contributions)) | | [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) | +| [Mixxx](https://github.com/mixxxdj/mixxx/) | [![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/mixxxdj/mixxx/blob/4ae413dbe825f5929b3a04805f27f3df7ac4514a/AGENTS.md)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [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] @@ -351,24 +463,62 @@ This is a section for repos that are similar to this one either because they are > > You may also consider browsing the DAWs available on [linuxdaw.org](https://linuxdaw.org/?p=f&l=o). +### Music Players + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) +|---|:---:|---|---| +| [Clementine](https://www.clementine-player.org/) | [`1fc7fe0`](https://github.com/clementine-player/Clementine/commit/1fc7fe0e1e828a58f6a961aa4f75a7fbd7eb5786) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/clementine-player/Clementine/pull/7438), [2](https://github.com/clementine-player/Clementine/issues/7222#issuecomment-4477854268))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/clementine-player/Clementine/pull/7392#pullrequestreview-2811610522)) | [Amarok](https://amarok.kde.org/) | +| [Fooyin](https://fooyin.org/) | [`e70aeee`](https://github.com/fooyin/fooyin/commit/e70aeee49aa8fad92fac3c726043f2c6075273c2) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/fooyin/fooyin/issues/578#issue-3206943314))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/fooyin/fooyin/pull/1007#pullrequestreview-4065469376), [2](https://github.com/fooyin/fooyin/pull/579#pullrequestreview-3580786348)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [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.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) | +| [Strawberry Music Player](https://strawberrymusicplayer.org) | [`39f9128`](https://github.com/strawberrymusicplayer/strawberry/commit/39f9128ecf30cc164c36a064f16e40d7e4f57d84)| [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/strawberrymusicplayer/strawberry/commit/f45ce7f3dc5213776b52be6c70baedc543d37f14), [2](https://github.com/strawberrymusicplayer/strawberry/pull/1895), [3](https://github.com/strawberrymusicplayer/strawberry/pull/1922#issue-3763263421))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/strawberrymusicplayer/strawberry/pull/1835#pullrequestreview-3624566956), [2](https://github.com/strawberrymusicplayer/strawberry/pull/1913#pullrequestreview-3624360787), [3](https://github.com/strawberrymusicplayer/strawberry/pull/1922#pullrequestreview-3624343989)) | [Amarok](https://amarok.kde.org/) | +| [Tauon Music Box](https://tauonmusicbox.rocks/) | [![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/Taiko2k/Tauon/blob/master/AGENTS.md)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | + +### Notation Software + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) +|---|:---:|---|---| +| [MuseScore](https://github.com/musescore/MuseScore) | [![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/musescore/MuseScore/blob/04ee563c5ed78f037c2fb5ded4b178a39922f1c0/.coderabbit.yaml))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/musescore/MuseScore/pull/33731#issuecomment-4648786222)) | [Denemo](https://denemo.org/), [Frescobaldi](https://frescobaldi.org/) | + +### 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), [3](https://github.com/AntennaPod/AntennaPod/pulls?q=is%3Apr+is%3Amerged+author%3A%40copilot+))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/AntennaPod/AntennaPod/pull/8443#pullrequestreview-4304220839), [2](https://github.com/AntennaPod/AntennaPod/pull/8419#pullrequestreview-4269674921)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | + ### 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 +## Backups | 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) | +| [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) | + +## BitTorrent Clients + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | +|---|:---:|---| +| [BiglyBT](https://github.com/BiglySoftware/BiglyBT) | [![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/BiglySoftware/BiglyBT/pull/3701)) | +| [qBittorrent](https://github.com/qbittorrent/qBittorrent) | [![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/qbittorrent/qBittorrent/commit/db72e0a04b6068410a51c412d5491bbd453c098f), [2](https://github.com/qbittorrent/qBittorrent/pull/24042/commits/3f6768869bd30b84213891bf3c31af5b920be3f4))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/qbittorrent/qBittorrent/pull/24135#pullrequestreview-4214704239), [2](https://github.com/qbittorrent/qBittorrent/pull/24135#pullrequestreview-4215374268)) | +| [Transmission](https://github.com/transmission/transmission) | [![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/transmission/transmission/pull/8910#pullrequestreview-4487711247), [2](https://github.com/transmission/transmission/pull/8060#pullrequestreview-4290261914), [3](https://github.com/transmission/transmission/pull/8830#pullrequestreview-4375949789))
[![Condones LLM Ingestion](./badges/condones-llm-ingestion.svg)](#condones-llm-ingestion) ([1](https://github.com/transmission/transmission/pull/8910), [2](https://github.com/transmission/transmission/issues/8494#issue-3940283505)) | + +> [!NOTE] +> ### BitTorrent Clients Alternatives +> * [Deluge](https://github.com/deluge-torrent/deluge) +> * [Fragments](https://gitlab.gnome.org/World/Fragments) ## Blogging Software @@ -376,27 +526,32 @@ 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) | |---|:---:|---|---| -| [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/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))
[![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://wordpress.com/blog/2026/03/20/ai-agent-manage-content/)) | [WriteFreely] | +| [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.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] | +| [ProcessWire](https://www.processwire.com) | [`89cd626`](https://github.com/processwire/processwire/commit/89cd626f7f87d041a4423d896cf225dd42a5ee66) | [![AI Functionality](./badges/ai-functionality.svg)](#ai-functionality) ([1](https://processwire.com/modules/agent-tools/))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://processwire.com/blog/posts/processwire-and-ai/), [2](https://github.com/processwire/processwire/blob/dev/AGENTS.md), [3](https://github.com/processwire/processwire/blob/dev/CLAUDE.md)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [Wagtail](https://wagtail.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality.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.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.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/) | [![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)) | +| [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 +> #### 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) +> * [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 > * [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) @@ -405,28 +560,111 @@ This is a section for repos that are similar to this one either because they are ## Books and Library Software +### Book Readers +| Name | Last Untainted Version or Commit ID | Tags and Evidence | +|---|:---:|---| +| [Anx Reader](https://github.com/Anxcye/anx-reader/) | [![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/Anxcye/anx-reader/blob/develop/.gitignore), [2](https://github.com/Anxcye/anx-reader/commit/1c568f9edeff45b5f8ec39cb40dc3dc20e9a73fb))
[![AI Functionality](./badges/ai-functionality.svg)](#ai-functionality) ([1](https://github.com/Anxcye/anx-reader/blob/develop/docs/images/mobile5.png)) | +| [Episteme Reader](https://github.com/Aryan-Raj3112/episteme/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality.svg)](#ai-functionality) ([1](https://github.com/Aryan-Raj3112/episteme#editions)) | +| [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)](#gen-ai-art) ([1](https://github.com/koreader/koreader/releases/tag/v2023.10), [2](https://koreader.rocks/user_guide/)) | +| [Librera Reader](https://github.com/foobnix/LibreraReader/) | [![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/foobnix/LibreraReader/pull/1533)) | +| [Readest](https://github.com/readest/readest/) | None | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/readest/readest/blob/main/.gitignore), [2](https://github.com/readest/readest/commit/cf41e7d50dfcc5c8eede6cf1868f00cfa93f131b), [3](https://github.com/readest/readest/commit/7128e8964e00ad0b9735997049e7cfc8186a8cbd))
[![AI Functionality](./badges/ai-functionality.svg)](#ai-functionality) ([1](https://github.com/readest/readest/#planned-features)) | + +> [!Note] +> #### Book Readers Alternatives +> * [Anthology](https://github.com/nikhilmwarrier/anthology) +> * [Areada](https://github.com/iTsMe-Zen/Areada) +> * [Book's Story](https://github.com/Acclorite/book-story) + +### Citation 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)) | [![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/) | + +### Graphic Novel Readers +| Name | Last Untainted Version or Commit ID | Tags and Evidence | +|---|:---:|---| +| [Futon](https://github.com/AppFuton/Futon) | [`9.6.6`](https://github.com/AppFuton/Futon/releases/tag/v9.6.6) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/AppFuton/Futon/pull/3#pullrequestreview-3614488057)) | +| [Komikku](https://github.com/komikku-app/komikku) | [![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/komikku-app/komikku/blob/master/AGENTS.md), [2](https://github.com/komikku-app/komikku/tree/master/.gemini), [3](https://github.com/komikku-app/komikku/commit/582ea3e60d93b498c5ca46bbbb450a8b89d41848))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/komikku-app/komikku/pull/1683#issuecomment-4698428698), [2](https://github.com/komikku-app/komikku/pull/1682#issuecomment-4697653377), [3](https://github.com/komikku-app/komikku/pull/1676#issuecomment-4666543985)) | +| [Kotatsu Next](https://github.com/Ero-gamer/Kotatsu-Next) | None | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/Ero-gamer/Kotatsu-Next/tree/devel/.gemini), [2](https://github.com/Ero-gamer/Kotatsu-Next/commit/88a85119b4e079735780a9bb36b8e646649d92d5)) | +| [Reikai](https://github.com/unseensnick/Reikai) | None | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/unseensnick/Reikai/tree/main/.claude), [2](https://github.com/unseensnick/Reikai/blob/main/CLAUDE.md)) | + +> [!Note] +> #### Graphic Novel Readers Alternatives +> * [Komelia](https://github.com/Snd-R/Komelia) +> * [Mihon](https://github.com/mihonapp/mihon) and its forks: +> * * [Kahon](https://github.com/AmanoTeam/Kahon) +> * * [Taison](https://github.com/Gent8/Taison) + +### Library Management 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.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 | +| [LANraragi](https://github.com/Difegue/LANraragi) | [`1cfd949`](https://github.com/Difegue/LANraragi/commit/1cfd949c45f00221126a2996df5dabf8ed9964fa) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/Difegue/LANraragi/pull/1220#issue-2973877545))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/Difegue/LANraragi/pull/1218#pullrequestreview-2728016763)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | ## Bootloaders | Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | |---|:---:|---|---| -| [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/) | +| [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/ethical-foss/open-slopware/pulls/263#issuecomment-12690237), [2](https://codeberg.org/ethical-foss/open-slopware/pulls/285#issue-4234860)) | [Hyper](https://github.com/UltraOS/Hyper), [GRUB](https://www.gnu.org/software/grub/) | + +## 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 | +|---|:---:|---| +| [Brave] | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality.svg)](#ai-functionality) ([1](https://brave.com/ai/))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/brave/brave-core/blob/master/CONTRIBUTING.md#ai-assisted-contributions), [2](https://github.com/brave/brave-core/blob/master/.claude/CLAUDE.md), [3](https://github.com/brave/brave-core/commit/55bc3c7913751174c2f727d4d5c16360c85196b5))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/brave/brave-core/pull/34783), [2](https://github.com/brave/brave-core/pull/35614), [3](https://github.com/brave/brave-core/pull/35818))| +| 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.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/)) | +| [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.svg)](#ai-functionality) ([1](https://docs.zen-browser.app/user-manual/shortcuts#other-features:~:text=Toggle%20AI%20Chatbot%20Sidebar)) | + +> [!Note] +> #### 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] [![Anti-AI Policy](./badges/anti-ai-policy.svg)](#anti-ai-policy) ([1](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.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) | + +### Mobile Browsers + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | +|---|:---:|---| +| [Brave] | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality.svg)](#ai-functionality) ([1](https://brave.com/ai/))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/brave/brave-core/blob/master/CONTRIBUTING.md#ai-assisted-contributions), [2](https://github.com/brave/brave-core/blob/master/.claude/CLAUDE.md), [3](https://github.com/brave/brave-core/commit/55bc3c7913751174c2f727d4d5c16360c85196b5))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/brave/brave-core/pull/34783), [2](https://github.com/brave/brave-core/pull/35614), [3](https://github.com/brave/brave-core/pull/35818))| +| 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.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. ## 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 | +| [Bloop](https://scalacenter.github.io/bloop/) | [`v2.0.19`](https://github.com/scalacenter/bloop/releases/tag/v2.0.19) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/scalacenter/bloop/commit/bc7bdd65396856204164cba6e803fdbc93cf1fad)) | 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 | +| [CMake](https://cmake.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/Kitware/CMake/commit/475cc5487f2f17713d9b4af3ba45667f293b2a2b)) | See Below | +| [Just](https://just.systems/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality.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)) | [asdf](https://asdf-vm.com/) or 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.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 | @@ -439,100 +677,100 @@ This is a section for repos that are similar to this one either because they are > | 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 | +> | [NetBSD `make`](https://man.netbsd.org/make.1) | Make used to build NetBSD ports tree | > | [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/) +> * [Ninja](https://ninja-build.org/) - standalone or as the backend of a meta-build tool like [Meson](http://mesonbuild.com/) > * [redo](https://redo.readthedocs.io/) -> * [tup](https://gittup.org/) +> * [tup](https://gittup.org/tup) -## Browsers - -### 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/)) | -| [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)) | - -> [!Note] -> #### 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. +## Cheat Sheets and Documentation | 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) | - -### 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)) | - -> [!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 - -| 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) | +| [tealdeer](https://github.com/tealdeer-rs/tealdeer) | [![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/tealdeer-rs/tealdeer/pull/489) | [tldr](https://github.com/tldr-pages/tldr-python-client)
man-pages | +| [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/ethical-foss/ethical-tldr),
[ethical-tldr-client](https://codeberg.org/ethical-foss/ethical-tldr-client) | + +## Clipboard Managers + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | +|---|:---:|---| +| [clipcat](https://github.com/xrelkd/clipcat) | [![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/xrelkd/clipcat/blob/develop/AGENTS.md), [2](https://github.com/xrelkd/clipcat/commit/a12b39a42a7d18bf31abcdd1c146077575fdb8b7)) | +| [CopyQ](https://github.com/hluk/CopyQ) | [![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/hluk/CopyQ/blob/5111f5525a0738d011968be67fa447c5b74338bd/AGENTS.md), [2](https://github.com/hluk/CopyQ/commit/b267d6ef9d323ffb990b5c7cb7ff4500bf33d673), [3](https://github.com/hluk/CopyQ/commit/cca210781e8ef087ff4ff7b0c6ea8ef63a9c3c9d))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/hluk/CopyQ/pull/3571), [2](https://github.com/hluk/CopyQ/pull/3551), [3](https://github.com/hluk/CopyQ/pull/3547)) | +| [The Clipboard Project](https://github.com/Slackadays/Clipboard) | [`feacd97`](https://github.com/Slackadays/Clipboard/commit/feacd977dabc) | [![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://github.com/Slackadays/Clipboard/blob/da607a6736605fe1e1b2aff629b913f4f342d5d8/README.md?plain=1#L5-L16)) | + +> [!Note] +> #### Clipboard Managers Alternatives +> - [cliphist](https://github.com/sentriz/cliphist) +> - [clipmenu](https://github.com/cdown/clipmenu) +> - [clipse](https://github.com/savedra1/clipse) ## Command-Line Shells | Name | Last Untainted Version or Commit ID | Tags and Evidence | |---|:---:|---| -| [`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)) | -| [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)) | +| [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)](#gen-ai-art) ([1](https://github.com/reubeno/brush/blob/8ea83d7/README.md)) | +| [Hilbish](https://github.com/sammy-ette/Hilbish/) | [![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/sammy-ette/Hilbish/pull/362#pullrequestreview-4117077021), [2](https://github.com/sammy-ette/Hilbish/pull/358#pullrequestreview-4117094312)) | +| [nushell](https://www.nushell.sh/) | [`0.79.0`](https://github.com/nushell/nushell/releases/0.79.0) | [![AI Functionality](./badges/ai-functionality.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://github.com/oils-for-unix/oils) | [`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)) | +| [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) +> * [bash](https://www.gnu.org/software/bash/) > * [Busybox](https://busybox.net/) `ash` +> * [dash](http://gondor.apana.org.au/~herbert/dash/) +> * [gash](https://codeberg.org/guix/gash) +> * [mksh](http://www.mirbsd.org/mksh.htm) +> * [oksh](https://github.com/ibara/oksh) > * [Schilytools] `bosh` +> * [zsh](https://zsh.org) > [!NOTE] > #### Alternative Shell Languages -> * [`elvish`][Elvish] -> * [`fish`](https://fishshell.com/) -> * [`rc`](http://doc.cat-v.org/plan_9/4th_edition/papers/rc) -> * [`execline`](https://www.skarnet.org/software/execline/) +> * [elvish](https://elv.sh) +> * [es-shell](https://github.com/wryun/es-shell) +> * [execline](https://skarnet.org/software/execline/) +> * [fish](https://fishshell.com/) +> * [ion](https://gitlab.redox-os.org/redox-os/ion) ### Addons and Prompts | Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | |---|:---:|---|---| -| [`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) | -| [`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) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/starship/starship/commit/0d71065a6eb98ff00b42b2bc4ff78dad7b897a1e))
[![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://github.com/starship/starship/pull/7234)) | [shmonad](https://github.com/matthunz/shmonad) | +| [Atuin](https://github.com/atuinsh/atuin) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality.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.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.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://github.com/starship/starship) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality.svg)](#ai-functionality) ([1](https://github.com/starship/starship/commit/b8ee82167c5b49c7e9fd70e5542fad0e56810b39))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/starship/starship/blob/main/AI_POLICY.md), [2](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), [2](https://github.com/starship/starship/pull/7324#pullrequestreview-3952260056), [3](https://github.com/starship/starship/pull/7317#pullrequestreview-3932388345)) | [shmonad](https://github.com/matthunz/shmonad) | > [!NOTE] > #### Alternative Plugin Managers -> * [`zimfw`](https://github.com/zimfw/zimfw) +> * [zimfw](https://github.com/zimfw/zimfw) + +## 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) | ## Computer Graphics @@ -540,23 +778,33 @@ 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) | |---|:---:|---|---| -| [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) | +| [Blender](https://www.blender.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality.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) | +| [TrechBroom](https://trenchbroom.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/TrenchBroom/TrenchBroom/commit/04bfd93c70f91bb3001637011e320c390b1ce82c)) | [GtkRadiant](https://icculus.org/gtkradiant/) | ### Image Manipulation | Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | |---|:---:|---|---| +| [delphitools](https://github.com/1612elphi/delphitools) | None | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/1612elphi/delphitools/commit/0dc9b6aa6d3672bc55c55c2e3b905317c1c8438c), [2](https://github.com/1612elphi/delphitools/commit/08997b0806abe9912ed8cf71148ce4f20e9e171f), [3](https://rmv.fyi/notes/i-hope-you-don-t-use-generative-ai)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) +| [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)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [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)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [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) | -| [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] | -| [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] +| [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.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)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | + +### Interactive Media + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | +|---|:---:|---|---| +| [Ruffle](https://ruffle.rs) | [`883b223`](https://github.com/ruffle-rs/ruffle/commit/883b22356b56026151d203da18227e208b450f35) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/ruffle-rs/ruffle/pull/20875), [2](https://github.com/ruffle-rs/ruffle/pull/23175), [3](https://github.com/ruffle-rs/ruffle/pull/23817))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/ruffle-rs/ruffle/pull/23011)) | [Lightspark](https://github.com/lightspark/lightspark) | ### Photography | 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) | +| [Ansel](https://github.com/aurelienpierreeng/ansel) | [![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/aurelienpierreeng/ansel/pull/890/))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/aurelienpierreeng/ansel/pull/898#pullrequestreview-4552911974)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [darktable](https://github.com/darktable-org/darktable/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality.svg)](#ai-functionality) ([1](https://github.com/darktable-org/darktable-ai/releases/tag/release-5.6.0))
[![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) | @@ -565,40 +813,75 @@ 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) | |---|:---:|---|---| +| [FFmpeg](https://ffmpeg.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/FFmpeg/FFmpeg/commit/37c176a2a2a8447a28c157e7bdb4be683a8c946b), [2](https://github.com/FFmpeg/FFmpeg/commit/b40d91cad92f2f694045a6a7b69f117b3dcfa19c))
[![Gen AI 'Art'](./badges/gen-ai-art-dark-yellow.svg)](#gen-ai-art) ([1](https://web.archive.org/web/20260513222612/https://twitter.com/FFmpeg/status/2054689695532036382))
[![Condones LLM Ingestion](./badges/condones-llm-ingestion.svg)](#condones-llm-ingestion) ([1](https://github.com/FFmpeg/FFmpeg/commit/1bde76da890127608744c3b17669a99d2adce54a), [2](https://github.com/FFmpeg/FFmpeg/commit/4492ad7228a381c2f0c8b79d333a59c7657311c9), [3](https://github.com/FFmpeg/FFmpeg/commit/444f2cf047b92fac8d470f969dbd04bf1107757c)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [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) | | [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) | +| [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)) | [![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) | +| [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] | | [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) | +| [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.svg)](#ai-functionality) ([1](https://nitter.net/videolan/status/1877072497146781946)) | [Showtime] (gstreamer-based)
[SMPlayer] (mplayer-based)
[ffplay] (ffmpeg+SDL-based)
[QMPlay2] (ffmpeg+libmodplug-based) | -## Developer Tools - -> [!WARNING] -> We are working on deprecating this section. Please do not add anything else here and instead add to existing sections or create additional sections that are more specific. +## Containers + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | +|---|:---:|---|---| +| [Crun](https://github.com/containers/crun) | [![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/containers/crun/commit/88f5512619a540c385b43d33fa5480b60ea5aae5)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [Podman](https://podman.io) | [`v5.4.2`](https://github.com/containers/podman/releases/tag/v5.4.2) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/containers/podman/commit/8d7e200f882970e3d225d44686bdd924d3f260ac), [2](https://github.com/containers/podman/pull/27781), [3](https://github.com/containers/podman/pull/27933))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/containers/podman/pull/25876), [2](https://github.com/containers/podman/pull/28093), [3](https://github.com/containers/podman/pull/28085)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [Podman-Desktop](https://github.com/podman-desktop/podman-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/podman-desktop/podman-desktop/commit/e12115245d01d8260ce3ae8a81d78859f744db30)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | + +## Continuous Integration + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | +|---|:---:|---|---| +| [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)) | +| [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)) | + +### Continuous Integration Alternatives + +- [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))
[![Condones LLM Ingestion](./badges/condones-llm-ingestion.svg)](#condones-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)) | [tc-play](https://github.com/bwalex/tc-play),
[zuluCrypt](https://github.com/mhogomchungu/zuluCrypt) | + +> [!NOTE] +> #### OS-specific disk encryption tools +> * [cgd(4)](https://man.netbsd.org/cgd.4) (NetBSD) + +### 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) | + +## Databases + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | +|---|:---:|---|---| +| [supabase](https://supabase.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality.svg)](#ai-functionality) ([1](https://github.com/supabase/supabase/tree/master/packages/ai-commands), [2](https://supabase.com/docs/guides/ai), [3](https://supabase.com/docs/guides/ai-tools))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/supabase/supabase/blob/master/.claude/CLAUDE.md), [2](https://github.com/supabase/supabase/tree/master/.cursor)) | [PocketBase](https://pocketbase.io/) | +| [TimescaleDB](https://github.com/timescale/timescaledb) | [`2.25.2`](https://github.com/timescale/timescaledb/releases/tag/2.25.2) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/timescale/timescaledb/commit/5ff94658889f761b3e8c0fe298ae2da915c63552), [2](https://github.com/timescale/timescaledb/commit/017617e60f5a9aad6f8499247201449df4746edf), [3](https://github.com/timescale/timescaledb/commit/874d6b9ecd459cc0ba1a49dd14699768219cfe44)) | [SiriDB](https://siridb.com/)
[list of time series dbs](https://en.wikipedia.org/wiki/Time_series_database#List_of_time_series_databases) (several are tainted too) | + +## Device Exploiting | 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) | [![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))
[![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://github.com/atuinsh/atuin/pull/3199)) | Built-in shell history | -| [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) | -| [curl](https://curl.se/) | [![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/curl/curl/pull/20797), [2](https://github.com/curl/curl/pull/20798), [3](https://github.com/curl/curl/pull/20787))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://mastodon.social/@bagder/116204333476519757)) | [Wget](https://www.gnu.org/software/wget/) | -| [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) | -| [Golly](https://golly.sourceforge.io/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![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) | -| [Mold](https://github.com/rui314/mold) linker | [![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 | | [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) | -| [Scalar](https://scalar.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/scalar/scalar/blob/main/AGENTS.md))
[![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://scalar.com/products/docs/configuration/ask-ai))
[![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) | -| [watchexec](https://github.com/watchexec/watchexec) | [`2.3.2`](https://github.com/watchexec/watchexec/releases/tag/v2.3.2) *or* [`a17505e`](https://github.com/watchexec/watchexec/commit/a17505ecbe3abb2b1daacbd5e7051bfb74f4940d) | [![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) | -| [Wild](https://github.com/wild-linker/wild) linker | [![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) | - -### Compiler Tools And Related - -| 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) | ## Documents @@ -606,7 +889,8 @@ 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) | |---|:---:|---|---| -| [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) | +| [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))
[![Condones LLM Ingestion](./badges/condones-llm-ingestion.svg)](#condones-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 @@ -615,36 +899,23 @@ This is a section for repos that are similar to this one either because they are |---|:---:|---|---| | [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/) | -## Editors +### Office Suite -| 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 | -| [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)) | See editors below | -| [Lem](http://lem-project.github.io/) | [`e039567`](https://github.com/lem-project/lem/tree/e039567bc8976d2d59920d91e865440068ea8097) [`v2.3.0`](https://github.com/lem-project/lem/releases/tag/v2.3.0) | [![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))
[![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://github.com/lem-project/lem/commit/4f2713e0af6afda559d8aaa896285f18b4a969bb)) | [Hemlock](https://phemlock.common-lisp.dev/) | -| [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 | -| [Memos](Memos) | [`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)) | 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 | -| [Notepad++ for Mac](https://notepad-plus-plus-mac.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/notepad-plus-plus-mac/notepad-plus-plus-macos/commit/5420e8cf93dd7fdd4aa878035e203748b6aedabf), [2](https://github.com/notepad-plus-plus-mac/notepad-plus-plus-macos/commit/9bb0503d758d7f5b9be166fc4b544344fdc9cfe7)) | [CotEditor](https://github.com/coteditor/CotEditor)
See editors below | -| [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)) | See editors below | -| [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)) | See editors below | -| [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)) | 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 (GNU Emacs, etc.) | +| Name | Last Untainted
Version/Commit ID | Tags and Evidence | +|---|:---:|---| +| [Collabora Online](https://www.collaboraonline.com) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality.svg)](#ai-functionality) ([1](https://github.com/CollaboraOnline/online/commit/5e6b28e4d2888c89f62d2fea5ac37c5bf935255b), [2](https://github.com/CollaboraOnline/online/commit/87b7357d65655664140034bac569c3bcfb7d9ee8), [3](https://github.com/CollaboraOnline/online/pull/15555))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/CollaboraOnline/online/blob/main/CONTRIBUTING.md#ai-policy))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/CollaboraOnline/online/pull/11550), [2](https://github.com/CollaboraOnline/online/pull/15290)) | +| [Euro-Office](https://github.com/Euro-Office) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality.svg)](#ai-functionality) ([1](https://github.com/Euro-Office/desktop-apps/blob/421654b5d0c4c37a4fc353f19bae83e734cffa15/README.md?plain=1#L18), [2](https://github.com/Euro-Office/DesktopEditors/blob/c3af2176763da1fa3c246961419c01733fa058a3/README.md?plain=1#L22))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/Euro-Office/eurooffice-nextcloud/commit/51e2d6a9f574ee4f53aeac5ff121e4bc5c18783c), [2](https://github.com/Euro-Office/core/commit/146975f73d45f672349b7d97a85738c1a6398f4c), [3](https://github.com/Euro-Office/eurooffice-nextcloud/commit/c6a1f72668cbb28491c9613ecb7c2e2a92b69aad)) | +| [LaSuite Docs](https://github.com/suitenumerique/docs) | [`1.5.1`](https://github.com/suitenumerique/docs/releases/tag/v1.5.1) | [![AI Functionality](./badges/ai-functionality.svg)](#ai-functionality) ([1](https://docs.la-suite.eu/#ai))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/suitenumerique/docs/commit/25cf11c90f18c6f12e340f3ead250a54122e9d2c))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/suitenumerique/docs/pull/2215), [2](https://github.com/suitenumerique/docs/pull/2220), [3](https://github.com/suitenumerique/docs/pull/1897)) | +| [LibreOffice](https://www.libreoffice.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/LibreOffice/core/commit/70c7f6ba49cfc506fc47dac32af98976ecf33cf8), [2](https://github.com/LibreOffice/core/commit/42cdc47554fa746baa863860143fc81fe8bb1c80), [3](https://github.com/LibreOffice/core/commit/7c0d875aca090de4f4d1164578683c0b7e0c6040)) | +| [OnlyOffice](https://github.com/ONLYOFFICE) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality.svg)](#ai-functionality) ([1](https://www.onlyoffice.com/ai-assistants), [2](https://github.com/ONLYOFFICE/DocumentServer/blob/c05795f471af72f820444088c9aa4836840eee5b/ROADMAP.md?plain=1#L89), [3](https://github.com/ONLYOFFICE/onlyoffice.github.io/pull/526))
[![Permissive AI Policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/ONLYOFFICE/Docker-DocumentServer/blob/3d41bd9a1c2a036fa16f113b570a275d2ff942f6/CLAUDE.md)) | > [!Note] -> ### Note Software Alternatives -> - [flatnotes](https://github.com/dullage/flatnotes) (Markdown-based) -> - [Zettlr](https://www.zettlr.com/) (Markdown-based) - -> [!NOTE] -> ### Alternative TUI Code Editors -> * [GNU 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) +> #### Alternative Office Suites +> +> | Name | Platform | Notes | +> |---|---|---| +> | [Calligra](https://invent.kde.org/office/calligra) | BSD, Linux | Windows support is being worked on. | +> | [CryptPad](https://github.com/cryptpad/cryptpad) | Web | Can be used on a [public instance](https://cryptpad.org/instances/) or self-hosted. | ## E-Mail and Calendar @@ -659,28 +930,57 @@ 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) | |---------|:--------------:|----------|-------| -| [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) | +| [FairEmail](https://github.com/M66B/FairEmail) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality.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) | +### E-Mail Web Clients + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | +|---------|:--------------:|----------|-------| +| [Proton Mail](https://proton.me/mail) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality.svg)](#ai-functionality) ([1](https://proton.me/blog/proton-scribe-writing-assistant))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/ProtonMail/WebClients/commit/4825a7cf6b1285784e5861d067a2c3c6a37715c4), [2](https://github.com/ProtonMail/WebClients/commit/064e5ee4b72ac84c5ce597fdc8a62a4f74415b99)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | + ### 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 Comparison + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | +|---|:---:|---|---| +| [delta](https://github.com/dandavison/delta) | [![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/dandavison/delta/pull/2058))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/dandavison/delta/pull/2152), [2](https://github.com/dandavison/delta/pull/2026), [3](https://github.com/dandavison/delta/pull/2139)) | +| [difftastic](https://github.com/Wilfred/difftastic) | [`68273d15`](https://github.com/Wilfred/difftastic/commit/68273d15) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/Wilfred/difftastic/commit/b438e8b57d5628f0d04f92a19182198a54016528)) | + +> [!NOTE] +> #### Diff Alternatives +> * [diff-so-fancy](https://github.com/so-fancy/diff-so-fancy) +> * [diffr](https://github.com/mookid/diffr) +> * [icdiff](https://github.com/jeffkaufman/icdiff) +> * [riff](https://github.com/walles/riff) +> * [ydiff](https://github.com/ymattw/ydiff) + +## 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 | 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))| +| [Immich](https://immich.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/immich-app/immich?tab=contributing-ov-file#use-of-generative-ai))
[![AI Functionality](./badges/ai-functionality.svg)](#ai-functionality) ([1](https://docs.immich.app/features/facial-recognition), [2](https://docs.immich.app/features/searching), [3](https://docs.immich.app/features/ml-hardware-acceleration)) | +| [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)](https://codeberg.org/small-hack/open-slopware#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/) | [![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/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))| +| [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.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 @@ -691,19 +991,37 @@ This is a section for repos that are similar to this one either because they are > For MinIO: > MinIO no longer maintains open source software so the entry is just for their old FOSS presence. +## File Tagging + +### Music Taggers + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | +|---|:---:|---|---| +| [MusicBrainz Picard](https://github.com/metabrainz/picard/) | [![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/metabrainz/guidelines/blob/master/README.md#ai-use-policy), [2](https://github.com/metabrainz/picard/blob/master/AGENTS.md))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/metabrainz/picard/pull/3062#pullrequestreview-3868348318)) | See below | + +> [!NOTE] +> #### Alternative Music Taggers +> - [Ear Tag](https://gitlab.gnome.org/World/eartag) +> - [EasyTAG](https://gitlab.gnome.org/GNOME/easytag) +> - [Kid3](https://kid3.kde.org/) + ## 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) | [![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))
[![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)) | [LocalShare](https://github.com/defname/LocalShare),
[PairDrop](https://pairdrop.net/#about),
[Sharing](https://github.com/Ammar64/Sharing) | -| [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/) | +| [croc](https://github.com/schollz/croc) | [`7331264`](https://github.com/schollz/croc/commit/7331264a050bd29a6905ba09e3bc4ce2c0722e66) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/schollz/croc/pull/1110), [2](https://github.com/schollz/croc/pull/1015), [3](https://github.com/schollz/croc/pull/993))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/schollz/croc/pull/1053), [2](https://github.com/schollz/croc/pull/1099)) | [Magic-Wormhole](https://github.com/magic-wormhole/magic-wormhole) | +| [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/) | +| [rclone](https://rclone.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/rclone/rclone/pull/8930), [2](https://github.com/rclone/rclone/commit/18899a58f3b74fadd9da9bf8433a18a52ffe87e5), [3](https://github.com/rclone/rclone/commit/ffdd043b957aad7808f82910f737bab3de2f5b10))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/rclone/rclone/pull/9273), [2](https://github.com/rclone/rclone/pull/9305), [3](https://github.com/rclone/rclone/pull/9056)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [rsync](https://rsync.samba.org/) | [`3.4.1`](https://github.com/RsyncProject/rsync/releases/tag/v3.4.1) | [![Vibecoded](./badges/vibecoded.svg)](#vibecoded) ([1](https://github.com/RsyncProject/rsync/pull/903))
[![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/),
[gokrazy/rsync](https://github.com/gokrazy/rsync),
[bcpierce00/unison](https://github.com/bcpierce00/unison) | ## 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) | +| [ripgrep](https://github.com/BurntSushi/ripgrep) | [`15.1.0`](https://github.com/BurntSushi/ripgrep/tree/15.1.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/BurntSushi/ripgrep/commit/f0cec341ab95c25c691ad3d5754d4bd9eedde21f)) | [grep](https://en.wikipedia.org/wiki/Grep) | | [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 @@ -711,43 +1029,91 @@ 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) | |---|:---:|---|---| | [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 | +|---|:---:|---| +| [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.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)) | +| [myBB](https://github.com/mybb/mybb) | [![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/mybb/mybb/blob/dev-1.9/.github/CONTRIBUTING.md?plain=1#L158), [2](https://github.com/mybb/mybb/commit/fcbdb89fa16502da444101ffa6246dd950286176), [3](https://github.com/mybb/mybb/commit/0063750e2fbd9b7cbd273da477203de5d7c16ae1))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/mybb/mybb/pull/5394#pullrequestreview-4539870463), [2](https://github.com/mybb/mybb/pull/5390#pullrequestreview-4488064061), [3](https://github.com/mybb/mybb/pull/5352#pullrequestreview-4311558403)) | +| [phpBB](https://github.com/phpbb/phpbb) | [`3.3.16`](https://github.com/phpbb/phpbb/releases/tag/release-3.3.16) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/phpbb/phpbb/commit/ddcf8f16d2dd254e5c74fb568d9ce83334f74db0))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/phpbb/phpbb/pull/6802), [2](https://github.com/phpbb/phpbb/pull/6842), [3](https://github.com/phpbb/phpbb/pull/6959)) | + +> [!NOTE] +> ### Forum Software Alternatives +> * [Flarum](https://github.com/flarum/flarum) + +## Fuzzy Finders + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | +|---|:---:|---|---| +| [fzf](https://github.com/junegunn/fzf) | [![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/junegunn/fzf/commit/290b18d9fe1f63f5ed7ab5639bad034563991146), [2](https://github.com/junegunn/fzf/commit/5ef8dea36e9eb771a82b4b2028761c032b69738a))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/junegunn/fzf/pull/4696), [2](https://github.com/junegunn/fzf/pull/4723), [3](https://github.com/junegunn/fzf/pull/4691)) | [fzy] | +| [peco](https://github.com/peco/peco) | [`v0.5.11`](https://github.com/peco/peco/releases/tag/v0.5.11) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/peco/peco/blob/4008f2e7bd30c3b3006e64cd72648827cc674baa/CLAUDE.md), [2](https://github.com/peco/peco/pull/567))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/peco/peco/pull/806)) | [fzy] | +| [skim](https://github.com/skim-rs/skim) | [![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/skim-rs/skim/blob/7e6115070b5c11e459af6b4ad0fe63cb6e5bbd90/.github/CONTRIBUTING.md#vibe-coding-guidelines), [2](https://github.com/skim-rs/skim/blob/master/AGENTS.md), [3](https://github.com/skim-rs/skim/commit/4147eccb9452ac1ea3da041208d2e491a933d14d))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/skim-rs/skim/pull/1028), [2](https://github.com/skim-rs/skim/pull/789), [3](https://github.com/skim-rs/skim/pull/834)) | [fzy] | ## Gaming -### Game engines +### Cellular Automata | 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/17019)) | [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://github.com/lutris/lutris/issues/6506#issuecomment-3976118573), [2](https://github.com/lutris/lutris/discussions/6530)) | [Bottles](https://github.com/bottlesdevs/Bottles) | -| [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) | +| [Golly](https://golly.sourceforge.io/) | [`883b1ff`](https://sourceforge.net/p/golly/code/ci/883b1ff4f61d66426caf49768e7b1704ec7dadfc/) | [![Gen AI 'Art'](./badges/gen-ai-art-dark-yellow.svg)](#gen-ai-art) ([1](https://golly.sourceforge.io/Help/changes.html)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | ### Emulators | Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | |---|:---:|---|---| -| [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) | +| [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/) | +| [Ares](https://github.com/ares-emulator/ares) | [`ae41a43`](https://github.com/ares-emulator/ares/commit/ae41a4356732803a0ee72280a0a7edab431d1a79) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/ares-emulator/ares/commit/38a2e6260396bc648c4b7303f67d3708f3940c68)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [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)](#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) | +| [Dolphin](https://dolphin-emu.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/dolphin-emu/dolphin/blob/7b69949cec7afcd1691a9a046d26d5c4a99ce4fc/Contributing.md#genai), [2](https://github.com/dolphin-emu/dolphin/pull/14511), [3](https://github.com/dolphin-emu/dolphin/pull/14632))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/dolphin-emu/dolphin/pull/13750)) | [Lazuli](https://github.com/vxpm/lazuli) (only GameCube) | +| [DolphiniOS](https://github.com/OatmealDome/dolphin-ios/) | [![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/OatmealDome/dolphin-ios/commit/626315d50a53b1ca5e1f6ec52a1d3ce7012411f4)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [MAME](https://github.com/mamedev/mame) | [`4f25362`](https://github.com/mamedev/mame/commit/4f253622aa62fb2902efffbdf2ae3d71e30f124f) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/mamedev/mame/commit/98fd60c04888f15556d45506bc3cd04a7df3cee3), [2](https://github.com/mamedev/mame/commit/6cb0ec64ac8608c4bcf864807495f91c55db3653)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [RPCS3](https://github.com/RPCS3/rpcs3) | [![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/RPCS3/rpcs3#ai-use), [2](https://github.com/RPCS3/rpcs3/commit/d25972e196615c99afa04567e91fb5d81f9af1f6)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) | +| [Snes9x](https://github.com/snes9xgit/snes9x) | [`2e3fce3`](https://github.com/snes9xgit/snes9x/commit/2e3fce37e8e45e449fd9b6f31ca3d078a38e7f39) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/snes9xgit/snes9x/commit/9cd4c1b28614146b3b74bac6b95ffc20848d51b5)) | [bsnes](https://github.com/bsnes-emu/bsnes), [higan](https://github.com/higan-emu/higan) | +| [Stella](https://github.com/stella-emu/stella) | [`616286a`](https://github.com/stella-emu/stella/commit/616286abc78b04ccb51873ea168ddfa2802427c3) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/stella-emu/stella/blob/master/CLAUDE.md), [2](https://github.com/stella-emu/stella/commit/2eff78e44060cba96921c9b47a10ca469ff3a108)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [VisualBoyAdvance-M](https://github.com/visualboyadvance-m/visualboyadvance-m) | [![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/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) + +### Game engines + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | +|---|:---:|---|---| +| [DevilutionX](https://github.com/diasurgical/DevilutionX) | [`1.5.5`](https://github.com/diasurgical/DevilutionX/releases/tag/1.5.5) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/diasurgical/DevilutionX/commit/4c7d80c018b8f6197365d2a5bffa600b4446052a), [2](https://github.com/diasurgical/DevilutionX/commit/37b6212d6e6136ee95965c3ba63d73d72b7482c8)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [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) | +| [Ren'Py](https://www.renpy.org/) | [`7.4.6.1693`](https://github.com/renpy/renpy/releases/tag/7.4.6.1693) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://nitter.net/renpytom/status/2064433925926142248), [2](https://github.com/renpy/renpy/pull/6939)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [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)](#request-for-help) | + +> [!NOTE] +> #### Alternative Game Engines +> - [LƖVE](https://love2d.org/) [![Anti-AI Policy](./badges/anti-ai-policy.svg)](#anti-ai-policy) ([1](https://github.com/love2d/love#contributing)) 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)](#request-for-help)| +| [Lutris](https://github.com/lutris/lutris) | [![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://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)](#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)](#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)](#request-for-help) | +| [ProtoHax](https://protohax.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/hax0r31337/ProtoHax/blob/stable/CLAUDE.md)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | + +## 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],
[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],
[KMonad] | ## Language and Localization @@ -770,61 +1136,119 @@ 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 | |---|:---:|---| +| [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)) | +| [Deflock](https://deflock.org/) | None | [![Gen AI 'Art'](./badges/gen-ai-art-dark-yellow.svg)](#gen-ai-art) ([1](https://github.com/FoggedLens/deflock/tree/master/webapp/public/favicons), [2](https://github.com/FoggedLens/deflock/blob/master/webapp/public/404.webp))
[![Condones LLM Ingestion](./badges/condones-llm-ingestion.svg)](#condones-llm-ingestion) ([1](https://github.com/FoggedLens/deflock/blob/2be27e551adc02dd5d5217bada224647a10c48c2/webapp/src/views/FOIA.vue#L44)) | +| [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. +> * [OverpassTurbo](https://overpass-turbo.eu/) provides an interface for querying the OSM Overpass API, and can be used to [show the locations of ALPRs](https://overpass-turbo.eu/s/2o90). ## Messaging +### 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)) | +| [ArcaneChat](https://arcanechat.me) | None | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/ArcaneChat/android/blob/main/.github/copilot-instructions.md), [2](https://github.com/ArcaneChat/android/commit/b8b203e5176d20a31f7f52987dd5c6f1d53e9389), [3](https://github.com/ArcaneChat/android/commit/7eb0a99fc7a5066866c9e5f1a4109c50f0033972))
[![Gen AI 'Art'](./badges/gen-ai-art-dark-yellow.svg)](#gen-ai-art) ([1](https://web.archive.org/web/20260326083758/https://fosstodon.org/@arcanechat/116292382977465468)) | +| [apartƩ](https://github.com/paulfariello/aparte) | [![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/paulfariello/aparte/blob/1f384456294c539286183f059eb206d2705cb4a7/AGENTS.md), [2](https://github.com/paulfariello/aparte/commit/1f384456294c539286183f059eb206d2705cb4a7), [3](https://github.com/paulfariello/aparte/commit/53503e3b5a22c28b53cdaf7079e93fa28f7215bf)) | | [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)) | -| [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)) +| [chatterino](https://chatterino.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/Chatterino/chatterino2/blob/master/CONTRIBUTING.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)) | +| [Fluux Messenger](https://fluux.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/processone/fluux-messenger/blob/bfa4d9aa74e9600d41f4e690c5402702100462ea/.claude/skills/perf-stress-ui/SKILL.md)) | | [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))| +| [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.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)) | +| [Session](https://getsession.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/session-foundation/session-appium/commit/3efbbeb1b1f5b7a47cbdb6ffc0891837ef88a5cf), [2](https://github.com/session-foundation/session-router/commit/9670e23d885714bc858ac6bd40092bcfb746bee3), [3](https://github.com/session-foundation/session-appium/commit/57b0fc8a1c0e4f4b1536ff5543782494255ef891))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/session-foundation/session-desktop/pull/1934), [2](https://github.com/session-foundation/websites/pull/81), [3](https://github.com/session-foundation/session-appium/pull/105)) | | [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)) | -| [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)) -| [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)) | +| [Spark](https://github.com/igniterealtime/Spark) | [![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/igniterealtime/Spark/blob/d977a219bd13553aac33cdef2861dfeb5b93acb2/AGENTS.md), [2](https://github.com/igniterealtime/Spark/commit/364d1a837f2e84119bc244f4de7040548c93fcc3), [3](https://github.com/igniterealtime/Spark/commit/a0f28184ad4b695f3)) | +| [SimpleX](https://simplex.chat/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality.svg)](#ai-functionality) ([1](https://github.com/simplex-chat/simplex-chat/blob/d6c9c0ee47ede2df319eb131df5a5362a680f089/apps/simplex-support-bot/plans/20260207-support-bot.md#53-grok-integration), [2](https://github.com/simplex-chat/simplex-chat/commit/5a3dfdd2b440382868cf70e56057d18848c51e4c))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/simplex-chat/simplex-chat/blob/12fbf61f326e15ee643c72b3202bbcd6a758a07f/docs/CONTRIBUTING.md#follow-project-structure-coding-style-and-approaches), [2](https://github.com/simplex-chat/simplex-chat/commit/b0e6a7bfc12f0e08a84f939981fb731c0967e0e7), [3](https://github.com/simplex-chat/simplex-chat/commit/427ce1b3ff7d226d227c0b215304779b28a4ea5f)) | +| [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.svg)](#ai-functionality) ([1](https://telegram.org/blog/ai-editor-mighty-polls-and-more))| +| [Threema](https://threema.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/threema-ch/threema-desktop/blob/stable/AGENTS.md), [2](https://github.com/threema-ch/sentry-cocoa/blob/c8998045e43300510de1c1cf4860b6bd3c2de990/AGENTS.md?plain=1#L514)) | +| [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.svg)](#ai-functionality) ([1](https://github.com/zulip/zulip/pull/32895)) | > [!Note] -> ### Messaging Alternatives by protocols +> #### Messaging Client Alternatives by protocols +> - IRC clients overall don't seem to have AI-committed code > - [matrix] > - [Cinny](https://github.com/cinnyapp/cinny) (web) -> - [nheko](http://nheko.im/) (desktop, Linux phones) > - [FluffyChat](https://github.com/krille-chan/fluffychat) (cross-platform) +> - [nheko](http://nheko.im/) (desktop, Linux phones) +> - [WeeChat](https://github.com/weechat/weechat): Multi-protocol > - [xmpp](https://xmpp.org/) > - [Conversations](https://conversations.im/) (android) > - [Kaidan](https://invent.kde.org/network/kaidan) (cross-platform) -> - IRC clients and servers overall don't seem to have AI-committed code -> - [WeeChat](https://github.com/weechat/weechat): Multi-protocol -> - [Signal](https://signal.org/) + +### 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))| +| [OpenFire](https://igniterealtime.org/projects/openfire/) | [![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/igniterealtime/Openfire/commit/9045deaf7), [2](https://github.com/igniterealtime/Openfire/commit/da9b79727), [3](https://github.com/igniterealtime/Openfire/commit/b752bc2ca))| +| [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 ## 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) | -| [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)) | Official [WCH C SDK's](https://github.com/openwch), [ch32fun](https://github.com/cnlohr/ch32fun) | +| [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)](#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) | -| [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) | +| [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.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)) | [HTTPie](https://github.com/httpie/cli), [xh](https://github.com/ducaale/xh), [wget](https://www.gnu.org/software/wget/) | +| [NETworkManager](https://github.com/BornToBeRoot/NETworkManager/) | [![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/BornToBeRoot/NETworkManager/tree/main/.claude/commands)) | [stacer](https://github.com/QuentiumYT/Stacer) + +### 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 | |---|:---:|---| @@ -832,38 +1256,72 @@ This is a section for repos that are similar to this one either because they are > [!NOTE] > #### Networking security tool alternatives -> * [iocaine](https://iocaine.madhouse-project.org) > * [go-away](https://git.gammaspectra.live/git/go-away) +> * [iocaine](https://iocaine.madhouse-project.org) ## 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) | [15.0](https://www.freebsd.org/releases/15.0R/announce/), [14.3](https://www.freebsd.org/releases/14.3R/announce/) | [![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/) [![Anti-AI Policy](./badges/anti-ai-policy.svg)](#anti-ai-policy) ([1](https://wiki.hyperbola.info/doku.php?id=en:philosophy:reject_machinelearning)) +> * [MirBSD](https://mbsd.evolvis.org/) [![Anti-AI Policy](./badges/anti-ai-policy.svg)](#anti-ai-policy) ([1](https://mbsd.evolvis.org/permalinks/wlog2021_e20240726.htm#e20240726_wlog2021)) +> * [NetBSD](https://www.netbsd.org/) [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) | |---|:---:|---|---| -| [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)) | 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/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)) | See below | -| [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) | -| [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)) | See below | -| [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://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) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([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 | +| [Aurora](https://getaurora.dev/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality.svg)](#ai-functionality) ([1](https://docs.getaurora.dev/guides/local-ai/))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/ublue-os/aurora/blob/main/AGENTS.md)) | See below | +| [Bluefin](https://projectbluefin.io/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality.svg)](#ai-functionality) ([1](https://docs.projectbluefin.io/ai/), [2](https://ask.projectbluefin.io/))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/ublue-os/bluefin/blob/main/AGENTS.md)) | See below | +| [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/) | -| [OpenBSD](https://openbsd.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/openbsd/src/commit/9c2b8e445a0bdfafdd6148b1760f00aa5429627b), [2](https://github.com/openbsd/src/commit/e9af5eb5a61d189327b553b24d0d31f19c64b63f)) | See below | +| [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.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 +> * [Arch Linux](https://archlinux.org/) has banned LLMs in Issue Trackers ([1](https://gitlab.archlinux.org/archlinux/packaging/packages/onnxruntime/-/work_items/18#note_460864), [2](https://gitlab.archlinux.org/archlinux/packaging/packages/mkinitcpio-systemd-tool/-/work_items/3#note_503832), [3](https://gitlab.archlinux.org/archlinux/packaging/packages/python-huggingface-hub/-/work_items/43#note_504464)) +> * [Chimera Linux](https://chimera-linux.org/) [![Anti-AI Policy](./badges/anti-ai-policy.svg)](#anti-ai-policy) ([1](https://github.com/chimera-linux/chimera-linux.github.io/blob/4d7dee4c389e7d18f52b35da5b0eb016d17dd03d/community/index.md#contributing)) +> * [elementary OS](https://elementary.io/) [![Anti-AI Policy](./badges/anti-ai-policy.svg)](#anti-ai-policy) ([1](https://docs.elementary.io/contributor-guide/development/generative-ai-policy)) +> * [Gentoo Linux](https://www.gentoo.org/) [![Anti-AI Policy](./badges/anti-ai-policy.svg)](#anti-ai-policy) ([1](https://wiki.gentoo.org/wiki/Project:Council/AI_policy)) +> * [Hyperbola GNU/Linux-libre](https://www.hyperbola.info/) [![Anti-AI Policy](./badges/anti-ai-policy.svg)](#anti-ai-policy) ([1](https://wiki.hyperbola.info/doku.php?id=en:philosophy:reject_machinelearning)) +> * [postmarketOS](https://postmarketos.org/) [![Anti-AI Policy](./badges/anti-ai-policy.svg)](#anti-ai-policy) ([1](https://docs.postmarketos.org/policies-and-processes/development/ai-policy.html)) +> * [secureblue](https://secureblue.dev/) [![Anti-AI Policy](./badges/anti-ai-policy.svg)](#anti-ai-policy) ([1](https://secureblue.dev/contributing#ai-content)) + +### Kernels + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | +|---|:---:|---|---| +| [ELKS](https://github.com/ghaerr/elks/wiki) | [`c228942`](https://github.com/ghaerr/elks/commit/c22894237f7b324a93ba23fd0f28c5d88590f04e) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/ghaerr/elks/commit/82cb55fff3db3b1ddc6c52c6d621fa85c55a80c5),[2](https://github.com/ghaerr/elks/commit/297fc2af56d57a16db65056c899f208170e03f87),[3](https://github.com/ghaerr/elks/commit/c2c3c18377b3c315f521dd1e077b9bd431ce6a7e))
| [Fuzix](https://www.fuzix.org/) | +| [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))
[![Condones LLM Ingestion](./badges/condones-llm-ingestion.svg)](#condones-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/) | [`d337f45`](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=d337f4524861f4e74c31ee575d60f2eaa1e82388) | [![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] -> #### 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) +> #### Other alternative operating systems +> * [9front](https://9front.org/) [![Anti-AI Policy](./badges/anti-ai-policy.svg)](#anti-ai-policy) ([1](https://git.9front.org/plan9front/9front/e4deac62c80e0d7910ceb49b1f41f2fbdcdc85db/lib/legal/contributing/f.html)) +> * [Haiku](https://www.haiku-os.org/) [![Anti-AI Policy](./badges/anti-ai-policy.svg)](#anti-ai-policy) ([1](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) -> * [Haiku](https://www.haiku-os.org/) has [banned LLMs](https://www.haiku-os.org/community/organization/policies/) -> * [HyperbolaBSD](https://www.hyperbola.info/) has [banned LLMs](https://wiki.hyperbola.info/doku.php?id=en:philosophy:reject_machinelearning) -> ##### Linux kernel-based distributions that explicitly ban LLM/GenAI contributions. -> * [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) +> * [RedoxOS](https://redox-os.org/) [![Anti-AI Policy](./badges/anti-ai-policy.svg)](#anti-ai-policy) ([1](https://gitlab.redox-os.org/redox-os/redox/-/blob/master/CONTRIBUTING.md)) ## Package Managers @@ -875,57 +1333,85 @@ This is a section for repos that are similar to this one either because they are > [!Note] > ### Package Manager Alternatives -> For most operating systems, there should be a default package mananager 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: +> 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. +### AUR Helpers + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) +|---|:---:|---|---| +| [yay](https://github.com/Jguer/yay) | [![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/Jguer/yay/blob/next/.gitignore#L10-L14), [2](https://github.com/Jguer/yay/commit/b09f3de91318797d63dcfee1758b31e53b0bfe6d), [3](https://github.com/Jguer/yay/commit/3e3d5aa111ab200c32da2fa50e82936ea7f158e7))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/Jguer/yay/pull/2774#pullrequestreview-3727680244), [2](https://github.com/Jguer/yay/pull/2769#pullrequestreview-3693094733), [3](https://github.com/Jguer/yay/pull/2768#pullrequestreview-3691355975)) | [paru](https://github.com/Morganamilo/paru) | + +## Password Management + +### Cloud-based Password Managers + + 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)) | +| [Proton Pass](https://proton.me/pass) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality.svg)](#ai-functionality) ([1](https://proton.me/blog/pass-access-tokens))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/protonpass/proton-pass-common/commit/d8c1c7ef6a58a0bcaa779bb975f72de4a59b17cb), [2](https://github.com/protonpass/ios-pass/commit/e0d392a4a8951f61b3a9fd530136f307a7fd1857)) | + +### Local Password Managers + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | +|---|:---:|---| +| [AuthPass](https://github.com/authpass/authpass/) | [![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/authpass/authpass/pull/395#pullrequestreview-3105665498), [2](https://github.com/authpass/authpass/pull/395#pullrequestreview-3109392874)) | +| [gopass](https://github.com/gopasspw/gopass) | [![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/gopasspw/gopass/blob/master/AGENTS.md))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/gopasspw/gopass/pull/3104), [2](https://github.com/gopasspw/gopass/pull/3113), [3](https://github.com/gopasspw/gopass/pull/3383)) | +| [Keepass2Android](https://github.com/PhilippC/keepass2android/) | [![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/PhilippC/keepass2android/commit/d748149866d2ebf1de701ffe82cd69a637a8c4fc))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/PhilippC/keepass2android/pull/3154#pullrequestreview-3677202571)) | +| [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)) | +| [KeePassVault](https://github.com/aivanovski/keepassvault/) | [![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/aivanovski/keepassvault/blob/master/AGENTS.md))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/aivanovski/keepassvault/pull/297), [2](https://github.com/aivanovski/keepassvault/pull/296)) | +| [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] +> #### Local Password Manager Alternatives +> * [ChiPass](https://codeberg.org/ChiPass/ChiPass) [![Anti-AI Policy](./badges/anti-ai-policy.svg)](#anti-ai-policy) ([1](https://social.anoxinon.de/@whitequark@treehouse.systems/116403781772180051), [2](https://codeberg.org/ChiPass/ChiPass/commit/8fb6e891e6fe7ce7c3f1234a1d83460ab0ee093b)) An active fork of KeePassXC `2.7.10`. +> * [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. +> * [OneKeePass mobile](https://github.com/OneKeePass/mobile) and [OneKeePass desktop](https://github.com/OneKeePass/desktop) both seem to be untainted. +> * [rbw](https://github.com/doy/rbw) (Bitwarden/Vaultwarden client) +> * [Secrets](https://apps.gnome.org/Secrets/) uses the KeePass file format. +> * Password managers based on [pass](https://www.passwordstore.org/) could be interesting. + ## 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)) | -| [KeepassXC](https://keepassxc.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://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. - ## 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 | +| [Elixir](https://elixir-lang.org) | [v1.19.5](https://github.com/elixir-lang/elixir/releases/tag/v1.19.5) | [![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.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 | +| [Pharo](https://pharo.org/) | [`v11.0.0`](https://github.com/pharo-project/pharo/releases/tag/v11.0.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/pharo-project/pharo/commit/223d1e981837e9fe7b48adbb6d36995de36c5db5), [2](https://github.com/pharo-project/pharo/commit/8705e7783dae05f6438994a6db12a7393db594c1), [3](https://github.com/pharo-project/pharo/commit/6f44c8b9a0c6d7635bed58a89ea7dedb23339587)) | [Cuis Smalltalk](https://cuis.st/)
[GNU Smalltalk](https://www.gnu.org/software/smalltalk/) | | [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) | [![Condones LLM Ingestion](./badges/condones-llm-ingestion.svg)](#condones-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.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/ethical-foss/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] @@ -934,32 +1420,55 @@ This is a section for repos that are similar to this one either because they are > > 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) +> * [Clojure] [![Anti-AI Policy](./badges/anti-ai-policy.svg)](#anti-ai-policy) ([1](https://clojure.org/dev/contributor_agreement#_no_generated_code)) - dynamic, compiled, general-purpose programming language +> * [Idris] [![Anti-AI Policy](./badges/anti-ai-policy.svg)](#anti-ai-policy) ([1](https://github.com/idris-lang/Idris2/blob/main/CONTRIBUTING.md#things-we-will-not-accept)) - purely functional programming language, similar to Haskell +> * [Java] [![Anti-AI Policy](./badges/anti-ai-policy.svg)](#anti-ai-policy) ([1](https://openjdk.org/legal/ai)) - memory safe, object-oriented, VM-based programming language +> * [Zig] [![Anti-AI Policy](./badges/anti-ai-policy.svg)](#anti-ai-policy) ([1](https://codeberg.org/ziglang/zig#strict-no-llm-no-ai-policy)) - general-purpose, compiled, system programming language -## Programming Language-Specific Tooling +## Programming Language-Specific Tools and Libraries + +### Bash +| Name | Last Untainted Version or Commit ID | Tags and Evidence |Alternative(s) | +|---|:---:|---|---| +| [shellcheck](https://github.com/koalaman/shellcheck) | [`1b59697`](https://github.com/koalaman/shellcheck/commit/1b59697528185ab3d8261cb26a7f9a6576d0b188) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/koalaman/shellcheck/blob/master/.claude/CLAUDE.md)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | ### C | Name | Last Untainted Version or Commit ID | Tags and Evidence |Alternative(s) | |---|:---:|---|---| -| [goblint](https://github.com/bilelmoussaoui/goblint) | 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) | +| [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)) | See below | +| [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) | -| [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)) | [GnuTLS] | -| [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)) | [GnuTLS] | +| [libuv](https://libuv.org) | [`f6b713`](https://github.com/libuv/libuv/commit/f6b713398e464a9f166328765be1703fd860981f) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/libuv/libuv/commit/f6b713398e464a9f166328765be1703fd860981f)) | [libev](https://software.schmorp.de/pkg/libev.html) | +| [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)) | [GnuTLS] | +| [SDL](https://github.com/libsdl-org/SDL) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Condones LLM Ingestion](./badges/condones-llm-ingestion.svg)](#condones-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/) + +> [!Note] +> #### Alternative XML Libraries +> - [libxml2](https://gitlab.gnome.org/GNOME/libxml2) [![Anti-AI Policy](./badges/anti-ai-policy.svg)](#anti-ai-policy) ([1](https://gitlab.gnome.org/GNOME/libxml2/-/commit/b30494c58492274f885b53d1e7211c63ee11e0ad)) + ### C++ | Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | | --- |:---:| --- | --- | +| [Qt Base](https://code.qt.io/cgit/qt/qtbase.git) | [`6.11.1`](https://code.qt.io/cgit/qt/qtbase.git/log/?h=6.11.1) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://code.qt.io/cgit/qt/qtbase.git/commit/?id=ad0b53f9920443d856e58f99c441f9dd0536a2e7), [2](https://code.qt.io/cgit/qt/qtbase.git/commit/?id=ac8b2e9b40bf19aa889345f7b617392bef906040)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [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) | @@ -975,15 +1484,22 @@ Note that Dart is itself tainted; see [the Programming Languages section](#progr | 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) | +| [Flutter](https://flutter.dev/) | [`985576d`](https://github.com/flutter/flutter/commit/985576dbfdff5e9321941d9f66cb33baed337346) | [![AI Functionality](./badges/ai-functionality.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) | | --- |:---:| --- | --- | +| [cobra](https://github.com/spf13/cobra) | [![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/spf13/cobra/blob/main/README.md)) | [urfave/cli](https://cli.urfave.org/) | | [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) | +| [Delve](https://github.com/go-delve/delve) | [![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-delve/delve/blob/master/Documentation/AI/AI_POLICY.md), [2](https://github.com/go-delve/delve/blob/master/CLAUDE.md)) | [![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) | +| [gogpu](https://github.com/gogpu/gogpu) | None | [![Vibecoded](./badges/vibecoded.svg)](#vibecoded) ([1](https://dev.to/kolkov/from-vibe-coding-to-agentic-engineering-what-karpathy-got-right-and-whats-missing-62e), [2](https://github.com/gogpu/gogpu/pull/166)) | [go-gl](https://github.com/go-gl/gl), [webgpu](https://github.com/cogentcore/webgpu) | +| [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) | +| [modernc.org/sqlite](https://pkg.go.dev/modernc.org/sqlite) | [`v1.50.1`](https://gitlab.com/cznic/sqlite/-/commits/v1.50.1) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://gitlab.com/cznic/sqlite/-/blob/e3f64ec2f026880b2fbc868f195863648cd07fb3/CLAUDE.md), [2](https://gitlab.com/cznic/sqlite/-/commit/b17c0c7faf2247b8251efaa638ac101e5dea7ec1)) | [github.com/mattn/go-sqlite3](https://github.com/mattn/go-sqlite3) | | [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) | @@ -992,29 +1508,40 @@ Note that Dart is itself tainted; see [the Programming Languages section](#progr | 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] | +| [Postgresql JDBC Driver](https://jdbc.postgresql.org/) | [`42.7.9`](https://github.com/pgjdbc/pgjdbc/releases/tag/REL42.7.9) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/pgjdbc/pgjdbc/commit/4c9beeb3a8214e2ed9f1ebd81bd680f936a1c144), [2](https://github.com/pgjdbc/pgjdbc/commit/3ba467fcd7480db468c8083361a13a7f10ce7b31), [3](https://github.com/pgjdbc/pgjdbc/commit/05d9acd0293ab74e381d461c274c2a4731e93fcb)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | ### 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) | [![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 Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://bun.com/docs/runtime/templating/init))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/oven-sh/bun/pull/29395))
[![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))
[![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)) | [![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.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)](#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) | +| [ESLint](https://eslint.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality.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.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.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.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 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))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/open-circle/valibot/pull/1388)) | [![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) | +| [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)](#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)](#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) | +| [lua-language-server](https://github.com/LuaLS/lua-language-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://github.com/LuaLS/lua-language-server/commit/a72090f06fd0c743d55aa4eab4e2b1c76b92c547), [2](https://github.com/LuaLS/lua-language-server/commit/bbad28b04455c135c0fb895a969b4a952e704039))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/LuaLS/lua-language-server/pull/3392)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [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 @@ -1023,10 +1550,12 @@ Note that Python is itself tainted; see [the Programming Languages section](#pro | 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/) | +| [Chardet](https://github.com/chardet/chardet) | [`5.2.0`](https://github.com/chardet/chardet/releases/tag/5.2.0) | [![Vibecoded](./badges/vibecoded.svg)](#vibecoded) ([1](https://github.com/chardet/chardet/issues/327), [2](https://github.com/chardet/chardet/commit/5038f52057e0cc84f622fb2a0546393c43a84a15), [3](https://github.com/chardet/chardet/issues/327#issuecomment-4006480251)) | [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/)) | +| [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.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)| +| [PyJWT](https://github.com/jpadilla/pyjwt) | [`2.11.0`](https://github.com/jpadilla/pyjwt/releases/tag/2.11.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/jpadilla/pyjwt/commit/412cb67a93363812ae4029d6a95f5d4d40ab2609), [2](https://github.com/jpadilla/pyjwt/commit/1451d70eca2059bc472703692f0bb0777bc0fe93), [3](https://github.com/jpadilla/pyjwt/commit/bd9700cca7f9258fadcc429c1034e508025931f2))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/jpadilla/pyjwt/pull/1112), [2](https://github.com/jpadilla/pyjwt/pull/1152), [3](https://github.com/jpadilla/pyjwt/pull/1101)) | [python-jwt](https://github.com/GehirnInc/python-jwt) | | [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) | @@ -1036,20 +1565,49 @@ Note that Python is itself tainted; see [the Programming Languages section](#pro | [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) | -### Rust +### 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) | |---|:---:|---|---| -| [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)) | [iced](https://github.com/iced-rs/iced),
[imgui](https://github.com/imgui-rs/imgui-rs),
[relm](https://github.com/antoyo/relm) | -| [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] | +| [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.svg)](#ai-functionality) ([1](https://github.com/immunant/c2rust/tree/master/c2rust-postprocess))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#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)](#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)](#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)](#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)](#ai-code-reviews) ([1](https://github.com/ccbrown/iocraft/pull/98), [2](https://github.com/ccbrown/iocraft/pull/70)) | [console],
[cursive] | +| [jiff](https://github.com/BurntSushi/jiff) | [`0.2.26`](https://github.com/BurntSushi/jiff/tree/0.2.26) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/BurntSushi/jiff/commit/95332861e1b2941b9b1336202229290aeaeba353)) | [chrono](https://github.com/chronotope/chrono),
[time](https://github.com/time-rs/time) | +| [Matrix-rust-sdk](https://github.com/matrix-org/matrix-rust-sdk/) | [![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/matrix-org/matrix-rust-sdk/pull/6162), [2](https://github.com/matrix-org/matrix-rust-sdk/pull/6417)) | +| [memchr](https://github.com/BurntSushi/memchr) | [`2.8.0`](https://github.com/BurntSushi/memchr/tree/2.8.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/BurntSushi/memchr/commit/ee18717a7002a3299a6b5ef718084e76d958a5c3)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [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` | -| [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 | -| [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) | +| [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) | None | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/ratatui/ratatui/issues/2016#issuecomment-3512556433), [2](https://github.com/ratatui/ratatui/discussions/2201), [3](https://github.com/ratatui/ratatui/pull/2308))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/ratatui/ratatui/pull/1998), [2](https://github.com/ratatui/ratatui/pull/1490)) |See below | +| [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)](#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)](#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)](#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)](#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)](#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)](#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)](#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] +> #### Alternative TUI crates +> - [cursive](https://docs.rs/cursive/latest/cursive/) +> - [console](https://docs.rs/console/latest/console/) +> - [tui-rs](https://github.com/fdehau/tui-rs/releases/tag/v0.19.0) > [!Note] > @@ -1058,18 +1616,149 @@ Note that Python is itself tainted; see [the Programming Languages section](#pro > > On facet: If possible avoid all-in-one libraries for deserialization, and avoid macros that slow things down. -## Search Engines +### Scala + +Note that Scala (except version 2 and up to 3.3.7 LTS) is itself tainted; see [the Programming Languages section](#programming-languages). | Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | |---|:---:|---|---| -| Searxng | [![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/searxng/searxng/issues?q=copilot))
[![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://github.com/searxng/searxng/issues/2273), [2](https://github.com/searxng/searxng/issues/2008), [3](https://github.com/searxng/searxng/issues/2163)) | [LibreY](https://github.com/Ahwxorg/librey/),
[marginalia](https://github.com/MarginaliaSearch/MarginaliaSearch),
[securityops.co](https://git.securityops.co/securityops/securitysearch) | +| [sbt-sbom](https://github.com/sbt/sbt-sbom/) | [`0.5.0`](https://github.com/sbt/sbt-sbom/releases/tag/v0.5.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/sbt/sbt-sbom/commit/ac26403d23701c3a2b6a468211b1931dcbf5a67e)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [scalafix](https://scalacenter.github.io/scalafix/) | [`v0.13.0`](https://github.com/scalacenter/scalafix/releases/tag/v0.13.0)
[`9af410d`](https://github.com/scalacenter/scalafix/commit/9af410d23966494416b2b9ec940b58d6a55caa9a) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/scalacenter/scalafix/commit/26efbdb38db4882b33b18ec8b5ed91f34d935b45), [2](https://github.com/scalacenter/scalafix/commit/0bb05323e5935bd9ded76696af64f765f6fbf4e4), [3](https://github.com/scalacenter/scalafix/commit/1951ad71bb8d291bcc59f938aec0c0df1605adc3)) | [wartremover](https://www.wartremover.org/) | +| [scalafmt](http://scalameta.org/scalafmt) | [`v3.11.1`](https://github.com/scalameta/scalafmt/releases/tag/v3.11.1) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/scalameta/scalafmt/commit/a63c1441b93f123d143caa725ca42cd5473905f9), [2](https://github.com/scalameta/scalafmt/commit/57afd53e1112f5d982e8c10b5b9436a5fd145608)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [scalameta](https://scalameta.org/) | [`v4.17.0`](https://github.com/scalameta/scalameta/releases/tag/v4.17.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/scalameta/scalameta/commit/98254e636bdf07e350e6cb83cbb124d6c445f73d), [2](https://github.com/scalameta/scalameta/commit/6ea1517f833478f1771752a69a408a6a2e3ca08f), [3](https://github.com/scalameta/scalameta/commit/582895d9a2fac26c3924a061ef8139239f5dcdae)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [tapir](https://tapir.softwaremill.com/) | [`v1.12.6`](https://github.com/softwaremill/tapir/releases/tag/v1.12.6) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/softwaremill/tapir/commit/19ba37dd80838cb7a8c38e00262c18b014cd8ef7), [2](https://github.com/softwaremill/tapir/commit/3d15edbd6d45b27568244327a52512502d85b8be)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | + +### Zig + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | +|---|:---:|---|---| +| [Gooey](https://github.com/duanebester/gooey) | None | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/duanebester/gooey/blob/main/CLAUDE.md)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [zigcli](https://github.com/jiacai2050/zigcli) | [`0.2.1`](https://github.com/jiacai2050/zigcli/releases/tag/v0.2.1) | [![Vibecoded](./badges/vibecoded.svg)](#vibecoded) ([1](https://github.com/jiacai2050/zigcli/pull/74), [2](https://github.com/jiacai2050/zigcli/pull/69), [3](https://github.com/jiacai2050/zigcli/pull/63))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/jiacai2050/zigcli/blob/main/CLAUDE.md), [2](https://github.com/jiacai2050/zigcli/commit/35e013d209b18d0e9c1df85e7e2044e15bde22ad), [3](https://github.com/jiacai2050/zigcli/commit/545559f2aff762e6c68d4f722427222fb9c58031))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/jiacai2050/zigcli/pull/74), [2](https://github.com/jiacai2050/zigcli/pull/69), [3](https://github.com/jiacai2050/zigcli/pull/63)) | [zig-args](https://github.com/ikskuh/zig-args)
[zig-clap](https://github.com/Hejsil/zig-clap) | +| [zlint](https://github.com/DonIsaac/zlint) | [`0.6.4`](https://github.com/DonIsaac/zlint/releases/tag/v0.6.4) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/DonIsaac/zlint/blob/main/AGENTS.md), [2](https://github.com/DonIsaac/zlint/blob/main/.cursor/skills/zlint-new-rule/SKILL.md))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/DonIsaac/zlint/pull/320), [2](https://github.com/DonIsaac/zlint/pull/243)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | + +## Proof Assistants + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | +|---|:---:|---|---| +| [Agda](https://github.com/agda/agda) | [`2.8.0`](https://github.com/agda/agda/releases/tag/v2.8.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/agda/agda/pull/8507)) | [Mikan](https://codeberg.org/1lab/mikan) | +| [Lean](https://leanprover-community.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/leanprover/lean4/tree/master/.claude), [2](https://github.com/leanprover/lean4/pull/12776))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://www.renaissancephilanthropy.org/insights/lean-fro-and-mathlib-receive-10m-from-xtx-markets-founder-alex-gerko-to-further-advance-the-use-of-ai-for-mathematical-research), [2](https://lean-lang.org/fro/about/)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [Rocq](https://rocq-prover.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/rocq-prover/rocq/commit/3006a6d65)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | + +## 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] +> #### Reverse Engineering and Debugging 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: +> - [ghex](https://github.com/GNOME/ghex) +> - [hexcurse](https://github.com/prso/hexcurse-ng) +> - [hexedit](https://github.com/pixel/hexedit) + +## RSS + +Here, "RSS Aggregators" means services which run on a server (often self-hosted) and aggregate many RSS feeds together. They may offer a Web reader and/or an API. "RSS Clients" means applications which are run locally on a computer or mobile device and allow the reading of local RSS feeds, or feeds provided by an aggregator. + +### RSS Aggregators + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | +|---|:---:|---| +| [CommaFeed](https://github.com/Athou/commafeed) | [`5.10.0`](https://github.com/Athou/commafeed/releases/tag/5.10.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/Athou/commafeed/pull/1846), [2](https://github.com/Athou/commafeed/commit/a9c7595ee78a101f4569cfdc6196e19ffd583189)) | +| [Feedbin](https://github.com/feedbin/feedbin) | [`e5c9882`](https://github.com/feedbin/feedbin/commit/e5c9882898454c7964f9d564588f97bfb98eee68) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/feedbin/feedbin/commit/740cf1c5fa43b62641773694a62b793dd5c71a98), [2](https://github.com/feedbin/feedbin/commit/5bebd18800e2e371ceb0ebce5a7c459b8074cd4a)) | +| [FeedCord](https://github.com/Qolors/FeedCord) | [`2.0.0`](https://github.com/Qolors/FeedCord/releases/tag/v2.0.0) | [![Gen AI 'Art'](./badges/gen-ai-art-dark-yellow.svg)](#gen-ai-art) ([1](https://github.com/Qolors/FeedCord/blob/master/FeedCord/docs/images/FeedCord.png)) | +| [FreshRSS](https://github.com/FreshRSS/FreshRSS) | [`1.27.1`](https://github.com/FreshRSS/FreshRSS/releases/tag/1.27.1) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/FreshRSS/FreshRSS/blob/edge/AGENTS.md), [2](https://github.com/FreshRSS/FreshRSS/commit/3e4d5bb0414176dbeef59645af80485930879b62), [3](https://github.com/FreshRSS/FreshRSS/commit/bbb28b5edae3c834fe36f034f434d3e47eda7ceb))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/FreshRSS/FreshRSS/pull/8793), [2](https://github.com/FreshRSS/FreshRSS/pull/8094), [3](https://github.com/FreshRSS/FreshRSS/pull/7886)) | +| [Fusion](https://github.com/0x2E/fusion) | [`0.9.0`](https://github.com/0x2E/fusion/releases/tag/v0.9.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/0x2E/fusion/blob/main/AGENTS.md), [2](https://github.com/0x2E/fusion/pull/176), [3](https://github.com/0x2E/fusion/pull/99))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/0x2E/fusion/pull/229), [2](https://github.com/0x2E/fusion/pull/178), [3](https://github.com/0x2E/fusion/pull/120)) | +| [Glean](https://github.com/LeslieLeung/glean) | None | [![AI Functionality](./badges/ai-functionality.svg)](#ai-functionality) ([1](https://gleanapp.cn/en/docs/guides/mcp/))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/LeslieLeung/glean/blob/main/CLAUDE.md), [2](https://github.com/LeslieLeung/glean/pull/119))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/LeslieLeung/glean/pull/108), [2](https://github.com/LeslieLeung/glean/pull/94), [3](https://github.com/LeslieLeung/glean/pull/115))| +| [Miniflux](https://github.com/miniflux/v2) | [`2.2.3`](https://github.com/miniflux/v2/releases/tag/2.2.3) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/miniflux/v2/commit/cf6386b471f7c4bf88466f77d99d1c02ed6ce1dc), [2](https://github.com/miniflux/v2/commit/350df63d993dcc2f458384c8065b8b8ac55f4229))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/miniflux/v2/pull/4026), [2](https://github.com/miniflux/v2/pull/4316), [3](https://github.com/miniflux/v2/pull/4078))| +| [NewsBlur](https://github.com/samuelclay/NewsBlur) | [`bb1b32f`](https://github.com/samuelclay/NewsBlur/commit/bb1b32f9bd1ebb75eb50d03c63c6994132036904) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/samuelclay/NewsBlur/blob/main/AGENTS.md), [2](https://github.com/samuelclay/NewsBlur/commit/18ee9579559cf4a63021e8716f3a2d76434014c3), [3](https://github.com/samuelclay/NewsBlur/commit/b29aa41204014944d9935953bc4a46ddca162113)) | +| [Tiny Tiny RSS](https://github.com/tt-rss/tt-rss) | [`032193f`](https://github.com/tt-rss/tt-rss/commit/032193f30507357857c2ae8e7974941adfd40e04) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/tt-rss/tt-rss/commit/9891f298e06390fc5f5852a949debf0036b220e2), [2](https://github.com/tt-rss/tt-rss/commit/ff7343520a820d5554cdf71cdcdeb8b2fe94f61f), [3](https://github.com/tt-rss/tt-rss/commit/b078b2d428fcfbecddb6e9161afb364955a9a1cc))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/tt-rss/tt-rss/pull/270))| +| [RSSHub](https://github.com/DIYgod/RSSHub) | [`bdccede`](https://github.com/DIYgod/RSSHub/commit/bdccede8abe51a91525ade2f8ee2e370713a9e5e) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/DIYgod/RSSHub/blob/master/AGENTS.md), [2](https://github.com/DIYgod/RSSHub/commit/591dcb85be168b411ae86ae9bf22c145f086c87a), [3](https://github.com/DIYgod/RSSHub/commit/e27f501643d5352f7bf46777de0b43a5787c4174))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/DIYgod/RSSHub/pull/21300), [2](https://github.com/DIYgod/RSSHub/pull/21224), [3](https://github.com/DIYgod/RSSHub/pull/21207))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://github.com/DIYgod/RSSHub#special-thanks)) | + +> [!Note] +> #### Alternative RSS Aggregators +> - [KrISS feed](https://github.com/tontof/kriss_feed) +> - [Leed](https://github.com/LeedRSS/Leed) +> - [selfoss](https://github.com/fossar/selfoss) +> - [yarr](https://github.com/nkanaev/yarr) + +### RSS Clients + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | +|---|:---:|---| +| [Capy Reader](https://github.com/jocmp/capyreader) | [`2025.04.1123`](https://github.com/jocmp/capyreader/releases/tag/2025.04.1123) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/jocmp/capyreader/blob/main/AGENTS.md), [2](https://github.com/jocmp/capyreader/blob/main/CLAUDE.md))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/jocmp/capyreader/pull/1018), [2](https://github.com/jocmp/capyreader/pull/1199), [3](https://github.com/jocmp/capyreader/pull/1244)) | +| [Elfeed2](https://github.com/skeeto/Elfeed2) | None | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/skeeto/elfeed2/blob/master/AGENTS.md), [2](https://github.com/skeeto/elfeed2/commit/bd9e367188f6b567991afe672e9d467314575e2a), [3](https://github.com/skeeto/elfeed2/commit/4a7334e05b1095f87c94308240fc367ab3d01661)) | +| [Feeder](https://github.com/spacecowboy/Feeder) | [`2.10.1`](https://github.com/spacecowboy/Feeder/releases/tag/2.10.1) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/spacecowboy/Feeder/blob/master/AGENTS.md), [2](https://github.com/spacecowboy/Feeder/pull/1097))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/spacecowboy/Feeder/pull/1153), [2](https://github.com/spacecowboy/Feeder/pull/1045), [3](https://github.com/spacecowboy/Feeder/pull/1145)) | +| [FeedFlow](https://github.com/prof18/feed-flow) | [`1.0.68-desktop`](https://github.com/prof18/feed-flow/releases/tag/1.0.68-desktop) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/prof18/feed-flow/blob/main/AGENTS.md), [2](https://github.com/prof18/feed-flow/commit/37564554d34fb05a35a26db90fa1eaa7a69adf77), [3](https://github.com/prof18/feed-flow/commit/8edae6bf186671047410a23f5e475196dbfe1f79))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/prof18/feed-flow/pull/843), [2](https://github.com/prof18/feed-flow/pull/887), [3](https://github.com/prof18/feed-flow/pull/1005)) | +| [Feedr](https://github.com/bahdotsh/feedr) | [`0db7ec3`](https://github.com/bahdotsh/feedr/commit/0db7ec3098cf4db3e070f7993d26184e88c0b8d0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/bahdotsh/feedr/blob/main/CLAUDE.md)) | +| [Fluent Reader](https://github.com/yang991178/fluent-reader) | [`feb6429`](https://github.com/yang991178/fluent-reader/commit/feb64294682e08a0c10b863cf1c2e788dac9356d) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/yang991178/fluent-reader/blob/master/.github/copilot-instructions.md), [2](https://github.com/yang991178/fluent-reader/commit/d272ac3c4872dc5bc6a4491a1f478a509dea63d0), [3](https://github.com/yang991178/fluent-reader/commit/2f2d6a7c94e9b00bfbf4cd0add8fc06885bd21da)) | +| [Folo](https://github.com/RSSNext/Folo) | None | [![AI Functionality](./badges/ai-functionality.svg)](#ai-functionality) ([1](https://github.com/RSSNext/Folo#ai-at-your-fingertips))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/RSSNext/Folo/blob/dev/AGENTS.md), [2](https://github.com/RSSNext/Folo/commit/a86b2c6383d456649a80ea4e702dc706b715ded9), [3](https://github.com/RSSNext/Folo/commit/9b4f4f4fa42ca133f216378cb1ac8f3d9961e464))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/RSSNext/Folo/pull/3510), [2](https://github.com/RSSNext/Folo/pull/3960), [3](https://github.com/RSSNext/Folo/pull/4202)) | +| [Liferea](https://github.com/lwindolf/liferea) | [`1.16-RC2`](https://github.com/lwindolf/liferea/releases/tag/v1.16-RC2) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/lwindolf/liferea/commit/9e4f4436bd0bd1ccc88dee33b9f2265223695ba9), [2](https://github.com/lwindolf/liferea/commit/73639ac27ca0e73d44dc4dfa072f5454fcc46924))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/lwindolf/liferea/pull/1536), [2](https://github.com/lwindolf/liferea/pull/1426)) | +| [NetNewsWire](https://github.com/Ranchero-Software/NetNewsWire) | [`6.1.10b2`](https://github.com/Ranchero-Software/NetNewsWire/releases/tag/mac-6.1.10b2) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/Ranchero-Software/NetNewsWire/blob/main/CONTRIBUTING.md#llm-guidelines), [2](https://github.com/Ranchero-Software/NetNewsWire/blob/main/CLAUDE.md), [3](https://github.com/Ranchero-Software/NetNewsWire/commit/e027c009f967ffef86a7ee769bc91b5db5046dd8)) | +| [Newsboat](https://newsboat.org/) | [`r2.43`](https://github.com/newsboat/newsboat/releases/tag/r2.43) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/newsboat/newsboat/pull/3344), [2](https://github.com/newsboat/newsboat/pull/3370)) | +| [RSSGuard](https://github.com/martinrotter/rssguard) | [`5.2.1`](https://github.com/martinrotter/rssguard/releases/tag/5.2.1) | [![Condones LLM Ingestion](./badges/condones-llm-ingestion.svg)](#condones-llm-ingestion) ([1](https://github.com/martinrotter/rssguard/blob/b9b7dcb09a05e2ff0c1428a21074210465333c94/resources/text/CHANGELOG#L19)) | +| [Twine](https://github.com/msasikanth/twine) | [`2.10.0`](https://github.com/msasikanth/twine/releases/tag/v2.10.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/msasikanth/twine/blob/main/AGENTS.md), [2](https://github.com/msasikanth/twine/blob/main/.geminiignore))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/msasikanth/twine/pull/1793))| +| [yarrand](https://github.com/danielfn/yarrand) | None | [![Vibecoded](./badges/vibecoded.svg)](#vibecoded) ([1](https://github.com/nkanaev/yarr/discussions/274)) | + +> [!Note] +> #### Alternative RSS Clients +> +> | Name | OS | Notes | +> |---|---|---| +> | [Akregator](https://invent.kde.org/pim/akregator) | Linux, Windows | | +> | [Alligator](https://invent.kde.org/network/alligator) | Android, Linux | Android builds are unstable (nightly) only. | +> | [Newsflash](https://gitlab.com/news-flash/news_flash_gtk) | Linux | | +> | [Pulp](https://gitlab.gnome.org/cheywood/Pulp) | Linux | | +> | [Read You](https://github.com/ReadYouApp/ReadYou) | Android | | +> | [Readrops](https://github.com/readrops/Readrops) | Android | | +> | [RSSOwlnix](https://github.com/Xyrio/RSSOwlnix) | Linux, macOS, Windows | | +> | [Thud](https://github.com/aerotoad/Thud) | Android, iOS | The repo was last updated on May 2nd, 2024.
iOS builds need to be built from source. | + +## 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 + +### Search Platforms + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | +|---|:---:|---|---| +| [Elasticsearch](https://www.elastic.co/products/elasticsearch) | [![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/elastic/elasticsearch/commit/7e2215bd35b7d222d3a8e289d1b5c2835c46aadc)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [OpenSearch](https://github.com/opensearch-project/OpenSearch) | [![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/opensearch-project/OpenSearch/blob/main/AGENTS.md)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | + +### Web Search + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | +|---|:---:|---|---| +| [frogfind-ng](https://github.com/RayTrunk/frogfind-ng) | None | [![Vibecoded](./badges/vibecoded.svg)](#vibecoded) ([1](https://github.com/RayTrunk/frogfind-ng/graphs/contributors?selectedMetric=commits), [2](https://github.com/RayTrunk/frogfind-ng/commit/d546143f15e63001084b63c6beaeb583d9c88be6), [3](https://github.com/RayTrunk/frogfind-ng/commit/90d9d6d13ca90c006da925c82777aa7eb8b01c57)) | [FrogFind](https://github.com/ActionRetro/FrogFind) | +| [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) | +| [YaCy](https://yacy.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/yacy/yacy_search_server/commit/8ca78e40f723df21b91b028d1e51daa7eec6b638)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | ## 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) | +| [Grafana](https://grafana.com) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality.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) | @@ -1077,67 +1766,138 @@ Note that Python is itself tainted; see [the Programming Languages section](#pro 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) | [![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] -> #### 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](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) | -## 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. +### 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.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.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 +> * [Epicyon](https://codeberg.org/bashrc/epicyon) +> * [GoToSocial] [![Anti-AI Policy](./badges/anti-ai-policy.svg)](#anti-ai-policy) ([1](https://codeberg.org/superseriousbusiness/gotosocial/src/branch/main/AGENTS.md)) (Note the additional [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) +> * [Iceshrimp.NET](https://iceshrimp.net/) +> * [snac2](https://codeberg.org/grunfink/snac2) +> * [Wafrn](https://codeberg.org/wafrn/wafrn/) [![Anti-AI Policy](./badges/anti-ai-policy.svg)](#anti-ai-policy) ([1](https://codeberg.org/wafrn/wafrn/src/branch/main/CONTRIBUTING.md#ai-contributions-policy)) (Closest to tumblr) supports both ActivityPub and ATproto + +## SSH + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | +|---|:---:|---| +| [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)) | +| [Haven](https://glasshaven.github.io/Haven/) | None | [![Vibecoded](./badges/vibecoded.svg)](#vibecoded)([1](https://github.com/GlassHaven/Haven/commit/1cece45f4166aa1ead4ccfd9275e370a972fd8e5)) | + +> [!Note] +> #### Alternative SSH clients +> * **Android** +> * [Termux](https://termux.dev/) + +## System Base + +This section is strictly for software implementing a core set of UNIX-like (or Microsoft equivalent) 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) | +|---|:---:|---|---| +| [PowerToys](https://github.com/microsoft/PowerToys) | [![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/PowerToys/blob/main/AGENTS.md), [2](https://github.com/microsoft/PowerToys/tree/main/.claude)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [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] +> #### Alternative System Information Utilities +> 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) +> - [neofetch](https://github.com/dylanaraps/neofetch) and [screenFetch](https://github.com/KittyKatt/screenFetch) are still technically options, although they both have officially ceased development. +> - [nerdfetch](https://github.com/ThatOneCalculator/NerdFetch) +> +> 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)) | +| [Rootless Logcat](https://github.com/tananaev/rootless-logcat) | [`0f7e533`](https://github.com/tananaev/rootless-logcat/commit/0f7e5330b0967c7762dbc4d48739ce5aac99adca) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/tananaev/rootless-logcat/commit/5dd406dfdb32a6bdf67ea5f3ecf094a97508f1a4), [2](https://github.com/tananaev/rootless-logcat/commit/78ccae143dcfddbc4a12ddec9bc188dd48c75d88), [3](https://github.com/tananaev/rootless-logcat/commit/14b0649489fb58e8182d9c6d225077b1e24f34ff)) | + +> [!note] +> +> #### Alternatives for Android +> +> - [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)) | [Busybox](https://busybox.net) `ntpd`,
[chrony](https://chrony-project.org/),
[ntpd](https://github.com/ntp-project/ntp),
[OpenNTPD](https://www.openntpd.org/) | | [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)| +### Power Management + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | +|---|:---:|---| +| [auto-cpufreq](https://github.com/AdnanHodzic/auto-cpufreq) | [![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/AdnanHodzic/auto-cpufreq/commit/20b37c05bea59e057d6e4c7f75a434eaefabb048), [2](https://github.com/AdnanHodzic/auto-cpufreq/commit/44e1ae86679f6786e935c73b00ca8ddb93797e7a), [3](https://github.com/AdnanHodzic/auto-cpufreq/commit/c1ba0fe5df2542681e8dfcef6b0aa0217cf9edb4))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/AdnanHodzic/auto-cpufreq/pull/942), [2](https://github.com/AdnanHodzic/auto-cpufreq/pull/903), [3](https://github.com/AdnanHodzic/auto-cpufreq/pull/945)) | +| [laptop-mode-tools](https://github.com/rickysarraf/laptop-mode-tools) | [![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/rickysarraf/laptop-mode-tools/pull/216)) | +| [PowerTOP](https://github.com/fenrus75/powertop) | [![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/fenrus75/powertop/blob/master/.gemini/GEMINI.md), [2](https://github.com/fenrus75/powertop/commit/9a173c0befb8fec4627fca1f08a322b82c3e34fb), [3](https://github.com/fenrus75/powertop/commit/425b5b7981eed18c530632d22e4ca034127394df))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/fenrus75/powertop/pull/198), [2](https://github.com/fenrus75/powertop/pull/190), [3](https://github.com/fenrus75/powertop/pull/209)) | +| [TuneD](https://github.com/redhat-performance/tuned) | [![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/redhat-performance/tuned/pull/854), [2](https://github.com/redhat-performance/tuned/pull/850), [3](https://github.com/redhat-performance/tuned/pull/852)) | +| [Upower](https://upower.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/upower/upower/-/merge_requests/322), [2](https://gitlab.freedesktop.org/upower/upower/-/merge_requests/280), [3](https://gitlab.freedesktop.org/upower/upower/-/commit/17f9e8dc5a967fde13be688634a465c71fb79dd0))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://gitlab.freedesktop.org/upower/upower/-/merge_requests/310#note_3390445), [2](https://gitlab.freedesktop.org/upower/upower/-/merge_requests/309)) | + +> [!Note] +> #### Alternative Power Management Software +> * [TLP](https://github.com/linrunner/TLP) + ## Terminal ### Terminal Emulators | Name | Last Untainted Version or Commit ID | Tags and Evidence | |---|:---:|---| -| [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)) | +| [Contour](https://github.com/contour-terminal/contour) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality.svg)](#ai-functionality) ([1](https://github.com/contour-terminal/contour/pull/1900))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/contour-terminal/contour/pull/1900)) | | [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.svg)](#ai-functionality) ([1](https://gitlab.com/gnachman/iterm2/-/issues/11470)) | | [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.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.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.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 > * [Alacritty] or the [Alacritty fork with sixel] -> * [Contour Terminal] > * [COSMIC terminal] > * [Deepin Terminal] > * [foot] @@ -1161,47 +1921,129 @@ This section is strictly for software implementing a core set of UNIX-like utili > - [GNU Screen](https://www.gnu.org/software/screen/) > - [mtm](https://github.com/deadpixi/mtm) +## Text and Code Editors + +| 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))
![Condones LLM Ingestion](./badges/condones-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.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))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/neovim/neovim/pull/37325), [2](https://github.com/neovim/neovim/pull/37704), [3](https://github.com/neovim/neovim/pull/37430))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://github.com/neovim/neovim.github.io/blob/cbcaf6f207e76093cc6f41e486220a0fd9dcbdb0/layouts/home.html#L26-L41)) | +| [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.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.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.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.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.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)) | + +> [!NOTE] +> ### Alternative Text and Code Editors +> | Name | UI | Notes | +> |------|----|-------| +> | [deadpixi/sam] | GUI | Last commit was on 2020-07-14 | +> | [EVi] | TUI | [![Anti-AI Policy](./badges/anti-ai-policy.svg)](#anti-ai-policy) ([1](https://codeberg.org/evi-editor/evi/src/branch/master/CONTRIBUTING.md#using-ai)), fork of vim | +> | [GNU Emacs] | TUI, GUI | | +> | [GNU nano] | TUI | | +> | [Gram] | GUI | [![Anti-AI Policy](./badges/anti-ai-policy.svg)](#anti-ai-policy) ([1](https://codeberg.org/GramEditor/gram/src/branch/main/CONTRIBUTING.md#contributing-to-this-project)), fork of zed | +> | [Hemlock] | TUI, GUI | Emacs-like | +> | [Lapce] | GUI | | +> | [vis] | TUI | vi-like | + +### Note Software + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | +|---|:---:|---| +| [AppFlowy](https://github.com/AppFlowy-IO/AppFlowy) | None | [![AI Functionality](./badges/ai-functionality.svg)](#ai-functionality) ([1](https://appflowy.com/guide/AppFlowy-AI))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/AppFlowy-IO/AppFlowy/pull/8805#pullrequestreview-4483796508), [2](https://github.com/AppFlowy-IO/AppFlowy/pull/8320#pullrequestreview-3399799972), [3](https://github.com/AppFlowy-IO/AppFlowy/pull/8295#pullrequestreview-3336562461)) | +| [Ferrite](https://github.com/OlaProeis/Ferrite) | None | [![Vibecoded](./badges/vibecoded.svg)](#vibecoded) ([1](https://github.com/OlaProeis/Ferrite#-ai-assisted-development)) | +| [Joplin](https://github.com/laurent22/joplin) | [![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)) | +| [Linwood Butterfly](https://github.com/LinwoodDev/Butterfly) | [![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/LinwoodDev/Butterfly/commit/96ed14afb61c7df01897f6a76787baa983b37856), [2](https://github.com/LinwoodDev/Butterfly/commit/4fd79f2bd31a33114ea9344631a25ece061d5f67))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/LinwoodDev/Butterfly/pull/1111#pullrequestreview-4402872631), [2](https://github.com/LinwoodDev/Butterfly/pull/841#pullrequestreview-4391376916)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [Logseq](https://github.com/logseq) | [![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)) | +| [Markor](https://github.com/gsantner/markor) | [![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/gsantner/markor/pull/2808), [2](https://github.com/gsantner/markor/pull/2778)) | +| [MarkText](https://github.com/marktext/marktext) | [![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/marktext/marktext/blob/develop/CLAUDE.md), [2](https://github.com/marktext/marktext/blob/develop/.gitignore), [3](https://github.com/marktext/marktext/commit/f572a127462b420c03168849f386780c16b04d4a))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/marktext/marktext/pull/4436#pullrequestreview-4464852398), [2](https://github.com/marktext/marktext/pull/4439#pullrequestreview-4465329146)) | +| [Memos](https://github.com/usememos/memos) | [`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)) | +| [Notesnook](https://github.com/streetwriters/notesnook) | [![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/streetwriters/notesnook/pull/9415))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/streetwriters/notesnook/pull/8162#pullrequestreview-2890601840)) | +| [QOwnNotes](https://github.com/pbek/QOwnNotes) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality.svg)](#ai-functionality) ([1](https://github.com/pbek/QOwnNotes/#features))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/pbek/QOwnNotes/blob/main/AGENTS.md), [2](https://github.com/pbek/QOwnNotes/blob/main/.github/copilot-instructions.md)) | +| [Saber](https://github.com/saber-notes/saber) | [![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/saber-notes/saber/pull/1755#issue-4562408563), [2](https://github.com/saber-notes/saber/pull/1759#pullrequestreview-4438423542)) | +| [Simplenote for Android](https://github.com/Automattic/simplenote-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/Automattic/simplenote-android/blob/trunk/AGENTS.md), [2](https://github.com/Automattic/simplenote-android/commit/4c3ae4e236f4ede80aade5038570146cce2955a7), [3](https://github.com/Automattic/simplenote-android/commit/5058bd1ad7d167cbfc8fe83b3fc2244c54a2a388))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/Automattic/simplenote-android/pull/1817#pullrequestreview-4407122139), [2](https://github.com/Automattic/simplenote-android/pull/1811#pullrequestreview-4370567402)) | +| [Simplenote for Electron](https://github.com/Automattic/simplenote-electron) | [![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/Automattic/simplenote-electron/commit/94ae0aaff6eeea4cd50afc867a816dbd85ba1d6f), [2](https://github.com/Automattic/simplenote-electron/commit/0d109df13ba911b2279f7280009c138a7f6e3017))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/Automattic/simplenote-electron/pull/3383#pullrequestreview-4472644017), [2](https://github.com/Automattic/simplenote-electron/pull/3380#pullrequestreview-4455091995)) | +| [Simplenote for iOS](https://github.com/Automattic/simplenote-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/Automattic/simplenote-ios/commit/0df989b08d1427344c865ff01f3ee9633ee76a3f), [2](https://github.com/Automattic/simplenote-ios/commit/cc7b39989e26c108f746be472470ba4b5a667ba1))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/Automattic/simplenote-ios/pull/1781#pullrequestreview-4398267422), [2](https://github.com/Automattic/simplenote-ios/pull/1778#pullrequestreview-4333084208)) | +| [Simplenote for macOS](https://github.com/Automattic/simplenote-macos) | [![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/Automattic/simplenote-macos/blob/trunk/AGENTS.md), [2](https://github.com/Automattic/simplenote-macos/commit/b568089ad521221dc1510fcf92ddec44b311ac5e), [3](https://github.com/Automattic/simplenote-macos/commit/54e1a8778a4ee1ce41cec905f499485c2d610309))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/Automattic/simplenote-macos/pull/1260#pullrequestreview-4360989839)) | +| [SiYuan](https://github.com/siyuan-note/siyuan) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality.svg)](#ai-functionality) ([1](https://github.com/siyuan-note/siyuan#-features))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/siyuan-note/siyuan/pull/17656), [2](https://github.com/siyuan-note/siyuan/pull/17657), [3](https://github.com/siyuan-note/siyuan/pull/17658))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/siyuan-note/siyuan/pull/17780#pullrequestreview-4433170978)) | +| [TriliumNext](https://github.com/TriliumNext/Trilium) | [![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/TriliumNext/Trilium/blob/main/CLAUDE.md), [2](https://github.com/TriliumNext/Trilium/commit/51f848cd4609b5954fab097172bf4f5baeb183a9), [3](https://github.com/TriliumNext/Trilium/commit/df56d711c60d32143adfb1c568602486395579c0))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/TriliumNext/Trilium/pull/10172#issuecomment-4705513281), [2](https://github.com/TriliumNext/Trilium/pull/10169#pullrequestreview-4493271570))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://github.com/TriliumNext/Trilium/blob/ecb6a3002d735782dd67132591be9b75cf5fc6a8/README.md?plain=1#L1-L8)) | +| [VNote](https://github.com/vnotex/vnote) | [![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/vnotex/vnote/blob/master/CLAUDE.md), [2](https://github.com/vnotex/vnote/commit/ab8e7d5dc8dc77e9fca266d9fbdb9452fad5382f), [3](https://github.com/vnotex/vnote/commit/e4e0a58fd28acd6acaceb8be2ef81924402aede1)) | +| [Zettlr](https://github.com/Zettlr/Zettlr) | [`99a91eb`](https://github.com/Zettlr/Zettlr/commit/99a91eb59635656b1a3780e0290191155834a9ce) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/Zettlr/Zettlr/blob/develop/CONTRIBUTING.md#ai-usage-policy)) | + +> [!Note] +> #### Note Software Alternatives +> | Name | File Format | Platform Support | +> |------|----|-------| +> | [flatnotes](https://github.com/dullage/flatnotes) | Markdown | Web App | +> | [ghostwriter](https://invent.kde.org/office/ghostwriter) | Markdown | Linux | +> | [Marknote](https://invent.kde.org/office/marknote) | Markdown | Linux | +> | [neutriNote CE](https://github.com/appml/neutrinote) | Plain Text | Android | +> | [Org Mode](https://orgmode.org) | Org | *BSD, Android, Haiku, iOS, Linux, macOS, DOS, Solaris, Windows | +> | [Print(Notes)](https://github.com/RoBoT095/printnotes) | Markdown | Android, iOS, Linux | +> | [Standard Notes](https://github.com/standardnotes/app) | Markdown | Android, iOS, Linux, macOS, Web App, Windows | +> | [Zim](https://github.com/zim-desktop-wiki/zim-desktop-wiki) | Wiki Pages | Linux | + ## Unified Push Distributors | 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)) | +| [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))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://github.com/binwiederhier/ntfy?tab=readme-ov-file#sponsors)) | > [!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 +> - NextPush (see entry for NextCloud on taintedness) +> - Sunup ## Version Control -### 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)) | -| [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/)) | - -> [!Note] -> #### Alternative Version Control Servers -> - [Forgejo](https://codeberg.org/forgejo/forgejo) (self-hosted) -> - [Codeberg](https://codeberg.org/) (hosted) - ### 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/)) | +| [Fossil](https://fossil-scm.org/home/doc/trunk/www/index.wiki) | [![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://fossil-scm.org/forum/forumpost/3c8adaef712ce350)) | +| [Gerrit](https://www.gerritcodereview.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality.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.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)) | +| [lazygit](https://github.com/jesseduffield/lazygit) | [![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/jesseduffield/lazygit/blob/master/AGENTS.md), [2](https://github.com/jesseduffield/lazygit/commit/21d58085f4e5d60a18d161da81fb0d9298dbe4ed), [3](https://github.com/jesseduffield/lazygit/commit/4f6cdedb1e5ea8c13d0ccbf57d772a387ef5728f))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/jesseduffield/lazygit/pull/5277), [2](https://github.com/jesseduffield/lazygit/pull/5273), [3](https://github.com/jesseduffield/lazygit/pull/5392))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://github.com/jesseduffield/lazygit/blob/master/README.md)) | +| [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)) | +| [prek](https://prek.j178.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/j178/prek/blob/aca63eefe1b9139fb5c0a97063ff975f5ae8d092/.github/copilot-instructions.md), [2](https://github.com/j178/prek/pull/1842), [3](https://github.com/j178/prek/pull/1679)) | [pre-commit](https://pre-commit.com) | +| [Radicle](https://radicle.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://radicle.network/nodes/seed.radicle.dev/rad:z4D5UCArafTzTQpDZNQRuqswh3ury/tree/CLAUDE.md)) | | [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] -> * [Mercurial](https://www.mercurial-scm.org/) -> * [Fossil](https://www.fossil-scm.org/) > * [BitKeeper](https://github.com/bitkeeper-scm/bitkeeper) +> * [Darcs](https://darcs.net/) +> * [Game of Trees] +> * [Pijul](https://pijul.org/) + +### 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)](#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.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 +> - [Codeberg](https://codeberg.org/) (hosted Forgejo) +> - [Forgejo](https://codeberg.org/forgejo/forgejo) (self-hosted; [bans LLMs](https://forgejo.org/2026-03-monthly-report/#ai-agreement)) +> - [Sourcehut](https://sourcehut.org/) (self-hosted; provides a hosted option) ## Virtualization @@ -1209,7 +2051,7 @@ This section is strictly for software implementing a core set of UNIX-like utili |---|:---:|---| | [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)) | +| [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)](#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] @@ -1245,16 +2087,20 @@ Volunteer computing is a system in which someone can donate (excess) compute res |---|:---:|---| | [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)) | +| [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)) | +| [Jay](https://github.com/mahkoh/jay) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | ![Permissive AI policy](./badges/permissive-ai-policy-orange.svg) ([1](https://github.com/mahkoh/jay/blob/master/book/AGENTS.md)) | +| [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)](#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)](#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)) | +| [Wayfire](https://github.com/WayfireWM/wayfire) | [![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/WayfireWM/wayfire/commit/e486488419da461dbaae6ec22a717d197f143f10))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/WayfireWM/wayfire/pull/3012#issuecomment-4266081553)) | > [!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) +> * [river](https://codeberg.org/river/river) [![Anti-AI Policy](./badges/anti-ai-policy.svg)](#anti-ai-policy) ([1](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) @@ -1274,7 +2120,7 @@ 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) | +| [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)
[Gaybar](https://codeberg.org/pastthepixels/Gaybar), fork of Waybar without AI commits
[gaypanel](https://codeberg.org/pastthepixels/gaypanel), successor to the above | ### Desktop Shells @@ -1284,179 +2130,11 @@ All-in-one solutions for stitching together a desktop. |---|:---:|---|---| | [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) | # Why not LLMs? -As a brief explanation of the reasoning behind this repo, we are against AI for the following reasons: - -- legal issues -- ethical issues -- poor code quality - -We've broken down all of those sections and more below, but before you dive into that, one of the common questions and discussions that happens here is, "if something ever had slop in it, how can it ever be good again?" and that's usually in relation to projects that have dropped AI or projects that are forks of something that once had AI in it. We believe strongly that you can always be better and you can also reduce harm. In the same way you wouldn't consider a vegetarian "not a vegetarian" because they once ate meat even though they no longer eat meat, we don't consider a project permenantly tainted if they once used AI but now do not See our [removal requirements](https://codeberg.org/small-hack/open-slopware/src/branch/main/CONTRIBUTING.md#removal) for more details. - -You can always be a better person and communities can always be better communities. - -We don't gatekeep being better. - -Please feel free to open pull requests if you'd like to add more data to any section below, or if you have a suggestion for another section that you think would be helpful to include. - -## 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 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 - -* [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 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` - 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 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 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). -* In March 2026, [a research paper](https://arxiv.org/html/2603.20957v2) showed that simply finetuning LLMs unlocked exact verbatim recall of up to 90% of entire copyrighted books contradicting LLM companies previous statements in court that their models do not store copies of traning data. After finetuning exclusively on a single author, the researchers were able to unlock verbatim recall of over 30 completely unrelated authors across different genres. None of the models were explicitly trained on these books by the researchers, this indicates that LLMs always carry with them a considerable amount of copyrighted materials from pre-training. - -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. - -## 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 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. -* 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). -* A paper entitled ["AI Assistance Reduces Persistence and Hurts Independent Performance"](https://arxiv.org/abs/2604.04721) from April 2026 by academics from the MIT, Oxford, UCLA and Carnegie Mellon showed alarming evidence that performing a variety of tasks with the help of AI for approximately 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 - -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/) -* [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)) - -## Ethical Issues - -### Environmental Impact - -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/) - -### Labor - -AI usage and normalization contributes to labor violations in many ways that are obvious and some you may not be aware of. - -On one hand, many things that you think are "AI" are actually humans in another country pretending to be an AI chatbot for you for either extremely low wages or in some cases, no wages e.g. prison labor. This is particularly common for "friend"/"sex" bots, but it is also extremely common in the image/video identification. You can find a bit more info at the following links: - -- [Long hours and low wages: the human labour powering AI’s development](https://theconversation.com/long-hours-and-low-wages-the-human-labour-powering-ais-development-217038) -- [OpenAI Used Kenyan Workers on Less Than $2 Per Hour to Make ChatGPT Less Toxic](https://time.com/6247678/openai-chatgpt-kenya-workers/) -- ['AI Is African Intelligence': The Workers Who Train AI Are Fighting Back](https://www.404media.co/ai-is-african-intelligence-the-workers-who-train-ai-are-fighting-back/) -- [These Prisoners Are Training AI: In high-wage Finland, where clickworkers are rare, one company has discovered a novel labor force—prisoners.](https://web.archive.org/web/20260108224812/https://www.wired.com/story/prisoners-training-ai-finland/) -- [Amazon grocery stores previously reported to use AI actually used people in India](https://www.businessinsider.com/amazons-just-walk-out-actually-1-000-people-in-india-2024-4?op=1) - -### Health and Safety - -There's been a number of high profile incidents that have resulted in endangerment or death. Here's some examples: - -* [AI Toy Exposed 50,000 Logs of Its Chats With Kids to Anyone With a Gmail Account](https://archive.ph/dX5xd) - -*
- Content Warning: Suicide - - * [Wikipedia: Deaths linked to chatbots](https://en.wikipedia.org/wiki/Deaths_linked_to_chatbots) - * [AI chatbot pushed a teen to kill himself, a lawsuit against its creator alleges](https://apnews.com/article/chatbot-ai-lawsuit-suicide-teen-artificial-intelligence-9d48adc572100822fdbc3c90d1456bd0) - -
- -[LLM use has also been linked to new-onset psychosis](https://pmc.ncbi.nlm.nih.gov/articles/PMC12863933/). - -### Ties to the War Industrial Complex - -A lot of AI companies also work directly with nation states for use in their Departments of War (sometimes called Defense) 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 intensionally 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) - -
- -All of this to remind you that if you use AI, you're helping to support these companies and the additional activities they participate in, outside of generative code or images. - -### Effects on Policing - -Police have quickly embraced AI, which has already directly led to people being jailed for things they've never done. As examples: - -- [This Grandmother was jailed for 6 months after an AI error linked her to a crime in a state she had never even visited](https://www.the-independent.com/news/world/americas/crime/tennessee-grandmother-ai-arrest-error-north-dakota-b2938261.html) -- [How Wrongful Arrests Based on AI Derailed 3 Men's Lives](https://web.archive.org/web/20260111202754/https://www.wired.com/story/wrongful-arrests-ai-derailed-3-mens-lives/) - -This is, in part, due to companies such as Amazon [Aggressively pushing police to use AI](https://web.archive.org/web/20260116082026/https://www.forbes.com/sites/thomasbrewster/2025/10/01/inside-amazons-aggressive-push-to-get-cops-using-ai-surveillance/) which they do through both facial recognition and offering compute for predictive policing. With regards to facial recognition, here's an example of how it too can lead to false arrests: [Face Recognition on Flawed Data](https://www.flawedfacedata.com/#art-or-science). - -There have been warnings about AI in policing, particularly around racial bias, such as: - -- [Bennan Center of Justice: The Dangers of Unregulated AI in Policing](https://www.brennancenter.org/our-work/research-reports/dangers-unregulated-ai-policing) -- [OxJournal: Predictive Policing or Predictive Prejudice? A Study of the Legal, Historical and Ethical Implications of AI in Policing](https://www.oxjournal.org/predictive-policing-or-predictive-prejudice/) -- [The Guardian: Police AI Chief admits crime fighting tech will have bias...](https://web.archive.org/web/20260224070735/https://www.theguardian.com/technology/2026/feb/24/police-ai-chief-admits-crime-fighting-tech-will-have-bias-but-vows-to-tackle-it) -- [A third of all Black children were flagged by a child services agency](https://loganstapleton.com/wp-content/uploads/2022/04/Extended_Analysis__How_Child_Welfare_Workers_Reduced_Racial_Disparities_in_Algorithmic_Decisions.pdf) - -### Maintainer Fatigue - -Having to deal with the onslaught of many LLM written pull requests and issues, causes real maintainer burnout that stagnates projects as maintainers become overwhelmed with half baked, poorly written, insecure code. Here's some examples: - -* [Overrun with AI slop, cURL scraps bug bounties to ensure ā€œintact mental healthā€](https://arstechnica.com/security/2026/01/overrun-with-ai-slop-curl-scraps-bug-bounties-to-ensure-intact-mental-health/) -* [Godot maintainers struggle with 'draining and demoralizing' AI slop submissions](https://www.theregister.com/2026/02/18/godot_maintainers_struggle_with_draining/) -* [An AI Agent Published a Hit Piece on Me (matplotlib)](http://archive.today/2026.02.19-045842/https://theshamblog.com/an-ai-agent-published-a-hit-piece-on-me/) - -## 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 upward 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 down-stream effects for consumers is that near 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 all results in shrinking the pool of people who have access to building home computers for any purpose, from gaming to coding to home labs, which in turn makes the tech industry less diverse due to people who have been historically marginalized having less financial resources to learn the skills at home. When this is factored in with the price of college being unaffordable in many places, we will see a sharper decline in disabled people, people of color, women, and the queer community entering the tech industry. +This section has moved to the [why_not_llms.md](./why_not_llms.md) file. # License @@ -1467,52 +2145,62 @@ 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 +[Brave]: https://brave.com [Clojure]: https://clojure.org [Cloud Shake]: https://shakebuild.com/cloud [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 [`dash`]: http://gondor.apana.org.au/~herbert/dash/ +[deadpixi/sam]: https://github.com/deadpixi/sam [Deepin Terminal]: https://github.com/linuxdeepin/deepin-terminal -[Elvish]: https://elv.sh -[Eqonomize]: https://eqonomize.github.io/ -[GNU 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 +[fzy]: https://github.com/jhawthorn/fzy [Game of Trees]: https://gameoftrees.org/ [Garage]: https://garagehq.deuxfleurs.fr/ -[Grisbi]: https://grisbi.org/ [GNOME Boxes]: https://gnomeboxes.org [GNOME Terminal]: https://gitlab.gnome.org/GNOME/gnome-terminal +[GNU Emacs]: https://www.gnu.org/software/emacs/ +[GNU nano]: https://www.nano-editor.org/ [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 [IronFox]: https://gitlab.com/ironfox-oss/IronFox [Java]: https://dev.java -[LibreOffice]: https://www.libreoffice.org/download/download-libreoffice/ -[LibreOffice Draw]: https://www.libreoffice.org/download/download-libreoffice/ +[keyd]: https://github.com/rvaiya/keyd +[KMonad]: https://github.com/kmonad/kmonad +[Konsole]: https://invent.kde.org/utilities/konsole +[Lapce]: https://lap.dev/lapce/ +[libmicrohttpd]: https://www.gnu.org/software/libmicrohttpd/ [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 +[Servo]: https://servo.org/ [Showtime]: https://apps.gnome.org/Showtime/ [SMPlayer]: https://www.smplayer.info/ [vaultwarden]: https://github.com/dani-garcia/vaultwarden -[vim-classic]: https://drewdevault.com/2026/03/25/2026-03-25-Forking-vim.html [virt-manager]: https://virt-manager.org +[vis]: https://github.com/martanne/vis [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/ @@ -1520,9 +2208,9 @@ This repository is licensed under the Creative Commons Attribution Share Alike 4 [Zig]: https://ziglang.org/ -[Vibecoded]: https://codeberg.org/small-hack/open-slopware#vibecoded -[AI Functionality]: https://codeberg.org/small-hack/open-slopware#ai-functionality -[Permissive AI policy]: https://codeberg.org/small-hack/open-slopware#permissive-ai-policy -[AI Code Reviews]: https://codeberg.org/small-hack/open-slopware#ai-code-reviews -[Sponsored by AI]: https://codeberg.org/small-hack/open-slopware#sponsored-by-ai -[Request For Help]: https://codeberg.org/small-hack/open-slopware#request-for-help +[Vibecoded]: https://codeberg.org/ethical-foss/open-slopware#vibecoded +[AI Functionality]: https://codeberg.org/ethical-foss/open-slopware#ai-functionality +[Permissive AI policy]: https://codeberg.org/ethical-foss/open-slopware#permissive-ai-policy +[AI Code Reviews]: https://codeberg.org/ethical-foss/open-slopware#ai-code-reviews +[Sponsored by AI]: https://codeberg.org/ethical-foss/open-slopware#sponsored-by-ai +[Request For Help]: https://codeberg.org/ethical-foss/open-slopware#request-for-help diff --git a/STYLE.md b/STYLE.md index 1ab3fde..9fa5b5d 100644 --- a/STYLE.md +++ b/STYLE.md @@ -14,30 +14,51 @@ Be sure to put things in the correct category and always update the above TOC (t Make sure to format your table like below (note that it is alphabetized by software name): -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | +| Name | Last Untainted
Version/Commit ID | Evidence | Alternative(s) | |---|:---:|---|---| -| [formallyCoolSoftware](https://linktocoolsoftware.com) | [`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] | -| [formallyOKSoftware](https://linktofinesoftware.com) | [`v2.0.0`](linktolastgoodversion.com/v2.0.0) | [![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))| [alrightSlopFreeProject] | +| [formallyCoolSoftware](https://linktocoolsoftware.tld) | [`v1.0.0`](linktolastgoodcommitid.tld/releases/v1.0.0)
[`ab12345`](linktolastgoodcommitid.tld/commit/ab12345) | [![AI Functionality](./badges/ai-functionality.svg)](https://codeberg.org/ethical-foss/open-slopware#ai-functionality) ([1](https://docs.linktocoolsoftware.tld/ai-assistant))
[![Vibecoded](./badges/vibecoded.svg)](#vibecoded) ([1](https://link-to-software-blog.tld/how-i-vibecoded-the-app))
[![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/ethical-foss/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/ethical-foss/open-slopware#gen-ai-art) ([1](https://linktocoolsoftware.tld/ai_logo.jpg))
[![AI Databroker Usage](./badges/ai-databroker-usage-pink.svg)](https://codeberg.org/ethical-foss/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/ethical-foss/open-slopware#ai-in-issue-tracker) ([1](http://linktocoolsoftware.tld/issues/123))
[![Condones LLM Ingestion](./badges/condones-llm-ingestion.svg)](https://codeberg.org/ethical-foss/open-slopware#condones-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]
[amazingSlopFreeProject] [![Anti-AI Policy](./badges/anti-ai-policy.svg)](#anti-ai-policy) ([1](https://link-to-anti-ai-evidence.tld)) | + +**Name column**: should be the name of software linked to their git repo (or other software forge if they don't use git). + +**Last Untainted Version/Commit**: should be the last commit before AI started being used in the repo. You can provide both the version and a commit hash, but if you can only provide one, please prefer using the version. (Reminder: This is meant for forking only, as running old software comes with security risks.) If the project is [![Vibecoded](./badges/vibecoded.svg)](https://codeberg.org/ethical-foss/open-slopware##vibecoded), you can just use the word "None" for the Last Untainted Version/Commit. You must provide something (even "None" if Vibecoded) *either* for this column, or for the alternatives column - unless there is already an "Alternatives" note. **Evidence column**: should contain one or more of the following tags (followed by *up to 3* numbered evidence links in parentheses): -- [![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 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) +- [![AI Functionality](./badges/ai-functionality.svg)](https://codeberg.org/ethical-foss/open-slopware#ai-functionality) +- [![Vibecoded](./badges/vibecoded.svg)](https://codeberg.org/ethical-foss/open-slopware##vibecoded) (keep in mind this is more severe than permissive AI policy) +- [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](https://codeberg.org/ethical-foss/open-slopware#permissive-ai-policy) +- [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](https://codeberg.org/ethical-foss/open-slopware#ai-code-reviews) +- [![Gen AI 'Art'](./badges/gen-ai-art-dark-yellow.svg)](https://codeberg.org/ethical-foss/open-slopware#gen-ai-art) +- [![AI Databroker Usage](./badges/ai-databroker-usage-pink.svg)](https://codeberg.org/ethical-foss/open-slopware#ai-databroker-usage) +- [![AI sponsored](./badges/ai-sponsored-blue.svg)](https://codeberg.org/ethical-foss/open-slopware#sponsored-by-ai) +- [![AI In Issue Tracker](./badges/ai-in-issue-tracker-teel.svg)](https://codeberg.org/ethical-foss/open-slopware#ai-in-issue-tracker) +- [![Condones LLM Ingestion](./badges/condones-llm-ingestion.svg)](https://codeberg.org/ethical-foss/open-slopware#condones-llm-ingestion) -**Don't know what the alternative or last known good version is?** Use this badge in its place: +> [!note] +> The above order is the official order you should add your tags in. -- [![Request for Help](./badges/request-for-help.svg)](https://codeberg.org/small-hack/open-slopware#request-for-help) +**Alternatives Column**: should be a link to the source of a different project that is similar to the one that is tainted, but does not yet have any AI in it. This column can be omitted if there are many alternatives for one entry. See: [When to use an Alternatives Note Versus Table Column](#when-to-use-an-alternatives-note-versus-table-column). + +> [!warning] +> You must provide *either* a last untainted commit/version *or* an alternative. You can provide both, but if you don't provide one or the other, you will be politely asked to do so. There is an exception if the tainted project is [![Vibecoded](./badges/vibecoded.svg)](https://codeberg.org/ethical-foss/open-slopware##vibecoded) with no clear alternatives OR there is already an "Alternatives" note. + +**Don't know what the alternative or last known untainted version/commit is?** Use this badge in its place: + +- [![Request for Help](./badges/request-for-help.svg)](https://codeberg.org/ethical-foss/open-slopware#request-for-help) + +**Does an alternative you're recommending have an explicit and clear "No AI" policy?** Use this special badge to make sure they stand out! + +- [![Anti-AI Policy](./badges/anti-ai-policy.svg)](https://codeberg.org/ethical-foss/open-slopware#anti-ai-policy) Here are all the badges for easy copying and pasting: ```markdown -[![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) +[![AI Functionality](./badges/ai-functionality.svg)](#ai-functionality) +``` + +```markdown +[![Vibecoded](./badges/vibecoded.svg)](#vibecoded) ``` ```markdown @@ -65,13 +86,17 @@ Here are all the badges for easy copying and pasting: ``` ```markdown -[![Permits LLM Ingestion](./badges/permits-llm-ingestion.svg)](#permits-llm-ingestion) +[![Condones LLM Ingestion](./badges/condones-llm-ingestion.svg)](#condones-llm-ingestion) ``` ```markdown [![Request for Help](./badges/request-for-help.svg)](#request-for-help) ``` +```markdown +[![Anti-AI Policy](./badges/anti-ai-policy.svg)](#anti-ai-policy) +``` + > [!important] > > If a project has multiple tags, please be sure to add a break (`
`) in between each one, so that the column extends vertically rather than horizontally. This keeps the table visually consistent and easier to read at a glance. @@ -80,15 +105,18 @@ Please do not submit GitHub screenshots of "A user you have blocked has previous Screenshots are allowed but must be a last resort for something that cannot be linked. We'd prefer archive links in all other instances. -The above "Alternative(s)" column is for software that has a 1:1 parity or is a very similar alternative specific to the piece of software at hand. If the category or section is filled with the same alternative list (for instance, how it is in the [terminal emulators](https://codeberg.org/small-hack/open-slopware#terminal-emulators) section), you can remove the "Alternatives" column. Instead, you can add a note below the table with all the alternatives, like this: +## When to use an Alternatives Note Versus Table Column + +The above "Alternative(s)" column is for software that has a 1:1 parity or is a very similar alternative specific to the piece of software at hand. If the category or section is filled with the same alternative list (for instance, how it is in the [terminal emulators](https://codeberg.org/ethical-foss/open-slopware#terminal-emulators) section), you can remove the "Alternatives" column. Instead, you can add a note below the table with all the alternatives, like this: > [!NOTE] > ### Category Alternatives -> If there are a lot of alternatives for a section, include the alternatives in a note like this. -> * [alternativeSoftware]: This can be a short description and [link to anti-AI policies](somelink.link). -> * [coolSlopFreeProject]: This can be a short description and [link to anti-AI policies](somelink.link). +> If there are a lot of alternatives for a section, include the alternatives in a note like this. These should also be alphabetized. +> * [alternativeSoftware]: [![Anti-AI Policy](./badges/anti-ai-policy.svg)](#anti-ai-policy) ([1](https://link-to-anti-ai-evidence.tld)) This can be a short description. +> * [coolSlopFreeProject]: This can be a short description. - -[alternativeSoftware]: https://verygoodnotslopware.com "alternative software" -[coolSlopFreeProject]: https://verygoodnotslopware2.com "another alternative software" -[alrightSlopFreeProject]: https://veryoknotslopware3.com "another extra alternative software" + +[amazingSlopFreeProject]: https://verygoodnotslopware.tld "an amazing example of a no-ai project" +[alrightSlopFreeProject]: https://veryoknotslopware3.tld "another extra alternative software" +[alternativeSoftware]: https://verygoodnotslopware.tld "alternative software" +[coolSlopFreeProject]: https://verygoodnotslopware2.tld "another alternative software" diff --git a/badges/ai-databroker-usage-pink.svg b/badges/ai-databroker-usage-pink.svg index 968984f..15941b4 100644 --- a/badges/ai-databroker-usage-pink.svg +++ b/badges/ai-databroker-usage-pink.svg @@ -5,15 +5,15 @@ - + - - + + - + - AI Databroker Usage + AI Databroker Usage diff --git a/badges/ai-functionality-yellow.svg b/badges/ai-functionality-yellow.svg deleted file mode 100644 index 5da33d5..0000000 --- a/badges/ai-functionality-yellow.svg +++ /dev/null @@ -1,19 +0,0 @@ - - AI Functionality - - - - - - - - - - - - - - - AI Functionality - - diff --git a/badges/ai-functionality.svg b/badges/ai-functionality.svg new file mode 100644 index 0000000..8765563 --- /dev/null +++ b/badges/ai-functionality.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + AI Functionality + diff --git a/badges/anti-ai-policy.svg b/badges/anti-ai-policy.svg new file mode 100644 index 0000000..6fd1fc4 --- /dev/null +++ b/badges/anti-ai-policy.svg @@ -0,0 +1,19 @@ + + 🌟 Anti-AI Policy + + + + + + + + + + + + + + + 🌟 Anti-AI Policy + + diff --git a/badges/permits-llm-ingestion.svg b/badges/condones-llm-ingestion.svg similarity index 78% rename from badges/permits-llm-ingestion.svg rename to badges/condones-llm-ingestion.svg index 810c8a6..ba71cda 100644 --- a/badges/permits-llm-ingestion.svg +++ b/badges/condones-llm-ingestion.svg @@ -1,5 +1,5 @@ - - Permits LLM Ingestion + + Condones LLM Ingestion @@ -13,7 +13,7 @@ - - Permits LLM Ingestion + + Condones LLM Ingestion diff --git a/badges/discussion.svg b/badges/discussion.svg new file mode 100644 index 0000000..bfe0d08 --- /dev/null +++ b/badges/discussion.svg @@ -0,0 +1,19 @@ + + discussion + + + + + + + + + + + + + + + discussion + + diff --git a/badges/more-kind-eyes.svg b/badges/more-kind-eyes.svg new file mode 100644 index 0000000..28892ee --- /dev/null +++ b/badges/more-kind-eyes.svg @@ -0,0 +1,18 @@ + + More Kind Eyes Please + + + + + + + + + + + + + + More Kind Eyes Please + + diff --git a/badges/ready-for-pr.svg b/badges/ready-for-pr.svg new file mode 100644 index 0000000..0f6bb60 --- /dev/null +++ b/badges/ready-for-pr.svg @@ -0,0 +1,19 @@ + + Ready for PR + + + + + + + + + + + + + + + Ready for PR + + diff --git a/badges/request-for-help.svg b/badges/request-for-help.svg index 02e517e..5a98f37 100644 --- a/badges/request-for-help.svg +++ b/badges/request-for-help.svg @@ -8,8 +8,8 @@ - - + + diff --git a/evidence/img/vscode.png b/evidence/img/vscode.png deleted file mode 100644 index 1ec022b..0000000 Binary files a/evidence/img/vscode.png and /dev/null differ diff --git a/img/how_to/clone_tldr.png b/img/how_to/clone_tldr.png new file mode 100644 index 0000000..4600d09 Binary files /dev/null and b/img/how_to/clone_tldr.png differ diff --git a/img/how_to/copy_new_repo_url_codeberg.png b/img/how_to/copy_new_repo_url_codeberg.png new file mode 100644 index 0000000..085b27c Binary files /dev/null and b/img/how_to/copy_new_repo_url_codeberg.png differ diff --git a/why_not_llms.md b/why_not_llms.md new file mode 100644 index 0000000..98ac740 --- /dev/null +++ b/why_not_llms.md @@ -0,0 +1,177 @@ +# Why not LLMs? + +* [Legal Ramifications](#legal-ramifications) + * [Legal Cases And Law Problems](#legal-cases-and-law-problems) + * [License Problems](#license-problems) +* [Stolen Training Data](#stolen-training-data) +* [Environmental Impact](#environmental-impact) +* [Labor](#labor) +* [Poor Code Quality](#poor-code-quality) + * [Deskilling](#deskilling) + * [Infosec risks](#infosec-risks) +* [Health and Safety](#health-and-safety) + * [Ties to the War Industrial Complex](#ties-to-the-war-industrial-complex) + * [Effects on Policing](#effects-on-policing) + * [Maintainer Fatigue](#maintainer-fatigue) +* [Effect on Hardware Prices](#effect-on-hardware-prices) + +## 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. + +### 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/) + +### 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. + +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. + * 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. + +* 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. + +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. + +## Environmental Impact + +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/) +- [Politico: Europe must choose between AI and climate goals, data center lobby says](https://www.politico.eu/article/europe-choose-ai-climate-goals-data-center-chief-warns/) +- [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) + +## Labor + +AI usage and normalization contributes to labor violations in many ways that are obvious and some you may not be aware of. + +On one hand, many things that you think are "AI" are actually humans in another country pretending to be an AI chatbot for you for either extremely low wages or in some cases, no wages e.g. prison labor. This is particularly common for "friend"/"sex" bots, but it is also extremely common in the image/video identification. You can find a bit more info at the following links: + +- [Long hours and low wages: the human labour powering AI’s development](https://theconversation.com/long-hours-and-low-wages-the-human-labour-powering-ais-development-217038) +- [OpenAI Used Kenyan Workers on Less Than $2 Per Hour to Make ChatGPT Less Toxic](https://time.com/6247678/openai-chatgpt-kenya-workers/) +- ['AI Is African Intelligence': The Workers Who Train AI Are Fighting Back](https://www.404media.co/ai-is-african-intelligence-the-workers-who-train-ai-are-fighting-back/) +- [These Prisoners Are Training AI: In high-wage Finland, where clickworkers are rare, one company has discovered a novel labor force—prisoners.](https://web.archive.org/web/20260108224812/https://www.wired.com/story/prisoners-training-ai-finland/) +- [Amazon grocery stores previously reported to use AI actually used people in India](https://www.businessinsider.com/amazons-just-walk-out-actually-1-000-people-in-india-2024-4?op=1) + +## 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)) + +## Health and Safety + +There's been a number of high profile incidents that have resulted in endangerment or death. Here's some examples: + +* [AI Toy Exposed 50,000 Logs of Its Chats With Kids to Anyone With a Gmail Account](https://archive.ph/dX5xd) + +*
+ Content Warning: Suicide + + * [Wikipedia: Deaths linked to chatbots](https://en.wikipedia.org/wiki/Deaths_linked_to_chatbots) + * [AI chatbot pushed a teen to kill himself, a lawsuit against its creator alleges](https://apnews.com/article/chatbot-ai-lawsuit-suicide-teen-artificial-intelligence-9d48adc572100822fdbc3c90d1456bd0) + +
+ +[LLM use has also been linked to new-onset psychosis](https://pmc.ncbi.nlm.nih.gov/articles/PMC12863933/). + +### Ties to the War Industrial Complex + +A lot of AI companies also work directly with nation states for use in their Departments of War (sometimes called Defense) 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) + +
+ +All of this to remind you that if you use AI, you're helping to support these companies and the additional activities they participate in, outside of generative code or images. + +### Effects on Policing + +Police have quickly embraced AI, which has already directly led to people being jailed for things they've never done. As examples: + +- [This Grandmother was jailed for 6 months after an AI error linked her to a crime in a state she had never even visited](https://www.the-independent.com/news/world/americas/crime/tennessee-grandmother-ai-arrest-error-north-dakota-b2938261.html) +- [How Wrongful Arrests Based on AI Derailed 3 Men's Lives](https://web.archive.org/web/20260111202754/https://www.wired.com/story/wrongful-arrests-ai-derailed-3-mens-lives/) + +This is, in part, due to companies such as Amazon [Aggressively pushing police to use AI](https://web.archive.org/web/20260116082026/https://www.forbes.com/sites/thomasbrewster/2025/10/01/inside-amazons-aggressive-push-to-get-cops-using-ai-surveillance/) which they do through both facial recognition and offering compute for predictive policing. With regards to facial recognition, here's an example of how it too can lead to false arrests: [Face Recognition on Flawed Data](https://www.flawedfacedata.com/#art-or-science). + +There have been warnings about AI in policing, particularly around racial bias, such as: + +- [Bennan Center of Justice: The Dangers of Unregulated AI in Policing](https://www.brennancenter.org/our-work/research-reports/dangers-unregulated-ai-policing) +- [OxJournal: Predictive Policing or Predictive Prejudice? A Study of the Legal, Historical and Ethical Implications of AI in Policing](https://www.oxjournal.org/predictive-policing-or-predictive-prejudice/) +- [The Guardian: Police AI Chief admits crime fighting tech will have bias...](https://web.archive.org/web/20260224070735/https://www.theguardian.com/technology/2026/feb/24/police-ai-chief-admits-crime-fighting-tech-will-have-bias-but-vows-to-tackle-it) +- [A third of all Black children were flagged by a child services agency](https://loganstapleton.com/wp-content/uploads/2022/04/Extended_Analysis__How_Child_Welfare_Workers_Reduced_Racial_Disparities_in_Algorithmic_Decisions.pdf) + +### Maintainer Fatigue + +Having to deal with the onslaught of many LLM written pull requests and issues, causes real maintainer burnout that stagnates projects as maintainers become overwhelmed with half baked, poorly written, insecure code. Here's some examples: + +* [Overrun with AI slop, cURL scraps bug bounties to ensure ā€œintact mental healthā€](https://arstechnica.com/security/2026/01/overrun-with-ai-slop-curl-scraps-bug-bounties-to-ensure-intact-mental-health/) +* [Godot maintainers struggle with 'draining and demoralizing' AI slop submissions](https://www.theregister.com/2026/02/18/godot_maintainers_struggle_with_draining/) +* [An AI Agent Published a Hit Piece on Me (matplotlib)](http://archive.today/2026.02.19-045842/https://theshamblog.com/an-ai-agent-published-a-hit-piece-on-me/) + +## 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 upward 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 down-stream effects for consumers is that near 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 all results in shrinking the pool of people who have access to building home computers for any purpose, from gaming to coding to home labs, which in turn makes the tech industry less diverse due to people who have been historically marginalized having less financial resources to learn the skills at home. When this is factored in with the price of college being unaffordable in many places, we will see a sharper decline in disabled people, people of color, women, and the queer community entering the tech industry.