Linked by Thomas Leonard on Tue 16th Jan 2007 00:32 UTC
General Development In the Free and Open Source communities we are proud of our 'bazaar' model, where anyone can join in by setting up a project and publishing their programs. Users are free to pick and choose whatever software they want... provided they're happy to compile from source, resolve dependencies manually and give up automatic security and feature updates. In this essay, I introduce 'decentralised' installation systems, such as Autopackage and Zero Install, which aim to provide these missing features.
Thread beginning with comment 202488
To read all comments associated with this story, please click here.
RE: the problem is...
by twenex on Wed 17th Jan 2007 01:12 UTC
twenex
Member since:
2006-04-21

Oh boy. Where to start?

"[The problem is]... that every single distribution of Linux is effectively a unique Operating System - it would be like having several hundred versions of Windows or OSX, each with varying levels of binary compatibility.

Er, except not. The differences between distros of Lovely Linux that use the same package managers (and most use only one of three or four package managers) are an order of magnitude smaller than the differences between Wonderful Windows versions or Mac OS <9 and Mac OS X (Can't speak for versions of OS X as I've not used many).

This makes it very difficult for developers, especially those who have valid reasons for keeping their source code closed, to write software for Linux.

I've not seen a valid reason for keeping source closed yet, unless maybe it's national-security-related. (And even then, as in the recent spats between the US and UK over their fighter-jet software, some degree of openness may be required). If you can introduce me to one, however...

This is why most commercial software written for Linux is written for Red Hat, Suse or occasionally Debian - as far as commercial software houses are concerned, there are no other distros, and for most, Red Hat is the only distro (Red Hat=Linux, all other distros != Linux in their view).

Maybe so; however, I've seen commercial software run on Gentoo. I suspect you could get it working on Slackware with no more effort than a "Slackwearer" [sic] would be able to handle. I suspect you will find that the reason so many software houses act as if Red Hat = Linux are:

1. That for many moons (due to restrictions on trademark use) it was indeed packaged by third-parties as simply "Linux";

2. That in the business sector it outweighs use of SuSE, its nearest competitor, by a factor of 8 to 2.

Package management tools like APT are a good idea for managing core OS updates, but a really bad idea for the installation of apps.

Why?

This is one area where Windows gets it pretty right - the OS comes bundled with very few applications, and the apps it does come with are all written and maintained by the vendor.

On the contrary, it's all wrong; Magical Microsoft OSes are barely usable on a clean install (ok, technically the OS's are barely usable with the computer fully loaded, but you know what I mean).

MS manages the core OS and these packages with its own package manager (Windows Update). Many apps you install on windows have their own automatic update features etc..

Which means you have a million and one different programs to search for when you (re-install) the OS, and yet another update program screaming at you when each of the apps wants to be upgraded; if Lovely Linux systems did it this way they would be criticised for "a million and one different upgrade systems". (But unlike the there's-a-million-and-one-apps-to-do-the-same-thing, argument, it would be valid.)

Where Linux distros get it wrong is by bundling sometimes thousands of apps with the OS, and then trying to manage them, which is simply impossible to do properly in a centralised way.

Well, Gentoo and Debian seem to manage this Herculean and impossible task. I'm not saying they're aren't mistakes and problems; I'm saying that Windows is not the Wonderful Be-All-and-End-All the Worshippers at the Altar of Good Gates say it is.

It also has the potential to backfire on developers and users alike - say you install Gimp for the first time on one distro and it is horribly buggy, due to poor packaging. Your first impression of the program is not very good, and most people don't give things another chance, so that user is going to move on to something else, even though the original developer had nothing to do with the bugs that were created by a poorly packaged distro. Thereby one program gets a bad rap because of one distro. The ISV should shoulder the responsibility for the app, and get the kudos as well, not the distributor/packager).

Remember DLL hell? As for "one distro's package manager buggering up and casting doubt on the quality of all the available versions of software X," I take it for granted:

1. That people intelligent and inquisitive enough to be investigating Linux learn very early on that these problems can be (a) temporary and/or (b) limited to one distro;

2. That these problems are by no means Limited to Linux and even Worry users of Wonderful Windows.

3. That for reasons 1 and 2 your Windows-worshipping FUD is invalid.

4. That a person sufficiently (and justifiably) outraged by the (lack of) quality in a Windows OS will also be responsible for the non-purchase or use of Windows-only apps. The user informed by a company that wants said user to use said apps can easily retort that he wants said company to port said app.

Linux distros need to stop trying to bundle 374 types of kitchen sink in the distro, and instead focus on shipping a small, stable, compact Operating System with a limited set of basic software (browser, media player, text editor, file manager, image viewer and perhaps an email client),

Newsflash - there are distros that do this. Even fully loaded, however, few Linux distros I've seen contemporaneous with any version of Wonderful Windows take up as much space as vanilla installations of same.

For me, the ideal Linux distro is one that comes with a limited set of core functionality, an uncluttered, simple but powerful and tightly integrated GUI (eg XFCE, which I am very fond of), and the ability to install signed drivers and software from the Vendor's official website. It should not take up more than a couple of hundred megabytes.

You really think that by advocating Slackware/DSL/Puppy Linux, you are speaking up for the "Common Man"?

I like to have a single program that has a comprehensive feature set that does one thing well, rather than using 15 different programs to perfrom only part of a task at a time.

Not the Linux way. Though of course you can use OO.org if you so choose - and many of us do. Nevertheless, I'm not going to sit here and let you (or anyone else) dictate my choice of app, thankyou.

[/i] Since I rarely have more than a dozen or so apps installed over my base OS (at this point on WinXP as my main OS), I don't need any tools to manage my installed software, and since I use tools with comprehensive functionality, I don't forsee any need to change this by installing hundreds of little bits and pieces. [/i]

I wasn't aware you were Everyone. I also wasn't aware Wonderful Windows programs didn't spread cute little bits of themselves all over the filesystem (particularly if you attempt to install them on any drive other than C:) and the registry.

Linux as a whole needs to simplify, rationalise and become more organised and integrated to really take off in the way many of us would like it to.

Translation: Linux needs to become Windows. Except that Windows is not exactly simple (let alone rational), and it's "package management" is even LESS "organised and integrated".

Seriously, if you want to use Windows, kindly do so - and stop trying to turn Linux into it.

Reply Score: 3

RE[2]: the problem is...
by Obscurus on Wed 17th Jan 2007 02:44 in reply to "RE: the problem is..."
Obscurus Member since:
2006-04-20

"I've not seen a valid reason for keeping source closed yet, unless maybe it's national-security-related. (And even then, as in the recent spats between the US and UK over their fighter-jet software, some degree of openness may be required). If you can introduce me to one, however..."

Uhm.. it's a pretty big one actually - it is called making a profitable living form the software you write. While some software is well suited to being commercially provided as FOSS on the basis of selling support for the software, in most instances this is not the case. And the model of "we will give you the app + source code for free, and we will sell you support" creates an inherent incentive for the software developer to deliberately create substandard software that requires users to purchase support. Good software should be so elegant and simple to use, so well written and documented that buying support is not necessary.

Not every software developer can afford to spend their spare time writing software, and commercial software companies need a stream of revenue to fund the salaries of programmers. Closing the source code prevents others from:
a)reducing your competitive advantage by using ideas you may have invested a lot of money developing
b)stealing the focus from a project by forking and fragmenting it (as has happened to a lot of OSS projects, particularly Linux).

"On the contrary, it's all wrong; Magical Microsoft OSes are barely usable on a clean install (ok, technically the OS's are barely usable with the computer fully loaded, but you know what I mean)."

No, while I have many gripes with Windows, I am very glad that they provide me with a fairly clean slate to start from - provided I have a web browser, I can add everything I need, and I have little to remove that I don't. I have quite a bit of control over it. I can also slipstream an installation disc so that I can set it up how I like from a single installation.

Now, there are plenty of minimalist Linux distros that also come with a similarly blank slate, but the problem is that I can't easily and painlessly download the few programs I want to use and install them without having to go through any number of time consuming or irritating processes. If you know of a distro which comes pre-installed with Klik or autopackage and a basic gui + browser and little else, let me know.

