Pergunta

Estou programando há mais de 5 anos e nunca comprometi nenhum código em um projeto de código aberto.Eu usei e procurei muitos (principalmente na comunidade Java).Quero me envolver em alguma coisa, mas não consigo decidir que direção seguir.

Para aqueles que se comprometeram com o código aberto, o que os ajudou a decidir para onde ir?O que motivou você?Foi simplesmente um capricho?Algo pelo qual você descobriu que era muito apaixonado?E quanto aos pontos de partida?Onde alguém como eu deveria ir para encontrar projetos de código aberto alinhados e esperando para serem incluídos?

Foi útil?

Solução

Primeiro, eu daria uma boa olhada no que você está interessado.Você não quer se envolver profundamente em trabalhar em algo em que não tem interesse.Talvez dê uma olhada em algumas das coisas para as quais você normalmente usa seu computador.Gosto de Geocaching, por isso gosto de trabalhar em software que suporte o meu hobby.

Em segundo lugar, um bom lugar para procurar é www.sourceforge.net ou www.codeplex.com.Acredito que o primeiro tenha um toque mais profissional e mais pessoas dedicadas à codificação de código aberto e múltiplos membros, enquanto o CodePlex tende a ter projetos criados por desenvolvedores únicos e funciona como um local para armazená-los publicamente (opinião pessoal).

Por último, acho importante olhar para as demandas do projeto e avaliar se sua vida pessoal dá tempo para trabalhar nele.

Outras dicas

Se você quiser começar de forma mais casual, comece a adicionar mais software de código aberto ao seu uso diário, encontre neles coisas que você acredita que poderiam ser melhoradas ou corrigidas, depois baixe o código-fonte, corrija-o e envie um patch.

Sourceforge tem uma página de "posições abertas" para muitos projetos de código aberto: http://sourceforge.net/people/

Basta navegar por eles e ver se algo lhe interessa.

E como desenvolvedor de código aberto, obrigado por apoiar o FOSS.

Meu conselho seria não escolher aleatoriamente um projeto que precise de ajuda, mas escolher um onde seus esforços beneficiem você e a comunidade.Por exemplo, você pode escolher um software de código aberto que usa, mas acha que precisa de melhorias em determinadas áreas.

No entanto, depois de encontrar esse projeto, eu levaria algum tempo para entender sua cultura antes de começar a contribuir, por exemplo, se o projeto favorece um núcleo pequeno com muitos plug-ins ou se você apenas deve adicionar seus recursos ao programa principal.Muitos dos projetos maiores têm orientações específicas para novos contribuidores.O livro A catedral e o bazar também pode ser de interesse.

Depende de qual é o seu objetivo.Escolha um projeto no qual você esteja interessado ou seu interesse diminuirá com o passar do tempo.Algo tangível que você realmente usará é melhor, pois você estará constantemente pensando em maneiras de melhorar/modificar.

Por outro lado, se você quiser praticar um pouco em uma nova linguagem, essa é uma ótima maneira de fazer isso se você estiver trabalhando em um projeto ativo, apenas reserve um tempo e se concentre em pedaços de código.Apenas certifique-se de revisá-lo antes de confirmar, para não irritar seus colegas :)

Meu conselho seria, antes de tudo, encontrar um projeto no qual você queira trabalhar.Pense em qualquer software de código aberto que você conheça muito bem.Pontos de bônus se você já sabe como melhorar esse software.

A maioria dos projetos terá uma página "Procura-se ajuda" em algum lugar que informa o que precisa ser feito.Esse pode ser o melhor lugar para procurar projetos menores para trabalhar, para que você possa começar a trabalhar e aprender a base de código antes de iniciar qualquer melhoria maior.

Ou você pode começar seu próprio projeto.Tenho certeza de que você deve ter algum tipo de código que usa com frequência e que acha que seria útil para o resto do mundo.Há muitos projetos do tipo "aqui está o que eu tenho, se for útil, use-o, caso contrário, não" digite por aí.Só não espere ser muito popular tão cedo, a menos que você esteja disposto a trabalhar MUITO nisso.

Posso encaminhá-lo para minha resposta anterior em outra consulta FOSS (Que nível de programação devo ter para contribuir com o código aberto) e adicione isso para coçar sua própria coceira, em vez de tentar se conformar com as idéias de outras pessoas.Se um projeto não lhe interessa, a menos que você tenha uma rápida correção de bug ou adição de recurso e queira enviar um patch, siga em frente e encontre algo que você goste mais.

