Home | Industry Information | Business News | Browse by Publication | I | IBM Systems Journal

Building applications for the Linux Standard Base.

Publication: IBM Systems Journal
Publication Date: 01-JUN-05
Format: Online - approximately 7059 words
Delivery: Immediate Online Access

Article Excerpt
Development of the Linux ** kernel was started by Linus Torvalds in 1991. By 1992, some early Linux distributions such as MCC (a Linux distribution from the Manchester Computing Centre), TAMU (a distribution from Texas A&M University) and SLS (Softlanding Linux System) were easily available a...

View more below

You can view this article PLUS...

  • Hundreds of the most trusted magazines, newspapers, newswires, and journals (see list)
  • Business news from North America and around the World
  • More than 10 years of article archives
  • Unlimited Access at any time - ONLINE and all in ONE place

Now for a Limited Time, try Goliath Business News - Free for 7 Days!
Tell Me More   Terms and Conditions
Already a subscriber?
Log in to view full article
Purchase this article for $4.95

...over the Internet. Distrowatch.com, comprehensive Web site following Linux distributions, has over 350 distributions in its database. (1)

Standards for operating systems can reduce the incompatibilities between various implementations. The POSIX ** standard is an example of an API (application programming interface) standard which has helped keep a certain level of commonality among UNIX ** implementations. Where there are large numbers of implementations, as is the case with Linux, widespread core compatibility makes it possible to have applications that work correctly on many implementations.

The Linux Standard Base (LSB) is a set of operating-system standards with the goal of increasing compatibility among Linux distributions and enabling software applications to run on any Linux compliant system. (2) The LSB is developed and promoted by the LSB workgroup of the Free Standards Group (FSG), an independent, non-profit organization dedicated to accelerating the use of free and open-source software by developing and promoting standards. (3) Other examples of standardization workgroups of the FSG are OpenI18n (which addresses issues of internationalization), Open Printing, and the Open Cluster Framework (which defines standard clustering APIs).

The LSB workgroup is divided into several subprojects, each of which is responsible for a major component of the project; such as, its specification, futures, testing, sample implementation, example applications, and the build environment. There are tools available to test distributions as well as the third-party applications that will run on those distributions.

The project was first announced in May of 1998, and the first official version of the LSB specification was released in June 2001. At first only the IA (Intel Architecture)-32 ** architecture was supported, but the 2.0 version released in 2004 supports seven architectures: IA-32, Itanium **, 32- and 64-bit PowerPC*, AMD64 **, and the 31-bit and 64-bit z/Architecture*. The breadth of interfaces has also increased, with support of C++, C99, SUSv3 (Single UNIX Specification version 3) and IPv6 (Internet Protocol version 6) also recently being added to the specification.

This paper, which describes the process of building LSB-compliant applications, is organized as follows. In the following section, we describe the structure of the project and its development. In "Specification documents," a brief overview of the structure and contents of the specification documents is given. "LSB build tools" describes the tools that should be used to build an application. The following two sections explain the issues relevant to packaging and the File Hierarchy Standard. "Using external libraries" presents an application which uses non-LSB-standard libraries. "Making the xpaint application LSB-compliant" presents an example of the process required to build an application, while "Application battery" describes a pool of applications built to be compliant, which are available to use as a reference for commonly encountered problems. "Testing" covers the tools available to test an application for compliance.

DEVELOPMENT OF THE LINUX STANDARD BASE

The Linux Standard Base project is an open-source project and is run much like any other open-source project. It is not controlled or operated by any company, and contributors come from a broad range of areas, from programmers to documentation writers and people with backgrounds in developing international standards. Like many projects, there has been an ebb and flow of contributors, with some having participated continuously from the start of the project, some having helped out in a few specific areas, and others who have just recently joined. There are participants from distribution developers, application developers, and those simply interested in standardization of Linux. Most of the direct participants are paid to work on the LSB, (unlike most open-source projects), but this phenomenon is waning.

There is significant industry support for the project, with developers from large companies such as IBM, Intel, and Hewlett-Packard actively involved. Representatives from the major distributions such as SUSE, Mandrake, the Debian ** project, and Red Hat, as well as the Open Croup which has been involved in standards development for a long time, regularly participate in the development of the LSB.

The LSB bases its standard completely on the work of other open-source projects, most of which do not run according to fixed schedules, nor are they necessarily synchronized with each other. This can present a challenge to standardization, as often it will be advocated that a much better version of some component of the standard is almost ready or has recently become available and should be adopted. Some distribution developers want to use the latest cutting-edge technology, while others would prefer to be more conservative, and use only features that have been tested for a much longer period of rime. This may cause conflict as to what is the most appropriate course to take.

To help resolve this problem, a set of guidelines has been developed to decide what qualifies for inclusion in the standard. Generally, the requirements are that it be considered best practice; that there is an implementation with a "no strings attached" license (e.g., BSD/LGPL [Berkeley Software Distribution/ Lesser CNU Public License] licenses); that there is a stable ABI (application binary interface); and that the upstream developers are supportive of standardization. For final inclusion of a feature, it is also necessary to have test suites to test implementations utilizing this feature and a consensus among distribution developers that it is a feature they want to support.

Depending on its intended use, people have differing views on what constitutes a Linux system. A result of this is that there has been contention on how broad a range of features the LSB specification should cover. The requirements for an embedded system are significantly smaller than those of a desktop system. The LSB 1.x versions of the specification targeted something between these implementations (that is, the requirements for most server-type systems), but there has been consistent pressure for both more and fewer requirements to be included. In order to address this, LSB 2.0 split features into building-block-like modules. Although only one configuration of modules is currently supported by the certification program, in the future this division will allow for embedded and desktop system configurations to be certified. It also has the benefit of making it easier for other standardization groups to reuse...

NOTE: All illustrations and photos have been removed from this article.



More articles from IBM Systems Journal
Experience with K42, an open-source, Linux-compatible, scalable operat..., June 01, 2005
The use of open-source software in the IBM corporate portal., June 01, 2005
MMBase: an open-source content management system., June 01, 2005
The Jikes Research Virtual Machine project: building an open-source re..., June 01, 2005

Looking for additional articles?
Search our database of over 3 million articles.

Looking for more in-depth information on this industry?
Search our complete database of Industry & Market reports by text, subject, publication name or publication date.

About Goliath
Whether you're looking for sales prospects, competitive information, company analysis or best practices in managing your organization, Goliath can help you meet your business needs.

Our extensive business information databases empower business professionals with both the breadth and depth of credible, authoritative information they need to support their business goals. Whether it be strategic planning, sales prospecting, company research or defining management best practices - Goliath is your leading source for accurate information.