Presumo che la tua applicazione commerciale basata su shuup sia qualcosa che renderai pubblicamente disponibile su Internet aperto o renderà disponibile almeno a terze parti.
Inoltre hai suggerito che intendi modificare e migliorare il codice sorgente di shuup per il tuo contesto.
Suppongo anche per ora che la tua intenzione sia quella di "eseguire" questa tua applicazione commerciale e non di "ridistribuirla" come un pacchetto di codice per gli altri (ad esempio i clienti) da implementare.
La licenza AGPL è abbastanza specifica in questo caso. Oltre alle disposizioni GPL, i nuovi termini chiave si trovano nella sezione AGPL 13 .
- Remote Network Interaction; Use with the GNU General Public License.
Notwithstanding any other provision of this License, if you modify the Program, your modified version must prominently offer all users interacting with it remotely through a computer network (if your version supports such interaction) an opportunity to receive the Corresponding Source of your version by providing access to the Corresponding Source from a network server at no charge, through some standard or customary means of facilitating copying of software.
Dovresti incorporare un meccanismo nella tua app che fornisca l'accesso al codice sorgente esatto corrispondente incluse le tue modifiche.
Il codice sorgente corrispondente probabilmente coprirebbe tutto shuup e le tue modifiche, nonché il codice sorgente per tutte le dipendenze , e in modo ricorsivo. Ciò non coprirà ovviamente i segreti di configurazione (come un file di configurazione con password e impostazioni del database, ecc.) E questo potrebbe non riguardare il tuo nuovo patrimonio o supporto originale, supponendo che non siano essenziali per il funzionamento del tuo shuup modificato.
Se questa applicazione sarà pubblicamente e generalmente disponibile, il percorso più semplice che prenderei per conformità probabilmente sarà :
- fork shuup in un repository pubblico
- aggiungi le mie modifiche (e documentale secondo AGPL sezione 5 secondo necessità) direttamente in questo pubblico repo
- modificare shuup in modo tale che esista un collegamento prominente in una pagina di informazioni o su ciascuna pagina che punti al commit corrispondente che viene pubblicato e configura gli script di distribuzione in modo che includano questo link correttamente aggiornato al commit distribuito.
- assicurati di conservare una copia del codice sorgente di tutti i deps per ogni versione distribuita della mia app e renderli disponibili per il download con il codice in 3.
(questo perché queste dipendenze potrebbero scomparire e tu comunque ne possiedi comunque l'obbligo)
Nota che se non modificherai shuup i requisiti saranno notevolmente ridotti . L'utilizzo di un framework o di una libreria o app con licenza AGPL non modificata non è molto diverso dall'uso di una licenza con licenza GPL come Sezione 13 i requisiti non si applicano.
Un approccio per evitare modifiche potrebbe essere quello di contribuire alle modifiche a monte e risolvere in modo che siano accettate (ma potrebbero non essere accettate affatto, nel qual caso si stanno ancora affrontando le proprie modifiche e si ha l'onere di compliance).