[Leaplist] FSM Essay on Linux Software Installation

William A. Mahaffey III wam at hiwaay.net
Tue Jun 23 23:04:10 EDT 2009


On 06/23/09 17:31, Bruce Metcalf wrote:
> Gang,
>
> Copied below is an essay from this week's "FSM Newsletter" about
> software installation in GNU/Linux. To this neophyte, non-programmer,
> non-expert, he asks some reasonable questions, and outlines a few
> possible answers.
>
> I'd like to hear comments from those with more experience than I before
> I go say something stupid based on it.
>
> Bruce
>

<snip>

>
>
> It's 2009, and GNU/Linux is still plagued by all of these problems. Even
> Ubuntu, a distribution I love, is plagued by all of these issues -- and
> we are talking about a distribution aimed at end users!
>
> # What the story should be
>
> The story should be very simple:
>
> * Users should be able to install software even without being root

Sounds a lot like M$FT, far from visionary, security problems, etc. ....

> * Users should be able to install different versions of the same
> software immensely easily

judgment call, how easy is easy, you can install stuff in /usr/local and 
in your home directory & use either (if you know what you are doing, 
acknowleged as 1 of the things this guy is complaining about)

> * Users should be able to run either their own version of the software,
> or the one installed on the system (if any)

Same reply as above (& same caveat) ....

>
> * It should be possible to download and install software even though it
> doesn't come from an official repository

even for different architectures (32-bit, 64-bit, possibly different 
endianness) ???

> * Software just needs to work -- unchanged -- even if it's a bit old and
> it's run on a newer distribution

*AGREED* !!!! & one that I am continually amazed at how chronically it 
fails ....

> * It should be possible to "give" a piece of software to a friend by
> simply dragging an icon onto a memory stick

even different architectures (again) ????

>
> All this is true with Apple's OS X. They got software installation just
> right -- although a few programs, lately, seem to come with an ugly
> installation process.

yep, w/ exactly *1* set of hardware :-). I have 2 SGI's on my network, & 
even then they have problems getting everything to just work, although 
they come much closer than Linux. The great (malignant ? ghastly ? 
insane ?) diversity of different hardware items & combinations makes it 
extremely difficult to have the (mostly) seamless usability that SGI & 
Apple have.

>
> # Where does the problem come from?
>
> Don't get me wrong: I think Ubuntu is a fantastic system, and gets a lot
> of things right. It think the problem stems from an issue that is more
> philosophical than anything else.
>
> The issue is at the heart of this article, and deserves to be put in 
> bold.
>
>> **Every GNU/Linux distribution at the moment (including Ubuntu)
>> confuses system software with end user software, whereas they are two
>> very different beasts which should be treated very, very
>> differently.**
>

This is true, but it is fairly difficult to give users the freedom to 
install *ANYTHING* & still guarantee that the rest of the system will 
still work OK


<more snippage>


# Four steps to fix the problem
>
> I can't really fix this problem. It will take a lot of effort, and a lot
> of courage from major players to even start heading in the right 
> direction.
>
> The first step, is to face the truth and admit that there is a problem.
> This is the aim of this article, which -- I hope -- will resonate within
> the GNU/Linux community.
>
> The second step is to set out a path which might eventually lead to a
> solution. This is what I will attempt to do in this article. The
> solution will be generic and I will try to borrow from as much existing
> software as possible.
>
> The third step is to improve on the proposed solution; this is tricky,
> because there needs to be the right balance between too little and too
> much planning. It also requires somebody to coordinate the discussion,
> able to lead everybody towards a _full_ solution. My secret dream is
> that somebody from Canonical, or from Red Hat, would do this.
>
> The fourth step is implementation. This is the hard part. I am sure that
> implementing it will reveal problems, limitations --and more.
>
> # My own semi-technical take
>
> Here is my idea. I haven't programmed in C in _years_; this means that I
> might make some silly mistakes. However, I am confident I can provide a
> good starting point.
>
> Here we go.
>
> * There should be a comprehensive list of libraries, and versions,
> expected to be available with the operating system. Today, GNU/Linux has
> quite a number of desktop installations and we have a pretty strong idea
> of what a desktop system seems to expect. This list should include both
> Gnome and KDE. This should be a cross-distribution list. To do this,
> maybe a distribution (Ubuntu?) might write a list, and then others might
> follow. Every two years or so a new "version" of the super-system might
> come out with an updated list of libraries and versions. Note that
> applications should do their best to work on current systems, _and_ on
> the previous one. This would mean that newer applications would have the
> potential to work on four year-old systems.


this sounds a bit like the registry in M$FT, maybe a re-think ??? :-)


>
> * There should be a well defined directory tree that contains a whole
> application. It should include 1) the executable 2) the icon 3) the
> "lib" directory with extra libraries not listed in the point above and
> 4) anything else. This directory should be expected to be read-only. The
> directory could have the extension `.apx` and have a file called
> `application.xml` in it.
>
> * In case libraries are provided, the system should add them to the
> library path _before_ the system ones. So, if a program needs a specific
> library that is not listed in the first point, or if for some reason
> needs a different version of the "stock" libraries then:
>
> * GNU/Linux file managers should show those directories and their icons
>
> * You should have different directories for the different versions of
> executables and libraries according to the processor.
>
> * The operating system should keep track of the applications available
> (each folder with extension `.apx` and with a `application.xml` file in
> it could be expected to be an application) and their locations. This can
> be done *easily* with triggers in the kernel when a file is moved or
> copied etc. The system should allow two different copies of the same
> application in two different directories.
>
> * The operating system should offer a way to upgrade all the existing
> applications (since it knows what's on the disk and what version it is).
>
> * There should be a security system where whoever distributes the
> application is able to "sign it" -- users should be able to view the
> signature before running it. This can be extended as far as we want to
> take it.
>
> * The distribution should have the option to hide completely, in its
> package manager, any end user applications. Yum/apt-get/synaptic and
> such like should still be used to keep the system up to date -- and not
> just for end-user programs.
>
> * There should be a "recipe system" like the one available in GoboLinux,
> where a piece of software is compiled making sure that it works in its
> own directory. Here, looking at GoboLinux did would be immensely
> beneficial. Note that providing a working recipe for each piece of
> software would be a big task, but it would be limited to end-user 
> software.
>
> Whoever manages this system should look closely at what OS X does,
> because OS X's engineers had the exact same problems to solve -- and
> solved them successfully.
>
> # Conclusions
>
> This article might start a revolution -- or it might just be yet another
> article complaining about installing software in GNU/Linux.
>
> I have a dream. A dream of a world where people distribute applications
> as bundled directories, and these bundles work in Ubuntu, Fedora, etc --
> and they _keep on working_ when a new version of the operating system is
> installed. A world where software installation in GNU/Linux is _easy_
> and applications can be swapped by simply copying them onto a memory 
> stick.
>
> I wonder if I will ever see this in GNU/Linux?.
>
> _P.S._
> _Some will say, "if you like the way OS X does things, use OS X". My
> answer to that is, "I like the way OS X does things, it works, it solves
> problems, but let's rather be inspired by it and improve it"_
> _______________________________________________
> Fsm_com_nl mailing list
> Fsm_com_nl at freesoftwaremagazine.com
> http://centos555208.aspadmin.net/mailman/listinfo/fsm_com_nl
>
>


-- 

	William A. Mahaffey III

  ----------------------------------------------------------------------

	"The M1 Garand is without doubt the finest implement of war
	 ever devised by man."
                            -- Gen. George S. Patton Jr.


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.



More information about the Leaplist mailing list