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.