Co jeżeli w Linusa Torvaldsa uderzy autobus?

Matthew @ 2010-10-29 — Kategorie: Linux, Śmietnik

Ostatnio zrobiło się głośno o potrzebie zmiany sposobu przyjmowania patchy do głównej gałęzi Linuksa, a konkretnie o możliwości akceptacji poprawek przez inne osoby niż Linus Torvalds. Sprawa była poruszana już na Slashdotcie, LinuxInsider, LWN i w humorystyczny sposób (na ile humorystyczne ją crashtesty ludzi z autobusami) na nieistniejącym już segfault.org. Jednym z wątków tego sporu jest właśnie zderzenie z autobusem, czyli sytuacja w której z jakiegoś powodu główny zarządca projektu nie może, lub nie chce, dalej kontynuować swojej pracy.Czy to się nam podoba czy nie, trzeba przyjąć do wiadomości fakt, że Linux jest „prywatnym” projektem Linusa Torvaldsa i ma nad nim pełną władzę. Tak zwana „główna gałąź” to nic innego, jak projekt Linusa. Gałęziami nie-główne to wszelakie forki Linuksa. Wszystko to implikuje, że Linus może, ale nie musi, przyjąć czyjś kod. Jednak nie wszystkie poprawki trafiają bezpośrednio do Linusa. Zależnie od kategorii kodu który ma być włączony do Linuksa najpierw przechodzi on przez Linusowych poruczników lub opiekunów poszczególnych subsystemów. Te zbiorczo trafią do Linusa i w zależności od tego czy są wystarczająco dobre i zgadzają się z wizją systemu są włączane do głównej gałęzi. Jeżeli z jakiegoś powodu nie zostaną dodane to zawsze mogą znaleźć swoje miejsce w gałęzi prowadzonej przez innego dewelopera.

Mając taką a nie inną hierarchię w projekcie, w momencie gdy w Linusa uderza autobus zostajemy z bardzo ważnym projektem, któremu nikt nie przewodzi. Jednak nie ważny dlatego, że paru pryszczatych, siedzących w ciemnych pokojach, programistów tak powie. Linux jest ważny z biznesowego punktu widzenia. Bez dalszego jego rozwoju i wsparcia kłopoty miałoby bardzo wiele firm. Największe z tych firm są członkami Linux Fundation, co za tym idzie zrobią one wszystko, żeby nie było zastojów w tworzeniu Linuksa. LF to nie tylko zebranie firm, które są uzależnione od Linuksa. Organizacja również sponsoruje najważniejszych deweloperów. Więc w przypadku, gdy Linus któregoś dnia nie przyjdzie do pracy znajdą się osoby które postanowią co dalej z tym faktem zrobić, tak żeby nie ucierpiał na tym rozwój systemu.

Jeszcze jednym zarzutem stawianym Linusowi jest to, że jest „nieskalowalny”, czyli mamy za mało Linusa w Linusie przez co nie jest w stanie wystarczająco szybko pracować i przyjmować poprawki aby nadążyć za ludźmi którzy je wysyłają.  Jednak trudno się zgodzić z tym. Linux jest rozwijany w inny sposób niż większość oprogramowania. Nie mamy tutaj z góry ustalonego planu wg. którego planujemy kolejne miesiące pracy. To co znajdzie się w jądrze zależy od tego czy ktoś daną funkcjonalność potrzebuje i napisze dla niej kod. I wbrew temu co sądzę niektórzy, ostatnio nawet dochodziło do sytuacji że kod był przyjmowany za szybko, przez co wzrosła liczba błędnego lub niestabilnego kodu w jądrze.

Załóżmy jednak, że z jakiegoś powodu Linus chciałby podzielić się z kimś prowadzeniem swojego projektu (a ma już przecież swoich poruczników, którzy przyjmują poprawki). Problemem jest, że ciężko by było znaleźć taką osobę która byłaby w stanie dorównać Linusowi. Chociaż i to nie jest największą przeszkodą, gdyż na pewno istnieje na świecie kilku uzdolnionych deweloperów Linuksa. Przeszkodą w takim rozwiązaniu byłaby potrzeba dogadania się między dwoma lub więcej deweloperami, ustalenie wspólnego planu działania, gdzie każdy z nich ma inną wizję systemu oraz tego co powinno się w nim zmienić a co nie. Takie zarządzanie projektem niestety nie skaluje się liniowo.

Trudno jednak nie odnieść wrażenia, że tak na prawdę cała awantura jest tylko po to, żeby ktoś mógł ugryźć kawałek tego tortu i zapisać sobie w CV, że zarządzał rozwojem Linuksa.  Póki co Linus ma się dobrze, odwala kawał dobrej roboty i chyba nie ma sensu tego zmieniać na siłę. Przynajmniej do momentu w którym na swojej drodze nie spotka jakiegoś zabłąkanego autobusu… miejmy nadzieję że przystanki omija szerokim łukiem.

Komentarze:

„Ostatnio zrobiło się głośno o zmianie potrzebie zmiany sposobu”

Dodaj komentarz:

 

Subscribe without commenting