Drupal上に構築されたプラットフォーム(およびPHPの難読化)のカスタマイズを許可する方法
-
06-07-2019 - |
質問
私の会社は、大幅に拡張されたDrupalコアの上にプラットフォームを構築しています。このシステムの個別のインスタンスを使用し、テーマと機能の両方をカスタマイズする複数の顧客がいます。
テーマやモジュールを追加できるようにシステムを設計しようとしていますが、その一部は実際のコードにアクセスすることなく、一部のモジュールと相互作用する可能性があります。 (これはオープンソースではありません)
FacebookとNingがこれを行う方法は、開発者に独自のカスタムコードをホストさせ、コールバックを持たせることです。これらのサイトは完全にカスタマイズできる必要があるため、これは実際には機能しません。そのため、特定の統合ポイントのコールバックは実際には機能しません。
1つのオプションは、テーマとカスタムモジュールを構築するために、カスタム開発者が2、3の特定のディレクトリにのみアクセスできるサンドボックス環境をセットアップすることです。次に、gitと統合して、準備ができたらコミットし、残りのコードとともに運用環境に展開します。このセットアップの問題は、開発者がリモートで開発し、ソース管理システムを使用する必要があることです。
より一般的な設定は、開発者が何かをダウンロードしてカスタムコードをビルドできるようにすることです。彼らはローカルで開発し、既に持っているソース管理プラクティスを使用できます。特定のポイント統合を望んでいないので、これが別のサーバーに対して実行されるライブラリになるとは思わない。もう1つの方法は、フルコアDrupalシステムをダウンロードし、それに対してローカルで開発し、準備ができたらカスタムコードをアップロードすることですが、その後、彼らはすべてのコードとIPにアクセスできます。
このような苦境。PHPを効果的に難読化する方法はないと思います。
ここには素晴らしいアイデアがありますか?
解決
お使いのシステムはDrupalの派生物であり、したがってGPLによってカバーされているようです。コードをクライアントに配布する場合、クライアントはGPLによって提供されるすべての権利を持ち、変更や再配布を含みます。
難読化されたGPLコードを配布することは許可されていないことに注意してください。 GPLv2を引用する場合、「作品のソースコードとは、作品を修正するための作品の好ましい形態を意味します。」
難読化されたコードは、GPLのこの条項に準拠していません。
とはいえ、クライアントにシステムをカスタマイズする方法を本当に提供したい場合は、クライアントに既存のDrupalモジュールとテーマシステムへのアクセスを提供できますが、サンドボックスのみです。
もちろん、モジュールとテーマはPHPであり、「特定のポイント統合を望まない」ので、システムの残りの部分のすべてのソースコードを読み取り、それをtarしてモジュールに送信するモジュールを作成できるような自由があるようです。
GPLに依存することで、あなたは自分を隅に追い込んだと思います。クライアントがシステムを一般的な方法で拡張/カスタマイズできるようにする一方で、IPをプライベートに保つことは実際には機能しません。
他のヒント
Drupalが GPLライセンスであることを知っていることを願っています。必ずライセンスに関するよくある質問を難読化を開始する前に。
/ sites / theirsiteにしかアクセスできないFTPユーザーを作成するのはなぜですか?何が足りないのですか?