why can't people settle on ONE way to install linux apps?
am I wrong in thinking that this is really what's holding linux back from the mainstream? I mean there are TONS of great opensource apps for linux, their compatibility is so spotty and there is NO one way to install them on any linux system. I think CNR (linspire) is exactly what we need, but it's a sort of proprietary "you pay monthly fee!" type thing.
If installing apps on linux were like installing apps on windows or macOS, people might actually go for it. so here's my hypothetical ideal situation:
say Freddy wants to get an MP3 player app for his linux installation. I'm not saying what "distro" or hardware platform he has because it doesn't matter. He uses his linux web browser to go to a website that lists mp3 player apps and choose one he likes. He downloads a file for the app. This file is a standardized kind of data file (not executable) that is interpreted by a small executable that is included with EVERY linux distro on EVERY platform. This data file tells the interpreter program to check for certain files on the current linux system. If some files that the app will need are not present, it downloads them to the appropriate paths. If for some reason, there is no way that the app could run on this linux system, the interpreter simply says that it can't and quits. If everything's ok though, it continues to download the app files to the appropriate path and then makes an alias to the app's executable on whatever the system's app launcher is (start-menu, etc).
A further addition that would make it a bit nicer is to have functionality built into linux web browsers that automatically downloads the data file in some place the user doesn't see and calls the interpreter on it automatically.
Re: why can't people settle on ONE way to install linux apps
Quote:
Originally Posted by efferoo
am I wrong in thinking that this is really what's holding linux back from the mainstream? I mean there are TONS of great opensource apps for linux, their compatibility is so spotty and there is NO one way to install them on any linux system. I think CNR (linspire) is exactly what we need, but it's a sort of proprietary "you pay monthly fee!" type thing.
The one installer to rule them all. Yes, I agree that one of Linux's big issues is still different package management formats. There are very different ideas behind many of them, and every one seems to think theirs is better. As was mentioned before, there are many more systems able to run apt these days thanks to things like apt4rpm, but there isn't any Linux equivalent to something like the InstallShield or Microsoft Installer. There are several reasons for this however.
One issue is that not every Linux system has the same library files. In MS Windows there is an exact set of Dynamic Link Libraries (DLL) in every installation of the OS. Most installer programs like InstallShield or Microsoft Installer depend on these libraries because they know that every Windows OS has them. With Linux, there is no "standard installation" therefore installers like this cannot work. This is an issue that can be rectified if major distributions agree on a standard set of libraries to include with every installation, and efforts from the Linux Standard Base are helping this along. It's not ready for primetime yet, but it's getting there.
Quote:
This file is a standardized kind of data file (not executable) that is interpreted by a small executable that is included with EVERY linux distro on EVERY platform. This data file tells the interpreter program to check for certain files on the current linux system. If some files that the app will need are not present, it downloads them to the appropriate paths.
This is already done by Debian's APT system, Gentoo's portage system, and as you already mentioned, Linspire's CNR. Sure, they're not all shiny and newbie friendly, but they *do* exist.
Quote:
A further addition that would make it a bit nicer is to have functionality built into linux web browsers that automatically downloads the data file in some place the user doesn't see and calls the interpreter on it automatically.
Firefox has "extensions" which download and install themselves through the browser. However, any time you allow the web to have access to your underlying system you leave yourself open for exploitation. Look at the problems with Internet Explorer. Many of them deal with remote procedure calls, because IE uses ActiveX controls that allow web programs to execute and install programs onto your local machine, with or without asking your permission first.