Software installation on Linux: Today, it sucks (part 1)

As anyone who follows my blog knows, I’m fond of linking to other sites with brief little quotes that either get me thinking or reinforce points I’m trying to make elsewhere. (Credit where credit is due: Dave Winer and Doc Searls both do this very effectively, and I’m just shamelessly copying them, down to the quoting style they typically use.)

One of the quotes I’ve had queued up for a long time is this one from Jon Udell:

I have a confession to make. Sometimes, when I’m trying out an unfamiliar open source component, I cheat. Even if the software I’m working on will deploy to Linux, I’ll sometimes develop it on Windows first. Why? Because on Windows, an open source component is likely to come with an installer that just works.

He’s right. Unless an application is included with your Linux distribution of choice, installing that application on Linux is a nightmare compared to Windows.

Here’s an example. To install Sun’s Java Studio Creator on Windows, I just click on the .exe on Sun’s web site, which downloads the file and places it on my desktop. I double click the .exe (after, of course, checking it for viruses) and am up and running in a few minutes.

In contrast, on Linux, I click on the .bin, which downloads the file and.. up pops a text editor showing me a /bin/sh script.

Nice. Fortunately, I know what that is, so I save the script to a file on my desktop. I double click the file, and.. up pops a dialog box telling me the file isn’t executable.

Nice. Fortunately, I know what that means, so I drop into a shell and run chmod +x ./creator-2_1-linux-ml.bin. I double click the file again, and there’s a nice graphical installer now.

Finally, it looks like everything is going my way. Halfway through, though, the installation fails, telling me I need to install the RPMs for compat-libstdc++ and compat-libstdc++-dev.

Nice. Assuming I even know what an “RPM” is, I then realize: I’m running Debian, and Debian doesn’t use RPM. Maybe I know about alien, but even if I do, where do I go about getting the compat-libstdc++ and compat-libstdc++-dev RPMs?

At this point, I’ll probably hit Google—that is, if I haven’t already thrown up my hands in disgust and gone back to Windows. After a bit of Googling, I find this page, which tells me on Debian what I really need is libstdc++2.10-glibc2.2 and libstdc++2.10-dev. Of course! I should have known that. (Note: I’m being sarcastic.)

After installing those two packages, I restart the installer (which, thankfully, knows how to deal with the fact that it’s already half installed, but that won’t always be true). The installation finishes this time, and the installer kindly offers to start the program for me. However, after poking around a bit and exiting back to the desktop, I don’t see a menu entry or a desktop icon, so I’m not sure how I’m going to find it again (and I hope I don’t have to explain why cd’ing to ~/sun/Creator2_1/bin is not an answer).

Anyone who has ever installed software on Linux is familiar with this song and dance. If it’s in your distro of choice, you’re only an apt-get or a yum install away from running it. But if not, you’d better know what you’re doing, have a lot of patience, and understand how to construct effective Google search terms. (And, no, moving everything into the distribution is not a very good option. Remember that one of the key tenets of open source is decentralization, so if the only solution is to centralize everything, there’s something fundamentally wrong with this picture.)

Oh, well. At least I didn’t have to check for viruses!

Fortunately, some of the problems I experienced are bugs. The above was done on a pre-release Debian etch system over the summer, so it’s likely the problems have been fixed. I repeated the experiment on an Ubuntu edgy system, and it didn’t open the text editor, nor did it complain about an incompatible C++ environment. However, there were still no menu entries or desktop icons, and there was an additional problem too in that when I double clicked the file, it opened it in CrossOver Office, which I also have installed. Regardless, even if it works better on some distros than others, there’s still no usable solution until ISVs and end users alike can depend on things consistently working regardless of the distro being used.

Again, fortunately, we have solutions to parts of the problem already. The LSB abstracts away the differences between the runtime environments of the various distros, so the Java Studio Creator installer could have simply said “you must install the LSB environment” rather than trying to deal with the hundreds of little variations in both the environments and the package namespaces that provide them (e.g., compat-libstdc++ vs. libstdc++2.10-glibc2.2). Better yet, on distros that provide the LSB environment in their default configuration, the installer doesn’t have to do anything. And Project Portland promises to give us a consistent interface for creating menu entries, desktop icons and such things.

