Как разрешить настройку платформы, основанной на Drupal (и обфускации PHP) - PullRequest
0 голосов
/ 27 октября 2009

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

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

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

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

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

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

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

Ответы [ 3 ]

2 голосов
/ 27 октября 2009

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

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

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

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

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

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

1 голос
/ 27 октября 2009

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

1 голос
/ 27 октября 2009

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

...