Hacker News new | ask | show | jobs
by kkfx 1547 days ago
> What makes an app package created by the app developer more "commercial" and anti-FOSS than an app package created by a distro-specific packager?

The process: no developer can interact with a vast community, there is too much noise. No developer can prune bad bugreports, poorly formed questions etc. The multi-level community can. No developer can alone design the best software, good interactions with other people expert enough to interact well can.

With the classic FLOSS model:

- developers just concentrate on their code, there is no noisy community pushing messages to them, there is no issues about packaging, distro-specific stuff etc to care about;

- packagers just grab code and package it for a distro they know so an easier task for them than for the developer that might know just another distro/OS;

- community interact users-with-users and users-with-packagers and packagers-with-packagers that's keep the noise low enough to all parties profit and makes ideas flow from a cohort to another, processed and adjusted at any passage.

The outcome is: all users get help, at a level no other system can give, all face easier tasks than others development models, developers get the best feedback possible, all involved interacts each others creating new ideas, resolving issues, improving.

In the "direct" model: devs do not care of distros, they give something to anyone, as a result community is so noisy that they can't get good feedback, patches, bugreports, they get some, but mixed with countless other bad to a point no one can keep up the information flow. Developers do not care much about deps they use, so, as you can easily see in the wild, most "packages" are full of old vulnerabilities no one care about. Various cohort of people involved are "isolated" between each other. There is no real community just a mechanical hierarchy unable to improve itself BUT able to be steered by big players who decide founding a developer or another what ideas will grow and what will be pushed into oblivion.

It's essentially the very same thing you see in our society, from the classic internet, with usenet, minitel, mailing lists and the modern platform era. In the modern era there are flock of sheep and some shepherd, in the classic era there were peoples, peer between peers. In the classic era innovation was a thing, nowadays nothing really new born and most things fall apart.

> What's the difference between an RPM package and a Flatpak package?

The level of crappiness. An RPM can't normally work alone, so for instance it should not run an old openssl vulnerable version just because the developer of a small chat client have no time nor interest to update it. A flatpak can and normally do: see actual repos, classic packaging systems tend to have all deps up to date, flatpak, appimages, snap tend to be abandonware from the day 0.

Also an rpm can package a kernel, the modern ones can't, but still need a distro to run. So the classic systems are complete, the new one can't exists alone, can't form a system.

They have exactly NO REASON to exists from the FLOSS or the end user point of view.

> In short: what are you talking about?

About the reality, just look around and see. If you can't see there are two options: you are inexperienced enough to not notice anything, perhaps inhabited to the commercial model "go to a website, download a program, install it" single app per single app with the system pre-installed by someone else or rarely installed by hand in a day-long manual and painful process. Or you have commercial interests. I see no other options.

Try to see NixOS or Arch repo, then see Snap, Flatpak, AppImage repos and compare them: what about the real freshness of them? What about the completeness and options? What's the outcome? Do you want a containerized chat client 158Mb instead of 2.5Mb due do the gazillion of copies of multiple version of same deps that when you exchange a file demand a long process to being able to see it with another application? Or do you prefer have no files at all, all on someone else computer, like Google Drive etc and you just run a WebVM "the endpoint must be just a dumb terminal of modern cloud-mainframe"? Because that's is.