However, far too few applications take advantage of the LSB today (though that’s changing), and Project Portland isn’t in any of the distros yet (though we’re looking at bundling its primary deliverable, xdg-utils, with the LSB 3.2 SDK to work around that). Finally, even though the LSB provides ISVs with a consistent way to create an LSB compliant executable, there’s no consistent way to deliver an LSB compliant application that’s easy to install and that integrates well with the distribution’s package system. Yes, the LSB includes RPM today, but for a variety of reasons, ISVs don’t want to use RPM, and as already mentioned, not all distributions support RPM natively.

Fortunately, once again, this isn’t just a rant. The LSB tackled these very issues at the LSB face to face and Packaging Summit last week in Berlin, Germany, and we think we have a way forward that’s acceptable to all involved: Linux distribution vendors who already have well established package systems and systems management tools built around them; ISVs who need to support multiple platforms and so don’t want to support the Linux specific RPM format or who otherwise want more control over the installation experience; and end users who want to use the software management facilities their distributions provide, whether that’s RPM or something higher level like APT and yum. More in part 2

75 comments on “Software installation on Linux: Today, it sucks (part 1)

  1. Metalqga

    Actually this issue made my migration so hard. I was constantly asking myself where is the setup.exe? I could only manage to install one out of five tar.gz files… After more than 6 months of intense linux usage I still opt to find a .deb package instead of trying the ‘make install’ way.

    I agree with you on the point about decentralization but a standardized package management that works on Debian/Fedora/Suse/Mandrake/whatever you want, would make common users’ lives much easier.

    Excuse me for my noobism.

    Regards,
    metalqga

  2. Bob

    The installation and update methods should be redesigned, not only for linux (the many implementations of) but also for windows and mac. What I have in mind is a combination of ideas that are already out in the wild.

    1. The installer and updater should be the same application;
    2. This application, say CANARY, should be developed and distributed like firefox (the same application running on all OSs);
    3. Installing open-source applications should be as easy as running CANARY, select the application you want, and hit a big green button.
    4. CANARY will run in the background, like CheckUpdates, and “chirp” whenever an update becomes available.

    CANARY should hide the differences between platforms. The user does not need to know that, for example, firefox for linux style X is installed in the directory Y instead of Z, and so forth.

  3. Chris

    >> Sometimes, when I’m trying out an unfamiliar open source component, I cheat.

    Hint: If you were really working with an “open source component”, maybe it wouldn’t be being distributed to you in the form of a binary blob inside a shell script.

  4. Ian Murdock Post author

    Some people would rather deal with binaries than source code. dpkg was built on this idea 13 years ago, so I thought that went without saying by now. -ian

  5. Jon Udell

    “Some people would rather deal with binaries than source code.”

    I’m perfectly happy with either option, building from source or binary installation, when it works as expected.

  6. Baptiste

    I could agree with you until you say this:

    > ISVs who […] don’t want to support the
    > Linux specific RPM format or who otherwise want more control over the
    > installation experience

    what if I, the user, do not want them to have control over my experience? What if I don’t want random software to reconfigure the drivers, replace system components, write criptic information that cannot be uninstalled into a registry or reboot the system without asking?

    LSB people, if RPM is not flexible enough for legitimate uses, by all means fix it, but please don’t turn Linux into another Windows where the end user cannot control *his own* system.

    ISVs who want “control over the installation experience” are just like web developpers who want “control over the browsing experience” and use crap like flash or active-x: a nuisance. You should tell them to learn to code with standards, not cave to their demands.

    Cheers,
    BC

  7. Pingback: Michael Badger » Blog Archive » Linux software installation

  8. André Wendt

    The main problem I see here is that dpkg does not resolve dependencies but fails instead and aptitude does not install .deb package file unless they come from a repository.

    If we could combine those two, I could just open the .deb file with my archive manager of choice, it would resolve the dependencies and I wouldn’t have to worry about anything (provided that the ISV distributes a .deb file).

    But obviously you can’t rely on that.

    Oh, and isn’t the chmod part one of the Linux security measures that prevent me from executing code just because it has the extension for hell-yeah-run-me!?

    I find all this to be the fault of ISVs, not Linux.

  9. Pingback: tecosystems / links for 2006-12-16

  10. James

    Andre: “gdebi lets you install local deb packages resolving and installing
    its dependencies.”

    Of course, ISVs could just provide apt repositories of their software, it seems to work well enough for the non-free codecs, the latest bling (deb http://ubuntu.compiz.net/ edgy main-edgy) and so on – there’s nothing centralised there.

  11. thebluesgnr

    The problem is that people (including software distributors) believe there’s such thing as “Linux” as a target platform. If you’re distributing software for “Linux” then it won’t be simple to install it, ever.

    If they would support “Debian GNU/Linux”, “RHEL”, etc, things would be so much easier from the users POV. For example, to distribute software for Debian you could simply put it in a Debian package and when the file is double clicked from the file manager it is opened with gdebi, which graphically deals with dependencies and installs is.

    A good step in this direction to help developers at least build their software for several systems is Novell’s build service.

  12. Permafrost91

    The fact that files downloaded from the Internet are not directly executable under Linux is a security implementation. Part of Windoze’s flaw is that once you download a file, it’s immediately executable. That’s fine if you only download Java Studio, but what if John Doe downloads a virus without knowing it? How many John Doe’s don’t even run an anti-virus program because they bought their computer for $200 at WalMart and have never heard of Anti Virus before? Making a file executable before you execute it is the user actively allowing a downloaded program or script to run. One thing I never understood under WinXP is that I must have at least one “Administrator” user account but that I don’t have to give that user a password. And a regular user still retains rights to install system wide software. At least under Linux, you still require the root password before you can make any system-wide changes. It’s unfortunate that people in this country are led to believe that the Windoze-way is the correct way for using a computer.

    Now, not all open source programs are suffering from this installation problem. Most distributions these days have all the important applications already in their package manager and all you have to do is check the application and hit Apply. A far cry from what you need to do under Windoze (download it or buy it at a store, execute the installer, hit “Next” a few times, etc). But even if a program is not available in the package manager, you can usually find good help in the distributions’s support forums on how to install a piece of software. Since you said you develop open source applications, I’m assuming you already know how to compile an application so I don’t really understand how configure/make/make install something can give you any problems. Especially dependencies. Look them up in your package manager and install them before running to Mama Google and complaining that the big bad open source guy doesn’t let you compile your application.

    Linux is ready for the desktop, but people are not ready to change. Microsoft has done a good job at getting people to dance to their rhythm. But as long as you have an open mind, open source and linux will be ready for you.

  13. John Pilfer

    I suppose Independent Software Vendors = Proprietary Software Vendors? I hope gnu/linux software developers won’t bend down too much to acomodate their special needs,
    I think a lot needs to be done in regards with installation, handling of libraries, etc., in free software, but I was hoping that one day all distributions and developers could create something new, instead of copying what Windows has been doing for years (with the bad results it has shown, like thousands of windows computers plugged to the net running spam bots).

    Instead, learn from others, and improve on them, while taking advantage of the technical and social nature of this software (as well as distro, developer and user communities).

  14. Erik

    This guy got it wrong. First he quotes something about “trying out an unfamiliar open source component”.

    Then he describes how he installs Sun Java Studio Creator. It is not open source and that is the reason he has problems. If it had been open source everything would have worked great. It would have been possible to build it against the libstdc++ of his system and his distribution would most likely have done that already and provided a package.

    But it is not open source. It is a proprietary application that is only available as a binary built against an old version of libstdc++. That is what is causing him the problems.

    So blame the proprietary software, not Linux.

  15. Pingback: Planeta Debian » Ian Murdock: Software installation on Linux: Today, it sucks (part 1)

  16. Wump

    Eric: The point is: that makes the plattform completely unusable for proprietary applications. Then we wonder, oops, why aren’t there commercial applications. And then Ian steps up and say we suck. And you say, its not a bug its a feature and open source has no problems with it.

  17. Pingback: Unsucking Linux app installation « Tuxicity’s source

  18. Jim

    Erik, I agree with Wump. Also, not all open-source applications are available as pre-packaged distribution files. Many open source files are source packages and don’t include the specific distro-specific package (RPM, DEB, etc.) for all systems. I know personally I have tried to install open-source applications in vein because of it using source only. I don’t even try to run make installs anymore because the last one I did successfully took me three hours to find all the required packages. This also means that I am missing out on a lot of open-source (and eitherwise) applications because they can only be installed through source.

    And what about proprietary software? Personally, I think there should be more available to linux. Competition is healthy, and that is pretty much the motto of open-source (ahem, free as in free speech) software. If open-source has to compete more with proprietary software, there will probably be more innovation overall. It also gives the user choice, which is like the soul of free software. YOU choose what you want to use and I think it is about time for proprietary software to become a bigger choice for linux users. The planning and deployment of this system looks to bring that choice one step closer. I support this fully and have actually been asking around about this lately to see if something like this was in development.

  19. Step

    Ian, you are obviously missing the point and are absolutely clueless.
    Before you rant on in part 2, please figure out what is this evil “open source” thingy.

  20. Pingback: klikblog » Blog Archive » Software installation on Linux: Unnecessary

  21. Kurt Pfeifle

    probono (Simon Peter), core klik developer, this afternoon has created a klik bundle of Java Studio Creator. A klik bundle is an application encapsulated into one single file, including all direct dependencies not satisfied by the base Linux operating system. This one includes the required Java as well, making it a 600 MByte heavyweight.

    That one “file” in reality is a compressed image archive. The beauty of such a klik application file is that it is relocateable to any place (including USB stick or CD-RW) and happily runs from there. Or it can be copied to another machine (which does not need to be the exactly same version of Linux) and it runs there too.

    What it means is this: no installation at all! Just copy one file to a suitable place and click on it… Could it be more easy for a user? (Of course, one can create some helper applications around that simple concept [which, BTW, made its first appearance in the NeXT OS] to make it even more convenient).

    Installations (as we know them) shouldn’t be made “unsucking” — they should be made deprecated altogether! The idea of “1 application == 1 file == 1 click to download+run” has yet to be made to deliver its full potential.

    You can see a screenshot of this afternoon’s creation in the klikblog.

    Unfortunately, probono can’t distribute this bundle due to the Sun license for the software. So for the time being, it needs to stay his private edition.

    More unfortunately even, klik developers can offer a scripted standard klik recipe for Java Studio Creator either. Such a standard recipe would download the files form Sun anyway, and let the klik client convert them into a klik bundle locally in an automatic way. Whoever wants to download the files does need to jump through several rings, register his name and email, agree to the license and bow 3 times to the East… (I’m kidding, of course) which makes it difficult (not impossible) and time consuming to create even a manually tuned klik recipe.

    Maybe someone can convince Sun to host probono’s JavaStudioCreator.cmg file on their own web servers for download? Maybe Sun would even agree to remove the typical bureaucratic steeple-chase of their downloads and make it a one-click affair for this one? If so, we could still offer the familiar klik://SunStudioCreator recipe link on the klik server: that one would simply re-direct the requester to the ready-made bundle hosted by Sun….

  22. RobK

    I disagree. In my view, software installation is 100 times better in Linux than in Windows. With Windows you must download the installer and ANY of the required dependencies (like VB Runtime etc) manually and install EACH one separately by clicking on the executable, etc.

    WIth most Linux distros, you just run a Package Manager, select the program you want to install and click install. The Package Manager automatically downloads and installs NOT only the program you selected BUT all the required dependencies. FANTASTIC.

    In addition, the package manager will tell you when an update is available and will install it. Typically, Windows will NOT do that. You must remember to manually check the website for EACH third party propgram you installed and install it. Most Windows users do NOT do that. In my view, that is one of the main reasons Windows is so insecure.

    I suspect that this issue you are raising is a concern to proprietary software vendors. To keep costs down, they don’t want to release their software in three or four Linux Package formats. In my view, that is just the cost of doing business. Grow up. A smart software vendor should release the program in .RPM and .DEB pacakage formats at minimum. Better yet, the software vendor should consider creating a repo that a user simply adds to his package manager. (Adding the repo makes it easy to keep the software up to date).
    The package manager will do the rest.

    For the distros that do not use RPM or DEB, the software vendor should also release a BIN version.

    Of course, this is NOT an issue for OPEN SOURCE projects. The maintainers for the distro can compile the source and package the binary to suit the distro’s binary package system.

    Better yet – forget binary pacakges and compile the software yourself. That is my preference. Long live Free Software and Open Source Software!

    Rob

  23. eco2geek

    In contrast, on Linux, I click on the .bin, which downloads the file and.. up pops a text editor showing me a /bin/sh script. Nice. Fortunately, I know what that is, so I save the script to a file on my desktop. I double click the file, and.. up pops a dialog box telling me the file isn’t executable.

    Wha…hmm…huh? Since you’re Debian’s founder (and it’s got a great package management system!), I know you know better than that — but some reading might not. You know better than most you’d pull up a console, make the .bin executable (or run it with “sh”), and then run it. The last thing you’d do is double-click, then do a “save as” in a text editor.

    You also know this is a security feature, as Permafrost91 said above, not a bug.

    and I hope I don’t have to explain why cd’ing to ~/sun/Creator2_1/bin is not an answer

    Why isn’t it an answer? Is it your goal here to make it so people don’t have to learn how to use their operating system? (You do know Debian’s reputation, don’t you? :-)

    Microsoft has its own, well-documented installation system built into Windows. You double-click on a binary blob (usually *.msi) and the installer starts. There are other installation systems developers can buy for Windows.

    Linux, on the other hand, doesn’t have a built-in installation system that works across various distributions — and, as you mention, there’s a reason for that. If you took the unpacked binary libraries an application depends on (like your “compat-libstdc++”) that are built for Debian, and put them in the “correct” directory on openSUSE, they probably wouldn’t work.

    Which is why, when you go to download Opera for Linux, for example, you get a pull-down menu asking which of 15 different distros you might be running.

    Good luck with your efforts. It would indeed be nice if there was a common installation system for Linux that worked across various distros. And the debate about running proprietary software on Linux is only going to heat up as more people adopt it.

  24. Simon Peter

    “Forget binary pacakges and compile the software yourself” is not an answer to “end users”. Compiling software involves development tools, libraries and knowledge, and usually lots of time.

    To the developer, binaries without the source are worthless.

    Obviously, Ian understood that early on when he created debian. This truth drives the Open Source/Free Software movement.
    There is a second, and equally important, truth however:

    To the user, source without working binaries is worthless.

    Ian also understood this truth as well. When he created debian, he addressed both truths: After all it’s a collection of binaries, along with source.

    The concept of distributions and pacakge managers works very well in a centralized environment, in a world where the distribution maker and/or a system administrator centrally manages many computers, and where the end users have little choice besides what the distribution and/or the administrator provide.

    In a world of desktop/notebook users who have no administrator, however, the distribution model works best for a “base system” which provides a standardized platform for end-user applications to run on top. The purpose of an operating system is to provide the infrastructure for the user to run the software he cares about, be it Open Source or not.

    Seems like not everyone understands that as well as Ian does.

  25. David

    The fact is: some people use Linux because it works well for them. And other folks use Windows because it works well for them, too. They have specific niches. Trying to change the OS foundation just to please end-users on Linux side, or power users on the Win side is insane.

  26. Damian

    After one month of installing Ubuntu,I still haven’t been able to set up a dial up connection.I have to subscribe to a high speed connection very soon,and if after doing that I can’t get a connection,then it’s BYE-BYE.I really don’t want to use windows anymore,but what can I do.I can’t even get my dvds to play.

  27. Mickey Knight

    Well, if you know nothing about computers and want to stay that way, do the Windows thing. Linux takes a little more knowledge. Yes, Virginia, you must know how to chmod a+x, ./jklfkjdfkljsd.sh and other geeky things, but with knowledge comes power. It is satisfaction enough to know that I got the Sun studio working without too many trips to the man page, but why would you want linux to be cookie cutter windows?
    To make Linux easy, you must dumb it down, like Windows is. Windows is easy to use as long as you want to do as Microsoft says, if you need to do something that Redmond hasn’t considered useful, then you have to spend just as much time and money in Windows learning how to do the really cool stuff, just like Linux.
    You gave one example of a Linux program install verses a Windows program install. What about compiling a non Windows ported version of a gnu program in Windows, you must really jump through hoops to do that, but of course, would be way to much trouble. Just keep plugging and praying and when you get that cryptic error message and a request from Microsoft to report the error, just do as your told and you will be fine.
    NOT.

  28. david

    I agree with the original post, most not open source software for Linux is out of reach for average Joe because of impossible installation maneuvers. World needs a competitor for the monopoly and I have been hoping one could be Linux. But since community seems to think open source is not for everyone, Monopoly keeps ruling.

  29. John Cockroft

    A few things here.

    Most Linux applications tend to be installed from a repository (such as for Ubuntu, Debian, openSUSE or Fedora) and as such are much easier than Windows applications to install.

    SMART (http://susewiki.org/index.php?title=Smart ) is absolutely superb and easier than using Add/Remove programs in Windows (i.e. you can actually install applications from here.)

    For stand-alone applications such as Java Studio Creator then perhaps it would help to move over to using autopackage (http://www.autopackage.org/docs/howto-install/). IMHO this is definitely as easy and comparable to installing a Windows application via some form of Setup.exe file. Contrast your experience to installing Xara Extreme (http://www.xaraxtreme.org/download/ )

    1) Download the file (http://downloads.xara.com/opensource/RecXaraLX0.7_rev1692.package )
    2) Right click (in Konqueror or Nautilus) and make it executable.
    3) Double click on the .package file to run it.
    4) Enter the root password (so that it is installed for system-wide use)
    5) Click on your KDE or Gnome menu item and use it!

    I have come across plenty of Windows programs that were terribly difficult to install or uninstall (try uninstalling Microsoft SQL Server 2000 after you have installed Microsoft SQL Server 2005 Express as well and see how far you get!)

    As Kurt said above, Klik is just as good (especially if you might want to just try something out).

    I have spent years working (and fighting with) Windows software and it is definitely no worse or better than Linux based software – just different. Different does NOT necessarily mean more difficult.

  30. Jason

    I have a couple of points here.

    1. What about documentation??? Aren’t you supposed to read Install Docs and Release Notes before you install ANY piece of software on ANY OS ?!?! Pardon me, but you do deserve to get screwed if you install stuff without knowing how to install/set it up properly and if you do not know what are the required components for that software to function properly. If you just read the install instructions, I am sure Sun Studio comes with that, there would not be any “surprises” to talk about.

    2. Point #1 is not limited to software installation. If you do not know some basics on how to maintain your system (Win and/or Linux) expect troubles sooner or later. If you are practicing a “dumbed down” approach you should expect a dumbed way down outcome.

  31. Simon Peter

    “Aren’t you supposed to read Install Docs and Release Notes before you install ANY piece of software” -> this is why you shouldn’t be forced to “install” software in the first place. To run an app, you shouldn’t need to do more than you need to do play some mp3 file: (double)click on it. No need to “install”. (Of course you should read the docs anyway, if you are interested in the inner workings of the app. But hey, who reads manuals.)

  32. Randall Walls

    Dear god – why does this article sound like it was written in 1999? Has the author ever used Ubuntu? Has the author ever even heard of Ubuntu???!!!

    I install software all the time without ever having to open a shell, and that IS the state of linux software installation today. Are there some binary packages that require a bit more work? Yes, absolutely. But I would say that these are the exception, not the norm. Average Joe user could spend years on linux and never open a terminal.

    Honestly, perhaps a little research would yeild a better article, or at least one that sounds like it was written IN THIS DECADE!

  33. Simon

    @Randall Walls

    I suspect that Ian Murdock has indeed heard of Ubuntu, given it is based on the distribution that he founded.

    Installing software from a distro’s repositories is easy. Installing other software can be tricky, for a newb. I do think the ISVs can do more.

  34. Jason

    To Simon Peter:

    I read manuals. Not all the time, and not from the first word down to the last one. But it can save you from some troubles down the road. At least, I do recommend reading the manual if you install something for the first time ever.

    “you shouldn’t be forced to “install” software”.
    How can you go without installing software? Either it is an entire OS or a specific package? Double clicking on MP3 file is not the same as installing a software piece. But you should have a proper program (or a plugin) in place to handle your MP3 file (just like with any office docs or a java file in case of this article) . In this sense, you’re forced to install software (unless you paid somebody else to do it for you).

  35. pontke

    Having been a developer of InstallShield scripts back in the 90’s I know that the install experience can be made just as frustrating for Windows. The issue is not Linux. The blame cannot be placed on the operating system but on the developers of the product you are trying to install. The problem is that developers spend more time and effort making the install process clean and user friendly on windows but just slop something together last minute for linux. Could a company release a product that installs only by DOS batch files on Windows? Sure they could. Could a company release a product that has a nice user friendly installer on Linux? Yes they could. But why don’t they? Maybe because they want to send a message that linux isn’t worth their time. We need to change their opinion of Linux. Linux itself doesn’t need anything changed.

  36. Kurt Pfeifle

    @Jason:

    You seem to have a “traditional” concept of using software. You asked: “How can you go without installing software?”

    Look at klik. The idea is to separate the base Linux system from end-user applications and to create “application bundles” represented in 1 file (which embeds all exectuables and direct dependencies in the form of a compressed file system archive). And the idea works, as klik proofs.

    This concept also makes the software easy to relocate (to a different directory, a different medium such as USB stick or CD-RW, or even to a different machine) and run it from there.

    In a sense, that indeed means “installation” of software (as we know it) is no longer there. Just take one file and run it. That file will not mess with your system (overwriting other library versions with its own; conflicting with libraries that are currently installed).

    The klik design principle of “1 application == 1 file == 1 click to download+run” (where ‘download’ of course isn’t required for next ‘runs’) is a very sound one. klik’s current state of implementation of course can be equipped with much more sophistication and polish in the future — but for now we’d like to know how people do like it. People who have actually tried it at least once, I mean….

  37. kuriharu

    You’re absolutely right. I like using Linux, but problems like this keep me from ditching Windows. It frustrates me to no end that software is so hard to install on Linux. You’d think somebody would have come up with a better way.

    For all of Windows’ flaws, painful software installs are not among them. While this does open the door for installing something sinister, it does allow most users to install software and work. When I encounter these types of issues in Linux, I spend more time configuring my software than actually using it.

  38. Jason

    The product installers. Good issue. But truth of the matter is the vast majority of desktops at the present moment are MS windows. It is not worth to invest time/money into something that targets only a small fraction of end users (multiply that by variety of Linux distros/package managers/desktop environments).

    “Linux itself doesn’t need anything changed.”
    This kind of thinking will prevent it from being a major player in the desktop market. The masses will not change for Linux. Period.

    Also, Linux has feeling of “work in progress” with the continuous bug fixes and patches. It is good that bugs are getting fixed, but they should not get into a stable or a distribution release to begin with. If you look at this issue of distrowatch.com, you’ll find that many of popular distros had their share of issues. A bug fixed on a bunch of corporate web servers does not get the kind of visibility it would get on millions of desktops. You can easily find web sites that are not handled properly by Linux plugins from the freshest distros (while FireFox on windows does it just fine even without the latest version of the plugins). A document created in MS Word with complex layouts still will not look the as in OOWriter. So, Linux is in need of polish to become a major desktop player and “replacement” for the other OS. Sorry for getting away from original subject.

  39. Michael Evans

    I agree with pontke. I’m really an end user, maybe a bit more sophisticated than some, but an end user, not a programmer. In my experience, I’ve encountered as much frustration/satisfaction installing Windows applications as with Linux. And sometimes I do install Linux applications from source. I don’t see why its so vastly more difficult to type ./configure, make, make install than to find install.exe or setup.exe, run it, and type in a 25-digit serial number. Yes, you have to deal with dependencies for the more complex applications, but I’ve always been able to fix missing/outdated ones. It’s rarer in Windows that an application will break something by overwriting a particular .dll, but when it happens, it’s hard to fix. I guess I just feel more secure watching compilation/install text scroll by on a console than an animated bar graph indicating “install progress,” wondering what in the world is going on in the background.

  40. Jason

    “The klik design principle of “1 application == 1 file == 1 click to download+run” (where ‘download’ of course isn’t required for next ‘runs’) is a very sound one.”

    I like that idea too, but isn’t that the very thing about windows that makes it so insecure? You click on a thing and it launches installer from somewhere??? It sounds like giving admin rights to a regular user. Or I am not quite getting the idea…

  41. Simon Peter

    @Jason:

    a) klik requires no root rights, so the software can do less harm than any deb/rpm you download “from somewhere”

    b) klik doesn’t download “from somewhere” with “somewhere” = “random”

    So no, what makes Linux more secure than Windows is not the fact that applications are more cumbersome to install.

  42. Jason

    “I don’t see why its so vastly more difficult to type ./configure, make, make install than to find install.exe or setup.exe”

    It is not that more difficult, but do you really suggest that average Joe-The-User compiles a program from source code on his/her low grade PC? How long will it take to compile an average size application? Or how would you educate him/her to make sure they got proper version of gcc and glibc ??? My answer is: the end user should not need development tools to run programs. It is better that Linux vendor/reseller takes care of it.

  43. JAS

    I have been using Linux since 96, I still dread/dispise installing software. I love Linux! But I hate installing new software on it though. Many times I get to point where when trying to install new software I receive message stating I need a .so, lib or some other file. I go get it only to be told I cannot replace the one I have because other programs require it, I try to upgrade them only be told again that they need new files…so I wait until a new distro comes out and hope that the program I want works on it….I have never upgraded the kernel or the os, always a new install, at least 200 times, not exagerating.
    I think that the installs should include the files it needs, or at least offer a couple of different downloads for those of us who have a life other than trying to figure out an try to learn how to install every app. I am not a programmer, I have no desire to learn how to, and I have no need to. I do not want to learn every program’s config options, do I have this installed, compile –with blah blah, I mess it up every time any how and end up doing it 4 -10 times, 3-4 days later (for one program that I do not even know if I can make it do what I am hoping it can) ….oh and RTFM It is a simple program, why do I need to know what files I need to compile with it…my head swells, I walk away ranting, only to keep coming back to it because in the end I still think it is far better than Windows. I do love Linux but Hate installing programs.
    Ciao

  44. martin jasny

    I am a software developer who does not like to muck around with operating systems and environments too much. I like to program. I work full time with Windows and part time with Linux. I want to produce my results quickly and efficiently. For this reason I still prefer Windows, but I hope I can move to 100% Linux one day. These guys at MS are just getting crazy. Just look at the bloated Vista with all their anti-piracy-how-to-tell-pull-out-your-credit-card gadgets. Here is my prophecy: The next Windows version will be called Windows-Sharia. The only Windows-authorised PC will be a sealed-off device with a screen and two holes. You will have to stick your hands into the holes to operate the PC. If you copy software illegally, then the Sharia will chop your right hand off.
    This is why I think the Klik and Zero Install (see the links above) are a real blessing for Linux. Apt-get is great, but it can sometimes screw up your PC hopelessly.
    Regards – Martin Jasny

Comments are closed.