Dove ospitare un progetto Open Source: CodePlex, Google Code, SourceForge? [chiuso]


165

Ho letto l'arretrato di domande con risposta su SO riguardanti "Come promuovere un progetto open source". Non sorprende che molte delle risposte abbiano indirizzato le persone a SoureForge / FreshMeat e altri siti ecc., Oltre a blog e quant'altro. Questo mi ha fatto pensare a dove sia il posto migliore per ospitare un progetto e perché?

Dato che il mio primo progetto è attualmente ospitato su CodePlex, ho iniziato a sfogliare i risultati di ricerca di Google per raccogliere informazioni sui pro / contro di ciascuno; tuttavia i confronti che ho trovato sono piuttosto datati (2+ anni).

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

Quindi la domanda successiva diventa "Devo ospitare il mio progetto su più siti" a cui il seguente post fornisce la risposta prevista (per fortuna! Poiché sarebbe un dolore da mantenere).

Ospitare un progetto open source in diversi siti

Sulla base dello stato attuale di vari siti di hosting Open Source come CodePlex, GitHub, Google Code, SourceForge, ecc., Ecc. Vi sono notevoli vantaggi / svantaggi di un sito rispetto all'altro? vale a dire, devo attenermi a CodePlex o mi sto perdendo non usando una delle alternative? Si genererà più traffico verso un progetto nuovo e sconosciuto?

Ho intenzione di esplorare ogni sito in modo più dettagliato per vedere cosa offrono tutti, ma data la vasta conoscenza delle brave persone su SO, ho pensato che avrei iniziato con questa domanda prima.

AGGIORNATO

Per quanto riguarda la risposta di erjiang di seguito ... Attualmente sto usando Mercurial per il controllo della versione e sono aperto a qualsiasi cosa diversa da TFS. Inoltre, il mio progetto attuale sono solo io a sviluppare, ma i progetti futuri potrebbero essere collaborativi, quindi vale la pena considerare ...


55
Chiudere questa domanda era completamente inutile. Devo chiedermi cosa è stato realizzato dalla chiusura? La domanda ha molti voti (quindi ovviamente la gente lo trova di interesse), ha una risposta molto votata (quindi questo Q&A è ovviamente utile), ed è wiki della comunità (quindi anche se chiede un parere soggettivo o consigli sul prodotto, nessuno potrebbe hanno approfittato semplicemente per sponsorizzare l'ultimo e il più grande prodotto).
stakx - non contribuisce più

12
Questo è il tipo di domanda che avrebbe dovuto essere chiusa prima che ottenesse così tanta risposta, dal momento che non era davvero di un tipo appropriato. Tuttavia, ora che ha ottenuto così tanta risposta, la chiusura è controproducente e sminuisce i contributi che sono stati forniti.
Chris Stratton,

4
Una cosa ottenuta chiudendo questa domanda @stakx è proteggerla da nuove risposte. Ora affonderà sicuramente nell'irrilevanza.
Bob Stein,

@ BobStein-VisiBone affondare all'irrilevanza? Ho appena affrontato questa domanda oltre sei anni dopo che era stata posta inizialmente.
vinto il

2
@wonea Ero di umore sarcastico. Sono deluso quando vengono poste domande pertinenti, utili e di risposta come questa. Allo stato attuale, se emergono nuove opportunità di hosting open source questa pagina è artificialmente vincolata a modificarle in una risposta esistente. In particolare, le domande sulle opportunità hanno bisogno di spazio per evolversi. Mi aspetto che diventerà più stantio ogni anno. Stackoverflow è eccezionale, ma trasporta anche molto di eccezionale.
Bob Stein,

Risposte:


127

Modifica 01-08-2015: questa risposta sta ancora ottenendo visualizzazioni e voti. È più che antico e vorrei eliminarlo, ma poiché è la risposta accettata, non posso farlo. Inoltre, è wiki della community e la community lo ha tenuto aggiornato - grazie per quello!

SourceForge è passato al lato oscuro, rilevando il progetto e raggruppandolo con Adware ( Google GIMP Sourceforge Adware ). Evitare a tutti i costi. GitHub è attualmente il più popolare, anche se ci sono alternative (ad esempio, BitBucket offre repository privati ​​illimitati gratuitamente per un massimo di 5 utenti.)

È assurdo quanto sia cambiato il panorama negli ultimi anni e, se lo stai leggendo in futuro, forse GitHub non è più il prodotto interessante. La linea di fondo è: ci sono una miriade di fantastiche opzioni per qualsiasi sistema di controllo del codice sorgente che si desidera utilizzare.

Vecchie informazioni 2010 qui sotto per il bene della storia

Modifica: questa risposta ora è antica. Negli ultimi 2 anni, GitHub è emerso come il principale luogo di hosting di codice e ogni volta che devo creare un nuovo progetto OSS, non ho la traccia di un'ombra di dubbio su dove andare. Lasciando questo sotto per riferimento.

In effetti, il mio post ha quasi 2 anni (2008) ora e non è più del tutto preciso.

Perché?

Perché penso che SourceForge sia insignificante per i progetti open source. Okay, questo mi metterà molto nei guai, quindi vorrei chiarire:

Sono assolutamente convinto che i progetti Open Source debbano essere eseguiti su un DVCS, preferibilmente git o mercurial in quanto sono i più diffusi - niente contro Bazaar, ma penso che sia un po 'troppo oscuro. ( Modifica: SourceForge ora offre Mercurial e Bazaar, quindi quell'argomento non regge più. Tuttavia, dopo due riprogettazioni penso che l'immagine di SF non sia troppo grande. Per confrontarle con le immagini delle aziende: Mentre GitHub è Apple, SF è IBM. Robusta, ma un po 'polverosa)

