Soy un desarrollador de PHP para vivir, pero nunca antes había trabajado o contribuido en ningún proyecto de código abierto.
Estoy desarrollando un CMS para mi propio uso. Tengo un prototipo que funciona y creo que una vez que esté listo (probablemente un par de meses) esto podría ser algo en lo que la comunidad PHP estaría interesada.
Soy un desarrollador bastante confiado, pero hay áreas en las que me falta conocimiento, especialmente cuando se trata de problemas de código abierto:
- ¿Cuál es la mejor manera de publicitar el proyecto y / o encontrar a otros que puedan estar interesados en colaborar?
- Mi CMS funciona con CakePHP y básicamente se asienta como una capa encima. Bifurqué el proyecto CakePHP en GitHub: he usado sistemas de control de versiones (SVN) antes pero soy bastante nuevo en GIT, así que quiero estar seguro de que estoy haciendo las cosas de la "mejor manera"
- ¿Cómo puedo averiguar sobre problemas de licencia? ¿Qué licencia de código abierto sería mejor para mi aplicación? Además, mi proyecto toma prestado de muchos otros proyectos de código abierto, por ejemplo, tengo secciones de código (que he modificado mucho) pero que tenían avisos de derechos de autor / licencia vigentes; no tengo idea de cuáles son mis obligaciones en términos de manteniéndolos en
Estos son solo un par de ejemplos de las preguntas que tengo, pero siento que debe haber algunos recursos que me serían útiles. ¿Dónde está el mejor lugar para comenzar, cuáles son las mejores comunidades / sitios que cubren estos temas? He echado un vistazo, pero no he podido encontrar mucho ...
fuente
Respuestas:
No soy abogado, pero lo intentaré.
CakePHP tiene licencia bajo la licencia MIT , lo que básicamente significa que permite la reutilización dentro del software propietario con la condición de que la licencia se distribuya con ese software. Es compatible con las licencias GPL , bajo las cuales se publican muchos proyectos de código abierto.
En cuanto a los otros proyectos que "toma prestados", deberá verificar sus tipos de licencia y su compatibilidad entre ellos y el tipo de licencia que decida utilizar. Si alguno de ellos usa una licencia GPL , también tendrá que liberarlo con GPL, según los términos del estado de la licencia
Mi sugerencia es publicar bajo la licencia GNU GPL v3 , ya que le otorga derechos de propiedad adecuados sobre su trabajo mientras permite que otros lo usen potencialmente en proyectos comerciales y abiertos. Sin embargo, recuerde que las licencias de los proyectos "prestados" deben ser compatibles .
En cuanto a las mejores prácticas con Git y Github, use
git submodule
para incluir otros proyectos en su propia biblioteca. Esto es mejor que incluir los archivos directamente, ya que no está volviendo a comprometer el trabajo como propio.fuente
git submodule add git://github.com/jquery/jquery.git public/vendor/jquery
Echa un vistazo a esta guía de Eric S. Raymond (también vale la pena leer el resto del libro).
Personalmente, no me preocuparía mucho por eso: no va a ganar dinero directamente con esto, y tampoco lo hace nadie más, ya que hay una gran cantidad de excelentes CMS gratuitos de uso general. Le sugiero que vaya con la licencia más liberal que pueda (MIT o BSD), a menos que tome prestado un código que esté bajo una licencia viral (generalmente GPL o una variedad de ellas), en cuyo caso se verá obligado a acceder a esa licencia de una manera u otra.
Asegúrese de leer cuidadosamente todas las licencias de las bibliotecas y fragmentos que está utilizando; deben indicar si se le permite redistribuir y modificar el código, y si necesita incluirlos en cualquier trabajo derivado (la mayoría de las licencias lo requieren, e incluso para aquellos que no lo hacen, la atribución es lo menos que puede hacer para agradecer al autores originales por su trabajo).
fuente