Gdzie hostować projekt Open Source: CodePlex, Google Code, SourceForge? [Zamknięte]

165

Przeczytałem listę odpowiedzi na pytania dotyczące SO dotyczących „Jak promować projekt open source”. Nic dziwnego, że wiele odpowiedzi wskazywało na SoureForge / FreshMeat i inne witryny itp., A także na blogowanie i tak dalej. To sprawiło, że zacząłem się zastanawiać, gdzie najlepiej zorganizować projekt i dlaczego?

Ponieważ mój pierwszy projekt jest obecnie hostowany w CodePlex, zacząłem przedzierać się przez wyniki wyszukiwania Google, aby zebrać informacje o zaletach / wadach każdego z nich; Jednak porównania, które znalazłem, są raczej przestarzałe (2+ lata).

http://www.stum.de/2008/12/13/sourceforge-vs-codeplex/
http://www.developmentnow.com/blog/2006/11/codeplex-vs-sourceforge/
http: // www. space.com/forum/thread-6654.html
itd ...

Więc następne pytanie brzmi „Czy powinienem hostować mój projekt na wielu stronach”, na które następujący post zawiera oczekiwaną odpowiedź (na szczęście! Ponieważ byłoby to trudne do utrzymania).

Hostowanie projektu open source w kilku witrynach

Biorąc pod uwagę obecny stan różnych witryn hostingowych Open Source, takich jak CodePlex, GitHub, Google Code, SourceForge itp., Czy są jakieś znaczące zalety / wady jednej witryny w porównaniu z drugą? tj. czy powinienem trzymać się CodePlex, czy też omijam jedną z alternatyw? Czy uda się zwiększyć ruch w nowym i nieznanym projekcie?

Planuję zbadać każdą witrynę bardziej szczegółowo, aby zobaczyć, co oferują wszystkie, ale biorąc pod uwagę ogromną wiedzę dobrych ludzi na SO, pomyślałem, że najpierw zacznę od tego pytania.

AKTUALIZACJA

Jak na odpowiedź erjiang poniżej ... Obecnie używam Mercurial do kontroli wersji i jestem otwarty na wszystko inne niż TFS. Poza tym mój obecny projekt to tylko ja rozwijam, ale przyszłe projekty mogą być oparte na współpracy, więc warto rozważyć ...

Chris Baxter
źródło
55
Zamknięcie tego pytania było zupełnie niepotrzebne IMO. Muszę się zastanawiać, co udało się osiągnąć dzięki zamknięciu? Pytanie ma wiele pozytywnych głosów (więc oczywiście ludzie uznają je za interesujące), ma bardzo pozytywną odpowiedź (więc to pytanie jest oczywiście pomocne) i jest to wiki społeczności (więc nawet jeśli prosi o subiektywną opinię lub rekomendacje dotyczące produktu, nikt nie może zyskały po prostu na sponsorowaniu najnowszego i najlepszego produktu).
stakx - już nie publikuje
12
To jest rodzaj pytania, które powinno zostać zamknięte, zanim otrzymało tak dużo odpowiedzi, ponieważ nie było odpowiedniego rodzaju. Jednak teraz, gdy spotkało się z tak dużym odzewem, zamknięcie sprawy przyniesie efekt przeciwny do zamierzonego i pomniejsza wniesiony wkład.
Chris Stratton
4
Jedną rzeczą osiągniętą przez zamknięcie tego pytania @stakx jest ochrona przed nowymi odpowiedziami. Teraz na pewno straci to na znaczeniu.
Bob Stein
@ BobStein-VisiBone nie ma znaczenia? Właśnie trafiłem na to pytanie ponad sześć lat po tym, jak zostało pierwotnie zadane.
wonea
2
@wonea Byłem w sarkastycznym nastroju. Jestem rozczarowany, gdy takie istotne, przydatne i wymagające odpowiedzi pytania są utykane. W obecnej postaci, jeśli pojawią się nowe możliwości hostowania oprogramowania typu open source, ta strona jest sztucznie ograniczana do edytowania ich w istniejącą odpowiedź. Szczególnie pytania związane z szansami wymagają pola do rozwoju. Spodziewam się, że z roku na rok będzie coraz bardziej nieświeży. Stackoverflow jest świetny, ale wiele też kasuje, co jest świetne.
Bob Stein

Odpowiedzi:

127

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.

Michael Stum
źródło
3
Nie mogę zgodzić się z Google Code, myślę, że jest łatwy, intuicyjny i lekki (a strona internetowa jest szybka ! Porównaj to z CodePlex…!) I za każdym razem byłby moim wyborem nr 1. Ale reszta to ciekawa lektura.
Konrad Rudolph
2
@Konrad True, jak powiedziałem, to sprawa osobista. Może odstrasza mnie minimalistyczne podejście. Nie słyszałem nic złego o jego funkcjonalnej stronie, ale nigdy nie hostowałem tam projektu.
Michael Stum
2
Świetna odpowiedź, bardzo szczegółowa! Daje doskonałe wyjaśnienie różnic między głównymi witrynami (no cóż, CodePlex i GitHub), których byłem najbardziej zaciekawiony. Interesujące jest również to, że na tym etapie identyfikujesz SourceForge jako nieistotne; zdecydowanie zmiana opinii w stosunku do starszych artykułów. Dzięki!
Chris Baxter
4
Istnieją również czynniki charakterystyczne dla rodzaju projektu, który prowadzisz. Na przykład w przypadku projektów .Net CodePlex obsługuje wdrażanie ClickOnce, podczas gdy Google Code nie.
dbkk
1
@MichaelStum Może możesz dodać usługi GitHub Pages. Punktem wejścia dla każdego projektu hostowanego na GitHub powinna być strona.
Matías Fidemraizer
8

