Onde hospedar um projeto de código aberto: CodePlex, Google Code, SourceForge? [fechadas]

165

Eu tenho lido o backlog de perguntas respondidas no SO sobre "Como promover um projeto de código aberto". Não surpreendentemente, muitas das respostas apontaram as pessoas para o SoureForge / FreshMeat e outros sites, etc., bem como para blogs e outros enfeites. Isso me fez pensar onde é o melhor lugar para hospedar um projeto e por quê?

Como meu primeiro projeto está atualmente hospedado no CodePlex, comecei a percorrer os resultados de pesquisa do Google para coletar informações sobre os prós / contras de cada um; no entanto, as comparações que encontrei são bastante antigas (mais de 2 anos).

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

Portanto, a próxima pergunta se torna "Devo hospedar meu projeto em vários sites", para o qual o post a seguir fornece a resposta esperada (felizmente! Pois isso seria uma tarefa difícil de manter).

Hospedando um projeto de código aberto em vários sites

Com base no estado atual de vários sites de hospedagem de código aberto, como CodePlex, GitHub, Google Code, SourceForge, etc, etc, existem alguns prós / contras notáveis ​​de um site em relação ao outro? ou seja, devo ficar com o CodePlex ou estou perdendo por não usar uma das alternativas? Trará mais tráfego para um projeto novo e desconhecido?

Planejo explorar cada site com mais detalhes para ver o que todos oferecem, mas, dado o vasto conhecimento das pessoas boas sobre SO, achei que começaria com essa pergunta primeiro.

ATUALIZADA

Conforme a resposta erjiang abaixo ... Atualmente, estou usando o Mercurial para controle de versão e estou aberto a qualquer coisa que não seja o TFS. Além disso, meu projeto atual é apenas eu, mas projetos futuros podem ser colaborativos, portanto vale a pena considerar ...

Chris Baxter
fonte
55
Encerrar esta questão foi IMO completamente desnecessário. Eu tenho que saber o que foi alcançado até o fim? A pergunta tem muitos votos positivos (portanto, obviamente, as pessoas acham isso interessante), tem uma resposta altamente votada (portanto, essas perguntas e respostas são obviamente úteis) e é um wiki da comunidade (portanto, mesmo que peça opinião subjetiva ou recomendações de produtos, ninguém poderia lucraram simplesmente por patrocinar o melhor e mais recente produto).
stakx - não está mais contribuindo
12
Esse é o tipo de pergunta que deveria ter sido encerrada antes de receber tanta resposta, já que não era realmente de um tipo apropriado. No entanto, agora que obteve tanta resposta, o fechamento é contraproducente e menospreza as contribuições que foram feitas.
Chris Stratton
4
Uma coisa alcançada ao encerrar esta pergunta @stakx é protegê-la de novas respostas. Agora certamente irá afundar na irrelevância.
Bob Stein
@ BobStein-VisiBone afunda para irrelevância? Acabei de abordar essa questão mais de seis anos depois que ela foi originalmente feita.
Win32
2
@wonea Eu estava de humor sarcástico. Fico desapontado quando questões relevantes, úteis e respondíveis como essa são prejudicadas. Tal como está, se surgirem novas oportunidades de hospedagem de código aberto, esta página é artificialmente limitada a editá-los em uma resposta existente. As questões de oportunidade precisam especialmente de espaço para evoluir. Espero que fique mais obsoleto a cada ano. O Stackoverflow é ótimo, mas também descarta muito do que é ótimo.
Bob Stein

Respostas:

127

Editar 01/08/2015: Esta resposta ainda está recebendo visualizações e votos. É mais do que antigo e eu gostaria de excluí-lo, mas como é a resposta aceita, não posso fazer isso. Por outro lado, é um wiki da comunidade e a comunidade o mantém atualizado - obrigado por isso!

O SourceForge passou para o lado sombrio, assumindo o projeto e juntando-o ao Adware ( Google GIMP Sourceforge Adware ). Evite a todo custo. Atualmente, o GitHub ainda é o mais popular, embora existam alternativas (por exemplo, o BitBucket oferece repositórios privados ilimitados gratuitamente para até 5 usuários.)

É louco o quanto o cenário mudou nos últimos anos e, se você estiver lendo isso no futuro, talvez o GitHub não seja mais o produto interessante. A linha inferior é: Há uma infinidade de opções impressionantes para qualquer sistema de controle de origem que você deseja usar.

