Drupal에 구축 된 플랫폼 (및 PHP Obfuccation)의 사용자 정의를 허용하는 방법

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

문제

우리 회사는 심하게 확장 된 드 루팔 코어 위에 플랫폼을 구축하고 있습니다. 이 시스템의 별도 인스턴스를 사용할 수있는 여러 고객이 있으며 테마와 기능을 모두 사용자 정의하려고합니다.

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

Facebook과 Ning 이이 작업을 수행하는 방식은 개발자가 자신의 사용자 정의 코드를 호스팅하고 콜백을하는 것입니다. 이 사이트는 완전히 사용자 정의 할 수있는 능력이 필요하므로 특정 통합 지점을위한 콜백은 실제로 작동하지 않기 때문에 실제로는 효과가 없습니다.

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

보다 일반적인 설정은 개발자가 사용자 정의 코드를 구축하기 위해 무언가를 다운로드 할 수 있도록하는 것입니다. 그들은 현지에서 개발하고 이미 가지고있는 소스 제어 관행을 사용할 수 있습니다. 특정 포인트 통합을 원하지 않기 때문에 이것이 별도의 서버에 대해 실행되는 라이브러리가 될 수 있다고 생각하지 않습니다. 대안은 전체 Core Drupal 시스템을 다운로드하고 이에 대해 로컬로 개발하여 준비가되었을 때 사용자 정의 코드를 업로드하지만 모든 코드와 IP에 액세스 할 수 있습니다.

따라서 PRES는 PHP를 효과적으로 난독 화하는 방법이 없다고 생각하기 때문에 곤경에 처한다.

여기에 화려한 아이디어가 있습니까?

도움이 되었습니까?

해결책

시스템은 Drupal의 파생 작품이므로 GPL로 덮여있는 것처럼 들립니다. 코드를 고객에게 배포하면 GPL 수정 및 재분배를 포함하여 GPL이 제공하는 모든 권리가 있습니다.

난독 화 된 GPLED 코드를 배포하는 것은 허용되지 않습니다. GPLV2 "작업의 소스 코드는 수정을위한 선호하는 작업 형식을 의미합니다."

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

즉, 고객에게 시스템을 사용자 정의하는 방법을 제공하려면 고객에게 기존 Drupal 모듈 및 테마 시스템에 대한 액세스를 제공 할 수 있지만 샌드 박스에서만 고객에게 제공 할 수 있습니다.

물론 모듈과 테마는 PHP이고 "특정 포인트 통합을 원하지 않는다"는 것이므로 다른 시스템의 모든 소스 코드를 읽는 모듈을 작성할 수있는 자유가있는 것 같습니다. 그런 다음 타르고 스스로 보내십시오.

나는 당신이 GPL에 따라 구석에 자신을 그렸다고 생각합니다. 고객이 일반적인 방식으로 시스템을 확장/사용자 정의 할 수 있도록 IP를 비공개로 유지하는 것은 실제로 작동하지 않습니다.

다른 팁

Drupal이라는 것을 알고 있기를 바랍니다 GPL 라이센스, 반드시 읽으십시오 라이센스 FAQ 난독 화하기 전에.

액세스 /사이트 /해당 현장에서만 액세스 할 수있는 FTP 사용자를 만들지 않겠습니까? 내가 무엇을 놓치고 있습니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top