Vou repetir o que a maioria disse...Encontre um projeto no qual você esteja interessado ou use.Envolvi-me em dois projetos de código aberto porque eles seriam úteis no meu trabalho diário.Ser um projeto que você usa ou no qual investe ajuda a motivá-lo a continuar desenvolvendo e lançando código.

Por muito tempo, fiquei inseguro sobre colocar meu código para inspeção pública, mas depois dos primeiros commits, isso realmente não foi grande coisa, e o feedback que recebi só me tornou um desenvolvedor melhor ( se posso ser chamado de um em primeiro lugar).

Boa sorte!

Acho que as razões para fazer isso variam de pessoa para pessoa, por isso não posso dizer por que fazer isso.Veja por que fiz isso:

Estávamos usando existe-db para um projeto de pesquisa inovadora para pequenas empresas.Tínhamos dados em alguns bancos de dados que eram inaceitáveis ​​de perder.Acontece que o tratamento interno dos URIs não era o ideal, o que significava que não podíamos acessar os dados.Depois de conversar com a equipe de desenvolvimento, nenhum deles conseguiu dedicar o tempo necessário para consertar as coisas.Então, trabalhei em tempo integral por algumas semanas e consertei e comprometi tudo.Minha contribuição veio de uma necessidade comercial e foi possível porque meu chefe estava disposto a me deixar trabalhar nisso durante aquele período e doá-lo de volta à comunidade.

Para ser honesto, a maioria dos projetos de código aberto não aceita um novo desenvolvedor logo de cara.No entanto, o que eu sugeriria é observar seu fluxo de trabalho diário, observar o software que você usa, observar o software que você gosta.Algum deles é de código aberto?Algum deles lhe interessa?

Eu sugeriria escolher um projeto de seu interesse (de preferência um software que você usa) e verificar o rastreador de bugs, ver quais são os requisitos para enviar correções (geralmente nenhum requisito, exceto o formato em que vêm).Geralmente contribuir para corrigir bugs e envolver-se em outras partes da comunidade (fóruns, listas de discussão, canais de irc, etc.) são as maneiras mais fáceis de se envolver imediatamente.

Geralmente, a maioria das pessoas que acabam se tornando desenvolvedores de projetos de código aberto vão nessa direção, embora suas correções de bugs não sejam glamorosas e ajudem muito e sejam uma boa maneira de colocar o pé na porta e divulgar seu nome.

Todos os itens a seguir podem ajudá-lo a se motivar e se envolver em um projeto de código aberto:

  • Ter habilidades relevantes (será difícil contribuir se você não fizer isso, embora ainda possa ser uma boa experiência de aprendizado)
  • Ser um usuário do software você mesmo (você se preocupará e entenderá mais).Não é coincidência que muitos projetos de código aberto sejam direcionados a desenvolvedores com experiência em tecnologia....
  • Cuidando da filosofia da organização/fundação que você está apoiando (por exemplo, se você gosta da filosofia da FSF, você pode querer contribuir para o projeto GNU)
  • Conhecendo o conjunto de ferramentas - isso diminui a barreira de entrada.Por exemplo, se o projeto usa Maven extensivamente para gerenciamento de build, seria útil saber o que você está fazendo no Maven.
  • Gostando da comunidade - se você se der bem com outras pessoas no projeto, isso facilitará sua contribuição e você se divertirá mais fazendo isso.

Por outro lado, também existem algumas coisas que as comunidades de código aberto podem fazer para ajudá-las a atrair novos contribuidores e usuários.

  • Documentação - se for impossível entender o que está acontecendo, você provavelmente afastará tanto os usuários quanto os possíveis colaboradores
  • Construção inicial fácil - se os recém-chegados não conseguirem fazer a construção funcionar, eles podem simplesmente desistir.Torne-o o mais simples e autoexplicativo possível.Use ferramentas comuns de maneira padrão sempre que possível (por exemplo,se você usar o Maven, certifique-se de que ele será compilado de forma limpa em uma nova instalação do Maven, sem qualquer configuração personalizada)
  • Seja amigável e acolhedor - para que as pessoas se sintam felizes em ingressar na sua comunidade.
  • Seja responsivo - para que o projeto pareça executado de forma profissional e a comunidade possa ver um progresso visível
  • Esta aberto - para que todos possam se envolver e você não corra o risco de tomar decisões erradas a portas fechadas.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top