Old 2010 informações abaixo por uma questão de história

Edit: Esta resposta é agora antiga. Nos últimos 2 anos, o GitHub emergiu como o principal local de Hospedagem de Código, e sempre que preciso criar um novo projeto OSS, não tenho o menor vestígio de dúvida para onde ir. Deixando isso abaixo para referência.

De fato, minha postagem tem quase 2 anos (2008) e não é mais exata.

Por quê?

Porque acho que o SourceForge é insignificante agora para projetos de código aberto. Ok, isso me causará muitos problemas, então deixe-me esclarecer:

Estou absolutamente convencido de que os projetos de código aberto devem ser executados em um DVCS, de preferência git ou mercurial, pois são os mais difundidos - nada contra o Bazaar, mas acho que é um pouco obscuro. ( Edit: SourceForge agora oferece Mercurial e Bazaar, para que o argumento não fique mais. No entanto, após duas reformulações, acho que a imagem de SF não é muito boa. Para compará-las às imagens de empresas: Enquanto o GitHub é Apple, SF é IBM. Sólido, mas um pouco empoeirado)

Portanto, se eu escrevesse essa postagem novamente, seria CodePlex vs. GitHub vs. BitBucket , com o GitHub sendo o vencedor. Mas essa é uma afirmação geral, então deixe-me adicionar detalhes. +/- não é estritamente Pro / Con, é mais para destacar diferentes filosofias.

CodePlex

+ Real Mercurial / Git Hosting - sem ponte de buggy no topo do TFS, você possui o Mercurial / Git real
+ Integrated Wiki que permite adicionar documentação rica e páginas de boa aparência
+ Bug Tracker e fóruns de discussão incluídos
- O navegador do código-fonte não é tão bom - As diferenças aparecem em um pop-up e apenas 'parecem' complicadas
- os Forks e os Pedidos de Pull 'não são tão fáceis' - a interface do usuário pode usar algum trabalho

No geral, o CodePlex ainda é ótimo, mas acho que é mais adequado para desenvolvedores individuais ou equipes muito pequenas, porque o foco do site está no Wiki, e não no código-fonte. É mais uma publicação do que uma plataforma de colaboração. Teoricamente, você não precisa de uma página inicial do projeto, seu projeto CodePlex pode ser o seu balcão único.

GitHub

+ Git Hosting, suporta SSL / SSH
+ Gráfico de rede permite ver garfos e o que se fundiu com o que quando
+ Capacidade de 'assistir' projetos - a página da sua conta é como um mural do Facebook com novos checkins
+ Visualizador de diferencial super bom com a capacidade de comentar em alterações de linha única - veja aqui
+ A bifurcação é um processo de 2 cliques e o envio de solicitações pull
+ O GitHub agora tem a ferramenta GUI GitHub para Windows
- A página principal não é muito bonita para os não desenvolvedores. Se você possui um Leia-me em seu projeto (suporta algumas linguagens de marcação como Markdown ou HTML), ele é exibido, mas a página inicial é o código-fonte
- o Wiki não é tão bom - é o Markdown, mas às vezes a formatação parece um pouco complexa.

O GitHub tem uma filosofia diferente do CodePlex: trata-se do código fonte e da colaboração entre os desenvolvedores. A página principal do projeto é o código fonte mais atualizado. Existe um Wiki separado, mas mais voltado para a documentação do que para a apresentação do seu projeto. O gráfico da rede é fantástico, embora possa ficar confuso quando houver mais de 20 garfos (frequentemente quando um projeto de alto nível é anunciado a todos e seu cão o está bifurcando, mas a maioria dos garfos morre rapidamente). O GitHub se adapta muito bem a qualquer tamanho.

De fato, o GitHub torna super fácil para mim bifurcar um projeto, aplicar uma correção / patch, enviá-lo ao meu fork e enviar uma solicitação de recebimento ao autor. Juntamente com o gráfico Rede, é realmente fácil ver o commit.

Mas você provavelmente precisará de uma home page separada para apresentar seu projeto aos usuários finais e fornecer downloads, pois os recursos de download do GitHubs não são tão bons assim.

BitBucket

+ Git / Mercurial
+ Permite repositórios privados de graça, até 5 usuários

