Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The Linux ecosystem needs one distro (say Ubuntu) to become so influential, that app devs start to primarily target it instead of the upstream. Only then will the library space stop being a moving target for end users, and only then it will be possible to upgrade app1 without triggering an automatic update of app2, which both happen to depend on the same lib. Only then will these useless practices of "packaging" and "backporting" finally stop, and devs will be simply make packages themselves, like they do on windows or osx. Only then will users be able to install a distro once, and then be able to install new apps for 5-10 years without having to upgrade the whole distro every 6 months.

What happens in Windows is not what you're describing; developers are simply forced to distribute their own copies of the libraries (as DLLs or statically compiled) since there is no package manager. What then happens is that there are dozens of copies of the same libraries, most of them lacking bugfixes and even security patches.

The dependency system used by Linux distros may have its problems, but it surely beats ad-hoc dependency management, even if it requires backporting.

Normal users and especially businesses simply dont want to constantly update their systems. Force them to do that, and they simply walk away.

Right. If you use Windows, have you tried counting the number of update managers running in the background, the number of applications that ask you on launch to "verify updates", the number of times Windows Update alerts you, etc?

Windows machines are constantly updating. Unlike Ubuntu, they just do it incrementally instead of once every six months (except for security patches). But that's better fixed by moving to a rolling release scheme.



I would rather ship an extra copy of all of the libraries than tell the user that he has to update libc6 (and therefor almost all of the other software he uses) to run my software.


Nothing in Linux prevents you from doing so. Just ship your application with it and use a one line shell script to run it with the appropriate LD_LIBRARY_PATH.

It's just not commonly done (with exceptions like http://sta.li/), and as a user, I'm thankful for that.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: