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...
But they really mean it this time. Honest. In fact, Duke Nukem Forever will be ported to Linux.
Source already seems to be an acceptable de-facto standard for distributing programs in the least OS-specific way. Let's stick to that :)
LSB brings the distros all together--it gives them something in common to ignore.
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?
The kernel API also needs to be stable (or so do vendors like National Instruments think).
... 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.
Bender: Blackjack and hookers?
(On second thought, forget the Blackjack!)
It must have been something you assimilated. . . .
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...
Logic is in the eye of the beholder. As a programmer, I can tell you that what one person thinks is logical, another person thinks is a piece of crap. The LSB has something to offer, what's the harm in supporting it?
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.
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.
>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.
Read what Ulrich Drepper thinks of the LSB here: http://udrepper.livejournal.com/8511.html.
The GP is basically right, even though he's technically wrong. He's technically wrong, because theoretically people want to run proprietary as well as free software on Linux, and, e.g., Ubuntu isn't normally going to package software that doesn't meet the debian free software guidelines. But he's basically right, because (a) most people don't pick linux because they want to run proprietary software, (b) there is very little proprietary software available on linux, and (c) when proprietary software is available on linux, it's often so poorly supported and debugged that you don't want to use it. On my linux box, there are three closed-source apps I've used within the last year. I have adobe reader installed, and only use it once in a blue moon, e.g., to check that the pdfs I produce are compatible with it; xpdf and evince are better for everyday use. I have at various times had flash player installed, but currently I can't get it to work on my x64 machine. For a while I was using Amazon's mp3 album downloader app (required if you want to buy mp3 albums on amazon), but it was always breaking for obscure reasons, until finally I found out about an OSS command-line app called clamz that replaces it. Using proprietary apps on linux is a nightmare, and it's not a nightmare because of lack of LSB support, it's a nightmare because proprietary software houses know it's not in their best economic interest to put any serious effort into quality and support for an OS that's 1% of the desktop.
Find free books.
Whatever clown moderator picked "Funny" certainly isn't seeing as far as he ought to.
Really, what will happen if a central body, such as LSB, becomes a defacto "standards boss" for Linux?
With a slew of distros, you have redundancy of creativity. Vital if you're being targeted by enemies.
I really don't want LSB to get TOO successful, else it may become a "single point of failure" upon which merciless special interests may lean with all their weight.
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.