0

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

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

Facebook 和 Ning 这样做的方式是让开发人员托管他们自己的自定义代码,并对其进行回调。这对我来说真的不起作用,因为这些站点需要完全自定义的能力,因此特定集成点的回调实际上不起作用。

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

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

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

有人在这里有什么绝妙的主意吗?

4

3 回答 3

2

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

请注意,不允许分发经过混淆的 GPL 代码。引用 GPLv2 “作品的源代码意味着对作品进行修改的首选形式。”

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

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

当然,由于模块和主题是 PHP 并且您“不想要特定的点集成”,因此它们似乎具有一定的自由度,可以让他们编写一个模块来读取系统其余部分的所有源代码然后将其打包并发送给他们自己。

我认为您依赖 GPL 已将自己逼入绝境。保持您的 IP 私有,同时允许您的客户以一般方式扩展/自定义系统并没有真正起作用。

于 2009-10-27T02:56:37.173 回答
1

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

于 2009-10-27T12:58:43.383 回答
1

我希望您知道 Drupal 是GPL 许可的,在开始混淆之前请务必阅读他们的许可常见问题解答。

于 2009-10-27T00:00:30.277 回答