Zum Inhalt springen

Linux Standard Base

aus Wikipedia, der freien Enzyklopädie
Linux Standard Base

colspan="2" class="notheme" style="text-align:center; background:#Vorlage:Standardfarbe; color:#202122;" | Logo der Linux Standard Base
Basisdaten

Maintainer Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
Entwickler Linux Foundation
Erscheinungsjahr Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
Aktuelle Version 5.0
(3. Juni 2015)
Aktuelle Vorabversion Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
(Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value))
Betriebssystem Linux
Programmier­sprache Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
Kategorie Binärschnittstelle
Lizenz Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
deutschsprachig ja
Linux Foundation – LSB
Datei:Linux kernel interfaces.svg
Linux Standard Base soll die Portierbarkeit von Binärdateien gewährleisten.

Die Linux Standard Base (LSB) ist eine Arbeitsgruppe der Linux Foundation, die Ende der 1990er ins Leben gerufen wurde.<ref name="linuxfordevices">Eric Brown: LSB 4.0 certifications aim to heal Linux fragmentation. linuxfordevices.com, 8. Dezember 2010, archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am 24. Dezember 2013; abgerufen am 16. November 2011 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)): „The LSB spec outlines interoperability between applications and the Linux operating system, ‘allowing application developers to target multiple versions of Linux with just one software package,’ says the LF. Launched in the late '90s, the LSB working group released its first major LSB 1.1 specification in 2001. […]“</ref> Die LSB definiert Standards für Binärschnittstellen, Programmbibliotheken und andere Betriebssystembestandteile mit dem Ziel, die Kompatibilität zwischen den verschiedenen Linux-Distributionen, z. B. mit Hinblick auf die Lauffähigkeit von Programmen, zu verbessern. Bis heute erfüllt nur ein kleiner Teil der Linux-Distributionen die Anforderungen der LSB. Auch sind die Anforderungen noch nicht umfassend genug, um eine vollständige Betriebssystemplattform zu definieren.<ref name="linuxfordevices" />

Motivation

Im Laufe der Geschichte von Linux haben sich eine Reihe von verschiedenen Linux-Distributionen entwickelt, die in vielen Details unterschiedliche Ansätze verfolgten wie beispielsweise inkompatible Software-Paket-Formate, abweichende Verzeichnisstrukturen oder unterschiedliche Versionen der integrierten Softwarepakete. Dadurch sind unabhängige Softwareanbieter (ISVs) gezwungen, ihre Software für jede Distribution spezifisch anzupassen (oder anpassen zu lassen) und separiert anzubieten,- ein enormer Mehraufwand.<ref name="lgp">Eskild Hustvedt: Playing well with distros. Linux Game Publishing, 24. November 2009, archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am 21. September 2011; abgerufen am 15. Januar 2012 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref><ref name="icaza2003">Miguel de Icaza: Linux and Independent Software Vendors. primates.ximian.com, 4. November 2003, archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am 15. Juli 2012; abgerufen am 7. April 2012 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)): „[…] staffing requirements for maintaining and testing […] software for a dozen of distributions and release versions quickly becomes a big burden […]“</ref>

Konzept

Ziel der LSB ist, mit Standards und Richtlinien eine einheitliche binärkompatible Plattform für Softwareinstallationen unter Linux zu erzeugen.<ref name="linuxfordevices" /> Sie macht u. a. Vorgaben, welche grundlegenden Programme und Programmbibliotheken auf einem LSB-konformen System vorhanden sein müssen und legt gemäß dem Filesystem Hierarchy Standard eine Verzeichnisstruktur fest. Die Basis der LSB Standards waren die Standards POSIX und Single UNIX Specification, welche erweitert wurden. Inzwischen weicht der LSB-Standard in einigen Aspekten jedoch Linux-spezifisch von den Open-Group-Unix-Standards ab.

Geschichte

Das Ende der 1990er<ref name="linuxfordevices" /> ins Leben gerufene LSB-Projekt wollte anfänglich die Standards POSIX und Single UNIX Specification vollständig einhalten und diese nur an einigen Stellen erweitern. Daher hatte die Open Group auch angeboten, eine Zertifizierung für den symbolischen Betrag eines US-Dollars durchzuführen.