Quindi, se dovessi scrivere di nuovo questo post, sarebbe CodePlex vs GitHub vs BitBucket , con GitHub che è il vincitore. Ma questa è un'affermazione generale, quindi vorrei aggiungere dettagli. +/- non è strettamente Pro / Con, è più per evidenziare diverse filosofie.

CodePlex

+ Real Mercurial / Git Hosting - nessun buggy bridge in cima a TFS, hai un vero Mercurial / Git
+ Wiki integrato che consente di aggiungere documentazione ricca e pagine carine
+ Bug Tracker e forum di discussione inclusi
- Il browser del codice sorgente non è eccezionale - I diff appaiono in un popup e si sentono "complicati"
- Forks and Pull Requests "non è così facile" - L'interfaccia utente potrebbe usare un po 'di lavoro

Nel complesso, CodePlex è ancora eccezionale, ma ritengo sia più adatto a singoli sviluppatori o team molto piccoli perché l'attenzione del sito Web è sul Wiki piuttosto che sul codice sorgente. È più una pubblicazione che una piattaforma di collaborazione. Teoricamente non hai bisogno di una homepage del progetto, il tuo progetto CodePlex può essere il tuo sportello unico.

GitHub

+ Git Hosting, supporta SSL / SSH
+ Il grafico di rete consente di vedere le forcelle e ciò che si è fuso in cosa quando
+ Possibilità di "guardare" i progetti: la pagina del tuo account è come una bacheca di Facebook con nuovi check-in
+ Visualizzatore di differenze eccellenti con la possibilità di commentare sulle modifiche a riga singola - vedi qui
+ Forking è un processo a 2 clic, quindi invia richieste pull
+ GitHub ora ha lo strumento GUI GitHub per Windows
- La pagina principale non è molto "carina" per i non sviluppatori. Se hai un file Leggimi nel tuo progetto (supporta alcuni linguaggi di markup come Markdown o HTML), questo viene visualizzato, ma la pagina iniziale è il codice sorgente
- Wiki non è eccezionale - è Markdown, ma a volte la formattazione sembra un po 'troppo complessa.

GitHub ha una filosofia diversa rispetto a CodePlex: è tutto basato sul codice sorgente e sulla collaborazione tra gli sviluppatori. La pagina principale del progetto è il codice sorgente più aggiornato. C'è un Wiki separato, ma è più destinato alla Documentazione piuttosto che alla presentazione del tuo progetto. Il grafico di rete è fantastico, anche se può diventare confuso una volta che ci sono più di circa 20 forchette (spesso quando un progetto di alto profilo viene annunciato a tutti e il loro cane lo sta biforcando, ma la maggior parte delle forchette muoiono rapidamente). GitHub si adatta molto bene a qualsiasi dimensione.

In effetti, GitHub mi rende semplicissimo il fork di un progetto, l'applicazione di una correzione / patch, il commit nel mio fork e l'invio di una richiesta pull all'autore. Insieme al grafico di rete è davvero facile vedere il commit.

Ma molto probabilmente hai bisogno di una home page separata per presentare il tuo progetto agli utenti finali e per fornire download, poiché le strutture di download di GitHubs non sono eccezionali.

