Imagine going out to do your shopping errands in a world devoid of standards. What would that be like?
Without standard sizes, something as routine as buying clothes would be an exercise in frustration. Finding a replacement bulb or buying tires for your car would require unique parts made only by the manufacturer.
It is only through the establishment of standards, in other words, that protocols can be adopted for building products and services used in everyday life.
‘The LSB Delivers Interoperability’
Standards pervade every part of our lives, and we benefit from them every day in lowered costs of production. Because of standards, competing manufacturers can offer comparable products at reasonable prices.
Standards have an equally important role to play in the world of technology, but conformance with them is far from universal — to users’ detriment. The Linux Standard Base is a perfect example.
“The LSB delivers interoperability between applications and the Linux operating system, allowing application developers to target multiple versions of Linux with just one software package,” Jeff Liquia, senior engineer at The Linux Foundation, told LinuxInsider. “It also allows Linux vendors to demonstrate to customers that they meet a common set of industry standards and that they work together as an industry on advancing Linux.”
The world of free and open source software has fostered a thriving Linux ecosystem in which the number of Linux distributions has steadily climbed to more than 500.
While it’s encouraging to see such strong interest, the need to curb fragmentation is increasingly evident.
For an example of the problem, one need only visit the Linux download page for cloud storage service InSync and note how many package managers, GUIs and file managers the InSync developers need to consider in order to adequately support just one InSync software application.
It is also very confusing to the end user, who must navigate all these selections simply to get the right version of the software. There isn’t a standard package management solution that works across the various Linux distributions, so users must be savvy enough to figure out what they need — or suffer the consequences.
The Linux Standard Base
To solve problems like these, the Linux Foundation in 2001 established the Linux Standard Base version 1.0 as a way to standardize the file-system hierarchy and application and operating system software structures used by Linux.
Software development kit and test forms are available from the LSB to help vendors achieve compliance with the standard, which includes both mandatory and “trial” requirements in a tabular grid organized by CPU architecture and architecture-independent (generic) functional groups.
After going through the process of working toward those requirements, distros can go through a certification process to prove their compliance.
Now an official ISO standard, the currentLSB specification was released in 2011.
Among the results of this standardization effort is that today, Red Hat Enterprise Linux, Oracle Linux, SuSE Linux Enterprise and Mandriva Enterprise Server are all LSB-certified distributions and have in common the same LSB-compliant package manager: Red Hat’s RPM. Thus, one package manager, RPM, will work across all the respective LSB-compliant distributions.
‘We Support Compliance’
“Red Hat feels that the LSB is certainly valuable, and we aim for and support compliance so that barriers for application availability and skills can remain low,” Lars Hermann, a senior director at Red Hat, told LinuxInsider. “At the same time, we feel that such interoperability standards are simply not sufficient.”
Fragmentation is “bad for everyone, and LSB helps lower that risk,” Hermann explained, but “we feel responsible, as leaders in open source software, to take this effort a significant step further through our own efforts.”
That, in turn, is “why we strive to continually create and maintain a vibrant, healthy ecosystem for both developers and our customers, the focal point of which is Red Hat Enterprise Linux,” he said. “That solution, with its unique 10-year life cycle and API stability and ABI compatibility, as well as backwards compatibility across minor releases within a major release (e.g., Red Hat Enterprise Linux 6), drives the success of our entire ecosystem of certified open source solutions.”
By discouraging unnecessary divergence, the LSB also significantly reduces the cost of software systems. After all, fragmentation produces added complexity, which in turn makes the work of creating software harder.
In many ways, the LSB is akin to the way both Microsoft’s Windows and Apple’s Mac OS X provide a single set of application programming interfaces to simplify software design and reduce cost.
“The LSB centers on a standard, consistent Linux operating system, despite the presence of many different Linux distributions, so that application support and certification can still be achieved across all or most Linux variations,” Jay Lyman, senior analyst for enterprise software at 451 Research, told LinuxInsider.
That’s a goal that was actually more important five to 10 years ago, Lyman added.
“Today, we do not hear the same complaints about Linux support on either side, with fewer application providers complaining that Linux is difficult to support and fewer Linux users complaining that applications are not supported,” he noted.
Nevertheless, “there is still a need for a standard, consistent Linux code base to maintain application portability, support and certification,” Lyman said.
The importance of the LSB is also greater on the business and enterprise side, “where there is a need for consistency and application support,” he pointed out. “For hobbyist users of Linux, LSB certification may be less of an issue since application support and certification may simply be a matter of personal preference.”
Nature is filled with randomness and chaos. Humans instinctively try to achieve order out of chaos by adopting methods for reducing complexity.
In the world of Linux, the Linux Standard Base has beencharteredto provide a structure for achieving order out of chaos so that Linux distros can be more useful than ever.
When corporate system administrators can expect standard operating system and application behaviors, they can plan accordingly in anticipation of how best to efficiently deploy and maintain Linux distributions with the least amount of effort expended.
As uniformity is gained, inherent efficiencies will surely follow and can be exploited to lower cost of operation.
When consumers can rest assured that an application they download can be routinely installed on any Linux distribution, meanwhile, that breeds confidence. Linux becomes perceived as being more reliable, and users will likely rely on it more and more.
A Continuing Effort
No wonder, then, that The Linux Foundation expects an ongoing future for the standard.
“The LSB is an important standards effort that will continue to support Linux distributions and users in the years to come,” Liquia said.
Even now, work is well under way on the next version of the LSB, he noted, “which will broaden the standard’s coverage of important Linux technologies as well as add flexibility with a more modular approach.”
RPM is "the" standard… lol
and more users use .DEB…
The only way apps will work on every distro is to "fully package" them with all their deps., like Ubuntu, gnome, listaller, 0install, nix, etc. are doing.
Which is what Apple, windows, android have all done and don’t have an issue with apps not installing, working, breaking, etc..
The problem caused by "fully packaged" installers is that you multiply the number of libraries – even if they are all cross compatible.
Second, you also get problems with having the SAME library or utility being reinstalled every time…
And in the process, loosing the security flags assigned to those utilities and libraries…
The advantage that RPM + yum provides is that other required packages are identified. Thus they don’t HAVE to be included with a given package.
Windows has "DLL Hell" caused by this very problem. Android has packages that, well, just won’t install. And ALL of them have apps that won’t install, won’t work when installed, or breaking other things.
At least with RPM, the package wont install unless all of its required dependencies are available, AND don’t cause conflicts with existing installation.