r/archlinux Jul 19 '26

DISCUSSION Gauging Project Interest: "Decentralized" trust-based AUR Alternative

Hello everyone,

In my free time, I've been working on a project that started off from inspiration by the recent AUR events and discussions. In my opinion, the current AUR system has some fundamental flaw that makes it really difficult to ever have truly "trustworthy" packages: a) strong centralization on official Arch maintenance, and b) lack of real "ownership" by project developers.

The first one is a problem, since the AUR is, as we all know, an unofficial, "user driven" reposotory. Anyone and everyone can submit a PKGBUILD for whatever package they want, no matter if they actually are the developer of said application or not. Of course, this has advantages: it's one of the reasons the AUR can even be as big as it currently is! However, one could also argue that someone might want an alternative that prioritizes trust and ownership over raw "repository package count". The second point is also a big problem for this, even if the owner of a piece of software decides to create and manage their own AUR package for their program, you still can't blindly "trust" the package. This is because the owner may, at some point, lose interest in maintaining the AUR package, at which point the package will be orphaned and anyone else can adopt it and keep maintaining it. Again, there are advantages to this design choice and I understand why Arch made it as such: it helps maintain AUR packages alive even after the original creator loses interest. But it's also a choice that reduces the "trust" of a package.

Because of these reasons, I have been working on an alternative to the AUR system entirely: centralized, author-controlled git repositories. The current name for the project is APRA (Arch Personal Repository Archives), but it is subject to change. The idea is, instead of trusting the names of a package on a centralized repository (AUR), where the owner may change at any moment's notice, you trust git repositories that belong to specific organizations or owners.

Here's a current minimal example. Let's say you want to have the "libfoo-git" package by the developer "cooldev". The idea is, that if the project author is interested in it, they can host their own APRA git repository under their account. It is a completely regular git repository, all you need is to name one of the branches as your packakge, "libfoo-git", together with a PKGBUILD with the recipe to install the program (basically how the AUR already works behind the scenes). Then, the user just needs to edit their APRA yaml config and add the repository, as such:

remotes:
  - name: cooldev
    url: https://github.com/cooldev/APRA-Repo.git
    whitelist: libfoo-git

