RealTime IT News

Free Standards Group To Standardize Linux

In an effort to help ensure standardization, the Free Standards Group has officially released the Linux Standard Base (LSB) 2.0, a specification composed of interoperability standards, a base set of APIs and libraries and developer environments and test suites.

The goal of LSB is to prevent the fragmentation of Linux and to ensure a degree of interoperability with LSB-compliant application software across LSB-compliant Linux distributions.

LSB 2.0 supports Single Unix Specification 3.0 and new architectures, including AMD64 Opteron, IBM PowerPC 64, S390 and S390X. A new C++ application binary interface has also been added to LSB 2.0, which is expected to significantly improve code interoperability due to the pervasiveness of C++ coded applications.

According to Jim Zemlin, executive director of the Free Standards Group, the LSB specification should succeed where previous attempts at Unix standardization have failed.

"Unfortunately, past attempts have not been particularly successful in avoiding fragmentation of the marketplace for Unix systems and providing a single healthy ecosystem upon which software vendors could rely," Zemlin told internetnews.com.

He explained that previous Unix standards, in particular the POSIX specification, were more focused on source-level compatibility. Though he believes that POSIX (and other source-level specifications) have been helpful to the development of the open source community they lack compatibility at the binary level. Without binary level compatibility, a vendor may have to support multiple binary images, which increases a vendor's costs.

According to Zemlin, the LSB approach is intended to specify the minimum requirements necessary to ensure true application portability, namely the binary interfaces. Providers of the LSB run-time environment may choose any implementation they wish, as long as they provide the necessary binary interfaces.

"In other words, the LSB obeys the old adage, to 'Do the simplest thing possible, but no simpler,'" explained Zemlin. "The LSB standardizes that which is necessary for binary application compatibility, but does not over constrain the run time environment. Indeed, it would be possible for a non-Linux system (such as Solaris or Net/Free/Open BSD) to provide a certified LSB run-time environment."

But the LSB does not necessarily mean that all versions of, for example, the Linux kernel need to be the same across the various distributions in order to ensure interoperability. An issue that some in the Linux community have raised in the past is that certain Linux vendors have already "forked" the kernel, because they have backported or included other features into a standard kernel.

According to the executive director of Linux International, Jon "Maddog" Hall, LSB is a functional specification, not a specific code source.

"Therefore, if your kernel passes the test suites, it does not matter how you have implemented it," explained Hall. "If a kernel was not LSB 2.0-compliant, it could not pass the test suites, and therefore might not run an LSB 2.0-compliant application. That would be a "fork" as far as the [Free Standards Group] is concerned.

"This concept allows innovation inside of standards. It is a win-win situation."

Zemlin echoed that sentiment, noting that the point of the standard is to allow flexibility in the implementation, while ensuring the interfaces used by an application will behave the same way no matter what is used for the implementation.

"This allows distributions vendors to compete effectively and maintain their own release cycles, while still maintaining an open standard," he said.

Though today's announcement was backed by 17 industry vendors, including heavyweights IBM, HP, Dell, Intel, AMD, Novell SUSE Linux, Red Hat and others, not all Linux vendors have always supported the LSB initiatives.

"It would be nice if I could say that all of the vendors had been behind the LSB from its very inception, or if I could say that LSB 2.0 is the end-all implementation," said Hall. "Neither are true, but I think that both are headed in the right direction, just as Linux is headed towards a more mature environment."

Ultimately, Linux standardization is a process that is expected to continue and evolve, and so LSB 2.0 is not the "end-all."

"There is an LSB 3.0 on the horizon. Stay tuned for more," Zemlin said. "The LSB work group is presenting a call to action to the Linux community to support our work and participate in the development of our specification in order for the standard to grow with the growth of Linux."