Czy Unix jest otwartym systemem operacyjnym?

Każdy producent systemów komputerowych twierdzi, że jego sprzęt czy oprogramowanie, realizuje idee systemów otwartych. Ponieważ jednak nigdzie do tej pory nie określono ex cataedra, co to znaczy system otwarty, więc wszyscy mają rację.

Każdy producent systemów komputerowych twierdzi, że jego sprzęt czy oprogramowanie, realizuje idee systemów otwartych. Ponieważ jednak nigdzie do tej pory nie określono ex cataedra, co to znaczy system otwarty, więc wszyscy mają rację.

Prawdziwym testem otwartości jest klonowalność.

Definicji otwartego systemu operacyjnego jest tyle, ile jest producentów systemów operacyjnych. Mnie najbardziej spodobała się ta, którą podał Timothy J. Dwyer, wiceprezydent i generalny dyrektor do spraw operacji międzynarodowych SUN Microsystems. Według niego: System operacyjny jest otwarty wtedy, gdy jego kod źródłowy jest dostępny z wielu źródeł. Użytkownik może ten kod źródłowy modyfikować dowolnie, zgodnie z własnymi potrzebami. Tak więc - zgodnie z tą definicją - system, którego kod źródłowy jest dostępny może być klonowany.

Ta definicja ogranicza nieco pojęcie systemu otwartego do systemu operacyjnego, ale wydaje mi się, że nie warto sprzeczać się o to, czy systemy komputerowe można uważać za otwarte.

Pod tym względem sprzeczności wśród producentów sprzętu są jeszcze większe, niż wśród producentów systemów operacyjnych. Przyjdzie nam zapewne pogodzić się z faktem, że nawet w tak popularnej architekturze jak PC, pojęcie otwartości jest co najmniej niejasne. Większość poważnych producentów sprzętu odchodzi od wspólnego mianownika, jakim jest komputer oparty na architekturze ISA, w kierunku polepszania funkcjonalności i możliwości. Istnieje więc niewielka szansa, że taki system da się łatwo unowocześnić przez zakup części od innego producenta. Jesteśmy więc raczej związani z jednym producentem.

Większość dyskusji na temat otwartości toczy się więc wokół systemów operacyjnych. Informatycy zaś przeważnie zgadzają się, że obecnie jedynym systemem operacyjnym, który można uznać za otwarty - chociaż z wielkim trudem - jest Unix.

Czy tradycyjny Unix jest otwarty?

Zdefiniowanie Unixa wcale nie jest łatwe. Doświadczeni programiści chętnie mówią o swoich doświadczeniach z Unixem. Użytkownicy będą mówić o interfejsie użytkowym lub aplikacjach. Producenci zaś powiedzą o swojej szczególnej wersji Unixa i cechach go wyróżniających, niż o samym produkcie w ogólności.

Znany od ponad 20 lat Unix nie jest żadną nowością. Ze względu na sposób, w jaki się rozwijał, istnieje ok. 100 jego wersji. Większość z nich jest oparta na pewnym standardzie - Unix System V Interface Definition (Unix SVID), opracowanym przez AT&T. Do niedawna, uznanymi jego specyfikacjami był wspomniany już SVID i POSIX. Mimo to nadal istniały wersje specyficzne, przystosowane do konkretnych komputerów i architektury sprzętu (np. dla systemów wieloprocesorowych).

Z punktu widzenia użytkownika system operacyjny jest otwarty, jeśli aplikacje są łatwo przenośne (portable) między różnymi platformami sprzętowymi, skalowalne (scalable), to znaczy równie łatwo dają się implementować na komputerze osobistym PC, stacji roboczej, czy minikomputerze oraz pozwalają na współpracę (interoperability) systemów pochodzących od różnych producentów sprzętu i oprogramowania.