BitBucket

+ Git / Mercurial
+ Consente repository privati ​​gratuitamente, fino a 5 utenti

Non ho usato BitBucket abbastanza per fare un vero commento. L'unica caratteristica che lo distingue è che l'hosting privato è gratuito, mentre GitHub si ricarica e Codeplex non lo offre affatto.

Google Code

Google Code non è più un'opzione.

- La creazione del progetto è disabilitata da marzo 2015 e il servizio Google si chiuderà definitivamente il 25 gennaio 2016 , poiché i servizi concorrenti sono semplicemente migliori.
- È brutto ed è troppo complicato per sfogliare il codice sorgente (il link è in qualche modo sepolto)

Non l'ho usato, quindi non voglio dire che è male, non lo è. Molti progetti lo usano ed è molto stabile e robusto, non ha sentito molto male da nessuno sviluppatore. Tuttavia, per una questione di opinione personale e soggettiva, il "design" mi scoraggia.

SVN vs. Git / Mercurial

Ribadire il mio commento sopra su SourceForge è obsoleto: è ovviamente un po 'duro. Tuttavia credo che SVN sia dannoso per i progetti open source. Innanzitutto, strani requisiti di metadati per ignorare i file. Su Git o mercurial, hai un file chiamato .gitignore o .hgignore nella radice dell'albero dei tuoi sorgenti che include un elenco di file / directory / modelli da ignorare. No magic svn: ignora i metadati nella cartella .svn. Questo da solo fa saltare SVN fuori dall'acqua per me. Se avvio un nuovo progetto di Visual Studio, devo applicare quei metadati magici, mentre con Git / mercurial copio solo un file e ho finito.

Quindi, la possibilità di fork, patch e inviare una richiesta pull è fantastica, specialmente per patch piccole / una tantum.

Ultimo ma non meno importante, SourceForge è ancora MODO troppo complesso per i miei gusti. Non è un cattivo host, ma mostra davvero che è IMHO età. Detto questo, è ancora robusto e ha molti specchi in tutto il mondo. Anche il Bug Tracker è molto più sofisticato degli altri.

Inoltre, se per qualche motivo il tuo progetto richiede regole di contributo rigorose (che possono avere senso, ad esempio la protezione legale per garantire che il codice impegnato sia effettivamente fornito legalmente), un sistema tradizionale come SVN ospitato su SourceForge potrebbe funzionare.

Modifica: non sapevo che SF ha finalmente distribuito l'hosting. Come detto sopra, è robusto, ma non è più il "ragazzo cool" e lo trovo troppo complesso.

TL; DR

Per qualsiasi progetto di dimensioni medio-piccole consiglio vivamente GitHub, per i piccoli progetti in cui si desidera anche un bel sito Web, andrei con CodePlex e per i progetti privati ​​andrei con BitBucket. Per i grandi progetti che richiedono un tracker di bug molto sofisticato, tonnellate di funzionalità extra e un sito Web "reale", considera Source Forge.


3
Non posso essere d'accordo su Google Code, penso che sia facile, intuitivo e leggero (e il sito Web è veloce ! Confrontalo con CodePlex ...!) E sarebbe la mia prima scelta ogni volta. Ma il resto è una lettura interessante.
Konrad Rudolph,

2
@Konrad Vero, come detto, è una cosa personale. Forse l'approccio minimalista mi sta rimandando. Non ho sentito nulla di negativo sul lato funzionale , ma non ho mai ospitato un progetto lì.
Michael Stum

2
Ottima risposta, molto dettagliata! Fornisce un'eccellente spiegazione delle differenze tra i principali siti (bene, CodePlex e GitHub) di cui ero più curioso. Interessante anche che tu identifichi SourceForge come insignificante in questa fase; sicuramente un cambio di opinione rispetto agli articoli più vecchi. Grazie!
Chris Baxter,

4
Ci sono anche fattori peculiari del tipo di progetto che stai eseguendo. Ad esempio, con i progetti .Net, CodePlex supporta la distribuzione ClickOnce, mentre Google Code no.
dbkk,

1
@MichaelStum Forse puoi aggiungere i servizi di GitHub Pages. Il punto di ingresso per qualsiasi progetto ospitato da GitHub dovrebbe essere una pagina.
Matías Fidemraizer,

8

Bene, non hai detto quale sistema di controllo del codice sorgente usi, il che influenza notevolmente le tue scelte.

