Phylosophical questions about Linux
Posted: 03 Nov 2016, 16:57
I know this is not specific related to Porteus, but given Porteus philosophy I think this is the right place to ask.
1- Is it possible to have portable apps on Linux?
What I mean is that kind of app that comes inside a package with absolute all dependencies, then you can extract it to any folder you want, double clicking on the binary and... voilĂ ! Don't need to worry about system folders, libs, dependencies, installations, system entropy or any kind of complicated thing. Also, all settings will be placed inside its folder, so you can take this folder and copy to anywhere you want and it will work flawlessly.
I'm not a Windows enthusiast and that's why I'm trying to migrate to Linux. I really don't like what MS did trying to fix the so called DLL hell -- in a few words the 'solution' is: Windows Side-by-side DLL management. But... It's possible to ignore this mess and have apps that are portable on Windows. And I think this the best way of keeping system clean and easy to use and maintain.
2- Why Linux's apps usually don't come compiled with all needed dependencies inside a package?
Again, I don't like Windows and I really hope this topic doesn't end in an OS war, but let's be honest: on Windows you usually (not always, I know) simply download a single package, install/extract it and it's ready to use; on Linux is hard to download a single package with everything it needs, and it's very common having to go to the console and do so magic, including compiling source codes and reading a few threads over the internet.
Right now I'm passing through a problem with Qmmp on Linux because one of its plugins has an external dependency that I can't solve, even using the plugin compiled for Ubuntu and the external dependency installed. But the same app on Windows comes with absolutely everything it needs to run. So I'm thinking if this is a Linux issue more than a developer issue.
I know it's not reasonable asking developers to compile for all Linux distros (there are more than 300!), but they could compile on the 6 most used, for example. The developer (and I'm one of them) knows exactly the dependencies of its program, so it's really simple for him to provide the full package with everything it needs to run.
1- Is it possible to have portable apps on Linux?
What I mean is that kind of app that comes inside a package with absolute all dependencies, then you can extract it to any folder you want, double clicking on the binary and... voilĂ ! Don't need to worry about system folders, libs, dependencies, installations, system entropy or any kind of complicated thing. Also, all settings will be placed inside its folder, so you can take this folder and copy to anywhere you want and it will work flawlessly.
I'm not a Windows enthusiast and that's why I'm trying to migrate to Linux. I really don't like what MS did trying to fix the so called DLL hell -- in a few words the 'solution' is: Windows Side-by-side DLL management. But... It's possible to ignore this mess and have apps that are portable on Windows. And I think this the best way of keeping system clean and easy to use and maintain.
2- Why Linux's apps usually don't come compiled with all needed dependencies inside a package?
Again, I don't like Windows and I really hope this topic doesn't end in an OS war, but let's be honest: on Windows you usually (not always, I know) simply download a single package, install/extract it and it's ready to use; on Linux is hard to download a single package with everything it needs, and it's very common having to go to the console and do so magic, including compiling source codes and reading a few threads over the internet.
Right now I'm passing through a problem with Qmmp on Linux because one of its plugins has an external dependency that I can't solve, even using the plugin compiled for Ubuntu and the external dependency installed. But the same app on Windows comes with absolutely everything it needs to run. So I'm thinking if this is a Linux issue more than a developer issue.
I know it's not reasonable asking developers to compile for all Linux distros (there are more than 300!), but they could compile on the 6 most used, for example. The developer (and I'm one of them) knows exactly the dependencies of its program, so it's really simple for him to provide the full package with everything it needs to run.