2009-10-26 4 views
0

우리 회사는 크게 확장 된 Drupal 코어 위에 플랫폼을 구축하고 있습니다. 이 시스템의 개별 인스턴스를 사용할 여러 고객이 있으며 테마와 기능을 모두 사용자 정의하려고합니다.Drupal (및 PHP 난독 화)에서 빌드 된 플랫폼을 사용자 정의하는 방법

테마와 모듈을 추가 할 수있는 시스템을 설계하려고합니다. 일부는 실제 코드에 액세스하지 않고 일부 모듈과 상호 작용할 수 있습니다. (이것은 오픈 소스가 아닙니다.)

Facebook과 Ning이하는 일은 개발자가 자신 만의 맞춤 코드를 호스팅하고 콜백을하는 것입니다. 이러한 사이트는 완전히 사용자 정의 할 수 있어야하므로 특정 통합 지점에 대한 콜백이 실제로 작동하지 않으므로 실제로 작동하지 않습니다.

하나의 옵션은 사용자 지정 개발자가 테마 및 사용자 지정 모듈을 작성하기 위해 몇 가지 특정 디렉터리에만 액세스 할 수있는 샌드 박스 환경을 설정하는 것입니다. 그런 다음 git과 통합하여 준비가되었을 때 커밋하고 나머지 코드를 프로덕션 환경에 배포 할 수 있습니다. 이 설정의 문제점은 개발자가 원격으로 개발해야하며 소스 제어 시스템을 사용해야한다는 것입니다.

보다 일반적인 설정은 개발자가 사용자 지정 코드를 작성하기 위해 무언가를 다운로드 할 수있게하는 것입니다. 그들은 현지에서 개발할 수 있으며 이미 가지고있는 소스 관리 방법을 사용합니다. 특정 지점 통합을 원하지 않기 때문에 별도의 서버에 대해 실행되는 라이브러리가 아닐 수도 있습니다. 대안으로 우리의 전체 코어 드루팔 (Drupal) 시스템을 다운로드하여 로컬에서 개발하고, 준비가되었을 때 커스텀 코드를 업로드 한 다음, 모든 코드와 IP에 액세스 할 수 있습니다.

따라서 PHP를 난처하게 만들 수있는 방법이 없다고 생각합니다.

누구나 여기 멋진 아이디어가 있습니까?

답변

2

시스템에 Drupal의 파생물이있어 GPL이 적용되는 것처럼 들립니다. 고객에게 코드를 배포하는 경우 GPL에서 제공하는 모든 권리를 가지며이를 수정 및 재배포하는 것을 포함합니다.

난독 화 된 GPL 코드 배포가 허용되지 않습니다. GPLv2의 인용문 "저작물의 소스 코드는 해당 저작물을 수정하기위한 기본 형식을 의미합니다."

난독 화 코드는 GPL의이 조항을 준수하지 않습니다.

그렇다면 클라이언트에게 시스템을 사용자 정의 할 수있는 방법을 제공하려는 경우 클라이언트에게 기존 Drupal 모듈 및 테마 시스템에 대한 액세스 권한을 제공 할 수 있지만 샌드 박스에만 액세스 할 수 있습니다.

물론 모듈과 테마가 PHP이고 "특정 포인트 통합을 원하지 않습니다"라고 생각하면 모듈의 소스 코드를 모두 읽을 수있는 자유로운 시스템의 나머지 부분을 털어서 타르십시오.

GPL에 따라 구석에 자신을 그린 것 같아요. 고객이 일반적인 방법으로 시스템을 확장/사용자 정의 할 수 있도록 허용하면서 IP를 비공개로 유지하는 것은 실제로 작동하지 않습니다.

+0

크레이그, 네 말이 맞아. 처음에하려고했던 일을 할 수있는 좋은 방법이 없습니다. 우리는 Drupal API를 통한 것과 달리 앱을 통한 맞춤 설정 만 허용하기 위해 전략을 변경했습니다. – Nader

1

드루팔 (Drupal이 GPL licensed이라는 것을 알고 계시다면, 난독 화를 시작하기 전에 their licensing FAQ을 꼭 읽으십시오.

+0

감사합니다. 알고 있습니다. 재사용을위한 코드를 배포하지 않습니다. 저는 고객을위한 사이트를 만들고 있으며 코드를 보지 않고도 사용자 정의 할 수 있기를 바랍니다. 예를 들어, 페이스 북은 내부적으로 많은 GPL 라이선스 소프트웨어 부분을 사용하며 개발자가 코드에 맞춰 응용 프로그램을 작성할 수 있도록합니다. 그게 내가하려는 전부 야. 그것을 성취하기위한 최선의 방법을 찾아 내려고 노력했습니다. – Nader

1

/sites/theirsite에만 액세스 할 수있는 FTP 사용자를 만들지 않는 이유는 무엇입니까? 내가 뭘 놓치고 있니?