POSIX-Inkompatibilität

Im Jahr 2005 begann die LSB jedoch darauf zu beharren, bestimmte in Linux-Distributionen übliche Abweichungen (Inkompatibilität) nicht zu beseitigen.<ref>Conflicts between ISO/IEC 9945 (POSIX) and the Linux Standard Base (englisch) – Bericht der OpenGroup. 20. August 2005.</ref> Seitdem gab es bei dem Prozess zur Erreichung der UNIX-Standardkonformität keine Fortschritte. Das Ziel der vollständigen POSIX- und SUS-Konformität scheint zugunsten der in bestehenden Linux-Systemen üblichen Konventionen aufgegeben worden zu sein. Im Gegenteil, Linus Torvalds hat wiederholt klargemacht, dass er bereit ist, von POSIX zu divergieren, wenn es dafür gute Gründe gibt.<ref>Linus Torvalds: Re: RFD: x32 ABI system call numbers. 31. August 2011, abgerufen am 6. September 2011 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)): „POSIX has been wrong before. Sometimes the solution really is to say ‘sorry, you wrote that 20 years ago, and things have changed’.“</ref>

Drepper-Kritik

2005 wurde die LSB von glibc-Maintainer Ulrich Drepper als ineffektiv kritisiert<ref>Tim Schürmann: Linux Standard Base 3.0 Software nach Standardmaß. In: Linux-Magazin 2006/01. linux-magazin.de, 1. Januar 2006, S. 10, abgerufen am 12. Februar 2012.</ref>; konkret monierte er fehlerhafte Testsuiten.<ref name="drepper2005">Ulrich Drepper: Do you still think the LSB has some value? udrepper.livejournal.com, 17. September 2005, abgerufen am 12. Februar 2012 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)): „There are still people out there who think that the LSB has any value. This just means they buy into the advertisement of the people who have monetary benefits from the existence of the „specification“, they don't do any research, and they generally don't understand ABI issues.“</ref> Jeff Licquia von der LSB gab zu, dass Tests unvollständig und Code fehlerhaft seien, trotzdem hätten die Tests eine Aussagekraft. Außerdem seien definierte und prüfbare Standards alternativlos für einen freien, interoperablen Softwaremarkt.<ref name="licquia2005">Jeff Licquia: Yes, the LSB Has Value. 27. September 2005, abgerufen am 12. Februar 2012 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref>

Versionen

Die erste Version 1.0 der LSB umfasste ältere, schon weiter verbreitete Standards. Anfang Januar 2004 wurde die LSB das erste Mal der Internationalen Organisation für Normung (ISO) vorgelegt. Die darauffolgende Version 2.0 unterstützte mehr Architekturen. Die LSB 3.0 zeichnet sich durch Aktualisierungen der bereits bestehenden Standards aus. Anfang November desselben Jahres wurde dann bekannt, dass die ISO die LSB als internationalen Standard anerkannt hatte. Die anerkannte Version ist die Version 2.0.1. Neuere Versionen der LSB sollen folgen.

Übersichtstabelle

Version Datum Wesentliche Neuerungen
1.0 1. Juli 2001<ref name="linuxfordevices" />  
2.0 15. September 2004
3.0 19. September 2005
3.1 31. Oktober 2005
3.2 28. Januar 2008
  • Unterstützung für Perl und Python
  • Zusätzliche Druckschnittstellen
  • Unterstützung für portable Druckertreiber
  • Ersatz der optionalen Module durch Trial-Use-Module, wodurch nun u. a. das ALSA-Soundsystem über Libasound unterstützt wird
  • Primärer Fokus auf Qt 4; Qt 3 wird nicht mehr unterstützt<ref>Linux Standard Base 3.2 mit ALSA-Unterstützung</ref>
4.0 11. November 2008
  • Aufnahme der Standardbibliothek Cairo 1.0.2
  • Spezifikation für Shellskripte
  • Separates Software Development Kit (SDK)
  • Verschlüsselungsunterstützung für Mozillas Network Security Services (NSS) und Netscape Portable Runtime (NSPR)<ref>Erste Beta der Linux Standard Base 4.0</ref>
4.1 3. März 2011
5.0 3. Juni 2015

Weblinks

Einzelnachweise

<references />