BitKeeper
BitKeeper (często zapisywany jako BitKeeper) – rozproszony system kontroli wersji (system kontroli wersji), opracowany pierwotnie w latach 1998 przez firmę BitMover. Był to jeden z pierwszych komercyjnych systemów tego typu, który wprowadził szereg innowacji, m.in. model centralny i model rozproszony w jednym narzędziu, a także wsparcie dla bardzo wydajnych operacji łączenia (merge) oraz replikacji repozytoriów.
Historia
Projekt rozpoczął się w 1998 roku w firmie BitMover, założonej przez Larry’ego Moore’a. Jego pierwsza publiczna wersja 1999 roku była dostępna jako oprogramowanie komercyjne, skierowane głównie do dużych przedsiębiorstw oraz projektów open source, które potrzebowały skalowalnego rozwiązania kontroli wersji.
W 2000 roku BitKeeper zyskał rozgłos dzięki integracji z projektem jądra Linux. Twórcy jądra, w tym Linus Torvalds, przyjęli BitKeeper jako narzędzie do zarządzania kodem źródłowym, co znacznie przyspieszyło rozwój tego projektu.
Kontrowersje wokół licencji komercyjnej doprowadziły w 2005 roku do odłączenia się projektu Linux od BitKeepera. W odpowiedzi na to wydarzenie powstał Git – system kontroli wersji zaprojektowany przez Linusa Torvaldsa, który czerpał inspirację z architektury BitKeepera.
Technologia
- Model hybrydowy – BitKeeper umożliwia pracę zarówno w trybie centralnym (z jednym serwerem głównym), jak i rozproszonym (każdy użytkownik posiada pełną kopię repozytorium).
- Wydajne operacje merge – mechanizm trójstronny (three‑way merge) oraz wsparcie dla automatycznego rozwiązywania konfliktów.
- Replikacja i synchronizacja – protokół SSH oraz własny protokół BKRepo umożliwiają szybkie przenoszenie zmian między repozytoriami.
- Wsparcie platform – dostępny na Unix, Linux, Windows oraz macOS.
- System uprawnień – rozbudowany model uprawnień oparty na listach kontroli dostępu (ACL), pozwalający na precyzyjne definiowanie ról w projekcie.
Znaczenie i wpływ
Choć BitKeeper nie osiągnął szerokiej popularności wśród użytkowników domowych, jego architektura wywarła znaczący wpływ na dalszy rozwój systemów kontroli wersji. Najważniejsze dziedzictwo BitKeepera to:
- Inspiracja dla Git i Mercurial, które przyjęły wiele koncepcji rozproszonych repozytoriów.
- Wprowadzenie pojęcia change‑set jako podstawowej jednostki zmian w repozytorium.
- Rozwój praktyk ciągłej integracji (CI), gdyż możliwości szybkiej replikacji ułatwiały automatyczne budowanie i testowanie kodu.
Kontrowersje i krytyka
Największą krytykę BitKeeper otrzymał w związku z modelem licencjonowania. W 2005 roku licencja komercyjna okazała się barierą dla wielu projektów open source, co doprowadziło do migracji do darmowych alternatyw. Dodatkowo niektórzy programiści krytykowali:
- Brak pełnej otwartości kodu źródłowego w wersji darmowej (licencja BSD‑like).
- Kompleksowość konfiguracji serwera BitKeeper Server w porównaniu do prostszych rozwiązań, jak Git czy Subversion (SVN).
Współczesny status
Od 2009 roku BitKeeper stał się projektem o ograniczonym rozwoju – firma BitMover przestała udostępniać nowe wersje komercyjne i skupiła się na utrzymaniu istniejącej infrastruktury. Wiele organizacji przeszło na alternatywy open source, jednak nadal istnieją środowiska (głównie w niektórych projektach korporacyjnych) utrzymujące repozytoria w BitKeeperze ze względu na istniejące zależności i specyficzne funkcje.
Powiązane pojęcia
Do tematu BitKeepera ściśle związane są następujące zagadnienia:
- System kontroli wersji
- Git
- Mercurial
- Subversion (SVN)
- CVS
- Jądro Linux
- Ciągła integracja
- Inżynieria oprogramowania
Bibliografia
- Moore, L. – BitKeeper: A New Architecture for Distributed Version Control, BitMover, 1999.
- Torvalds, L. – Why we need a new version control system, Linux Kernel Mailing List, 2005.
- Chacon, S., Straub, B. – Pro Git, 2009 (rozdział porównujący BitKeeper i Git).
- Stallman, R. – Open Source Licenses and the BitKeeper Controversy, 2005.