Re: packaging, FOSS user expectations are out of alignment

Usually when asked to build a package for your particular distribution, I say, "I'm afraid I just don't have the time, but PRs for your distribution are welcome." But my real talk, B-side opinion on FOSS packaging, is -- when you ask a dev to package software in a specific way for you, in the FOSS world, that's entitlement, because you can do it yourself.

Of course, you may refuse to use packages that aren't natively packaged just the way you like. But -- for me -- it crosses a line when one whines about the packages that are available. "Ugh, only Flatpak (or deb, or rpm), how dare you, the dev, not pay attention to my tastes after I've done nothing, contributed nothing."

Because one should build a package or two before they are entitled to an opinion about the packaging a dev uses for their personal project. Why? Because packaging sucks. It's the last thing anyone wants to do. And when you do make a package, and no one is happy, it sucks even more.

A few common refrains and my feelings --

"What no pkgsrc?" "Where's my PKGBUILD?"

I use/like pkgsrc and have used PKGBUILD and think it's pretty neat, but I think we all know these are fairly niche systems. People/users who use fairly niche systems should be the first to take responsibility for them, and not expect someone else to do it for them.

"Just figure out my preferred packaging and distribution system (I have no idea but I imagine it's easy)."

Why? The software builds on my system just fine, and there are instructions for you to build it yourself. "But you want me as a user..." Explain this to me -- do I want anyone as a user who is not willing to build their own package for their distribution/OS? Because that user tends to be more of a consumer (who doesn't pay) than a valued community member.

"The package you distribute doesn't work on my slightly different system."

I totally sympathize, but this is the problem with packaging. You ship one binary with one dependency, say libc, and guess what? Debian 10 or whatever decides to use a version that is way older than what Ubuntu uses. I guess we need 3 more Debian packages then... Yeesh.

"Snap/Flatpak/AppImage sucks."

Maybe. At least they allow you to easily ship your dependencies. The concept seems quite nice when: 1) there are multiple packaging models to be covered, 2) distribution maintainers are overworked and aren't packaging your software for you, and 3) their distribution's users aren't helping you or them out either.