Как разрешить настройку платформы, основанной на Drupal (и обфускации PHP)

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

Вопрос

Моя компания строит платформу на основе сильно расширенного ядра Drupal. У меня есть несколько клиентов, которые будут использовать отдельные экземпляры этой системы и захотят настроить как тему, так и функциональность.

Я пытаюсь разработать систему, позволяющую им добавлять темы и модули, некоторые из которых могут взаимодействовать с некоторыми из моих модулей, не предоставляя им доступ к реальному коду. (Это не с открытым исходным кодом)

Способ, которым Facebook и Ning делают это, заключается в том, чтобы разработчик размещал свой собственный код и имел обратный вызов. Это не будет работать для меня, так как эти сайты нуждаются в полной настройке, поэтому обратные вызовы для определенных точек интеграции не работают.

Один из вариантов - настроить среду песочницы, в которой пользовательские разработчики имеют доступ только к нескольким конкретным каталогам для создания своих тем и пользовательских модулей. Затем мы могли бы интегрироваться с git, чтобы зафиксировать их, когда они будут готовы, и развернуть их с остальной частью нашего кода в производство. Проблема с этой настройкой заключается в том, что разработчики должны разрабатывать удаленно и использовать нашу систему контроля версий.

Более типичная настройка - позволить разработчикам загружать что-то для создания своего пользовательского кода. Они могут развиваться локально и использовать те методы контроля версий, которые у них уже есть. Поскольку нам не нужны конкретные точечные интеграции, я не думаю, что это может быть библиотека, работающая с отдельным сервером. Альтернативой является загрузка нашей полной базовой системы Drupal и локальная разработка против нее, загрузка пользовательского кода, когда он будет готов, но тогда у них будет доступ ко всему нашему коду и IP.

Таким образом, затруднительное положение, поскольку я не думаю, что есть какой-либо способ эффективно запутать PHP.

У кого-нибудь есть какие-нибудь блестящие идеи здесь?

Это было полезно?

Решение

Похоже, ваша система является производной от Drupal и, таким образом, подпадает под действие GPL. Если вы распространяете код среди своих клиентов, они получают все права, предоставляемые GPL, включая его изменение и распространение.

Помните, что распространение запутанного GPL-кода запрещено. Цитировать GPLv2 «Исходный код работы означает предпочтительную форму работы для внесения изменений в нее».

Запутанный код не соответствует этому пункту GPL.

Тем не менее, если вы действительно хотите предоставить своим клиентам способ настройки вашей системы, вы можете предоставить своим клиентам доступ к существующему модулю и системе тем Drupal, но только в вашей песочнице.

Конечно, поскольку модули и темы написаны на PHP, и вам "не нужны конкретные точечные интеграции" " кажется, что у них будет такая свобода, которая позволит им написать модуль, который будет читать весь исходный код для остальной части вашей системы, а затем архивировать его и отправлять самому себе.

Я думаю, что вы загнали себя в угол в зависимости от GPL. Сохранение конфиденциальности вашего IP-адреса, в то время как ваши клиенты могут расширять / настраивать систему в целом, не работает.

Другие советы

Надеюсь, вы знаете, что Drupal является лицензией GPL , обязательно прочитайте часто задаваемые вопросы по лицензированию перед тем, как вы начнете запутывать.

Почему бы просто не создать для них пользователя FTP, который может иметь доступ только к / sites / их сайту? Чего мне не хватает?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top