Je suis un développeur PHP pour gagner ma vie, mais je n'ai jamais travaillé ou contribué à des projets open source auparavant.
Je développe un CMS pour mon propre usage. J'ai un prototype fonctionnel et je pense qu'une fois prêt (probablement dans quelques mois), la communauté PHP pourrait être intéressée.
Je suis un développeur assez confiant mais il y a des domaines où mes connaissances font défaut, en particulier en ce qui concerne les problèmes open source:
- Quelle est la meilleure façon de faire connaître le projet et / ou de trouver d'autres personnes qui pourraient être intéressées à collaborer
- Mon CMS est alimenté par CakePHP et se trouve essentiellement comme une couche au-dessus. J'ai bifurqué le projet CakePHP sur GitHub: j'ai déjà utilisé des systèmes de contrôle de version (SVN) mais je suis assez nouveau sur GIT alors je veux être sûr de faire les choses de "la meilleure façon"
- Comment puis-je me renseigner sur les problèmes de licence? Quelle licence open source serait la meilleure pour mon application? De plus, mon projet emprunte à beaucoup d'autres projets open source, par exemple j'ai des sections de code (que j'ai lourdement modifiées) mais qui avaient des avis de copyright / licence en place - je n'ai aucune idée de mes obligations en termes de garder ces
Ce ne sont que quelques exemples des questions que j'ai, mais je pense qu'il doit y avoir des ressources qui me seraient utiles. Où est le meilleur endroit pour commencer, quelles sont les meilleures communautés / sites qui couvrent ces problèmes? J'ai jeté un coup d'œil mais je n'ai pas pu trouver grand chose ...
la source
Réponses:
Je ne suis pas avocat, mais je vais essayer celui-ci.
CakePHP est licencié sous la licence MIT , ce qui signifie essentiellement qu'il permet la réutilisation dans un logiciel propriétaire à condition que la licence soit distribuée avec ce logiciel. Il est compatible avec les licences GPL , sous lesquelles de nombreux projets open source sont publiés.
Quant aux autres projets que vous "empruntez", vous devrez vérifier leurs types de licence et vérifier leur compatibilité entre eux et le type de licence que vous décidez d'utiliser. Si l' un d'eux utilise une licence GPL , vous devrez également le libérer avec GPL, car les termes de la licence indiquent
Ma suggestion est de publier sous la licence GNU GPL v3 car elle vous donne des droits de propriété adéquats sur votre travail tout en permettant à d'autres de l'utiliser potentiellement dans des projets commerciaux et ouverts. N'oubliez pas, cependant, que les licences des projets "empruntés" doivent être compatibles .
En ce qui concerne les meilleures pratiques avec Git et Github, utilisez
git submodule
pour inclure d'autres projets dans votre propre bibliothèque. C'est mieux que d'inclure les fichiers directement car vous ne recommandez pas le travail comme le vôtre.la source
git submodule add git://github.com/jquery/jquery.git public/vendor/jquery
Consultez ce guide d'Eric S. Raymond (le reste du livre vaut également la peine d'être lu).
Personnellement, je ne m'en inquiéterais pas beaucoup - vous n'allez pas gagner d'argent directement avec cela, et personne d'autre non plus, car il existe déjà une abondance d'excellents CMS gratuits à usage général. Je vous suggère d'utiliser la licence la plus libérale possible (MIT ou BSD), à moins que vous n'empruntiez du code sous une licence virale (généralement GPL ou une variété de celles-ci), auquel cas vous êtes obligé d'utiliser cette licence d'une manière ou d'une autre.
Assurez-vous de lire attentivement toutes les licences des bibliothèques et extraits de code que vous utilisez; ils doivent indiquer si vous êtes autorisé à redistribuer et à modifier le code, et si vous devez les inclure dans les œuvres dérivées (la plupart des licences l'exigent, et même pour celles qui ne le font pas, l'attribution est le moins que vous puissiez faire pour remercier le auteurs originaux pour leur travail).
la source