Comment autoriser la personnalisation d'une plate-forme construite sur Drupal (et l'obscurcissement PHP)

StackOverflow https://stackoverflow.com/questions/1627956

Question

Ma société est en train de construire une plate-forme au-dessus d’un noyau Drupal très étendu. J'ai plusieurs clients qui utiliseront des instances distinctes de ce système et voudront personnaliser le thème et les fonctionnalités.

J'essaie de concevoir un système leur permettant d'ajouter des thèmes et des modules, dont certains peuvent interagir avec certains de mes modules, sans leur donner accès au code réel. (Ce n'est pas open source)

Pour ce faire, Facebook et Ning demandent au développeur d’héberger son propre code personnalisé et d’y avoir un rappel. Cela ne fonctionnera pas vraiment pour moi, car ces sites doivent être entièrement personnalisables. Par conséquent, les rappels de points d'intégration spécifiques ne fonctionnent pas.

Une option consiste à configurer un environnement sandbox dans lequel les développeurs personnalisés n’ont accès qu’à quelques répertoires spécifiques pour créer leurs thèmes et leurs modules personnalisés. Nous pourrions ensuite intégrer git pour les engager dès qu'ils seront prêts et les déployer avec le reste de notre code en production. Le problème avec cette configuration est que les développeurs doivent développer à distance et utiliser notre système de contrôle de source.

Une configuration plus typique consiste à permettre aux développeurs de télécharger quelque chose pour créer leur code personnalisé. Ils peuvent développer localement et utiliser toutes les pratiques de contrôle de source qu'ils ont déjà. Comme nous ne voulons pas d’intégrations de points spécifiques, je ne pense pas que cela puisse être une bibliothèque fonctionnant sur un serveur séparé. L’alternative consiste à télécharger notre système Drupal de base et à le développer localement, en téléchargeant le code personnalisé dès qu’il est prêt, mais ils auront alors accès à tout notre code et à notre IP.

Ainsi, le problème, car je ne pense pas qu’il soit possible de brouiller efficacement PHP.

Quelqu'un a-t-il des idées brillantes ici?

Était-ce utile?

La solution

On dirait que votre système est un travail dérivé de Drupal et donc couvert par la GPL. Si vous distribuez le code à vos clients, ils disposent de tous les droits fournis par la licence GPL, y compris de le modifier et de le redistribuer.

Sachez que la distribution de code GPL obfusqué n'est pas autorisée. Pour citer la GPLv2, "Le code source d’un travail désigne la forme de travail privilégiée pour l’apporter à des modifications."

Le code obscurci n'est pas conforme à cette clause de la GPL.

Cela dit, si vous voulez vraiment fournir à vos clients un moyen de personnaliser votre système, vous pouvez leur donner accès au module Drupal et au système de thèmes Drupal existants, mais uniquement sur votre sandbox.

Bien sûr, étant donné que les modules et les thèmes sont en PHP et que vous ne voulez pas d'intégrations de points spécifiques " il semble qu'ils auraient le genre de liberté qui leur permettrait d'écrire un module qui lit tout le code source du reste de votre système, de le télécharger et de l'envoyer à eux-mêmes.

Je pense que vous vous êtes mis dans une impasse en vous fiant à GPL. Garder votre adresse IP privée tout en permettant à vos clients d'étendre / personnaliser le système de manière générale ne fonctionne pas vraiment.

Autres conseils

J'espère que vous savez que Drupal est sous licence GPL , veillez à lire leur FAQ sur les licences avant de commencer à masquer.

Pourquoi ne pas simplement créer pour eux un utilisateur FTP qui ne peut accéder qu’à / sites / leur site? Qu'est-ce qui me manque?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top