Utilizzo commerciale del framework web python di AGPLv3

1

C'è shuup django basato su un framework web di e-commerce con licenza AGPL- 3.0

Mi piacerebbe usarlo nel mio progetto commerciale, che in ultima analisi significa che voglio modificare una cosa o due nei file sorgente, aggiungere anche una dozzina di funzionalità extra per soddisfare i requisiti specifici del progetto.

Dopo aver letto una risposta a una domanda simile mi sembra, che devo esporre le mie modifiche o spingere le mie modifiche a shuup repo , in particolare a causa della seguente citazione:

These subsequent terms of the licenses require you

  • to also make available the "Corresponding Source" of the work if you distribute object code of the modified or unmodified work (Section 6)
  • to even do this if you do not distribute a modified work at all, but rather only make its services available via a network (Section 13, AGPL only)

Quindi, se sto per utilizzare la versione modificata del loro codice sorgente nel mio progetto (niente a che fare con la ridistribuzione o la rivendita), devo esporre le mie modifiche o in altro modo preoccuparmi del codice sorgente modificato?

    
posta NarūnasK 27.12.2016 - 22:46
fonte

2 risposte

0

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 .

  1. 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à :

  1. fork shuup in un repository pubblico
  2. aggiungi le mie modifiche (e documentale secondo AGPL sezione 5 secondo necessità) direttamente in questo pubblico repo
  3. 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.
  4. 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).

    
risposta data 31.12.2016 - 13:03
fonte
2

So, if I'm about to use modified version of their source code in my project, do I need to expose my changes or by other means care about modified source code?

Sì.

Stai facendo un lavoro derivato basato su shuup, il che significa che il tuo lavoro deve essere concesso in licenza AGPL-3.0 e, dal momento che hai intenzione di rendere i suoi servizi disponibili tramite una rete, devi rispettare la Sezione 13 e fornire il codice sorgente senza carica tramite un server di rete che controlli.

Dimentica tutto ciò che leggi riguardo alla risposta che hai collegato.

    
risposta data 28.12.2016 - 00:19
fonte

Leggi altre domande sui tag