Cóż, nie powiedziałeś, jakiego systemu kontroli źródła używasz, co ma duży wpływ na twoje wybory.

(nie wyczerpujące)

  • Git -> GitHub lub Gitorious to oczywisty wybór
  • Mercurial -> BitBucket
  • SVN -> Savannah, SF.net
  • Bazar -> Launchpad
  • CVS -> aktualizacja do nowszego systemu kontroli wersji

Jestem fanem Git, ale Mercurial też jest niesamowity. Osobiście używam GitHub do niesamowitych funkcji współpracy, takich jak łatwe rozwidlanie i żądania ściągnięcia.

Chcę dodać, że CodePlex nie jest zbyt popularny w ekosystemie open source poza obozem Microsoft, a łatwo to zobaczyć na ich liście najczęściej pobieranych. Prawdopodobnie jest to połączenie tego, jak naturalnie koncentruje się na Microsoft, a także z przeszłych stygmatów. Jeśli programujesz wyłącznie dla .NET lub czegoś podobnego, to zmieni perspektywę.

Edycja: Twierdzę również, że programiści zwykle nie przeglądają losowo interesujących projektów. Jesteś równie prawdopodobne, aby przejść niezauważony na GitHub, jak jesteś na Codeplex, ale jeśli ktoś ma odkryć swój projekt, będą bardziej skłonni do wysyłania wiadomości / błędy plików / przyczynić się jeśli posiadasz już konto na tej stronie.

erjiang
źródło
2
Obecnie używam Mercurial (nie dotknąłbym TFS z 10-stopowym masztem)
Chris Baxter
2
Coś jest nie tak z wyrażeniem łatwe rozwidlenie
Marko
2
Dla każdego, kto jest ciekawy, na GitHubie, zamiast rozwidlania być nieodwracalnym podziałem projektu, jest to najlepszy sposób na modyfikację istniejącego projektu. Po dokonaniu własnych modyfikacji, możesz wysłać do tego oryginalnego projektu „żądanie ściągnięcia” do zmian z forka.
erjiang
Zgadzam się, że CodePlex jest skierowane wyłącznie do Microsoft Development; to działa w moim przypadku… mam wrażenie, że jeśli jest to ogólnie otwarte oprogramowanie… GitHub; jeśli ukierunkowany na .NET i CodePlex z jednym / mniejszym zespołem. Podobnie jak edycja dotycząca świadomości ... to będzie następna bitwa. Dzięki!
Chris Baxter
1
@marko: Łatwe rozwidlenie to dobra rzecz
Nicolas Raoul
4

Ponieważ Github rozwija się dość szybko i wydaje się być najważniejszym spośród projektów, które widzę w dzisiejszych czasach. Zdobyłbym mój głos.

Ale myślę, że jedno nie musi oznaczać, że nie możesz użyć drugiego. Widzę wiele projektów, które używają Github jako źródła i Google Code dla dokumentów. A poza tym link do Sourceforge.

Tak naprawdę nie ma znaczenia, jakiego używasz jako głównego hosta, ale polecam dodanie swoich projektów również w innych witrynach, aby łatwo było je znaleźć.

Wolph
źródło
Ciekawe, że poleciłbyś hosting w wielu witrynach. Moje początkowe przemyślenia byłyby zgodne z odniesieniami do odpowiedzi SO połączonej powyżej ... jakie są twoje przemyślenia w tym wątku?
Chris Baxter
@Calgary Coder: Nie mówię konkretnie o hostingu, ale o linkowaniu. Przestałem używać Sourceforge lata temu z powodu powolności i okropnych zmian w projekcie. Ale stworzenie projektu na sourceforge i linkowanie do twojej witryny github (lub jakiejkolwiek innej) może ułatwić znalezienie twojego projektu. Jeśli chodzi o dokumentację, okazało się, że wiki Google Code jest łatwiejsze niż wiki Github, dlatego wolę to. Podoba mi się interfejs Github i opcje rozwidlania, więc myślę, że to dobry wybór dla twojego źródła. Do przeglądu kodu uznałem starter za bardzo fajny.
Wolph
4

To pytanie wydaje się być duplikatem tego: /programming/10490/best-open-source-project-hosting-site

Oto moja odpowiedź na to pytanie: /programming/10490/best-open-source-project-hosting-site/3433969#3433969

Ogólnie rzecz biorąc, uważam, że najważniejsze zalety / wady w największym stopniu odnoszą się do oferowanych funkcji programistycznych i głównych odbiorców każdej witryny, przez co w mojej powyższej odpowiedzi przedstawiam cztery najpopularniejsze witryny.

jwanagel
źródło
1
Dzięki za link, starałem się nie powielać pytania, ale to przegapiłem.
Chris Baxter
1
@CalgaryCoder mogłeś przynajmniej zagłosować za, skoro poświęciłeś czas, by mu podziękować. Nvm, zrobiłem to dla ciebie ;-)
Mawg mówi, że przywróć Monikę
Te linki wydają się teraz martwe.
pb