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...
Let's re-invent UNIX ?
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...
It's for rpm based commercial distros. Debian doesn't fit, and the "alien" program doesn't work on everything. 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.
But does it support Linux?! Ummm, wait... DOH!
I will not be pushed, filed, stamped, indexed, briefed, debriefed or numbered. My life is my own.
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 :)
...to create a binary-level interface that PRIVATIVE-LICENSED application developers can use to create software which will run on any distribution of Linux.
There, corrected for you.
LSB brings the distros all together--it gives them something in common to ignore.
The kernel API also needs to be stable (or so do vendors like National Instruments think).
LSB is nothing more than the top level Band-Aid on the giant stack of Band-Aids that make up Linux.
LSB, package managers, and rest of everything Linux. Why make the hard grown up choices that Commercial Software companies do every day when you can just come up with another Band-Aid and slap in on top of the giant stack of previous Band-Aids that make up the mess of an OS.
I care more about the standards of the Debian project.
Which, is compliant-ish, which is about as good as it gets in regards to many industry standards.
LSB compliance is important. Coincidentally, it makes the experience from one distro to another roughly equivalent. This makes the whole distro universe a heck of a lot less like buying a used car. (I couldn't resist another car analogy)
Wikipedia to the rescue, Since Debian already includes optional support for the LSB (at version 1.1 in "woody" and 2.0 in "sarge"), this issue evaporates under closer scrutiny (i.e. the end-user just needs to use Debian's "alien" program to transform and install the foreign RPM packages in the native package format).
http://www.maxineudall.com/2010/02/should-economists-be-sued-for-malpractice.html
... 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?"
Phase 2) Bundle tons of free software with Linux packages
Phase 3) Become dominate OS.
God spoke to me.
I'd mod my own comment down, but I can't mod in a thread where I posted a comment.
God spoke to me.
But the reality is that they've been working on this for over a decade and have yet to show a single ISV who supports it.
Their approach is flawed.
What the ISV's really want is what they've been doing for years. They "partner" with a distribution and, officially, support very defined releases from that distribution.
Scored as a Troll in this situation, but what if he wrote "Windows sucks"? He'd be +5, informative.
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.
Bender: Blackjack and hookers?
(On second thought, forget the Blackjack!)
It must have been something you assimilated. . . .
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. And most of the ones that aren't in the repos usually either A) Are minor software projects that very few people use B) Have .deb and .rpm files available for download C) Maintain a private repository to easily download software or D) have a binary that you can just click and it runs.
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 and most of the other distros that don't use RPM or DEB files for package management are either specialty distros where little software is installed or aimed towards experienced users where compiling software by hand isn't hard for them.
Taxation is legalized theft, no more, no less.
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.
The MSB is bitchingly divisive.
Enough said.
it would be nice if they could do something about unifying the audio subsystem on linux
openal esd pulseaudio etc etc
its a mess
back in the day we didnt have no old school
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.
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.
leastsignificantbit
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.
Am I the only one that thinks of Least Significant Bit, for the acronym LSB?
--why?
They call it the Least Significant Bit, but it decides between true and false, even and odd... and it makes families happy!
Read what Ulrich Drepper thinks of the LSB here: http://udrepper.livejournal.com/8511.html.
And here i was thinking it was the Least Significant Bit :D
Oh computer science, how i love thee
_AC
LSB has done a good job of defining the rules of the game. Let the projects that produce the code use the rules to define how their code is packaged. Ex GCC version x.y.z is divided into particular way and each part has their own minimum requirements. If distros have a problem how the project handles it they can talk it over with the people in charge of that specific project. In the case a distro wants to bundle pieces than the package needs to be able to indicate that fact so other package dependent on a certain part are not confused. This reduces the confusion by creating an single set of authoritative packages (libs, daemons, etc) version. That way those created the code can determine the best places to split up their project in to manageable pieces and the versions of other packages they can happily coexist with.
-ArcaneOne
API is stable. ABI isn't. Every program distributed as source will be compatible with every future version of Linux (at least the 2.6.x series). Only those distributed as binary won't be compatible.
Are they still insisting on RPM, and acting surprised when the adoption rate is so low?
You *did* say you wanted a good database, didn't you?
Tried to type this ('lsb_release ...') in on my ubuntu box, and accidentally typed in lsd_release -a.
Sadly, nothing happened, which makes me believe the brown distro is bad.