Packaging it for a distro is someone else's job, and they'll take care of concerns like Debian's dependency policy. If they want to package it in the first place of course.
Packaging it for a distro is someone else's job, and they'll take care of concerns like Debian's dependency policy. If they want to package it in the first place of course.
The idea that your OS distro needs to explicitly support and package every software you could ever want to use seems crazy to me.
Both users and authors want the same thing: low-effort, high-quality distribution of software.
Personally I put my support behind flatpak for GUI, mise for CLI/TUI, but it's not a perfect solution and I occasionally bail out to homebrew/linuxbrew.
Somebody has to do the work. Apparently you won't accept it for that to be the developer, the user, or a "professional third party" (whatever "professional" means here). What exactly do you want?
> Personally I put my support behind flatpak for GUI, mise for CLI/TUI, but it's not a perfect solution and I occasionally bail out to homebrew/linuxbrew.
So third parties. Things that have reinvented "distributions", arguably badly. Are you saying they're not "professional"?
1. I want it to be easy for developers to publish their own packages. 2. I want it to be easy for users to install these developer-published packages.
> Are you saying they're not "professional"?
I regret using the word professional, I was replying to the claim GP made:
> Packaging it for a distro is someone else's job
Well I (as a developer) want to publish my own software without waiting and hoping someone else will do it for me.
> Somebody has to do the work.
Yes, I (the developer) want to do the work. The whole point of the article is that its painful to do today. I'm interested in how we make the packaging work easier so the developers can do it.
> [...] So third parties
the whole 3rd/1st party question is whether a developer can publish their own package. In most cases they technically can (taps, PRs, flathub, Debian registries, so on) but run into lots of issues along the way.
No one is under that impression, not maintainers nor users. The idea is that every software that is common and/or popular and/or useful enough to someone who is willing to maintain it, is managed by the distribution/repository staff itself, as they're the ones who knows the distribution best. Some software requires patches to be fully compatible, some distributions expect certain files in certain places and so on, and no one expects every developers to understand the idiosyncrasies of every distribution they want to potentially ship to.
But that doesn't mean ALL software you use has to come from these official software repositories maintained by the distribution. Most of my packages are from the official Arch repositories, maintained by people who know what they're doing extremely well, and almost gives you certain "guarantees" by the mere existence in that official registry. But then some software I use is installed via the AUR, which is more like npm, where anyone can publish anything, close review of everything is required for this, it's the wild west. And some software I install/run by having local GitHub checkouts I build binaries from. Finally some are just stray binaries in ~/bin/ that I've had for decades and don't even know where they're from anymore. All are "correct" for what purpose they serve, yet the official Arch repositories still remains extremely important and valuable for stability.
Still, the software that almost all of the distribution users use, like wayland or systemd, is maintained by these people and explicitly "supported" by the distribution, as far as that term holds in FOSS.
polishes ex-Debian Developer badge
Yup, this is why I think so many people feel so much friction about it. On Windows and macOS, the developer is usually responsible for the entire thing, even shipping installers for users. Linux distributions tend to split the roles, and as mentioned, once you provide sources and how to build it, you're basically done and it's up to others now.
And if you want a system whereby software only gets made available if distro-providers care enough, then that's fine. But you're putting a filter between the software producer and non-technical users, and you should be aware that this is a choice you're making.
If nobody cares enough to make the application available, perhaps it just shouldn't be there.
And yet insane quantities of programs used by millions are only available via raw .deb file downloads, or random alternative PPAs, or via programming language package managers.
The distro maintainer system is impressive, and I’m thankful for it. But saying “it has worked for lots of packages” says nothing about the many it has not worked for.
But you're "at the distro", and you want to use it, so you package it :) You might want to be nice to others too, so you make that public. Eventually, the community might end up relying on it, and the package gets an official maintainer from the distribution itself.
I've been able to have all the nice things I've wanted, but I also sit down and learn the distributions I use, including how to package stuff, so I can do that myself for things I want to use :)
Some distributions like Arch makes this "self-packaging" extremely easy and simple, and today with LLMs I'm guessing you can get the agent to package most standard software people ship today in under 5 minutes into something acceptable for your own use.
I need a solution that works for my users regardless.
You seem to be treating this like a commercial endeavor in which you have much to gain from adoption by nontechnical people. I don't really see why though. It looks like you're developing non-commercial open source software for an audience of developers.
You are taking on the responsibility of being compatible with a large variety of different people's opinions on how software should be built, configured, and distributed. Yes that's a lot of work. Distributions have people willing to do that work for software they or their users (who can ask) care about.
Have you ever interacted with actual users? This is absolute no-go which will only bring world of pain on you and your issues list and your email and your Discord and whatever other way you decide to talk to users....