Otwartość tradycyjnego Unixa jest podważana nie tylko przez producentów innych systemów, ale także przez użytkowników. Wprawdzie nie posługują się oni w tym celu podaną wyżej definicją otwartości, ale zarzuty jakie stawiają sprowadzają się do stwierdzenia, że na rynku istnieje zbyt duża liczba wersji Unixa, aby można było przenosić swobodnie aplikacje między nimi. Jeśli nawet jest to możliwe, ilość pracy jaką trzeba w tę operację włożyć, nie odbiega zanadto od przeniesienia aplikacji na inny dowolny system operacyjny.

Co na to producenci?

Sytuacja, gdy zarówno użytkownicy komputerów, jak sami producenci nie zgadzali się co do tego, co to jest właściwie ten Unix, prowadziła do dominacji innych systemów i niedoceniania istotnych cech tego znakomitego systemu. Doprowadziło to do kilku prób unifikacji. W ich wyniku miał powstać spójny i jednolity system, ale w efekcie powstawała jeszcze jedna wersja Unixa, którą mało kto akceptuje.

Dopiero ostatnio producenci w związku z silnym natarciem na ich pozycje przez Microsoft z Windows NT, spostrzegli, że jedynie udana próba unifikacji może pozwolić Unixowi przetrwać na rynku. W tym celu powołano w marcu 1993 r. grupę inicjatywną COSE, która ma doprowadzić do powszechnie akceptowalnej unifikacji systemu. Do grupy COSE należą: Hewlett-Packard, IBM, Santa Cruz Operation Inc., SunSoft i Novell. Wspierają tę inicjatywę także inni producenci komputerów z systemami Unix oraz niektórzy niezależni producenci oprogramowania.

COSE i CDE

Wspólna grupa robocza miała opracować specyfikację tej wspólnej części Unixa, która bezpośrednio dotyczy użytkownika i programisty, a mianowicie interfejsu użytkownika. Na niedawnej konferencji na temat COSE grupa dostarczyła pierwszą wersję specyfikacji CDE (Common Desktop Environment). Ma ona zapewnić wspólny wygląd i obsługę systemów unixowych.

Kod CDE zawiera elementy wizualnego interfejsu HP Visual Interface Environment, graficznego interfejsu użytkowego OSF Motif 1.2, desktop menedżera od Novella, shell zgodny z IBM Common User Access oraz obiektowe narzędzia do komunikacji między różnymi aplikacjami ToolTalk firmy SunSoft. Kod definiuje wspólne funkcje API, umożliwiające tworzenie aplikacji do różnych wersji Unixa, nadające tym aplikacjom jednakowy wygląd i zasady obsługi.

W ostatnim tygodniu października 1993 r. COSE dostarczyło niezależnym twórcom oprogramowania ponad 1000 kopii kodu CDE na CD-ROM. Ostateczna wersja specyfikacji CDE pojawiła się w kwietniu 1994 r.

Unix i X/Open

Nabycie przez Novell firmy Unix Systems Laboratories (USL) stworzyło sytuację, w której jedyny posiadacz nazwy firmowej Unixa stał się własnością firmy znanej raczej ze swego specyficznego sieciowego systemu operacyjnego, niż ze wspierania systemów otwartych.

Sytuacja ta szybko stała się nieakceptowalna nie tylko dla szerokiego grona użytkowników, ale także dla samego Novella. Okazało się bowiem, że nowy produkt firmy UnixWare zaczyna być postrzegany jako próba nagięcia Unixa w kierunku sieciowego supersystemu operacyjnego, czegoś w rodzaju nadzbioru NetWare.

W efekcie Novell podjął decyzję przygotowania szczegółowej dokumentacji 1170 funkcji API systemu Unix i przekazania jej praw do używania znaku firmowego Unix konsorcjum X/Open.

Czy Unix jest otwarty?

Wszystkie opisane działania pozwalają żywić nadzieję, że w wyniku skoordynowanych wysiłków, po ponad 20 latach istnienia na rynku - Unix stanie się systemem naprawdę otwartym. Dokumentacja funkcji API systemu Unix oraz kod CDE stanowią jego ostatnie przybliżenie.

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

TOP 200