Sobre como encontrar projetos de código aberto para contribuir

13

Essa pergunta foi feita um bilhão de vezes no Stackoverflow, no entanto, o foco sempre foi a codificação não numérica. Estou procurando um projeto para contribuir dentro dos limites da computação numérica e da computação de alto desempenho. Idealmente, eu preferiria um projeto pequeno, mas isso não é necessário.

Qual seria a melhor maneira de se envolver em um projeto de código aberto pertinente ao SciComp? Onde alguém começa a procurar projetos? Qual seria a melhor maneira de entrar nesse projeto? Solicitações de recursos / bugs / documentação ou outros?

Olhando para algo como ATLAS ou Nix , como você passa do N00B para o ativo?

Inquérito
fonte
1
Com base nesta questão de estouro de pilha e essa questão de estouro de pilha , acho que sua pergunta é muito localizada. Não sei se as respostas ajudariam necessariamente muitas outras pessoas na comunidade; fechamos perguntas sobre pessoas que pedem ideias de teses por razões semelhantes. (De outro modo, é uma boa pergunta.)
Geoff Oxberry
1
Não tenho muito o que sugerir, exceto: Um grande projeto é realmente apenas um monte de pequenos projetos voando em formação. Em qualquer grande projeto de software, existem muitas equipes pequenas e sobrepostas trabalhando em subprojetos específicos. Portanto, é possível trabalhar em equipe pequena em um grande projeto. Dito isto, estou ansioso para descobrir quais pequenos projetos as pessoas acabam listando aqui.
1
@ GeoffOxberry: Eu vou adiar para você, mas estou desapontado que isso esteja fechado. "Nomear alguns bons projetos de código aberto para os quais contribuir" é uma questão imensa e sem resposta no contexto do estouro de pilha, mas no contexto da comunidade muito menor de computação científica, onde os projetos de software tendem a durar muito mais, acho que isso ser uma pergunta valiosa do tipo wiki da comunidade.
1
@ JonathanDursi: "Nomear alguns bons projetos de computação científica de código aberto" seria uma questão de lista, que também é desaprovada. (Veja esta pergunta .) Eu acho que uma versão de computação científica dessa pergunta estaria no tópico (em outras palavras, "Qual é a melhor maneira de entrar em um projeto de código aberto na computação científica?").
Geoff Oxberry 06/02/2012
@ GeoffOxberry, eu poderia editar minha pergunta para se parecer com stackoverflow.com/questions/88740/…, mas na perspectiva do SciComp.
Inquérito

Respostas:

11

Acho que você aproveitará ao máximo se contribuir com projetos que usa ativamente para outros trabalhos, pois isso o motiva a desenvolver a funcionalidade de que precisa. Por fim, é assim que a maioria dos softwares de código aberto é escrita: por pessoas que precisavam da funcionalidade por um motivo ou outro.

No contexto de nosso próprio projeto, deal.II , eu escrevi uma descrição de como contribuir com um tempo nas Perguntas frequentes .

Wolfgang Bangerth
fonte
Voto a favor! Exatamente o meu ponto.
Ali
5

Atenção: autopromoção desavergonhada à frente! :)

Sou desenvolvedor líder de um pequeno projeto de computação científica de código aberto:

PyClaw (fonte aqui )

Faz parte da família maior de códigos Clawpack para resolver PDEs hiperbólicos. O PyClaw foi desenvolvido para resolver sistemas hiperbólicos arbitrários de PDEs em grades logicamente quadrilaterais ou hexaédricas. Ele inclui dois tipos diferentes de solucionadores de volume finito e é escalável para grandes supercomputadores (consulte nosso artigo de diário enviado, incluindo execuções em até 65K núcleos).

Dê uma olhada na documentação e no rastreador de problemas . Há muito o que fazer! A melhor maneira de contribuir depende de sua formação e treinamento. Talvez a melhor maneira de começar seja resolver um pequeno problema e enviar uma solicitação de recebimento no Github. Como alternativa, pode fazer sentido enviar uma mensagem para a lista de discussão dos desenvolvedores, apresentando-se e explicando suas áreas de especialização.

David Ketcheson
fonte
1

Eu tenho o mesmo problema. Acabei resolvendo meus próprios problemas com bibliotecas existentes (por exemplo, COIN-OR), criando executáveis ​​independentes para tarefas específicas. Eu pretendo contribuir com esses códigos de volta quando estiverem bem polidos e estáveis.


Essas respostas refletem bem minha opinião:

Boa sorte de qualquer maneira!

Todos
fonte
Eu não tenho um problema como tal. Eu simplesmente desejo aprender enquanto contribuo.
Inquérito
@ Nanoxic Sim, eu peguei essa parte. Eu só queria compartilhar minha experiência. Como eu disse: "Eu tenho o mesmo problema." :(
Ali
1

Três etapas fáceis:

  1. Tente resolver um problema que achar interessante. (Eu tenho alguns se você precisar de mais!)
  2. Descubra o que outras pessoas do sistema operacional fizeram, tente usar o software deles.
  3. Encontre as deficiências e melhore-as!
meawoppl
fonte
0

lista de software XSEDE

A rede XSEDE de supercomputadores financiados pela NSF possui uma lista de softwares disponíveis e você pode pesquisar por domínio ou aplicativo científico. No entanto, você precisará pesquisar no google os nomes dos softwares para saber mais.

Projetos de membros da Software Carpentry Foundation

A Software Carpentry Foundation mantém uma lista de projetos liderados por seus membros. Muitos deles estão hospedados no GitHub ou similar e estão abertos a colaboradores. Algumas são ferramentas para simulação de HPC:

Divulgação : Sou um instrutor voluntário da Software Carpentry Foundation e meu projeto está listado na página de projetos.

Anúncio de serviço público / plug-in: se você estiver interessado em contribuir com software científico de código aberto, sugiro que você leia "Melhores práticas em computação científica" de Wilson et al. 2014 e considere participar de um workshop realizado pela Software Carpentry Foundation - e se / quando estiver pronto, treinamento para instrutores.

David LeBauer
fonte