Zastanawiam się, dlaczego większość projektów Ubuntu używa Launchpad.net zamiast GitHub do kontroli wersji i systemu śledzenia błędów. Czy jest jakiś konkretny powód, dla którego Ubuntu używa startera (i stąd bzr
)?
Zastanawiam się, dlaczego większość projektów Ubuntu używa Launchpad.net zamiast GitHub do kontroli wersji i systemu śledzenia błędów. Czy jest jakiś konkretny powód, dla którego Ubuntu używa startera (i stąd bzr
)?
Odpowiedzi:
Ta lista zawiera powody, dla których nie była używana wtedy i dlaczego nie powinna się teraz przenieść
Lauchpad wykorzystał bazar, który został opracowany dawno temu. Github nie istniał w tym czasie (jak powiedział Robin) Launchpad został wydany w 2004 roku, a Github w 2008 roku
Github nie jest oprogramowaniem typu open source. W tym przypadku lepszym wyborem byłby Gitorious. Wiem, że Launchpad początkowo nie był FOSS, ale został wydany później
Początkowo Github nie miał wielu funkcji, które miał Launchpad, takich jak zespoły. Github nie ma zintegrowanego z nim systemu kompilacji, takiego jak PPA
Wiele projektów w Launchpad mocno wykorzystuje funkcję „Żądanie scalenia”, która ma bardzo podstawową obsługę w Github. Nazywa się to „Pull request”, ale Launchpad ma lepsze funkcje i jest bardziej szczegółowy niż Github
Github's Bug Tracker jest prawie bezużyteczny. Mój projekt zwierzaka do śledzenia błędów może być bardziej przydatny
Launchpad jest własnością Canonical i płacą programistom. Mają pełną kontrolę nad swoim produktem.
Github używa Git do śledzenia wersji za pomocą gałęzi i tagów. W Launchpadzie, który używa bzr, również ma tę funkcję, ale Launchpad wyraźnie wymusza to poza systemem kontroli źródła. Byłoby to nieco łatwiejsze dla osób, które muszą obsługiwać wersje, ale nie chcą zagłębiać się w kod źródłowy.
Mała uwaga: Github vs. Launchpad i git vs. bzr to rodzaj tematu religijnego. Chcę trzymać się z dala od tej niekończącej się dyskusji. Używam, który pasuje do przypadku użycia.
Sądzę, że najprostszą odpowiedzią jest to, że Launchpad robi wiele rzeczy, których nie robią inne systemy (a było to jeszcze bardziej prawdziwe, kiedy Ubuntu zaczęło używać Launchpad).
Kilka przykładów:
Chociaż hosting kodu jest ważną funkcją Launchpada, nie jest jedyną i nie była pierwszą funkcją używaną przez Ubuntu.
Jeśli chodzi o projekty upstream związane z Ubuntu, korzystanie z tego samego systemu, co sam Ubuntu, przynosi korzyści. Jednym z przykładów jest śledzenie błędów zarówno w kontekście nadrzędnym, jak i pakietowym.
Właściwie myślę, że to bardziej jak „dlaczego używają bzr, a więc i startera”? Canonical zainwestował pieniądze i ludzi w rozwój BZR i jego prekursorów, na długo przed istnieniem GitHub, i prawdopodobnie nie chcą teraz wyrzucać całej tej zgromadzonej wiedzy i inwestycji. Rzeczywiście, baz został uruchomiony zanim istniał git.
Ponadto, ponieważ kontrolowany przez nich Launchpad, mogą łatwiej dodawać funkcje, które mają dla nich sens - podczas gdy GitHub nie jest nawet open source, a na pewno nie jest pod ich kontrolą!
Zed Shaw bardzo dobrze omówił ten temat w niedawnym wpisie na blogu Launchpad vs. Github / SysAdmin vs. Coder .
Widziałem ten post na blogu napisany przez lvh, zadając proste pytanie: „Dlaczego ludzie tak bardzo nienawidzą startera?” Zastanawiałem się nad tym, dopóki nie zacząłem majstrować przy rozwidlaniu pkgsrc NetBSD i zacząłem szukać różnych menedżerów pakietów. Kiedy przeglądałem różnych menedżerów pakietów, w końcu zdałem sobie sprawę, że różnica między Launchpadem a Githubem to tak naprawdę różnica między administratorami systemu i twórcami oprogramowania.
Nie do końca zgadzam się z jego ocenami funkcji Launchpada poza zarządzaniem kodem. Jako programista wolę widok repozytorium Githuba, ale moduł śledzenia błędów Launchpad jest znacznie lepszy niż Githuba.