Eu não usei o BitBucket o suficiente para fazer um comentário real. O único recurso que o diferencia é que a hospedagem privada é gratuita, enquanto o GitHub cobra e o Codeplex não o oferece.

Código do Google

O Google Code não é mais uma opção.

- A criação do projeto está desativada desde março de 2015 e o serviço do Google será encerrado permanentemente em 25 de janeiro de 2016 , pois os serviços concorrentes são simplesmente melhores.
- É feio e muito complicado para procurar o código fonte (o link está um pouco enterrado)

Eu não o usei, então não quero dizer que é ruim - não é. Muitos projetos o utilizam e são muito estáveis ​​e robustos, não ouviram muito mal de nenhum desenvolvedor. No entanto, por uma questão de opinião pessoal e subjetiva, o 'design' me deixa de fora.

SVN vs. Git / Mercurial

Para reiterar meu comentário acima sobre o SourceForge ser obsoleto: Isso é obviamente um pouco duro. No entanto, acredito que o SVN é prejudicial para projetos de código aberto. Primeiro de tudo, requisitos de metadados estranhos para ignorar arquivos. No Git ou mercurial, você tem um arquivo chamado .gitignore ou .hgignore na raiz da sua árvore de origem, que inclui uma lista de arquivos / diretórios / padrões a serem ignorados. Sem svn mágico: ignore os metadados na pasta .svn. Isso por si só sopra SVN fora da água para mim. Se eu iniciar um novo projeto do Visual Studio, preciso aplicar esses metadados mágicos, enquanto que com o Git / mercurial eu apenas copio um arquivo e pronto.

Então, a capacidade de bifurcar, aplicar patches e enviar uma solicitação de recebimento é fantástica, especialmente para patches pequenos / únicos.

Por último, mas não menos importante, o SourceForge ainda é MUITO complexo para o meu gosto. Não é um host ruim, mas mostra realmente sua idade IMHO. Dito isto, ainda é robusto e tem muitos espelhos em todo o mundo. Além disso, o Bug Tracker é muito mais sofisticado que os outros.

Além disso, se o seu projeto, por algum motivo, exigir regras estritas de contribuição (o que pode fazer sentido, por exemplo, proteção legal para garantir que o código comprometido seja legalmente contribuído legalmente), um sistema tradicional como o SVN hospedado no SourceForge pode funcionar.

Edit: Não sabia que o SF finalmente distribuiu hospedagem. Como dito acima, é robusto, mas não é mais o 'garoto legal', e acho isso muito complexo.

TL; DR

Para qualquer projeto de pequeno a médio porte, recomendo o GitHub, para pequenos projetos em que você também deseja um bom site, eu utilizaria o CodePlex e, em projetos particulares, o BitBucket. Para grandes projetos que exigem um rastreador de bugs muito sofisticado, muitos recursos extras e um site 'real', considere o Source Forge.

Michael Stum
fonte
3
Não concordo com o Google Code, acho que é fácil, intuitivo e leve (e o site é rápido ! Compare isso com o CodePlex…!) E seria a minha opção número 1 em todas as vezes. Mas o resto é uma leitura interessante.
Konrad Rudolph
2
@ Konrad True, como disse, é uma coisa pessoal. Talvez a abordagem minimalista esteja me deixando de lado. Não ouvi nada de ruim sobre o lado funcional , mas nunca hospedei um projeto lá.
Michael Stum
2
Ótima resposta, muito detalhada! Dá uma excelente explicação das diferenças entre os principais sites (bem, CodePlex e GitHub) dos quais eu estava mais curioso. Também interessante que você identifique o SourceForge como insignificante neste estágio; definitivamente uma mudança de opinião dos artigos mais antigos. Obrigado!
Chris Baxter
4
Também existem fatores peculiares ao tipo de projeto que você está executando. Por exemplo, nos projetos .Net, o CodePlex suporta a implantação do ClickOnce, enquanto o Google Code não.
dbkk
1
@MichaelStum Talvez você possa adicionar os serviços de páginas do GitHub. O ponto de entrada para qualquer projeto hospedado no GitHub deve ser uma página.
Matías Fidemraizer
8

Bem, você não disse qual sistema de controle de origem usa, o que influencia muito suas escolhas.

