Poniedzielnik: wieści ze świata OpenSource. Numer 44 6


Wieści ze świata Open Source: 3 – 10 kwietnia 2012

Witam drogich Czytelników po świątecznej przerwie. Dzisiejszy numer Poniedzielnika jest nieco spóźniony, ale cóż rzec: ciężko jest pisać będąc najedzonym po uszy. Świąteczna kaczka w jabłkach…MMMMmmm…
Na szczęście deweloperzy też sobie odpuścili poprzedni tydzień. Z wydarzeń godnych uwagi warto odnotować publikację corocznego raportu „Kto pisze Linuksa”. W komplecie jest nawet film!

Kto pisze Linuksa?

Wielu ludzi wierzy, że Linuksa tworzy większa lub mniejsza garstka zapaleńców siedzących w zaciemnionych pokojach, zajadających się pizzą i robiących rzeczy o których reszta populacji nie ma zielonego pojęcia. Prawda jest taka, że Linux to poważny biznes i większa część pracy włożonej w jego rozwój jest opłacana przez taką czy inną firmę.

Coroczny raport Fundacji Linuksa przedstawia w strawnej formie dane dotyczące tego jak kod się zmienił oraz kto nad nim pracował. Autorzy starają się ograniczyć do minimum zarówno technologiczny żargon jak i zasypywanie czytelnika liczbami.

Podsumowanie roku 2011:

  1. Kernel obchodził swoje dwudzieste urodziny. Pierwsze ogłoszenie od Linusa Torvaldsa zostało umieszczone w internecie 25 sierpnia 1991 roku. Zaraz potem, we wrześniu, wydał on wersję 0.01
  2. Schemat numeracji 2.6.x, używany od 2004 roku, został porzucony na rzecz kernela 3.0. Poza zmianą sposobu numeracji nie było żadnych rewolucyjnych zmian w kodzie, zwyczajnie zdecydowano (po ciągnącej się latami dyskusji), że numeracja 2.6 stała się niewygodna.
  3. Po raz pierwszy Microsoft znalazł się na liście 20 najaktywniejszych deweloperów
  4. Zabezpieczenia centralnego repozytorium i dystrybucji kodu – kernel.org – zostały przełamane, co spowodowało wyłączenie strony na kilka tygodni i znaczne opóźnienie w wydaniu kernela 3.1. Intensywne dochodzenie ujawniło, że nie próbowano wpływać na integralność źródeł Linuksa. W rezultacie tego incydentu wprowadzono szereg usprawnień bezpieczeństwa w proces tworzenia i dystrybucji kodu.
  5. Mocno nagłośniono fatalny stan gałęzi architektury ARM. Prawdą jest, że ARM stało się strasznie bałaganiarskie jako rezultat zwiększonej liczby dostawców kodu z sektora urządzeń wbudowanych. W pewnym sensie kernel stał się ofiarą swojego sukcesu. Pod koniec poprzedniego roku proces sprzątania w tej gałęzi był już mocno zaawansowany.
  6. Wydanie 2.0 z czerwca 1996 roku dodało do kernela wsparcie dla symetrycznego przetwarzania wieloprocesowego, a razem z tym wielką blokadę kernela (big kernel lock). Prawie dokładnie 15 lat później, w 2011 roku, zakończono proces usuwania BKL (kernel 2.6.39).
  7. Ostatnie wydanie w 2011 roku, oznaczono numerem 3.2, przekroczyło granicę 15 milionów linijek kodu. 1316 deweloperów pracowało przez 72 dni. Zgłosili oni w sumie 11881 łatek. W trakcie trwania cyklu rozwojowego kernela 3.2 trafiało do niego średnio 6,88 patcha na godzinę. 226 firm brało czynny udział w pracach nad tą wersją.

Punkt numer 3 mocno zainteresował media. Bądź co bądź to jest ciekawy temat: „Microsoft jednym z głównych deweloperów Linuksa”. Jednakże parę portali wyraźnie nie odrobiło pracy domowej. Kluczową informacją jest tutaj nad czym pracował MS.

Od dłuższego czasu kilku inżynierów z Microsoftu pracuje nad sterownikiem kernela dla swojej maszyny wirtualnej. Chodzi o to, aby łatwo i przyjemnie dało się zainstalować i używać Linuksa jako gościach na hostach Windows Server. Dlaczego miałoby to obchodzić Microsoft? Z prostej przyczyny – klienci tego wymagają. Już od stycznia wiadomo, że w usłudze chmurowej Windows Azure będzie można używać Linuksa. Ponadto duzi klienci korporacyjni, wykorzystujący  u siebie infrastrukturę Windows Server wymagają pełnego wsparcie dla Linuksa od Microsoftu, gdyż tego samego wymagają od nich ich właśni klienci. Minęły już czasy, kiedy można było twierdzić, że Linux to rak i mieć nadzieję iż rzeczywistość dostosuje się własnego programu marketingowego.

Prace nad sterownikiem dla Hyper-V to w sumie 2174 zgłoszenia kodu – 1.1% ogólnej liczby wszystkich zgłoszeń w 2011r. Dało to siedemnastą pozycję na liście najaktywniejszych deweloperów korporacyjnych. Pracę nad tym sterownikiem trwały od 2009 roku i dopiero pod koniec 2011 roku kod ten opuścił obszar staging. Był to niemały prztyczek w nos dla Microsoftu. „Staging” to miejsce gdzie trafiają wszystkie nowe sterowniki. Nikt nie zakłada, że będą one działać, albo będą dobrze udokumentowane. Ale są ogólnodostępne i inni mogą pomóc w ich rozwoju. Jednak aby opuścić gałąź staging kod musi spełniać wyśrubowane wymagania dotyczące jakości. Poczynając od dokumentacji, poprzez odpowiedni styl kodowania aż po poprawne działanie.

