Pregunta

Mi empresa está construyendo una plataforma sobre un núcleo Drupal muy extendido. Tengo varios clientes que utilizarán instancias separadas de este sistema y querrán personalizar tanto el tema como la funcionalidad.

Estoy tratando de diseñar un sistema que les permita agregar temas y módulos, algunos de los cuales podrían interactuar con algunos de mis módulos, sin darles acceso al código real. (Esto no es de código abierto)

La forma en que Facebook y Ning hacen esto es que el desarrollador aloje su propio código personalizado y que le devuelva la llamada. Esto realmente no funcionará para mí, ya que estos sitios necesitan la capacidad de ser completamente personalizados, por lo que las devoluciones de llamada para puntos de integración específicos realmente no funcionan.

Una opción es configurar un entorno de espacio aislado donde los desarrolladores personalizados solo tienen acceso a un par de directorios específicos para crear sus temas y módulos personalizados. Luego podríamos integrarnos con git para confirmarlos cuando estén listos e implementarlos con el resto de nuestro código en producción. El problema con esta configuración es que los desarrolladores deben desarrollar de forma remota y utilizar nuestro sistema de control de fuente.

Una configuración más típica es permitir que los desarrolladores descarguen algo para construir su código personalizado. Pueden desarrollarse localmente y usar cualquier práctica de control de fuente que ya tengan. Como no queremos integraciones de puntos específicos, no creo que esto pueda ser una biblioteca que se ejecute en un servidor separado. La alternativa es descargar nuestro sistema Drupal completo y desarrollarlo localmente, cargando el código personalizado cuando esté listo, pero luego tendrían acceso a todo nuestro código e IP.

Por lo tanto, la situación, ya que no creo que haya ninguna manera de ofuscar PHP de manera efectiva.

¿Alguien tiene alguna idea brillante aquí?

¿Fue útil?

Solución

Parece que su sistema es un trabajo derivado de Drupal y, por lo tanto, está cubierto por la GPL. Si distribuye el código a sus clientes, ellos tienen todos los derechos provistos por la GPL, incluyendo modificarlo y redistribuirlo.

Tenga en cuenta que no se permite distribuir código GPL ofuscado. Para citar la GPLv2 " El código fuente de una obra significa la forma preferida de la obra para hacer modificaciones a ella. & Quot;

El código ofuscado no cumple con esta cláusula de la GPL.

Dicho esto, si realmente desea proporcionar a sus clientes una forma de personalizar su sistema, puede proporcionarles a sus clientes acceso al módulo Drupal existente y al sistema de temas, pero solo en su caja de arena.

Por supuesto, dado que los módulos y los temas son PHP y "no desea integraciones de puntos específicos" parece que tendrían el tipo de libertad que les permitiría escribir un módulo que lea todo el código fuente para el resto de su sistema y luego lo bloquee y lo envíe a ellos mismos.

Creo que te has pintado en una esquina dependiendo de la GPL. Mantener su IP privada mientras permite que sus clientes extiendan / personalicen el sistema en general no funciona realmente.

Otros consejos

Espero que sepa que Drupal tiene licencia GPL , asegúrese de leer sus preguntas frecuentes sobre licencias antes de comenzar a ofuscar.

¿Por qué no simplemente crear un usuario FTP para ellos que solo puede acceder a / sitios / su sitio? ¿Qué me estoy perdiendo?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top