How the LSB Keeps Linux One Big Happy Family
blackbearnh writes "The Linux Standard Base is the grand attempt to create a binary-level interface that application developers can use to create software which will run on any distribution of Linux. Theodore Tso, who helps maintain the LSB, talked recently with O'Reilly News about what the LSB does behind the scenes, how it benefits ISVs and end users, and what the greatest challenges left on the plate are. 'One of the most vexing problems has been on the desktop where the Open Source community has been developing new desktop libraries faster than we can standardize them. And also ISVs want to use those latest desktop libraries even though they may not be stable yet and in some ways that's sort of us being a victim of our own success. The LSB desktop has been getting better and better and despite all the jokes that for every year since I don't know probably five years ago, every year has been promoted as the year of the Linux desktop. The fact of the matter is the Linux desktop has been making gains very, very quickly but sometimes as a result of that some of the bleeding edge interfaces for the Linux desktop haven't been as stable as say the C library. And so it's been challenging for ISVs because they want to actually ship products that will work across a wide range of Linux distributions and this is one of the places where the Linux upstream sources haven't stabilized themselves.'"
I don't think I've even heard the LSB mentioned in the last five years. (Most of the distro-related squabbling and fretting died down after the number of meaningful distros contracted from the days of Corel Linux boxes at the aisle ends in CompUSA.) If they've been quietly doing something useful all this time, kudos for them!
What I'm listening to now on Pandora...
Source already seems to be an acceptable de-facto standard for distributing programs in the least OS-specific way. Let's stick to that :)
... A lot happier.
I'm really tired of having companies come in with some product that we are "dictated" to use (yes, I work for a US government organization), only to learn that my chosen linux platform isn't supported...
That is a battle I would love to sweep under the carpet with, "why don't you support the LSB?"
Because the LSB is not based on Debian, but it should be. Debian is the OneTrueWay(tm), all other distros are wrong.
The really sad thing is: I'm not being sarcastic. I bet most people reading this will scoff, but what other distro orders things so consistently and logically?
It's for rpm based commercial distros. Debian doesn't fit, and the "alien" program doesn't work on everything.
I've always known it: if Linux eventually kills Windows (somehow), Linux users will just turn "against their own" and start attacking other Linux distros than their current favorite, starting with the big companies that maintain a distro on their own.
But I have to say it's scary to see the symptoms of this so early when Linux doesn't even have some respectable % of the desktop market. This is not a winning behavior for sure.
<teary_eyes>Can't we just get along?</teary_eyes>
"...to create an x86-32 (and maybe, if you're really lucky, x86-64) binary-level interface that application developers can use..."
There, fixed that for you.
Best of luck getting your binary package to run on Linux/PPC, Linux/ARM, Linux/Alpha, Linux/Sparc, etc...
If you want your software to run on multiple Linxen, you need to make it open and let the distros compile it and build the packages. That's it.
Why doesn't the gene pool have a life guard?
I don't care if their "standard" only requires a "sub-set" of the RPM format. Just dump it.
Write the specifications for a .lsb install format.
Then encourage the other package systems to include your format in their systems. I should be able to apt-get install foo.lsb and have it SEEMLESSLY integrate with Debian's package management system. And the same file with rpm -i foo.lsb and so forth.
There, the first problem is solved. People can easily identify the LSB packages and install / remove / upgrade / back-rev / whatever them.
And they would be completely platform NEUTRAL which SHOULD have been their first goal.
So, now that you can install their packages ... they need to start identifying which libraries and such are required by foo. Is there any reason that those libraries would not also be distributed as .lsb packages? Meta packages if necessary?
And don't even get me started on where Apache gets installed vs where they tell you a commercial web server should be installed. Apps is apps. It doesn't matter whether the distribution shipped it, you built it from source or you bought it from an ISV. Unless you're the LSB. Then it matters.
I believe the opposite is true. Greater compatibility leads to more choices, not less. You eliminate vendor lock-in and allow easy migration to other distros. Microsoft knows this; it's what prevents people from leaving Windows.
Let's face it: if Wine were 100% reliable, Windows would be dead. The LSB seems to accomplish much the same thing.
One of the main problems I see with adopting linux as a standard is that the distros vary too much from each other. One uses init.d, another event.d, one uses Gnome, another KDE, one uses LVM, another doesn't. I can see why companies don't want to support linux - there are too many variables. Linux is a mess.
I think things would be a lot easier if there was a minimum support standard that all distros held to. ie, a standard desktop, a standard filesystem hierarchy, a standard package manager, etc. I don't mean that these are the ONLY desktop, package manager etc, just that on supported distros they are guaranteed to be there.
When our name is on the back of your car, we're behind you all the way!
I disagree; I've seen a fair share of "Windows Sucks" first posts over the years that also tend to get modded down troll or flamebait. While there's a tendency towards groupthink here that can't be denied, it's not really that bad.
I've dealt with dependency problems far more than I'd care to - often even being able to rebuild a source RPM on a newer version of the same distro turns into a nightmare, much less trying to massage a binary RPM into place.
I honestly don't get the need for LSB. Perhaps 10 years ago when we still had problems with RPM, but not today. Most people will never need to download software that isn't in the Ubuntu (or insert favorite distro here) repositories.
LSB specified file system layout when I was in the business about 10 years ago (I shared in the pain of converting Turbolinux from /usr/man -> /usr/share/man, etc. etc.).
Library version numbers are still important. C++ binaries are notoriously sensitive to gcc version and we must be able to support truly alien (ie non-distro software).
We will have truly arrived as a desktop O/S when it is possible to buy from Blizzard a World-of-Warcraft.tar.gz tarball that will Just Plain Work no matter which Linux distro we are using. Never mind packaging issues, though it would be nice to have RPMs of WoW.
What does this have to do with what I posted: making a post that says only "Microsoft Sucks" will get you modded troll, just as quickly as making one that says "Linux Sucks". This has nothing to do with the modding issues you have had. If your post here is indicative, I suspect that the cursing and insulting might have more to do with the downmodding than your stance against linux or apple.
maybe Oracle shouldn't run on Linux. maybe people that want such a dbms can buy their $760,000 DBMS and run it on HP/UX or windows. fuck 'em. meanwhile the open source DBMS feature set grows and soon will bite Oracle in the ass.
> So, the LSB is mainly aimed at attracting privative software like Oracle to Linux (who else need guaranteed ABI compatibility when you can recompile?),
At this time I'm convinced that having to rely on distributions (or worse, 3rd party distro specific packages) for software is stupid. I'll be happy when I'll be able to install any binary package, free or privative, with source available or not, not being constrained by using distribution X or using the version and tweaks distro X provides for that particular app. And then, software producers being able to provide binary packages themselves without caring about distro X or Y, just providing an easy to install package just as they do for Windows, including lots of FOSS apps available for Windows. Well, better than Windows I expect... zeroinstall is the most close to this, but neither zeroinstall, click, LSB or whatever else got any real traction...
Got Pike?
Because I've given up on all the dual APIs with Gtk/Qt/Wx/GNUStep. I don't care anymore. Life is to short. Code with what works today.
A desktop Java program under Linux works just as fast as a Qt/Gtk based one. Java has insignificant load times on my minimal memory PII test platform compared against the Qt/Gtk libraries running under Window Maker (A simple Dialog program to read /proc). If I need to, I can go JNI. I'm tired of trying to author different Qt/Gtk wrappers for different versions. Enough said. All my programs work fine under the JVM for Mac/Linux/Windows.
Thank You SUN for Java 5 and 6. A much better VM platform than 10 years ago. Thanks to JavaME, I can run my programs on my Cell phone or my embedded Linux box.
DISCLAIMER: As a programmer, I can't publish load times/Performance issues with any product from Microsoft against any other. I will get sued for posting benchmarking results that show Microsoft Windows based systems, performance wise, SUCK compared to BSD/Linux systems on the same box.
My opinion and it doesn't matter. I reserve the right to be wrong.
Enjoy,
It's just the normal noises in here.
>Most people will never need to download software that isn't in the Ubuntu (or insert favorite distro here)
People who are using Linux to make money almost invariably use it in conjunction with proprietary software, like databases, custom apps, etc. Until recently, you needed to download Sun Java binaries for any serious Java development. Also, some of us are *writing* proprietary software for Linux.
But sure, if all you ever do with Linux is write a dinky php home page that you serve out of your mom's basement, then you don't need to use any proprietary software that isn't shipped with Linux.
Most people will never need to download software that isn't in the Ubuntu (or insert favorite distro here) repositories.
This is one of those maxims that sounds right, but inevitably isn't in practice. It's truer to say that all people will mostly only need software that's in the repositories. A stunning array of functionality is covered, but most people have at least one package they need that isn't. That can either be because it's proprietary (like Skype), or because it's too obscure, or because the version that is included is out of date. I've personally had all these problems, and I can't think of anyone I know who hasn't. I know that's not a scientific survey, but it does seem to be true.
These are problems that you just can't solve with the traditional repository-with-periodic-updates model, and generalising to say they're "minor software projects that very few people use" doesn't cut it. Everyone's a member of a fringe group, so cutting off the fringes damages everyone. I think we need a better ad-hoc decentralised repository model, but I haven't devoted much thought to it yet.
There is no need for yet another "standard" to install programs on Linux. And honestly, having RPMs and DEBs keeps all the major distros happy
One very good way to break a Xandros install is to install Debian .debs on it. They both use the same installer format and tools, but packages from one should not be installed on the other. That's the problem LSB is trying to fix.
Reality is the ultimate Rorschach.