"...your Windows-worshipping FUD is invalid."
Where did you get the idea that I was a Windows worshipper? Certainly, there are things I like about Windows, but there are just as many that I don't (such as the needless pandering to backwards compatibility, bulky installation size, the GUI etc). Similarly, I very much enjoy using Linux (Xubuntu is my preferred distro at the moment), but there are a number of things that shit me about it (and I have already discussed most of what I feel can be improived in Linux). Same with OSX. Nothing is ever perfect, and openly dicussing the good and bad points of each operating system without fear or favour hardly constitutes FUD.

"Nevertheless, I'm not going to sit here and let you (or anyone else) dictate my choice of app, thankyou."

Where was I dictating what apps you use? Of course, you can use whatever you like, and nothing in what I have said would prevent you from doing this. It sounds like Linux as it is suits you well, and that is fine. I am talking about the one thing that is really holding back linux from widespread adoption (over-reliance on package managers coupled with poor binary compatibility between distros).


"I wasn't aware you were Everyone. I also wasn't aware Wonderful Windows programs didn't spread cute little bits of themselves all over the filesystem (particularly if you attempt to install them on any drive other than C:) and the registry. "


I never said I was, however, the fact that Windows and OSX remain the two most popular OSes has as much to do with Linux's fragmented and unfocussed chaos as it does with dodgy OEM bundling on the part of Microsoft and Apple.

And good Windows programs don't spread little bits of themselves around the PC, many don't even use the registry (most of the apps I use are self contained in their own folder)(granted, there are plenty of badly designed Windows apps that do horrible things to your system). Linux apps tend to spread themselves across a whole bunch of directories (something GoboLinux aims to fix), so I don't think you can honestly claim that Linux (in general) has an advantage over Windows or OSX on this point.

"Translation: Linux needs to become Windows. Except that Windows is not exactly simple (let alone rational), and it's "package management" is even LESS "organised and integrated"."

No, it doesn't need to become Windows, rather it needs to become more focussed and streamlined, and simpler to use by people who have better things to do with their time than fiddling with command lines and .conf files.

Windows'package management (Windows Update) is highly integrated into the OS, only deals with the core Windows components that ship with the OS, and doesn't affect other third party apps. You couldn't make it more organised or integrated.

As I said before there are things about Linux and Windows that I like, and if you combined them into a single OS and discarded all of the bits I don't, I would have an OS I could be very happy with.

I prefer to manage my apps my self, and let the OS take care of itself. Hence my desire for an operating system with an XFCE-like DE that keeps the apps separate from the core OS functionality.

Edited 2007-01-17 02:47

Reply Parent Score: 2

RE[3]: the problem is...
by John Nilsson on Wed 17th Jan 2007 22:37 in reply to "RE[2]: the problem is..."
John Nilsson Member since:
2005-07-06

And the model of "we will give you the app + source code for free, and we will sell you support" creates an inherent incentive for the software developer to deliberately create substandard software that requires users to purchase support

You are probably correct. Concider this:
Usability: "The extent to which a product can be used by specified users to achieve specified goals with effectiveness, efficiency and satisfaction in a specified context of use."

So to design a usable product you have to spcify its users, their goals, and the context of use. The sharper this specification is the better you'll be able to design a usable software.

This means that you have to have quite a narrow focus to create a really usable software.

Now, if your business model is to sell software, the cheapest way to produce it is to copy allready created software. Thus the way to earn money is to create a cheap "orignial" that can be sold to many customers at a high price.

The "many customers"-part isn't exactly compatible with the "specified user, goal and context"-part though. So you compromise and try to creat cheap software for "all users, goals, and contexts". Which in the end means unusable software.

So the "selling copies of proprietary software" isn't really the way to "[g]ood software [that is] so elegant and simple to use, so well written and documented that buying support is not necessary" either.


Now if you base your business model on producing cheap software that is so narrowly focused that no competitor could use the same copies (because you allready saturated the market for that software), the bast way to gain profit is to share a common platform for base functionallity with your competitors and be the best producer of narrowly focused software based on that platform for a select niche of users, goals and contexts.

Reply Parent Score: 2