Przez prawie półtora roku nikt nie zajmował się tym kawałkiem kodu. Dopiero groźba usunięcia go z kernela dodała skrzydeł oryginalnym twórcom. Trzeba tu jednak przyznać, że wyciągnęli oni wnioski. Przejście przez staging to ciężka szkoła zarówno dla sterownika jak i dewelopera. Dojść powiedzieć, że z oryginalnego sterownika pozostało jedynie 40% kodu. Cała reszta okazała się niepotrzebna. Zmiany w architekturze spowodowały, że sterownik stał się znacznie wydajniejszy i stabilniejszy. Inżynierowie z MS przekonali się, że społeczność ma w nosie korporacyjne terminy. Jeżeli coś nie spełnia wymagań, to nie zostanie zaakceptowane niezależenie od tego jak szefowie naciskają. Polityka ta jest  znana od dawna, odpowiednie wyjaśnienia znajdują się nawet w podręczniku dla deweloperów będącego częścią dokumentacji Linuksa.

Inżynierowie Microsoftu rzucili kod na pożarcie i liczyli iż społeczność go przełknie. Tak się nie stało. Jeżeli oryginalny twórca nie interesuje się swoim kodem, to nie może liczyć na społeczność. Bądź co bądź on sam najlepiej wie jak działa stworzony przez niego kod. Bez współpracy z innymi deweloperami nie ma możliwości aby był rozwijany.

Już w 2009 roku mówiono, że kod zgłoszony przez Microsoft pozostawia wiele do życzenia. Wystarczy spojrzeć na liczby.  Oryginalny sterownik liczył około 20000 linijek kodu, co w porównaniu z całością kernela (obecnie ponad 15 milionów) stanowi ułamek procenta. W ciągu roku ten ułamek procenta wygenerował taki ruch, że Microsoft wskoczył do listy dwudziestu najaktywniejszych deweloperów. Czy warto więc od razu głosić wszem i wobec, że a) Microsoft nie jest taki zły, b) Microsoft dąży do przejęcia Linuksa, lub c) Bez pracy Microsoftu nie byłoby Linuksa?

Na zakończenie film. Jak buduje się Linuksa? Czyli cały raport w formie parominutowego filmu.

Źródła:
Linux Kernel Development – How Fast it is Going, Who is Doing It, What They are Doing, and Who is Sponsoring It
Linux on Hyper-V – our jurney throught the Linux staging tree 

W skrócie

Linux kernel 2.4 kończy swój żywot. Willy Tatteau, opiekun tej gałęzi jądra, oświadczył, że wersja 2.4.37.11 jest ostatnią wersją serii 2.4 i w najlepszym wypadku będą się pojawiać tylko niewielkie patche. Jak będzie miał czas. I chęci.

The Document Fundation wydało LibreOffice 3.5.2. Ta wersja nie wnosi żadnych nowości do kodu a jedynie naprawia kilkanaście błędów znalezionych do czasu wydania poprzedniej wersji.

Filtr importu plików Corel Draw dla LibreOffice są już praktycznie ukończone i pokrywają wszystkie wersje formatu cdr od 6 do 16.

Wydano pierwszą wersję kandydującą Gimpa 2.8.

W akcji Humble Indie Bundle for Android 2 sprzedano w sumie 106.597 zestawów gier za łączną kwotę 682.568,29 dolarów.


Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.

6 komentarzy do “Poniedzielnik: wieści ze świata OpenSource. Numer 44

  • szestkam

    Bardzo dobry artykuł.
    Cieszy mnie podsumowanie w sprawie MS, który włączył się w tworzenie kernela. Z jednej strony świadczy to o tym, że Biznes docenia Linuxa i przez to wymusza na korporacjach takich jak MS by przełamał się i zaakceptował ten fakt, ale z drugiej mam obawę czy nie znajdzie się jakiś prawnik, który szukał jakiś kruczków pranych i będzie truł krew.

    Ze swojej strony pragnę dołożyć cegiełkę i wspomnieć o projekcie Broadway GTK+ backend. Bibliotece pozwalającej na uruchomienie aplikacji w przeglądarce przy pomocy HTML5. Projekt się rozwija i życzę mu samych sukcesów.

  • marcin

    Długo oczekiwany przeze mnie GIMP 2.8 na pierwszy rzut oka nie przynosi rewolucyjnych zmian 🙁 Podoba mi się tryb pracy 1 okna. Już nie będzie mi się fotografia chowała pod przybornikiem, bo ten na stałe jest obok 🙂 Za to nadal podczas wczytywania się programu jak kliknę na obrazek GIMP to pojawia się komunikat o zawieszeniu, jak w wersji 2.6.11. Ale program otwiera się poprawnie, tylko pojawia się mylący komunikat.

    Pojawił się duży błąd, począwszy od wersji 2.6.12 (2.7.x nie instalowałem) po 2.8: podczas zapisywania grafiki nie pojawia się poprawne wyliczenie objętości pliku (np. dla formatu .jpg); w wersji 2.6.12: szereg losowych cyfr, w wersji 2.8: 1,3 GB :8

  • Dwimenor Autor wpisu

    @marcin
    Bo nowy gimp to właściwie dwie rzeczy:
    1) Jednookienkowy interfejs
    2) Akceleracja sprzętowa dla przetwarzania plików

    Pierwszą rzecz widać od razu po instalacji. Druga nie „rzuca” się tak w oczy.

  • Johny Mnemonic

    Raczej w przyszłości będą powstawać płatne systemy operacyjne na bazie Linuxa,nikt nie zabrania tworzenia płatnych rozwiązań