LDPS umożliwia standaryzację aplikacji dla Linuxa

Free Standards Group, organizacja, mająca na celu promocję standardów w rozwoju aplikacji open source, opublikowała pierwszą wersję specyfikacji LDPS (Linux Development Platform Specification), określającej wymagania dla aplikacji tworzonych dla Linuxa. Określa ona warunki, jakie powinni spełnić producenci, aby ich aplikacje działały bez rekompilacji w najpopularniejszych dystrybucjach Linuxa

Free Standards Group, organizacja, mająca na celu promocję standardów w rozwoju aplikacji open source, opublikowała pierwszą wersję specyfikacji LDPS (Linux Development Platform Specification), określającej wymagania dla aplikacji tworzonych dla Linuxa. Określa ona warunki, jakie powinni spełnić producenci, aby ich aplikacje działały bez rekompilacji w najpopularniejszych dystrybucjach Linuxa.

Jest to pierwsza, na taką skalę, próba standaryzacji Linuxa jako platformy dla aplikacji. Niemniej LDPS ma charakter czasowy i ma obowiązywać do zakończenia prac nad bardziej kompletną specyfikacją Linux Standard Base. FSG prowadzi też prace nad projektem LI18NUX - Linux Internationalization Initiative - opracowaniem jednolitego standardu obsługi wielu języków i systemów kodowania znaków w Linuxie.

Aplikacja zgodna z LDPS może korzystać z: jądra systemu w wersji 2.2.14 lub nowszej (tj. najnowszej stabilnej wersji produkcyjnej), systemowej biblioteki języka C (glibc) 2.1.2 lub 2.1.3, XFree86 (X Window) w wersji 3.3.6 lub nowszej, biblioteki ncurses (służącej do budowy GUI dla aplikacji terminalowych) w wersji 4.2 lub 5. Oprócz tych wymogów formalnych, LDPS zawiera również tzw. Portability guidelines, czyli zalecenia, których spełnienie ma zapewnić przenośność aplikacji. Najważniejsze z nich to:

Wszystkie aplikacje muszą być łączone dynamicznie, tak aby korzystały z zainstalowanych w systemie bibliotek glibc oraz X11. Statyczne łączenie jest niedozwolone, ponieważ zwiększa niestabilność aplikacji.

Aplikacje nie powinny korzystać z implementacji wątków obecnej w jądrze Linuxa, ponieważ nie jest ona zgodna ze standardem POSIX 1c.

Ze względu na niestabilny charakter specyfikacji API C++ w Linuxie nie należy dynamicznie łączyć aplikacji ze standardowymi bibliotekami języka C++ (libstdc++, libgcc) obecnymi w systemie. Należy stosować łączenie dynamiczne lub dołączać do aplikacji wersję bibliotek C++ użytą w czasie kompilacji.

Przyjęto zatem zasadę stosowania oprogramowania starszego, ale za to zgodnego z możliwie największą liczbą dystrybucji. Tak jest w przypadku wersji jądra i systemowych bibliotek języka C/C++. Może to niekiedy prowadzić do tego, że aplikacje zgodne z LDPS będą mniej wydajne, ponieważ nie będą wykorzystywać nowych możliwości systemu.

Nowy standard powinien zostać łatwo zaakceptowany przez producentów, gdyż większość zaleceń LDPS można spełnić poprzez ustawienie odpowiednich opcji kompilatora.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200