(não abrangente)

  • Git -> GitHub ou Gitorious são as escolhas óbvias
  • Mercurial -> BitBucket
  • SVN -> Savannah, SF.net
  • Bazar -> Barra de Lançamento
  • CVS -> atualização para um sistema de controle de origem mais recente

Sou fã do Git, mas o Mercurial também é incrível. Eu pessoalmente uso o GitHub por seus incríveis recursos colaborativos, como solicitações fáceis de bifurcação e recebimento.

Quero acrescentar que o CodePlex não é muito popular no ecossistema de código aberto fora do campo da Microsoft, e isso é fácil de ver na lista mais baixada. Provavelmente é uma combinação de como é naturalmente centralizado na Microsoft e também de estigmas do passado. Se você estiver desenvolvendo exclusivamente para .NET ou algo semelhante, isso mudará a perspectiva.

Edit: Além disso, eu diria que os desenvolvedores não costumam procurar aleatoriamente projetos interessantes. Você é a mesma probabilidade de passar despercebida no GitHub como você está no Codeplex, mas se alguém não descobrir o seu projeto, eles estarão mais propensos a enviar mensagens / erros de arquivo / contribuir se eles já têm uma conta no site.

erjiang
fonte
2
Eu uso atualmente Mercurial (não tocaria TFS com uma vara de 10 pés)
Chris Baxter
2
Há algo errado com a frase bifurcação fácil
Marko
2
Para quem está curioso, no GitHub, em vez de se dividir irreversivelmente em um projeto, é a melhor maneira de modificar um projeto existente. Depois de fazer suas modificações pessoais, você pode enviar ao projeto original uma "solicitação de recebimento" para as alterações do seu fork.
precisa saber é
Concordo que o CodePlex é direcionado exclusivamente para o Desenvolvimento da Microsoft; isso funciona para mim ... a impressão que estou tendo é que, se o código aberto for geral ... GitHub; se focado no .NET e com uma equipe única / menor, CodePlex. Também como a edição sobre conscientização ... essa será a próxima batalha. Obrigado!
Chris Baxter
1
@marko: Easy bifurcação é uma coisa boa
Nicolas Raoul
4

Como o Github está crescendo muito rápido e parece ser o mais proeminente entre os projetos que vejo atualmente. Seria o meu voto.

Mas acho que um não precisa significar que você não pode usar o outro. Eu vejo muitos projetos que usam o Github para a fonte e o Google Code para os documentos. Além disso, um Sourceforge também está vinculado a ele.

Realmente não importa o que você usa como host principal, mas eu recomendo que você adicione seus projetos nos outros sites também, para que seja fácil encontrá-lo.

Wolph
fonte
Interessante que você recomendaria hospedagem em vários sites. Meu pensamento inicial seria concordar com as referências para as respostas respondidas acima ... quais são seus pensamentos sobre esse tópico?
Chris Baxter #
@ Calgary Coder: não estou falando especificamente de hospedagem, mas de mais links. Eu parei de usar o Sourceforge anos atrás por causa da lentidão e das horríveis alterações de design. Mas a criação do projeto no sourceforge e o link para o site do github (ou qualquer outro) podem ajudar a tornar seu projeto mais fácil de ser encontrado. Para documentação, achei o wiki do Google Code mais fácil do que o wiki do Github, por isso prefiro isso. Eu gosto da interface do Github e das opções de bifurcação, então acho que é uma boa escolha para sua fonte. Para revisão de código, achei a barra de ativação muito boa.
Wolph
4

Esta pergunta parece ser uma duplicata desta: /programming/10490/best-open-source-project-hosting-site

Aqui estava minha resposta para essa pergunta: /programming/10490/best-open-source-project-hosting-site/3433969#3433969

Em geral, acho que os prós / contras importantes se relacionam mais significativamente aos recursos de desenvolvimento oferecidos e ao público principal de cada site, que, na minha resposta acima, passo pelos quatro sites mais populares.

jwanagel
fonte
1
Obrigado pelo link, eu estava tentando não duplicar uma pergunta, mas perdi essa.
Chris Baxter
1
@CalgaryCoder, você pode até ter votado, já que dedicou um tempo para agradecer a ele. Nvm, eu fiz isso por você ;-)
Mawg diz que restabelece Monica 13/01
Esses links parecem estar mortos agora.
Pbible