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...
I'm very curious to see where this goes. The biggest issue I see is with adoption. There are so many distros out there, each with their own purpose and personality, and each one is focused on developing functionality first and foremost. I think it will be hard to convince all of them to pause that and shift their entire back end onto a standardized framework. Plus, the biggest strength in Linux is its diversity and flexibility. Adding such a standardized base might kill some of that flexibility. As I said, we'll see where it goes...
Source already seems to be an acceptable de-facto standard for distributing programs in the least OS-specific way. Let's stick to that :)
It's for rpm based commercial distros. Debian doesn't fit, and the "alien" program doesn't work on everything.
I note that Debian Etch is listed as planning to become LSB compliant on this page: http://www.linuxfoundation.org/en/LSB_Distribution_Status Ubuntu is already LSB-compliant. Neither of these appear to be "RPM-based commercial distros". Once Debian is LSB compliant, the alien program will work on any LSB-certified application.
Since I use Debian on servers and Debian-derived on desktop, I don't care about the LSB, I care more about the standards of the Debian project.
The idea is that it will no longer matter what distro you use: if an LSB application works in Red Hat, you know it will also work in Debian. Why is that a bad thing?
... 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?"
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>
Nope, it would be -1 Redundant. No need to state the obvious.
"...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!
Ask not if LSB supports your Linux - ask if your Linux supports LSB.
>People have been arguing about which text editor is better since before there was a Linux...
Perhaps, but nobody's suggesting that anybody build large commercial apps using vi or Emacs as an application framework. That said, people (including in this thread) are asking the likes of Oracle to support multiple Linux distros. At that point, havint the kind of silly 'vi vs. emacs' argument you mention as harmless is anything but.
Until something like the LSB really takes hold, Linux will be great for
1. open source stuff distros can include in their distro-specific repositories.
2. Non-gui stuff, where the libraries *are already* largely standardized.
3. Low-level gui stuff (coded at the X11 level) like Flash, which doesn't need lots of specific desktop libraries around.
4. Statically linked stuff, like Acrobat and OOo that can be released with no dependecies.
That's a lot of stuff. Enough to run a nice EEEpc. But not enough for the general Quicken-using public to use.
Hell, even Firefox has so many desktop toolkit dependencies that it needs to be integrated and released by the distros, whereas Opera can put out a statically-linked QT-level version that works for most distros. I'd like Firefox to be releasable that way too. I hate it that my otherwise fantastic Mandriva 2008-1 system can't be (easily) upgraded to Firefox 3. With a stable GTK+ implementation, standardized across distros, that would be a snap. But it doesn't look like we'll ever get there... or that we're even trying.
Posted from my Android phone. Oh, I can change this? There, that's better...
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.
Ported?
Dear sir, I am pleased to inform you that Duke Nukem Forever is being developed on Linux and will be available as a free download in both RPM and .deb formats as soon as Linux gains a majority share on the desktop.
Ignore this signature. By order.
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.
Read what Ulrich Drepper thinks of the LSB here: http://udrepper.livejournal.com/8511.html.