我的公司正在一个大量扩展的Drupal核心之上构建一个平台。我有多个客户将使用此系统的单独实例,并希望自定义主题和功能。

我正在尝试设计一个系统,允许他们添加主题和模块,其中一些可能与我的某些模块交互,而不会让他们访问实际的代码。 (这不是开源)

Facebook和Ning这样做的方式是让开发人员托管他们自己的自定义代码,然后回调它。这对我来说并不适用,因为这些网站需要完全自定义的功能,因此特定集成点的回调并不真正有效。

一种选择是设置沙箱环境,其中自定义开发人员只能访问几个特定目录以构建其主题和自定义模块。然后,我们可以与git集成,以便在它们准备就绪时将它们与我们的其余代码一起部署到生产环境中。这种设置的问题是开发人员必须远程开发并且必须使用我们的源控制系统。

更典型的设置是允许开发人员下载一些内容来构建他们的自定义代码。他们可以在本地开发并使用他们已有的任何源控制实践。由于我们不想要特定的点集成,我认为这不是一个针对单独服务器运行的库。另一种方法是下载我们的完整核心Drupal系统并在本地开发,在准备就绪时上传自定义代码,然后他们就可以访问我们所有的代码和IP。

因此困境,因为我认为没有任何方法可以有效地混淆PHP。

这里有什么好主意吗?

有帮助吗?

解决方案

听起来你的系统是Drupal的衍生作品,因此被GPL覆盖。如果您将代码分发给您的客户,他们拥有GPL提供的所有权利,包括修改和重新分发。

请注意,不允许分发混淆的GPL代码。引用GPLv2“工作的源代码是指对其进行修改的首选工作形式。”

混淆的代码不符合GPL的这一条款。

也就是说,如果您真的想为您的客户提供一种定制系统的方法,您可以让您的客户访问现有的Drupal模块和主题系统,但只能访问您的沙箱。

当然,因为模块和主题是PHP,并且您“不希望特定的点集成”。似乎他们会有这样的自由,允许他们编写一个模块来读取系统其余部分的所有源代码,然后将其编译并发送给自己。

我认为你已经依靠GPL将自己画成了一个角落。保持您的IP私密性,同时允许您的客户以一般方式扩展/定制系统并不真正有效。

其他提示

我希望你知道Drupal是获得GPL许可,请务必阅读他们的许可常见问题解答

为什么不为他们创建一个只能访问/ sites / theirsite的FTP用户?我错过了什么?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top