(non completo)

  • Git -> GitHub o Gitorious sono le scelte ovvie
  • Mercurial -> BitBucket
  • SVN -> Savannah, SF.net
  • Bazar -> Launchpad
  • CVS -> passa a un nuovo sistema di controllo del codice sorgente

Sono un fan di Git, ma anche Mercurial è fantastico. Personalmente uso GitHub per le sue fantastiche funzionalità di collaborazione, come il forking semplice e le richieste pull.

Voglio aggiungere che CodePlex non è molto popolare nell'ecosistema open source al di fuori del campo Microsoft, ed è facile da vedere dal loro elenco più scaricato. Probabilmente è una combinazione di quanto sia naturalmente incentrato su Microsoft e anche di stimmi del passato. Se stai sviluppando esclusivamente per .NET o qualcosa di simile, ciò cambierà la prospettiva.

Modifica: inoltre, direi che gli sviluppatori di solito non navigano in modo casuale per progetti interessanti. Sei stessa probabilità di non dare nell'occhio su GitHub come siete su CodePlex, ma se qualcuno fa scoprire il progetto, saranno più propensi a inviare messaggi / bug di file / contribuire se hanno già un account su quel sito.


2
Attualmente uso Mercurial (non toccherei TFS con un palo da 10 piedi)
Chris Baxter,

2
C'è qualcosa che non va nella frase biforcazione facile
Marko

2
Per chiunque sia curioso, su GitHub, invece di creare una divisione irreversibile di un progetto, è il modo migliore per modificare un progetto esistente. Dopo aver apportato le modifiche personali, è possibile inviare al progetto originale una "richiesta pull" per le modifiche dal fork.
erjiang,

Accetto che CodePlex sia mirato esclusivamente allo sviluppo di Microsoft; quello sembra funzionare per me ... l'impressione che sto ottenendo è che se open source generale ... GitHub; se .NET focalizzato e team singolo / più piccolo CodePlex. Piace anche la modifica della consapevolezza ... quella sarà la prossima battaglia. Grazie!
Chris Baxter,

1
@marko: il biforcazione semplice è una buona cosa
Nicolas Raoul,

4

Dal momento che Github sta crescendo abbastanza velocemente e sembra essere il più importante tra i progetti che vedo in questi giorni. Otterrebbe il mio voto.

Ma penso che uno non debba significare che non puoi usare l'altro. Vedo molti progetti che utilizzano Github per l'origine e Google Code per i documenti. E oltre a ciò anche un link Sourceforge.

Non importa cosa usi come host principale, ma ti consiglio di aggiungere anche i tuoi progetti sugli altri siti, quindi è facile trovarli.


Interessante che consiglieresti di ospitare su più siti. Il mio pensiero iniziale sarebbe quello di concordare con i riferimenti SO risposta collegati sopra ... quali sono i tuoi pensieri su quel thread?
Chris Baxter,

@Calgary Coder: non sto specificamente parlando di hosting, ma di più collegamenti. Ho smesso di usare Sourceforge anni fa a causa della lentezza e degli orribili cambiamenti nel design. Ma la creazione del progetto su sourceforge e il collegamento al tuo sito Web Github (o qualsiasi altra cosa) possono aiutare a trovare più facilmente il tuo progetto. Per la documentazione ho scoperto che il wiki del codice di Google è più semplice del wiki di Github, quindi è per questo che preferisco. Mi piace l'interfaccia di Github e le opzioni di forking, quindi penso che sia una buona scelta per la tua fonte. Per la revisione del codice ho trovato launchpad molto carino.
Wolph,

4

Questa domanda sembra un duplicato di questa: /programming/10490/best-open-source-project-hosting-site

Ecco la mia risposta a questa domanda: /programming/10490/best-open-source-project-hosting-site/3433969#3433969

In generale, penso che i vantaggi / svantaggi importanti si riferiscano in modo più significativo alle funzionalità di sviluppo offerte e al pubblico principale di ciascun sito, che nella mia risposta sopra passo attraverso i quattro siti più popolari.


1
Grazie per il link, stavo cercando di non duplicare una domanda, ma mi mancava quella.
Chris Baxter,

1
@CalgaryCoder potresti aver votato almeno, dato che hai dedicato del tempo a ringraziarlo. Nvm, l'ho fatto per te ;-)
Mawg dice di reintegrare Monica il

Questi collegamenti sembrano essere morti ora.
bibbia
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.