Edycja 01.08.2015: Ta odpowiedź wciąż jest wyświetlana i głosowana. Jest więcej niż stara i chciałbym ją usunąć, ale ponieważ jest to zaakceptowana odpowiedź, nie mogę tego zrobić. Z drugiej strony jest to wiki społeczności, a społeczność utrzymuje ją na bieżąco - dziękuję za to!
SourceForge przeszedł na ciemną stronę, przejmując projekt i łącząc go z Adware ( Google GIMP Sourceforge Adware ). Unikaj za wszelką cenę. GitHub jest obecnie nadal najpopularniejszym, chociaż istnieją alternatywy (np. BitBucket oferuje nieograniczone prywatne repozytoria za darmo dla maksymalnie 5 użytkowników).
To szalone, jak bardzo krajobraz zmienił się w ciągu ostatnich kilku lat, a jeśli czytasz to w przyszłości, może GitHub nie jest już fajnym produktem. Podsumowując: istnieje mnóstwo niesamowitych opcji dla dowolnego systemu kontroli źródła, z którego chcesz korzystać.
Stare informacje z 2010 roku poniżej ze względu na historię
Edycja: ta odpowiedź jest teraz starożytna. W ciągu ostatnich 2 lat GitHub stał się głównym miejscem do hostingu kodu, a ilekroć muszę stworzyć nowy projekt OSS, nie mam cienia wątpliwości, dokąd się udać. Zostawiając to poniżej w celach informacyjnych.
Rzeczywiście, mój post ma już prawie 2 lata (2008) i nie jest już do końca dokładny.
Czemu?
Ponieważ uważam, że SourceForge jest teraz nieistotne dla projektów open source. Okej, to wpędzi mnie w wiele kłopotów, więc pozwól mi wyjaśnić:
Jestem absolutnie przekonany, że projekty Open Source powinny być uruchamiane na DVCS, najlepiej git lub mercurial, ponieważ są najbardziej rozpowszechnione - nic przeciwko Bazarowi, ale myślę, że jest to trochę zbyt niejasne. ( Edycja: SourceForge oferuje teraz Mercurial i Bazaar, więc ten argument już nie obowiązuje. Jednak po dwóch przeprojektowaniach uważam, że wizerunek SF nie jest zbyt wspaniały. Aby porównać je z wizerunkami firm: Podczas gdy GitHub to Apple, SF jest IBM. Solidny, ale trochę zakurzony)
Więc gdybym miał napisać ten post ponownie, byłby to CodePlex vs. GitHub vs. BitBucket , a GitHub byłby zwycięzcą. Ale to jest ogólne stwierdzenie, więc pozwól mi dodać szczegóły. +/- nie jest stricte Pro / Con, chodzi bardziej o podkreślenie różnych filozofii.
CodePlex
+ Real Mercurial / Git Hosting - brak błędnego mostu na TFS, masz prawdziwą Mercurial / Git
+ Integrated Wiki, która pozwala na dodawanie bogatej dokumentacji i ładnie wyglądających stron
+ Dołączony moduł śledzenia błędów i fora dyskusyjne
- Przeglądarka kodu źródłowego nie jest taka świetna - Różnice pojawiają się w wyskakującym okienku i po prostu „wydają się” skomplikowane
- Żądania rozwidleń i ściągania „nie są tak łatwe” - interfejs użytkownika może wymagać trochę pracy
Ogólnie rzecz biorąc, CodePlex jest nadal świetny, ale wydaje mi się, że jest bardziej odpowiedni dla pojedynczych programistów lub bardzo małych zespołów, ponieważ witryna koncentruje się na Wiki, a nie na kodzie źródłowym. To bardziej publikacja niż platforma współpracy. Teoretycznie nie potrzebujesz strony głównej projektu, Twój projekt CodePlex może być Twoim punktem kompleksowej obsługi.
GitHub
+ Git Hosting, obsługuje SSL / SSH
+ Wykres sieciowy pozwala zobaczyć rozwidlenia i co się z nimi łączyło
+ Możliwość `` oglądania '' projektów - strona twojego konta jest jak ściana na Facebooku z nowymi checkins
+ Super dobra przeglądarka różnic z możliwością komentowania na zmiany w jednej linii - patrz tutaj
+ Rozwidlanie jest procesem 2 kliknięć, tak samo jak wysyłanie żądań ściągnięcia
+ GitHub ma teraz narzędzie GUI GitHub dla Windows
- Strona główna nie jest zbyt „ładna” dla osób niebędących programistami. Jeśli masz plik Readme w swoim projekcie (obsługuje niektóre języki znaczników, takie jak Markdown lub HTML), jest on wyświetlany, ale strona początkowa to kod źródłowy
- Wiki nie jest świetna - to Markdown, ale czasami formatowanie wydaje się nieco zbyt skomplikowane.
GitHub ma inną filozofię niż CodePlex: chodzi o kod źródłowy i współpracę między programistami. Strona główna projektu to najbardziej aktualny kod źródłowy. Istnieje oddzielna Wiki, ale jest ona bardziej przeznaczona do dokumentacji niż do prezentacji projektu. Wykres sieci jest fantastyczny, chociaż może być mylący, gdy jest więcej niż około 20 wideł (często, gdy ogłasza się głośny projekt, wszyscy i ich pies go rozwidlają, ale większość widelców szybko umiera). GitHub bardzo dobrze skaluje się do każdego rozmiaru.
W rzeczywistości GitHub bardzo ułatwia mi rozwidlenie projektu, zastosowanie poprawki / poprawki, zatwierdzenie jej do mojego forka i wysłanie żądania ściągnięcia do autora. W połączeniu z wykresem sieciowym naprawdę łatwo jest zobaczyć zatwierdzenie.
Ale najprawdopodobniej potrzebujesz osobnej strony głównej, aby zaprezentować swój projekt użytkownikom końcowym i zapewnić pliki do pobrania, ponieważ funkcje pobierania GitHub nie są tak świetne.
BitBucket
+ Git / Mercurial
+ Udostępnia prywatne repozytoria za darmo, do 5 użytkowników
Nie użyłem BitBucket na tyle, aby wyrazić prawdziwy komentarz. Jedyną cechą, która go wyróżnia, jest to, że prywatny hosting jest bezpłatny, podczas gdy GitHub pobiera opłaty, a Codeplex w ogóle go nie oferuje.
Kod Google
Google Code nie jest już opcją.
- Tworzenie projektów jest wyłączone od marca 2015 r., A usługa Google zostanie trwale zamknięta 25 stycznia 2016 r. , Ponieważ konkurencyjne usługi są po prostu lepsze.
- Jest brzydki i zbyt skomplikowany, aby przeglądać kod źródłowy (link jest nieco zakopany)
Nie użyłem go, więc nie chcę powiedzieć, że jest zły - nie jest. Używa go wiele projektów, jest bardzo stabilny i solidny, nie słyszał nic złego od żadnego programisty. Jednak z osobistej, subiektywnej opinii „design” mnie odstrasza.
SVN kontra Git / Mercurial
Powtórzę mój komentarz powyżej, że SourceForge jest przestarzały: To jest oczywiście trochę surowe. Uważam jednak, że SVN jest szkodliwy dla projektów open source. Przede wszystkim dziwne wymagania dotyczące metadanych, aby ignorować pliki. W Git lub mercurial masz plik o nazwie .gitignore lub .hgignore w katalogu głównym twojego drzewa źródłowego, który zawiera listę plików / katalogów / wzorców do zignorowania. No magic svn: ignoruj metadane w folderze .svn. Samo to wyrzuca SVN z wody dla mnie. Jeśli zaczynam nowy projekt Visual Studio, muszę następnie zastosować te magiczne metadane, podczas gdy w przypadku Git / mercurial po prostu kopiuję jeden plik i kończę z nim.
Następnie możliwość rozwidlenia, łatania i wysłania żądania ściągnięcia jest fantastyczna, szczególnie w przypadku małych / jednorazowych poprawek.
Last but not least, SourceForge jest nadal ZNACZNIE zbyt skomplikowane jak na mój gust. To nie jest zły gospodarz, ale naprawdę pokazuje, że jest w wieku IMHO. Mimo to jest nadal solidny i ma wiele luster na całym świecie. Ponadto Bug Tracker jest znacznie bardziej wyrafinowany niż inne.
Ponadto, jeśli twój projekt z jakiegoś powodu wymaga ścisłych zasad dotyczących wkładu (co może mieć sens, np. Ochrona prawna, aby upewnić się, że zatwierdzony kod jest rzeczywiście legalny), może działać tradycyjny system, taki jak SVN hostowany na SourceForge.
Edycja: Nie wiedziałem, że SF wreszcie ma rozproszony hosting. Jak wspomniano powyżej, jest solidny, ale już nie jest „fajnym dzieckiem” i uważam go za zbyt skomplikowany.
TL; DR
Dla każdego małego i średniego projektu gorąco polecam GitHub, dla małych projektów, w których chcesz mieć fajną stronę internetową, wybrałbym CodePlex, a dla prywatnych projektów wybrałbym BitBucket. W przypadku dużych projektów, które wymagają bardzo wyrafinowanego narzędzia do śledzenia błędów, mnóstwa dodatkowych funkcji i „prawdziwej” witryny internetowej, rozważ Source Forge.