Hacker News new | ask | show | jobs
by sp332 5204 days ago
Coupling the updates of single apps with the updates of the whole desktop or framework and libs, is just plain wrong.

You don't have to do all that to upgrade a single app. In fact you're thinking of it backwards. Distros mean that when you upgrade the OS or libs, you get new versions of the apps for free.

You can still configure && make && make install, or grab a statically-linked binary, or any other method of getting Linux apps to run.

1 comments

> You can still configure && make && make install

You aren't serious, are you?

> statically-linked binary

Nobody builds them.

> any other method of getting Linux apps to run.

There are no other methods.

> Distros mean that when you upgrade the OS or libs, you get new versions of the apps for free.

That in turn means that if I dont want to upgrade the OS and the libs, I cant get new app versions. The collective refusal to acknowledge that this is a problem is what is holding back (aka killing) desktop Linux.

You said you stopped pointing people toward Linux because of the distros. But distros only add ways to get software. You don't have to use their package management at all. If you want to install a new version of an app, with or without the help of the distro, what better way is there to avoid dependency hell?

Edit: Central-repository installation methods I've used: python easy_install, perl CPAN, Ubuntu PPAs (which are a way to add 3rd-party apps to your package manager).

> But distros only add ways to get software.

Without distros, the way to get software is unbearable for Windows converts, where it is just "click, click, done."

> what better way is there to avoid dependency hell?

All distros agreeing to ship one specific version of a lib, so that app devs can target that "standard" version instead of daily changing upstream versions.

The dependency chaos is a consequence of no distribution being influential enough (or the major players not being able to agree) to slow down the interdependent moving target that is the library space. So app devs dont care what distros ship and only target the upstream, and the upstream lib devs dont care about the overall ecosystem and just ship whenever they feel like shipping.

Nobody of them seems to care about the user experience of the end user, for whom getting on Linux seems like building on a shaky ground. And then they both pretend to not understand that a majority of end users would rather pay for Windows and have a decade of peace of mind and hassle free app availability, than moving for free to a earthquake prone area.

> Without distros, the way to get software is unbearable for Windows converts, where it is just "click, click, done."

Sorry, what? On Windows machines, due to the lack of package management, installing software is not a matter of "click, click, done." You have to google the program, navigate to the website's download area, find the right link, download it, execute it. It asks if you're sure it isn't a Trojan or something, which you promptly ignore (and learn to ignore every other "are you sure you want to execute foo.doc.exe?" popup).

Package management ('done right') is a matter of "click, click, done." Installing software on Windows is an absolutely terrible experience.

I think you're conflating two different issues. Poor UX for installing 3rd party software has been solved with things like Steam or the Mac App Store, for example.
Steam and the App Store are nothing more than proprietary package management systems.
And on Linux, you navigate to the website's download area and find out they don't offer a Linux version.

There is an open source alternative which is not in your distro's repository, so you have to navigate to the website's download area, find the right link, download it, get accepted to university, take a year of 100-level CS courses, learn the command line on your own because you didn't get it at school, run configure and make, and it does not build on your distro. Not that it matters since the latest version 0.0.3 would not do what you needed if you had gotten it to run.

hehe , Harsh.

I think one of the main problems is that there is no single agreed way to distribute a program.

At least with Windows Installshield wizard kind of became the defacto.

Sometimes I go to a download page and they offer me a .deb file which is great but then I find it is targeted a specific version of ubuntu that I am not running. Sometimes they offer a .rpm, or sometimes they just offer a zip file with a random .bin or .sh inside it that I may or may not have to run as root and may or may not do weird things to my system.

Also you get stuff that asks you to do git clone and make etc.

All distros agreeing to ship one specific version of a lib, so that app devs can target that "standard" version instead of daily changing upstream versions.

You talk as if lib versions only change to harass developers and end users. Sometimes there are security updates that need to be made. And how would lib devs add features if all the app developers and distros are frozen on an old version?