LWN.net Logo

Distros, not ISVs, more deserve some help

Distros, not ISVs, more deserve some help

Posted Aug 1, 2008 7:50 UTC (Fri) by coriordan (guest, #7544)
Parent article: Will LSB 4 Standardize Linux? (InternetNews)

Standardisation is a good thing, but the end goal should be to respond to the requests of
distros, rather than making distros bypassable via write-for-LSB-run-anywhere.

I think the distro maintainers are one of the best parts in the process of free software
distribution.

Proprietary software requires you to get your software from multiple vendors because each
software developer reserves the right to the the only person distributing their software.  The
end result is that the software does not install in the way users want.  Instead, you get
tonnes of desktop icons and menu items and applications fighting to be the default application
for a slew of file formats.

So I'd say that it's the distros, not the ISVs, that should be the focus of LSB if LSB wants
to help the free software community.


(Log in to post comments)

offtopic link

Posted Aug 1, 2008 8:39 UTC (Fri) by coriordan (guest, #7544) [Link]

This issue reminded me of something RMS wrote in October 1998:

I've searched for that essay many times, so now that I've found it I want to pass it on :-)

Distros, not ISVs, more deserve some help

Posted Aug 1, 2008 12:54 UTC (Fri) by k3ninho (subscriber, #50375) [Link]

Perhaps one direction would be to have ISV's use a "LSB distro" against which they can test
their packages.  If it works on the LSB edition, it should work against any other GNU/Linux
distribution also certified to meet the LSB.

However, I doubt that the distributors will agree easily about the minimal content for such a
distribution.  These days, such an idea may even be moot if the QA process can test against VM
images of Debian Stable, Ubuntu LTS, SUSE and Red Hat Enterprise (it's not like there's
licensing costs...).

K3n.

Distros, not ISVs, more deserve some help

Posted Aug 1, 2008 15:28 UTC (Fri) by drag (subscriber, #31333) [Link]

The same thing that makes life hard in Linux for ISVs and proprietary software makers to
support Linux is the same things that make it hard for open source developers and users to use
Linux.


For example:

I like games. I want to play around with video games and I want to play around with making
simple games. It's something enjoyable and fun to do.

Unless, of course, your running Linux. 

Then it's a huge PITA. Language bindings, boost, Python, various libs and all that are used in
all sorts of games or game engines. Very complex levels of dependencies and compiling versions
for your own distribution are very very difficult.

No distribution will support everything you need and even if they do the build-time options
are probably not going to be correct and probably not the correct versions either. 

I have spent _days_ trying to get this or that to compile and to install. Over and over again
I've tried to do this with all sorts of things with Crystalspace or Ogre3D and all of that. 

All of these are open source projects, all of these have developers that use and are fans of
Linux and come from Linux oriented backgrounds.

You know what I would have to do to get it to work in Windows?

Download a EXE and run it. At worst, 2 or three.

That's all. 

Days and days of struggling with Linux and dependencies and hell and failing at it, vs
spending 10 minutes to download a executable. 

(And, of course, that isn't counting the low-quality of Linux 3D drivers which usually end up
thwarting me even after I get everything built.)

So you know most of their users are not going to use Linux, they are going to use Windows.

I've even thought about dual booting Windows just so I can play with open source software.

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

Distributions work by simply brute forcing the software into submission. They spend hundreds
of man-hours compiling, testing, and bug hunting. That's how it works and it's the only way it
works.. Through simply massive amounts of time and effort. 


And not only that but it's all duplicated. 

The same amount of work that is required to get Debian's high quality packages still needs to
be entirely duplicated for Suse, Redhat, Fedora, Ubuntu, Mandriva, etc. etc.

The only reason Ubuntu works as well as it does is because of the massive amount of personal
effort Debian developers put into making Debian packages work, and even then because Ubuntu
doesn't care so much about package compatibility they screw things up so that their 'stable'
system is consistently buggier then Debian's 'testing'.

There is very little logical reason for this! Why, if Debian does things well and Fedora does
things well and Redhat does things well... Why on earth is Suse or Ubuntu developers forced to
recreate all of that on their own?

Even if they use Fedora's scripts and packages as the basis for things they use it's still a
huge PITA to _port_ it over to Ubuntu and all sorts of variables inflict all sorts of bugs and
broken behavior on end users.

And, again, the only way to fix it is just a massive amount of _DUPLICATE_ effort on the part
of every Linux distribution developer out there.


They are all using the same programs, similar scripts, similar versions, same everything. The
only difference is that they have to compile the software and build it into packages.

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


IMO one of the most important things that Linux distributions can do now is work together to
eliminate needless distinctions between them. 

LSB is probably a good start, but it's probably not nearly enough.

Distros, not ISVs, more deserve help -- and can't standardize w/o it

Posted Aug 1, 2008 16:41 UTC (Fri) by krishna (guest, #24080) [Link]

<quote>    
The only reason Ubuntu works as well as it does is because of the massive    
amount of personal effort Debian developers put into making Debian    
packages work, and even then because Ubuntu doesn't care so much about    
package compatibility they screw things up so that their 'stable' system    
is consistently buggier then Debian's 'testing'.    
</quote>     
    
Which is one reason Debian's Filesystem Hierarchy Standard and packaging    
requirements are IMHO the gold [meta-]standard for standardization.  I    
think they got it right when they produced lintian, and flag installation    
and interoperability problems as show-stoppers for any given package -- in    
a way, it's like the US Armed Forces' boot camp -- you come in a tar.gz,    
they strip you down, issue you a uniform (the FHS), teach you the rules    
(the control file), and run you through a gauntlet until you either drop    
out and are not included in the release, or conform and can be guaranteed    
to work with others.    
   
As a result, you do have packages that are almost totally guaranteed to    
work together, with 'almost' being well-defined by a rigorously specified    
set of requirements.  They take interoperability and standardization as    
seriously as everything else should be taken in software, and it shows in    
the conspicuous lack of installation problems in Debian's (albeit delayed)    
releases -- when a package is told to 'install', it knows what to pull in,    
can count on everything it pulls in following the same rules, and the    
installation succeeds.      
      
Assembling a standard for distros that don't believe making    
standardization compatibility an absolute requirement of the distribution    
qa process seems to provide a tool while sidestepping the attitude towards    
standardization.      

Distros, not ISVs, more deserve help -- and can't standardize w/o it

Posted Aug 1, 2008 19:51 UTC (Fri) by drag (subscriber, #31333) [Link]

If it was up to me and I was the king of the universe I'd issue a decree that everybody should
simply drop what they are doing and re-base off of Debian Testing. _Right_Now_.

Debian has the most complete, most consistent, and most bug-free packages anywhere I've seen
in any Linux distribution, bar none. And this is due entirely to the sort of thing you've
described AND the tremendous amount of work and organizational effort that they put into it.

Ubuntu _almost_ gets it right. Their mistake was not working towards backward compatibility.
If everything in Ubuntu was installable in Debian and visa versa that would save everybody
involved a lot of effort and a lot of heartache.

IMO, Ubuntu should be not a entirely new distribution, but a installer and a repository based
off of Debian. A carefully tested and configured default configuration that differs from what
you'd get from Debian's "tasksel desktop".

That is you would end up with something like:
deb http://example.com/debian/ Hardy main contrib non-free ubuntu

One distribution that seems to get it right is 64Studio. They do a very good job of making
their packages work with Debian transparently, while still making significant changes to the
kernel and other important system files.


-------

Of course this isn't going to happen and I am sure it would be a unpopular concept among
non-Debian developers.

Distros, not ISVs, more deserve help -- and can't standardize w/o it

Posted Aug 1, 2008 21:05 UTC (Fri) by michaeljt (subscriber, #39183) [Link]

Ubuntu's marketing is based around being something different and special.  I also often feel
that they stick too many of their limited resources into reinventing wheels their own way,
rather than reusing other people's work well.

Distros, not ISVs, more deserve some help

Posted Aug 1, 2008 19:06 UTC (Fri) by cgyrovague (guest, #21692) [Link]

"Standardisation is a good thing, but the end goal should be to respond to the requests of
distros, rather than making distros bypassable via write-for-LSB-run-anywhere."

I look at it a bit different. In any system, there are places where disagreement is important,
because choice is needed. There are also many areas where using multiple approaches is silly
or trivial - best to pick one and run with it. 

A standard like LSB should be a way to sort between the two. Stuff that's really common gets
rolled into a standard, distro-unique stays unique. 
Then app developers can use LSB to cover the 80% common, and focus
on distro-specific goop. Likewise distros can split effort between maintaining the commons and
keeping their identity-specific bits. 


Copyright © 2012, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds