Sou desenvolvedor PHP, mas nunca trabalhei ou contribuí com projetos de código aberto.
Estou desenvolvendo um CMS para meu próprio uso. Eu tenho um protótipo funcional e acho que, uma vez pronto (provavelmente alguns meses), isso pode ser algo em que a comunidade PHP estaria interessada.
Sou um desenvolvedor bastante confiante, mas há áreas em que meu conhecimento está ausente, especialmente quando se trata de problemas de código aberto:
- Qual é a melhor maneira de divulgar o projeto e / ou encontrar outras pessoas que possam estar interessadas em colaborar
- Meu CMS é alimentado por CakePHP e basicamente fica como uma camada em cima dele. Eu bifurei o projeto CakePHP no GitHub: eu já usei sistemas de controle de versão (SVN) antes, mas sou bastante novo no GIT, por isso quero ter certeza de que estou fazendo as coisas "da melhor maneira"
- Como posso saber sobre problemas de licenciamento? Qual licença de código aberto seria melhor para meu aplicativo? Além disso, meu projeto toma emprestado de muitos outros projetos de código aberto, por exemplo, tenho seções de código (que modifiquei bastante), mas que possuem avisos de direitos autorais / licenciamento em vigor - não tenho idéia de quais são minhas obrigações em termos de mantendo-os em
Estes são apenas alguns exemplos das perguntas que tenho, mas sinto que deve haver alguns recursos por aí que seriam úteis para mim. Onde é o melhor lugar para começar, quais são as melhores comunidades / sites que cobrem esses problemas? Eu olhei em volta, mas não consegui pensar em muito ...
php
open-source
licensing
gpl
mit-license
user916336
fonte
fonte
Respostas:
Não sou advogado, mas vou tentar este.
O CakePHP é licenciado sob a licença MIT , o que significa basicamente que permite a reutilização dentro de software proprietário, desde que a licença seja distribuída com esse software. É compatível com licenças GPL , sob a qual muitos projetos de código aberto foram lançados.
Quanto aos outros projetos que você "empresta", será necessário verificar os tipos de licença e a compatibilidade entre si e o tipo de licença que você decidir usar. Se algum deles usar uma licença GPL , você também precisará liberá-lo com a GPL, conforme os termos do estado da licença.
Minha sugestão é liberar sob a licença GNU GPL v3 , pois ela oferece direitos de propriedade adequados sobre o seu trabalho, permitindo que outras pessoas o usem potencialmente em projetos comerciais e abertos. Lembre-se, no entanto, as licenças dos projetos "emprestados" devem ser compatíveis .
Quanto às práticas recomendadas com Git e Github, use
git submodule
para incluir outros projetos em sua própria biblioteca. É melhor do que incluir os arquivos diretamente, pois você não está recomendando o trabalho como seu.fonte
git submodule add git://github.com/jquery/jquery.git public/vendor/jquery
Confira este guia de Eric S. Raymond (o restante do livro também merece ser lido).
Pessoalmente, eu não me preocuparia muito com isso - você não vai ganhar dinheiro com isso diretamente, e nem mais ninguém, pois já há uma abundância de excelentes CMSs de uso geral gratuitos. Eu sugiro que você escolha a licença mais liberal possível (MIT ou BSD), a menos que você empreste código que esteja sob uma licença viral (normalmente GPL ou uma variedade dela); nesse caso, você será forçado a entrar nessa licença de uma maneira ou de outra.
Leia com atenção todas as licenças das bibliotecas e snippets que você está usando; eles devem indicar se você tem permissão para redistribuir e modificar o código e se é necessário incluí-lo em qualquer trabalho derivado (a maioria das licenças exige, e mesmo para aqueles que não o fazem, a atribuição é o mínimo que você pode fazer para agradecer ao autores originais por seu trabalho).
fonte