Domanda

La mia azienda sta costruendo una piattaforma in cima a un core Drupal fortemente esteso. Ho più clienti che useranno istanze separate di questo sistema e vorranno personalizzare sia il tema che la funzionalità.

Sto cercando di progettare un sistema per consentire loro di aggiungere temi e moduli, alcuni dei quali potrebbero interagire con alcuni dei miei moduli, senza consentire loro di accedere al codice effettivo. (Questo non è open source)

Il modo in cui Facebook e Ning fanno questo è di avere lo sviluppatore che ospita il proprio codice personalizzato e di richiamarlo. Questo non funzionerà davvero per me, poiché questi siti hanno bisogno della possibilità di essere completamente personalizzati, quindi i callback per specifici punti di integrazione non funzionano davvero.

Un'opzione è quella di impostare un ambiente sandbox in cui gli sviluppatori personalizzati hanno accesso solo a un paio di directory specifiche per costruire i loro temi e moduli personalizzati. Potremmo quindi integrarci con git per impegnarli quando sono pronti e distribuirli con il resto del nostro codice in produzione. Il problema con questa configurazione è che gli sviluppatori devono sviluppare in remoto e utilizzare il nostro sistema di controllo del codice sorgente.

Una configurazione più tipica è quella di consentire agli sviluppatori di scaricare qualcosa per creare il loro codice personalizzato. Possono svilupparsi localmente e utilizzare qualsiasi pratica di controllo del codice sorgente disponga già. Poiché non desideriamo integrazioni di punti specifici, non penso che questa possa essere una libreria che viene eseguita su un server separato. L'alternativa è scaricare il nostro sistema Drupal core completo e svilupparlo localmente contro di esso, caricando il codice personalizzato quando è pronto, ma poi avrebbero accesso a tutto il nostro codice e IP.

Quindi la situazione, poiché non credo che ci sia alcun modo per offuscare efficacemente PHP.

Qualcuno ha qualche idea geniale qui?

È stato utile?

Soluzione

Sembra che il tuo sistema sia un lavoro derivato di Drupal e quindi coperto dalla GPL. Se distribuisci il codice ai tuoi clienti hanno tutti i diritti forniti dalla GPL, inclusi la modifica e la ridistribuzione.

Tieni presente che non è consentito distribuire codice GPL offuscato. Per citare GPLv2 "Il codice sorgente di un'opera indica la forma preferita dell'opera per apportare modifiche ad essa".

Il codice offuscato non è conforme a questa clausola della GPL.

Detto questo, se vuoi davvero fornire ai tuoi clienti un modo per personalizzare il tuo sistema, potresti fornire ai tuoi clienti l'accesso al modulo Drupal e al sistema tematico esistenti ma solo sulla tua sandbox.

Naturalmente poiché i moduli e i temi sono PHP e tu non vuoi integrazioni punti specifiche " sembra che avrebbero il tipo di libertà che consentirebbe loro di scrivere un modulo che legge tutto il codice sorgente per il resto del sistema e quindi lo aggiorna e lo invia a se stessi.

Penso che ti sei dipinto in un angolo a seconda di GPL. Mantenere il tuo IP privato mentre permetti ai tuoi clienti di estendere / personalizzare il sistema in generale non funziona davvero.

Altri suggerimenti

Spero che tu sia consapevole che Drupal è licenza GPL , assicurati di leggere Domande frequenti sulle licenze prima di iniziare a offuscare.

Perché non creare semplicemente un utente FTP per loro che può accedere solo a / siti / loro sito? Cosa mi sto perdendo?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top