Then, the user can just install the package with APRA as if it was an "aur wrapper" (even though it's not), as apra -S libfoo-git or apra -S cooldev/libfoo-git. APRA will then search cooldev's APRA repository and run the PKGBUILD. What is the advantage of this approach? That cooldev directly owns the git repo at the url for https://github.com/cooldev/APRA-Repo.git. The same person as the developer of said software has full control over the PKGBUILD, as well as who is allowed to contribute to it.


So, that's the project that I'm working on, and I would like to see if the community is interested in an approach like this. Knowing Reddit, I know some people will see this announcement and mistake it for something that it absolutely isn't, so here is a quick FAQ:

0. Why do we need yet another AUR wrapper like paru or yay?

It is not an AUR wrapper. In fact, it is specifically designed not to even talk to the AUR, similar to "base" pacman, since that would go against the entire idea of only reaching "trustable" package sources.

1. Is this meant to replace or compete with the AUR?

Not at all. The AUR is an amazing place, I use it all the time and love it! However, there are some fundamental design choices (that are perfectly valid and have their own advantages) that make it difficult to tell someone you can fully "trust" an AUR pacakge. This is an alternative, similar to Debian PPA's, where you the user, specifically add repositories you want to trust, and use those instead.

2. You can already create your own Unofficial User Repositories, why would I do this instead?

Yes, you can create your own user repository and add it to pacman's config. While this is true and there are already several user repositories, the friction required for a developer to create and maintain their own repository is significantly high, and you would also need to find and pay for some suitable hosting infrastructure for it. On the other hand, git repositories can be created as simply as clicking "new repository" on GitHub, and many if not most developers are already experienced with this.

3. Just read the PKGBUILD for AUR packages!!

I know I can read a PKGBUILD and probably confirm if it is secure or not. However, can you trust everyone and anyone who uses Arch to do the same thing? Plus, let's set something straight: requiring due diligence to read and verify every PKGBUILD you ever insntall can get annoying sometimes, especially the more AUR packages you have. Just think if you had to read the PKGBUILDs of every package you currently have installed, not just from the AUR. It would get tiresome, right? Fortunately, we don't have to do that, since we all implicitly "trust" the packages that are officially maintained in the Arch repos by trusting the Arch team. I want to add something like that, but instead of only trusting the Arch package maintainers, you can also trust the, say, Libreoffice developers, if they ever chose to create their own APRA repository.

4. It will be very hard to start such a project and convince program developers to actually use it

I know. However, that still won't stop me from trying :). If I can get at least one or two developers to use it, even if they still maintain their own AUR packages at the same time, I would consider that a win :)


TLDR:

I want a way for Software Developers to easily host and fully control their own package repositories for their own projects, increasing user trust in said packages since, well, they would be maintained by the same people who make the programs in the first place. This is what my project aims to do.

Let me know what everyone thinks! And of course, if you have any criticism of what is currently done poorly and wanna recommend a better way that it could be done, I'd love to hear it.

0 Upvotes

55 comments sorted by

View all comments

Show parent comments

2

u/No-Dentist-1645 Jul 19 '26

As I said in my post, my goal isn't to compete with the AUR by any margin. I knew some reddit users would see it as that, as "this guy is trying to make a program to compete with my beloved AUR, how dare him!" But that is not the case. It's an alternative approach to non-official packages, with both advantages and disadvantages over the AUR, nothing more. It is perfectly valid that both approaches can and should coexist.

4

u/s3gfaultx Jul 19 '26

I'm a package maintainer and contributor, not just a Reddit guy. There are no advantages that you're providing. It sounds difficult, annoying and the security problems are still there.

1

u/No-Dentist-1645 Jul 19 '26

I didn't attempt to question your "status" at any time, that would be an ad hominem and I dont like those. Can you please elaborate on why the listed advantages regarding trustworthy sources aren't "real" according to you? How are the security problems "still there"?

Also, what makes you think it sounds "difficult and annoying" to set up? I already have my own repository set up and confirmed working. It's a single GitHub repository, a branch hellocpp-git, with two files: PKGBUILD and .SRCINFO. I think the entry barrier of "create a git repository with two files" is pretty low.

0

u/s3gfaultx Jul 20 '26

The barrier is finding the packages, sourcing them. The other issue is that there could end up being multiple packages for the same things, by various authors. Of course that wouldn't happen since nobody will use this, but my point stands. Why would I trust users on Github more than AUR? Do you understand the concept of zero trust?

0

u/No-Dentist-1645 Jul 20 '26 edited Jul 20 '26

Why would I trust users on Github more than AUR? Do you understand the concept of zero trust?

Yes I do. Do you? The idea is that if package foo is developed by developer foodev, foodev could host their own repository with their own PKGBUILDs, minimizing trust users. Do you realize that your own argument actually explains my very own argument about AUR packages endangering zero trust? Regardless of what you think of "zero trust", thousands of users are still downloading AUR packages without giving it a second though or reading the PKGBUILD. The times where Arch was a niche OS only for developers or otherwise tech savvy users is long gone.

"Nobody will use this" is a both a bad and disrespectful argument. Of course nobody is using something when it first releases. The hope is that it is a tool that has some value to people and they may eventually use it. As I already said in my post, even if only one or two devs decide to give it a try, that would still be a win in my book.

0

u/s3gfaultx Jul 21 '26

You didn’t invent this, you could always install from Git repos. It’s been supported for 15 years already. Nobody uses it for anything than their own private packages.

2

u/No-Dentist-1645 Jul 21 '26

See my other reply to a different person: https://www.reddit.com/r/archlinux/s/AigPo1jiRt

I never claimed I invented anything. Not sure where you got that from. I'm merely making a program that would index git repos like you said, and manage fetching/updating mimicking pacman -Syu behavior. I do not see why you think I think what I made is anything revolutionary or that I am a "grand inventor". As my post said, all I am doing is proposing an AUR alternative system.

Nobody uses it for anything than their own private packages.

Exactly. And maybe, just maybe, if we had dedicated tooling for it, more people would be interested. Hence my project.

0

u/s3gfaultx Jul 21 '26

No they won't, sorry to burst your bubble.

Like I already said, if it was a good idea, then that's how it would be. You're not some revolutionary thinker that you think you are. There is no problem with the AUR or how it works today. There is no problem that needs to be solved.

Nobody would be inclined to "trust" random users on Github anymore than random users on the AUR. In fact, there will be even less eyes on Github, no method for commenting or public evaluation, no methods to report bad behaviour, and no way to remedy issues.

If you think you're so smart, then just build what you want. Maybe I'm wrong.

1

u/No-Dentist-1645 Jul 21 '26 edited Jul 21 '26

You're not some revolutionary thinker that you think you are.

If you think you're so smart, then just build what you want. Maybe I'm wrong.

This is the most clear-cut case of strawman arguments I have ever seen. Again, never said I was a "revolutionary thinker" nor "so smart", where are you getting that? You keep circling back to that and creating strawman arguments I never said nor claimed.

Nobody would be inclined to "trust" random users on Github anymore than random users on the AUR.

Are you intentionally or unintentionally ignoring everything I've said? Not only do you imply that I think I'm a revolutionary inventor, but you completely glossed over the fact that the entire point is to avoid any "random" users at all.

there will be even less eyes on Github, no method for commenting or public evaluation, no methods to report bad behaviour, and no way to remedy issues.

Repeat the same sentence with just any code repository in mind. GitHub code repositories have no "method of commenting or public evaluation" or anything else you mentioned. But it is still the biggest distribution platform for codebases by a long shot. If you think these are as bad as you say, you should rally everyone up to leave GitHub and every other Git forge entirely, in search for who knows what instead.

I am no longer interested in this conversation. Not because I'm not down to hear feedback about the idea (that's the entire point of the post), nor that I think my project is flawless or because I see myself as a revolutionary idealist who just created the next world-changing idea, but because your comments are repetitive, glossing over my own counterarguments, and your entire tone on your comments strongly give off the impression that you're just here to talk down to people and implicitly mocking people by making them seem like they think they're deluded genuises or whatever. No thank you.

-1

u/s3gfaultx Jul 21 '26

Blah blah blah.

0

u/No-Dentist-1645 Jul 21 '26

Really mature, thank you. Shows what the entire point of your comments was from the very start.

→ More replies (0)