gnokii

Wreszcie udało się opublikować nową wersję. Cała głupia robota z copyrightami jest zrobiona i będę mógł zająć się czymś ciekawszym — niedomaga trochę obsługa systemu plików i trzeba jeszcze trochę popieścić obsługę książki adresowej i kalendarza. Do tego mam w głowie kilka podprojektów. A na razie jeszcze trochę posprzątam na www i ftp.

fortunki in da hałs

lyrics by: http://majaka.tfuj.pl/fortunki.txt

to historia
of linuxnews to j
plavi a
wielcy plavi astray
możliwość uruchomienia
dzilajace na nt pkot yea
a filip to
wielcy plavi bleu

dość że
bass mia bee
poniedzialki tak
r jan lotr cd sfv aaa
znikajacy napis o windowmakerze tokpik
co mondrego napisze pkot bass yay
przednia szybe do
debian to ostatnia rzecz pursue

MAJAKA DOT TFUJ DOT PL IN THA HOUSE
MAJAKA DOT TFUJ DOT PL IN THA HOUSE
MAJAKA DOT TFUJ DOT PL IN THA HOUSE
MAJAKA DOT TFUJ DOT PL

powered by HTTP in tha House

BitKeeper

Jakaś dziwna sprawa z tym BitKeeperem. W skrócie: darmowa wersja klienta znika, a główne repozytorium źródeł jądra Linuksa nie jest już przechowywane w BK.

Czy tak się musiało stać? Większość twierdzi, że tak (,,a nie mówiłem”). Przynajmniej przy takim podejściu Larry’ego McVoya. Straszliwą naiwnością było sądzić, że nikt nie będzie przeprowadzał reverse engineeringu — przecież to tak, jak z wordowym formatem doc — gdyby nikt tego nie używał, nikt nie próbowałby odcyfrować formatu. Jak wiadomo tak nie jest i mimo niechęci Microsoftu, format jest rozszyfrowywany. Po decyzji Linusa o użyciu BK, było wiadomo, że popularność tego narzędzia wzrośnie i znajdą się łamacze.

Wiele osób zabierało się do reverse engineeringu. Na ogół z marnym skutkiem; części śmiałków zaczęły wystarczać narzędzia konwertujące do CVS/Subversion udostępniane przez BitMovera. W końcu do BitKeepera usiadł Andrew Tridgell (aka tridge), m.in. współautor i główny deweloper Samby, autor rsync. Wiadomo było, że opensource’owy klient o niemal pełnej funkcjonalności jest jedynie kwestią czasu. Wiedział o tym też Larry. I zrobił, co zrobił.

Zabranie licencji firmie OSDL i wycofanie Linuksa z BK spowoduje znaczny spadek zainteresowania BK ze strony większości środowiska OS i próby reverse engineeringu zapewne znikną — to, o co chodzi teraz Larry’emu, bo pewnie większość swoich celów już osiągnął. Udoskonalił produkt we współpracy z najbardziej wymagającymi klientami. Dostał dużo dobrego (choć nie zawsze) PR. Zyskał nowych klientów, nowe referencje. Trzy lata temu prawie nikt nie słyszał o firmie BitMover, a teraz będzie jej się nieźle wiodło.

Sądzę, że nie tylko Larry McVoy zyskał na tym trzyletnim związku. Linux miał dobre narzędzie do kontroli wersji i przez ostatnie 3 lata tempo rozwoju wyraźnie wzrosło (kerneltrap pisze, że dwukrotnie). Dodatkowo Linus wydaje się być już przekonanym, że narzędzie do kontroli wersji jest niezbędne do skutecznego rozwoju.

No i wreszcie nastąpił wysyp narzędzi do kontroli wersji. Poza CVS jest i Subversion, jest SVK, jest GNU Arch, jest Bazaar, jest DARCS, jest monotone (faworyzowane przez Linusa). Pewnie przeżyją dwa lub trzy narzędzia, ale może CVS w końcu przestanie być najpopularniejszym narzędziem oferowanym we wszystkich ,,hostowniach”.

Zastanawia mnie też naiwność ludzi robiących reverse engineering BitKeepera. W przypadku samby i formatu doc, Microsoft nie jest w stanie zdecydować się na krok ,,całkowicie przestajemy obsługiwać starą wersję formatu/protokołu, teraz potrzebna jest nowa wersja aplikacji/systemu”. BitMover może coś takiego zrobić. Część repozytoriów różnych projektów jest przechowywana u nich. Nic nie stoi na przeszkodzie zmienić protokół/format, przekonwertować repozytorium i rozdać wszystkim klientom nową wersję programu (wraz z ewentualnym narzędziem do konwersji repozytorium). Nie umiem powiedzieć, jak trudne to by było, natomiast wyrzuciłoby całą pracę wykonaną przez reverse engineerów do kosza.

Czy narzędzie do kontroli wersji w dużym rozproszonym projekcie powinno mieć otwartą licencję i źródła? Chyba jednak tak. Al Viro napisał na lkml, że nie był w stanie wytłumaczyć Larry’emu swoich potrzeb (albo Larry nie był w stanie ich zrozumieć), a to była jedyna droga do wprowadzenia tych udogodnień do BitKeepera. Widać więc, że poza argumentami ideologicznymi, były argumenty techniczne przeciw używaniu zamkniętego programu. I jest to jedyny argument za otwartością SCM, który mnie przekonuje. Generalizując: otwartość jest ważna w przypadku narzędzi dla programistów. W przypadku narzędzi skierowanych do ,,zwykłych” użytkowników, nie jest to kluczowym argumentem (osobiście nie udało mi się do tej pory skorzystać z dostępności źródeł OpenOffice.org czy Firefoksa).

Na koniec dobra wiadomość. Wygląda na to, że nawet w przypadku tak wielkiego projektu, jakim jest Linux, daje się zmieniać narzędzie SCM i związany z nim sposób rozwoju oprogramowania. Sądzę, że wiele projektów zostaje przy CVS, bo tak zawsze było i zmiana tego jest trudna. Być może, gdy zamienniki CVS będą szerzej dostępne na sourceforge, savannah, berlios, gna i innych, i będą wskazywane jako podstawowe, rozpocznie się migracja od CVS.