Um experimento de pensamento: O que seria necessário para transformar um projeto fechado de um projeto aberto?
Primeiras questões que surge em minha mente são:
1. Código aberto e configuração de coisas internas: URLs, teclas de propriedade, bibliotecas comerciais e outras coisas. - Você não quer ver o IP do seu servidor de banco de dados interno do usuário dentro de configuração, menos / senha. Você não quer deixar as chaves de criptografia dentro de projeto de código aberto, e é claro que você não tem quaisquer valores codificados em todo o seu código (interno)? Você faz?, Hm, nevermind ...
2. Automatizar o máximo possível (Ant, Maven ...) e processo de instalação documento que qualquer pessoa com um sistema operacional em branco pode instalar seu software
3. Escreve guia de introdução sobre como compilar, depurar - Escreva uma página ou duas sobre como compilar projeto para a maioria das plataformas populares (Linux, Windows, OS X) se tal coisa pode ser feito em seu código. Dica de como ativar o modo debug e onde encontrar depuração / erro registros ... (Algumas projeto já tem esse documento internamente, mas eu já vi (quase) tudo ...)
4. Encontrar um bom nome, a menos que seu projeto já tem uma. - As pessoas querem se comunicar facilmente usando o nome do seu projeto em frases. Imagine que seu projeto é BKL, e alguém dizendo: "Eu apenas compilado BKL ...", "eu preciso atualizar BKL ao tronco ..." Não vá. É estranho e pesado. Esta não é a parte mais importan, e ter um material bom sempre ganha sobre mau nome.
5. Encontrar um bom lugar para hospedar o seu projeto. - Você quer ter o ponto central de informações sobre tudo relacionado a um projeto: versão, wiki, questões, roteiro, lista de discussão. Há uma abundância de ofertas gratuitas, mas alguns são mais populares que outros, e oferecem diferentes modos de acesso a partes do projeto ...
Mais tarde, depois que você abriu seu código, como você começa o seu público a contribuir?
1. Seção proposta aberta em seu site / mailing-list / wiki
2. Faça regras simples, mas eficaz sobre como contribuir
Por exemplo, as regras poderiam ser como a seguir.
Contribuintes devem:
1. Envie um formulário de proposta detalhada descrevendo sua mudança (que deve ser a mudança dentro de seu aplicativo, o seu lib (s))
2. Discuta suas propostas abertamente sobre uma lista de discussão e crítica construtiva campo dos outros participantes
3. Esteja preparado para produzir um conjunto de patches protótipo que pode implementar a sua mudança
E por último, mas o mais importante - ter projeto interessante para abrir!
Estou certo de que há muito mais trabalho na conversão (maduro) projeto de código fechado para um aberto (isto é apenas um experimento virtual). Há também as não-tech questões, como licenças e direitos autorais e também por razões políticas em algum momento.
Uma pessoa querendo converter um projeto, deve ter argumentos muito fortes por isso que vai fazer melhor para o código e um projeto para ser open source. E há muitos, de agilidade para a segurança de velocidade e desempenho. Você apenas tem que encontrar um conjunto adequado de benefícios para você.
Hackear feliz!


Comentários Recentes