Why Aren't More Distros Becoming LSB Certified? 651
mydoghasworms asks: "I have done much thinking lately about Linux Standards Base. The idea makes lots of sense: Adopt a standard which will ensure that if some piece of software is compiled on one LSB-compliant system, it will run on any other LSB-compliant system.
This would be great for members of the general public who are looking for an alternative to Windows, don't want to pay for Mac, but are looking for a platform where installing and running software is as easy as on the platform they are used to. Seen in that light, if LSB lives up to its promise, it could be the step in Linux's evolution that could see it adopted by the general public. That leaves the question: Why is LSB not seeing greater adoption?"
"Is it because it is not marketed well enough? Is the certification process too difficult? Are there perhaps technical challenges to LSB certification not often discussed? If people agree that LSB is in fact what Linux needs right now to ensure widespread adoption, what should be done to create awareness of LSB? Should communities developing Open Source/Free Software projects be encouraged to provide LSB binaries? Your input would be most welcome here."
Linux needs a standard container (Score:3, Insightful)
Why is Linux not gaining on the desktop? Because there is no "perfect Linux desktop container". The properties of such a container is that it should be standardized, easy to accept new client programs from a wide variety of sources, have easy to use services and a well known API that is well documented and defined so that programmers can easily write to it.
Instead we have a bunch of fragmented containers (KDE, Gnome, lots of lesser known desktop environments) that are incomplete and immature. Heck, its a pain in the ass sometimes to get simple brain-dead stuff such as printing and mounting a drive working. So you have projects like OpenOffice having to write their own container!!! And Miguel (bless his heart) making a version of Microsoft's .NET container (Mono) for Linux that is still incomplete and sits with an incomplete container -- Gnome, which is sitting on top of an incomplete desktop container -- Linux.
I know this is a rant, but my shop recently switched back to Windows from Linux desktops (about 40 people), why? Because the new CEO (and me too), were sick and tired of people trying to get things to work together properly. We were sick of not having an Exchange replacement (don't get me started on the open source ones now "available"). And new hires and our clients were just plain used to using the dominant containers out there (windows/mac).
At least Linux as a server container works, because it has the same API as standard UNIX.
Lacking in key areas, but LSB is a good step (Score:3, Insightful)
What exactly is the purpose of the LSB spec these days? When I last worried about it, I was under the impression it was so that ISV's could distribute software packages in such a way that they would work and integrate well on a variety of distributions, and nothing more. That is, it wasn't about providing consistent functionality across distributions in general, or about standardising things for standardisation's sake. The "Purpose" section in the LSB spec doesn't seem to clarify this for me, but rather describes what the LSB is composed of, rather than why it's composed that way.
The big one is will it run out of the box, right now the way compatability between distros and even versions of the same distro work the odds are against it. The would probably have to ship a game with a spare cd containing all the variations on the binaries needed just to work on most of the mainstream distros.
And as much as I laud and love the way Linux distros install in one go without reboot hell, and deal well with hardware changes, Games need good vidcard drivers and that requires getting ati and nvidia on board with optimized linux drivers Though this last point is somthing of a chicken/egg problem as is the next point.
Linus still does not have installed user base to make porting a worthwile effort for many game/app developers.
The concept behind the LSB was a good one and a step in the right direction even if the implementation had its detractors.
They tried this already (Score:5, Insightful)
People will always want to change things, and make their products "different" or "better". Whether or not they really do it or not... well, that's up to the people that end up buying and using what they come with.
Because a modern LSB hasn't been ratfied... (Score:1, Insightful)
A newer LSB should be along any day now, and non-compliant distributions will likely release an LSB2 compliance package.
As far as becoming "certified"... There are about 350 Linux distributions. Many of them published by very small groups. If they have to pay or do anything too ornerous to get certified, they won't. If it's a matter of running a test-suite and sending the results to an authority for verification, then they will likely do that...
Reality check... Bounced. (Score:5, Insightful)
Admittedly, this is a worst-case scenario; no distro will be incompatible with ALL apps. Nonetheless, this is the situation that prevails when you don't have a standard base to use. Having a standard reduces the effort for everyone involved. Things will "just run".
I've just spent 3 days installing some esoteric science packages on a Linux distro they weren't certified for, and I could never have succeeded if I weren't an uber-geek. This is not the experience we want Linux users to have, regardless of whether we are commercially oriented or just wanna rock Open Source.
I hope this sheds some light on why a standard is needed...
Re:What role does LSB play? (Score:5, Insightful)
If you are a producer of a linux distro and you do things your own way, that's fine; but don't look for many people merging to your own specific way of 'doing things'. People like things that they're at least semi-familiar with. If developers of linux distro's keep changing 'standards', nobody will want to switch to linux, because as far as they can tell, SuSE is as far different from Fedora as Windows is to FreeBSD.
Microsoft has kept a tradition of 'C:/Program Files/' for installed applications which makes it easy for any windows user to jump from one MS platform to another. These relatively simple standards are just another security blanket that people refuse to let go of when they're tempted to switch operating systems.
Forgive my lack of knowledge in the numerous GNU/Linux organization structures, but if one has to install some applications in
I believe the entire movement of a standardization process creates this much needed security blanket that so many desktop users have been reluctant to let go of.
Once again, if you're a producer of a linux distro, you're not the average desktop user, you are not a majority. There is no need to put down a solution that you may never use, which has great potential to the masses.
-Xtrvd
Re:Linux needs a standard container (Score:3, Insightful)
The standards are stupid (Score:5, Insightful)
binary compatibility ? (Score:5, Insightful)
Why would linux aim to have just that ?
Because.... (Score:4, Insightful)
These are Holy Wars, they'll never be solved, and they'll keep certain people from using an LSB system alone. (here it comes:)
"Oh, but then you just install XYZ and you can do it your way."
So you start with an LSB system, then install all these other apps and utils to bend it to your will. Now, ask yourself how different that is from what we've got now with all the 750 fragmented Linux distros?
There are other things that are harder to change, i.e. filesystem layout. Once again, it's a holy war. The community will *never* come to an agreement.
There is no "one size fits all" linux, and there never will be. Different people have different needs, and most linux users (well, or at least this used to be the case) have some extraordinary needs. That's why they use linux.
Most of the people who would want a standardized base like that probably use a BSD. This is not a criticism of anyone or any system, it's just an observation.
Re:What role does LSB play? (Score:3, Insightful)
"Example of what is wrong with F/OSS: 2005"
Re:Linux needs a standard container (Score:4, Insightful)
Trouble is I don't know how you fix a beast that's this fragmented and distributed amongst so many individual groups of programmers. Most people here seem to just want to bury their heads in the sand and chant RTFM repeatedly at the top of their lungs, and if you shatter their fragile fantasy you'll feel their wrath.
Re:Linux needs a standard container (Score:3, Insightful)
Example: if everyone would choose the cups printing model then linux would have better printing than windows. The fact that KDE still doesn't see cups as the prevalent and *best* printing platform confirms this.
Also, application vendors like mozilla (oss locking while alsa exists???) futz these things does not mean Linux is off worse. In fact, the sheer choice has lead to wrong choices.
This is where LSB *can* play a role
This is also where LSB *won't* play a role
expect more from freedesktop.org!
Re:Linux needs a standard container (Score:5, Insightful)
Download setup.exe, install, run.
No dependencies (except a few possible dll's, which can be included with the application), no compiling, no need for 50 libs on your system to match a certain version number. It just works. More often than not anyways.
For many users it would make the transition to a Linux desktop much easier if (desktop) Linux software could be installed as easily. Just a simple package which doesn't have to care about the rest of the system.
Yes, Java/Python/.Net etc. are a possible way to go, but those applications still often depend on a bunch of libs and aren't known for their cpu and memory friendliness either.
Re:Personally... (Score:3, Insightful)
And don't think that these nice universal GUI software installers won't go away if Linux ever catches on for the desktop. At some point the quantity of software available will make it unfeasable to continue this kind of software delivery system except for the most basic OS components. Much like Windows already has under "Add/Remove Windows Components".
Windows lacks this type of thing because its popular, not because it is flawed.
the LSB is RPM centric (Score:4, Insightful)
Different distributions use different package schemes. Debian uses
The "perfect container" is a tarball. Anything else you want to do (install wizard, compile script, install script, what have you) belongs outside of the package container. Need a one-click installation procedure? Include the script in the tarball, and provide a GUI that reads the contents of the tarball and lets you run a program from within the tarball (KDE has apps that can do this, for example).
RPMs are flawed in various ways, and centric to particular distributions who happened to have representation early enough in the LSB process to push through a standard favoring their way of doing things over the broader, more portable standars (tar.gz).
Until the LSB becomes a standard that is no longer Red Hat/Suse centric, its adoption by other distros will be lackluster at bets, and rightly so.
As to your 40+ workstations that have been switched to Windows
A simpler "base standard" is needed (Score:3, Insightful)
Because of the complexity and differentiation of linux platforms and whatnot, LSB will likely never be fully adhered to in a consistent manner by all vendors/distros.
What I'd really like to see is a much simpler subset of really basic standards, with a different name, that would be relatively easy for all the vendors and distros to be compliant with. For example, I would expect this to be the nature of things it enforces:
* Documentation other than man pages is always in
* Man pages are always in
* Init scripts should always exist in the location
* The following environment variables are always set to some correct-ish value in the default environment based on user configuration of the OS: TZ, HOSTNAME, PATH, USER, etc
* The following basic *nix commands are available in
* The following list of common shells and language interpreters will always be installed in these pathnames: [bash, pdksh, perl, python, etc] (There might be an alternative "lite" version of the standard which excludes a requirement like perl or pythong or specific shells, for minimal/embedded environments).
You get the idea - these are things that *most* distributions already do *mostly* the same anyways. After a few quick tweaks any distro should be able to re-release themselves as compliant with this standard. And once it's popular, vendors have a document to look at that tells them certain things they can rely on when writing linux-specific applications at the operating system level (aside from the stuff at other levels, like the linux and glibc and whatever else API/ABI stuff).
I think its good now (Score:2, Insightful)
People always say "Oh, but installing is oh so hard!!!" But how often does your every day user install anything? THe last time my mother-in-law installed anything on her ancient P2 system was to put Norton AV on there. Which you don't even need under Linux.
Standardizations aren't what Linux needs (though it is wouldn't hurt) to get average user marketshare. What it needs is marketing. I want to walk into a software store, see a box for Fedora (or whatever the most user friendly version is) for $20 bucks. The box needs to say that it will replace Windows, work faster, more secure, and so on. It needs to be a box that if I'm a noob, I'd buy it. It needs to be something that average Joe will recognize as legit and good.
Re:The standards are stupid (Score:3, Insightful)
I think that not only is the LSB concept flawed because they have picked some very POOR standards to comply to BUT they are also fundamentally going against linux tenants.
Linux distro creators shouldnt have to spend a great deal of MONEY to get a little sticker. We are angry when Microsoft does it, why should we be softer 'cause its Linux.
If the LSB project wants to be a nobel amalgamation of Linux on the desktop it shouldnt cost money to be certified, or a token sum for time used. (or volunteers! this is linux afterall, half the posters here would want to help certify apps)
Re:Reality check... Bounced. Mod parent as Troll (Score:3, Insightful)
Why do you have such a big problem with commercial software? Why do you have a problem with "open standards"? Open Source software without open standards offers little utility for the average end user.
You either work for MSFT and want linux to fail or you are an elitist geeky snob who wants to keep linux usage to the elite. Perhaps you are afraid that if it goes mainstream, you will not be seen as "cool" by the linux community.
Re:Reality check... Bounced. (Score:3, Insightful)
Why not ask your distribution to add these packages? As long as they are open-source that shouldn't be a problem. If they weren't open-source, then that is just one of the issues with using commercial software - you have to play by the vendor's rule. If they say it only works on Red Hat, then you're going to fork out $1000 to Red Hat.
Besides, what standard was the problem here? Installing software in
Re:Parent != Troll (Score:2, Insightful)
Re:Reality check... Bounced. Mod parent as Troll (Score:5, Insightful)
Wait: we *don't* live in such a world? Oh.
There has been 30 years of UNIX. In that 30 years, the closest we ever came to that kind of cross-platform standardization is CDE. Do *you* want to use CDE? Me neither.
While the advantage to the *user* might be great in the long run if everyone followed LSB, there is a great deal of disadvantage in the *short run* for companies. And that's why we see little success with LSB.
Three problems (Score:5, Insightful)
It is, however, useful, but only really as documentation of common practice. You don't have to wonder whether you're ahead of the curve on adopting a version of zlib, because the LSB says what version you can expect.
Re:Because.... (Score:3, Insightful)
Source code works for this too.
Re:the LSB is RPM centric (Score:2, Insightful)
Just like most of the certifications, they focus mostly on tools/flavor/methods of Red Hat based Linux.
It sould be called the Red Hat Standard Base, and the certifications should drop the "Linux" part of the name.
We need new standards that everyone can play with, and new certifications that cover the true base of Linux knowledge. ie.. Apache tests should be based on being able to build and configure it from scratch (your own init scripts, etc).
Not on how to click a button, edit a config file or two, and pray - That's an MCSE certification !
I would rather see more work done on reworking the whole
LSB really doesn't offer alot to vendors (Score:2, Insightful)
There's nothing LSB offers that isn't already there by nature of the tools that most linux distros use. Linux distros pretty much migrate toward a standard just due to the very nature of it's Unix/GNU inheritance. Why spend the money to certify?
Now, especially add to the fact that the majority of software vendors don't sell you products for LSB-certified Linux distributions. Instead, they certify specific versions of RedHat or Suse or whatever, and in some very annoying cases, they spell out specific glibc and kernel versions. I.e. go beyond those, and their technical support will tell you to go away.
Software vendors don't care about "standards compliance" in the sense that they want their product to work. They don't want to deal with any unknowns. Any unknowns puts their QA reputation at risk. Just because someone is compliant to a standard doesn't mean it works the exact same way. If Vendor A were to create Product X, and wanted to support Linux Distro Y and Linux Distro Z and both distros happen to be LSB complaint, they aren't going to gain anything from it, since they're still going to have to test against both platforms to ensure that they work. If they don't, and for some reason something not specified in the LSB standard (or hell, even an implementation of something specified) causes a compatibility problem, and customer C happens to be a multi-billion dollar company with lawyer-happy executives buys the product and finds the problem, the shit can really hit the fan.
I work for a relatively large software company, and I've seen lesser things trigger lawsuit threats.
This is why the LSB is useless. You have to pay to get it. For you to justify paying, there has to be a financial interest. Financial interest generally means, they want to run some vendor's commercial app. That vendor is going to re-certify the platform no matter if it's LSB certified or not. And unfortunately, vendor's are going to look for the biggest bang for their buck (i.e. redhat or suse), so if Joe Blow Linux distribution goes LSB, the vendor still isn't going to support that platform.
Re:What role does LSB play? Mod parent up. (Score:1, Insightful)
People like the grandparent poster and RMS chase people away from linux. They are not interested in the success of the platform. Their only concern seems to be maintaining the status quo and their status within the movement.
It's funny how linux advocates so often accuse mac users of be elitist snobs.
Re:Linux needs a standard container (Score:4, Insightful)
I have trouble printing to some of my MS printers all the time. There are people in my office, on the same network, with the same admins, that don't have any problems.
If you don't have a problem with something, it doesn't mean there isn't a problem, it means you haven't had enough experience with that to have had to deal with the problems.
If you want to know where "it doesn't work right", go ask the people that can't get it to work right. Don't ask the guy that has 5 computers in his basement, with 1 user, and says he has no network problems at all. Ask the people that have to support 40 workstations, with 40 users, all who poke and prod BEFORE they call someone who knows what they are doing, and then deny it like some child.
Things don't work right all the time. Whether it is perception, or reality, they seem to work right more often in Windows.
Allow me to clarify that. (Score:4, Insightful)
The LSB people would write the standard...
The various distributions would adopt that standard...
The various ISV's would develop to that standard.
I'm sure everyone can see the problems, right?
#1. The LSB people couldn't get a complete standard written and published. Their current "standard" still doesn't include GNOME or KDE so it isn't going anywhere on the desktop.
#2. The various distributions are different because the people running them have different approaches to solving the same problem. What incentive IS THERE RIGHT NOW for them to wait and adopt the LSB? That's right, they need an incentive.
#3. The ISV's, seeing the delays, skipped the LSB and formed partnerships directly with the distributions (like Oracle did with Red Hat).
So, what we have right now is a bunch of ISV's who are not writing LSB apps forming partnerships with distributions who are not abandoning their old ways to support the LSB which has not released a workable standard for either the ISV's or the distributions.
The LSB, as it is currently focused, will always be a failure. Even if they managed to release a standard, it would only hold back the current speed of development.
What the LSB really needs to do is focus on the things that would make a huge difference right now.
#1. Fix the FSB. Right now, the location of a file depends upon how I install it. If I compile it myself, it goes in one directory. If I apt-get install it, it goes in a different one.
#2. Expand the FSB (part 1). Standardize the naming of each file, right down to the version number. If some app depends upon libfoo-1.0.0.3 then that should be the same file, with the same name on each distribution.
#3. Expand the FSB (part 2). Standardize the packages that contain the files that were standardized in #2. Package foo-1.0.0.3 would be named the same for each distribution and contain the exact same files of the exact same versions.
#4. Get rid of the RPM requirement. Instead, specify the BASIC functionality that the package management system will have and the basic information contained within a package and the format. That way, the various systems can ADD that functionality to their existing systems.
And the best thing is that those can be implemented over time. No more waiting for the LSB standard to be published BEFORE the distributions can become compliant BEFORE the ISV's can write and TEST their apps on those LSB compliant distributions.
In the end, the apps can have stated dependencies that should be easily verified because of the file and package standardization.
Re:binary compatibility ? (Score:5, Insightful)
Why would anyone want to have binary compatibility ?
Because not everyone wants to be an open source software company. If linux is ever going to be used by a business, a regular end user, etc it has to be able to support closed-source programs. That means binary compatibility so a software maker doesn't have to support 15 different compiles of the same piece of software for each distribution.
most of the troubles faced by windows users such as virus, worms and much everything else lies in the various binary incompatibilities, mis-interactions, and otherwise obscurities
No, viruses and worms are caused by foolish users, insecure applications, poorly maintained computers, etc. It has NOTHING to do with binary compatibility/incompatibility.
Re:Linux needs a standard container (Score:4, Insightful)
A properly configured Windows network can be just as secure as a properly configured Linux network. Possibly more so, since 99.9% of things are forced to 'just work' with group policies.
Likewise, a piss-poorly configured Linux network is just as insecure as a piss-poorly configured Windows network. Possibly more so, sice 99.9% of things have a million options, all of which have the possibility of doing arcane things to the filesystem.
I'm not a big MSFT fan, it just gets to me when I see people going "Linux is uber-kewl and can beat everything in Windows!" when for things such as corporate networks it is on a par with (if not less effective overall than) Windows. Admin dependant, of course.
Re:What role does LSB play? Mod parent up. (Score:2, Insightful)
It is an opinion that will always have different views. Some will think that once you ad propriatary stuff to the distro it no longer is free and you alienate them. Others will whine that it is too hard and thier brain hurts and won't use it either. Still others will view comments like ours and say why should i even try it.
What the real problem seems to be is user X is complaining that he isn't using windows when using linux. Companies are complaining that they don't want to test thier product on linux but rather on redhat and it is too hard to make somethign on redhat work on something else almost identicle in the working sence. Your complaining that people are complaining and i'm complaingin because you don't se the same way i do.
When we get down to the root of it, we are expressing opinions of ours and others opinions and have the freedoms to be different enough to compare opinions. Microsoft and Apple don't give you this choice. Thats why we have what we have now. You see it as a draw back and i see it as a plus. I'm not concerned with everyone using linux on the desktop. I don't see that as a sign of success. How i measure success is that i can do anythign i would do with a windows box and hope those tasks aren't more difficult then working on a windows box. If other users find simular results and want to use it, more power to them. Replacing microsoft as a desktop isn't exactly what linux is about. If it happens then so be it but i don't think it is or should be a primary goal.
Re:Linux needs a standard container (Score:2, Insightful)
What does this mean for application developers? If they depend on one model (like oss) then they are making a mistake. They should be designing in the same modular way as the OS. Then when a new system becomes popular (like alsa) it only needs a change of one library or plug-in.
Using LSB to lock everyone into a single model would hurt Linux in the long run. LSB should just specify a base set of capabilities that you can expect in all distros.
Re:Reality check... Bounced. (Score:2, Insightful)
I don't care what Redhat and Suse do, the smaller distros and other groups do most of the innovating when it comes to alternative file system layouts, alternative rc.d stuff, latest kernels and libs, etc.
Usually, if someone is bitching about Linux not having any 'standard', that means they just don't get it. Without MS holding their hand everystep of the way while they point and click their way to IT manager glory, they are about as skilled as a fast food manager or retail clerk with a PC hobby.
Re:Why Standarize when you can improve (Score:5, Insightful)
Re:Personally... (Score:4, Insightful)
No. Windows lacks this type of thing because it operates in a completely different culture. The Windows world is dominated by a culture of control and marketing.
First off there is the issue of proprietary software. Even when things are "free" as in "no fee", there is often some degree of control reserved for the distribution and even use of said software. That alone puts a damper on the "hundred thousand entries" you're expecting. But it goes further than that.
While something may be available because of the functionality - it is also likely to be there because of marketing or sales strategies. That covers your dig at Microsoft's recent trouble over multimedia. But also includes finding Yahoo Search installed with Adobe's Acrobat reader.
That's not to say that all of the above is "bad". It's simply a different environment. And it runs by a different common culture.
And that's not to say that Linux is imune to this culture either. You're not likely to find UT2004 available after your next "apt-get update". And if you do install Adobe Acrobat Reader 7 for Linux, you're going to find it comes with Yahoo. But then, I can "apt-get install evince" and have a nice PDF reader for a ~1.7M download vs. the ~98M that I need to pull for Adobe's version.
Re:Personally... (Score:2, Insightful)
But even with good installers there's a problem. As you say, one could use Mandrake Control Centor or Yast or Whatever. But that's different for every distribution. Someone can learn one way easily enough, but then they have to switch for some reason and suddenly it's just different enough to be frustrating.
I realize that the heart and soul of linux is and has been the ability to get exactly what you want, but in order to make linux "ready for the desktop" some things need to be standardized. And a standard way of distributing software, whatever distribution you choose, would go a long way towards making linux everybody friendly. Naturally, experts will continue to buck the trend by using whatever tool they deem most useful or powerful, but Average User just wants to point and click, the same way, every time.
Re:What role does LSB play? (Score:3, Insightful)
Alright, I've said package manager enough.
Re:What role does LSB play? (Score:2, Insightful)