Wieści ze świata OpenSource: 21 – 27 stycznia 2014 r.
Czym się różni Wolne Oprogramowanie od Otwartego Oprogramowania? Wolne Oprogramowanie zorientowane jest na wolność użytkownika, etykę pisania i dystrybucji kodu, zaś Otwarte Oprogramowanie jest nastawione na popularność i sukces. Filozofia Wolnego Oprogramowania rozróżnia pojęcia dobra i zła w kontekście oprogramowania, zaś zwolennicy Otwartego Oprogramowania wiedzą, że filozofii jeszcze nikt nie włożył do garnka i nie ugotował na obiad. Dlaczego o tym piszę? Bo właśnie rozgorzała wielka dyskusja na temat przyszłości absolutnej podstawy ruchu Wolnego Oprogramowania – kompilatora GCC, który długo był monopolistą w swojej klasie, jednak w ciągu ostatnich 2 lat na rynku pojawił się rywal. LLVM/Clang robi to samo co GCC, ale w wielu przypadkach lepiej, głównie za sprawą modularnej budowy, pozwalającej tworzyć rzeczy, o których deweloperom GCC się nie śniło. Jaka jest jego wada? O zgrozo – zbyt liberalna licencja BSD. Według Richarda Stallmana „Istnienie LLVM jest dla naszej społeczności wielkim krokiem w tył. Licencja tego programu nie jest wolna i może stać się on podstawą niewolnych kompilatorów. W związku z tym każdy wkład w rozwój LLVM pomaga nie tylko nam, ale wspomaga również oprogramowanie własnościowe.” A co Wy o tym sądzicie?
Linux Kernel 3.13
Wersja 3.13 Linuksa to kolejne wydanie oferujące bardzo dużo zwykłemu, desktopowemu użytkownikowi. Linux 3.13 będzie domyślnym jądrem w nadchodzącym Ubuntu 14.04 LTS i wielu deweloperów chciało, aby ich kod znalazł się w wydaniu o przedłużonym wsparciu technicznym. Nic więc dziwnego, że tak wiele rzeczy ważnych dla biurkowych zastosowań trafiło do tej edycji.
Najbardziej zadowoleni powinni być posiadacze kart AMD Radeon serii 6xxx. Wreszcie otwarty sterownik zaczyna dorównywać wydajnością własnościowym Catalystom, a w przypadku Open Areny nawet je przewyższa. Akurat w tym nie ma nic dziwnego, gdyż silnik Id Tech 3, po otwarciu jego kodu, został przez społeczność dalece zoptymalizowany pod kątem współpracy z otwartymi sterownikami. W pozostałych benchmarkach nowe sterowniki pozwalają osiągnąć od 50 do 75% wydajności swoich zamkniętych odpowiedników. W przypadku najnowszych kart (seria 7xxx) sprawa nie wygląda tak różowo, ale do kolejnego wydania Linuksa (3.14) już zostały zgłoszone odpowiednie patche. Ale to nie wszystko, jeżeli chodzi o karty AMD. Funkcja DPM (Dynamic Power Management) jest od tej pory domyślnie włączona – w rezultacie GPU może przejść na inne stany zasilania, niż te domyślnie ustawione przez BIOS podczas rozruchu komputera. Zwiększa to zarówno wydajność układu podczas ciężkiej pracy (GPU może pobrać więcej energii elektrycznej i pracować szybciej), jak również przejść na niższy poziom zasilania, kiedy cała moc nie jest potrzebna. Zmiana ta dotyczy wszystkich kart serii 4xxx – 7xxx. Wyjście dźwięku na porcie HDMI zostało domyślnie włączone, pojawiło się też wsparcie dla dźwięku przestrzennego 7.1.
Otwarty sterownik do kart NVIDII nie dostał tak wiele poprawek, chociaż widać pierwsze efekty zapowiedzianej większej otwartości ze strony tego producenta kart graficznych. Najważniejsza informacja to domyślnie włączona funkcja zmiany prędkości obrotów wentylatorów na kartach GeForce. Do tej pory sterownik Nouveau potrafił uruchomić prawie każdy model GPU, ale bez kontroli obrotów wentylatorów komputer przypominał startujący odrzutowiec. Co prawda użytkownik mógł zmieniać liczbę obrotów wentylatora, ale wymagało to ręcznego grzebania w systemie. Teraz kod jest już wystarczająco dojrzały, aby domyślnie go włączyć. Drugi zestaw patchów dla Nouveau dotyczy zmiany częstotliwości taktowania procesora karty graficznej. Ta opcja nie jest włączona domyślnie, gdyż jest jeszcze mocno eksperymentalna. Brak możliwości reclockingu GPU był jedną z przyczyn bardzo niskiej wydajności otwartego sterownika (działał on tylko z nominalną częstotliwością ustawianą przez BIOS podczas rozruchu).
Intel także nie próżnuje i stara się, aby wszystkie dystrybucje wydane w 2014 roku mogły obsługiwać ich najnowsze procesory Broadwell. Wsparcie nie jest jeszcze pełne, ale i procesorów nie ma jeszcze na rynku. Dla obecnie dostępnych procesorów Intel przygotował poprawkę, włączającą obsługę standardu HDMI3D/Stereo. Opublikował również kilka patchów poprawiających wydajność niektórych procesorów serwerowych i stacji roboczych.
Używacie dysków SSD? Jeśli tak, to ta wiadomość powinna was zainteresować. W najnowszym kernelu pojawiła się duża zmiana podsystemu odpowiedzialnego za odczyt/zapis na dyskach twardych. Od teraz mechanizm odpowiedzialny za obsługę pamięci potrafi wykorzystać wiele rdzeni procesora do równoległego przetwarzania danych. Dla dysków SSD, gdzie wiele operacji może być prowadzonych równolegle (a nie sekwencyjnie, jak w przypadku dysków talerzowych), oznacza to bardzo duży skok wydajności i spadek opóźnień w dostępie do danych. Oczywiście najbardziej skorzystają na tym oparte na dyskach SSD macierze RAID, ale i desktopowcy powinni odczuć różnicę (a raczej zobaczyć ją w benchmarkach).
Do kernela trafiła ostateczna wersja firewalla NFTables, mającego w przyszłości zastąpić IPTables. W tym momencie systemowy firewall jest jedną z największych bolączek użytkowników przesiadających się z Windowsa i przyzwyczajonych do specyficznych dla tej platformy rozwiązań. Być może kiedy NFTables zadomowi się na stałe, to pojawi się i bardziej przyjazne GUI?
Inne:
- poprawki w systemie generowania liczb losowych zapewniają szybsze i bardziej „losowe” generowanie liczb pseudolosowych;
- systemy plików BTRFS oraz F2FS otrzymały sporo poprawek;
- pojawiło się wsparcie dla ekranów dotykowych wykorzystujących podczerwień (Neonode zForce);
- Linux od teraz może być uruchamiany na wykorzystujących EFI (zamiast BIOS-u) płytach głównych z procesorami ARM;
- architektura ARM64 (64-bitowy ARM) także otrzymała dużą liczbę poprawek.
W skrócie
Wydano FreeBSD 10. Domyślnym kompilatorem języków C/C++ w tym systemie stał się LLVM/CLANG, pojawiło się też sporo poprawek do ZFS (prawdopodobnie najlepszego systemu plików na świecie, oczywiście zaraz za <tu wstaw nazwę swojego ulubionego systemu plików>).
W tym samym czasie fundacji OpenBSD (ten sam kernel, inny system operacyjny) zagroziło bankructwo. W ciągu kilku dni udało się zebrać 100 tys. dolarów, poczynając od 20 tys., które wpłacił Mircea Popescu – twórca giełdy bitcoinów MPEx.
Strona domowa pakietu LibreOffice została całkowicie odmieniona. Już niedługo wydanie 4.2.
Kingdom Come: Deliverance będzie pierwszą grą na Linuksa wykorzystującą CryEngine. Grę ufundowano na Kickstarterze.
Valve dało deweloperom Debiana dostęp do wszystkich swoich gier na platformie Steam. Ciekawe jak duże opóźnienie będzie miała Jessie?
Sam SteamOS, wbrew moim przewidywaniom, po ostatnich poprawkach można zainstalować na maszynach bez UEFI, a także w trakcie instalacji ręcznie podzielić dysk na partycje. Da się więc przygotować Steam Machine pod dualboot.
Korekta:Ionash
Jeśli chodzi o sprawę Clang/LLVM to jest to zdecydowany sukces. Póki co nikt nie zamyka LLVM a jego rozwój jest chętniej wspierany przez firmy. Różnica licencyjna wg mnie sprowadza się wyłącznie do tego, że firmy tworzące komercyjne produkty mogą wspierać te otwarte a nie forsować własne rozwiązania od zera. Jeśli ktoś nie chce używać LLVM, to nikt go do tego nie zmusza. Moim zdaniem to właśnie liberalna licencja LLVM powoduje, że ten się tak szybko rozwija podczas gdy licencja GPL odstrasza osoby, które mogłyby wesprzeć projekt ale niekoniecznie chcą się dzielić wszystkimi swoimi pracami.
Ciekawe jest, że RMS tak promujący wolność oprogramowania krytykuje niemal każdą postawę odmienną od *jego* wizji wolności. Z całym szacunkiem dla Stalman’a ale to mi pachnie hipokryzją i narzucaniem „jedynie słusznej wolności” w odniesieniu do oprogramowania i sposobów jego pisania, licencjonowania i/lub dystrybucji.
Richard Stallman postuluje za absolutną wolnością dla użytkownika i z czterema „wolnościami” oprogramowania się zgadzam. Jednakże w całej tej krucjacie gdzieś zgubiła się wolność wyboru dla programisty. Wolne oprogramowanie nie rozumie też pojęcia „wolność wyboru tak także prawo wyboru zamkniętego oprogramowania”
Stallman jak zwykle nie został zrozumiany.Zostawmy GCC i LLVM na boku i przyjrzyjmy się Wine. Kiedyś Wine było na licencji MIT (w praktyce to jest właśnie taki odpowiednik BSD). Dlaczego teraz jest na LGPL ? Bo w 2002 pojawiła się Cedega. Kilku przedsiębiorczych Januszy zamknęło kod i zaczęło trzepać kasiorkę korzystając z tego co już ktoś zrobił (Oczywiście pomijając to e dołożyli do tego kodu swoją intepretację API DirectX, no ale cześć roboty już mieli zrobionej). Zmiana licencji Wine na LGPL to nie był nakaz RMS, czy kogokolwiek innego – zrobili to sami deweleporzy czerwoni ze złości.
Stallman tutaj nie burzy, czy ogranicza komuś wolność wyboru. Stallman ostrzega że z takim podejściem wielu dokładających się do projektu może być w przyszłości czerwonych ze złości tak jak byli ci pracujący nad Wine.
„… zaś zwolennicy Otwartego Oprogramowania wiedzą, że filozofii jeszcze nikt nie włożył do garnka i nie ugotował na obiad.”
Demokracji, czy wolności słowa też nie da się włożyć do garnka, a jednak nie można z tego rezygnować.
Powiem przewrotnie. Konkurencja bardzo dobrze zrobi GCC. Wersja 4.8 to zupełnie inna bestia (szczególnie debugger). A o masowe odejście od GCC też bym się nie martwił. Wiele oprogramowania (w tym jądro Linuksa) korzysta ze specyficznych zachowań GCC i migracja na inny kompilator nie byłaby łatwa.
Nie zmienia to faktu, że Clang to bardzo dobry kompilator.
„The clang developers are demonstrating that they have the capacity to make good on this threat. clang is not a toy or a laboratory demonstration; it is a real, production-quality compiler with some significant advantages over GCC. Much more useful error messages is one; a newer generation of optimization leading to smaller, tighter code is another; and much faster compilation is yet another.”