Devo concedere in licenza il mio codice come GPLv2 se leggo solo / scrivo in un database e pipe?

2

Sto scrivendo un'API per un sistema di monitoraggio della rete open source concesso sotto licenza GPLv2. Intendo anche open source questa API, ma mi piacerebbe acquistarla sotto la licenza BSD.

  • Non riusare o collegare a nessuno dei codici di questo sistema e non utilizzo alcun file di intestazione.
  • Non ripeterò alcuna parte del codice di monitoraggio della rete.
  • Parte della mia applicazione verrà installata nelle cartelle di installazione del monitoraggio della rete, ma non sostituirà, rimuoverà o modificherà alcuno dei suoi file

Il mio hook nel sistema è tramite:

  • database MySQL esistenti appartenenti al servizio, la mia API legge e scrive direttamente su questi database. La mia preoccupazione qui sarebbe che mentre non sto copiando le loro istruzioni SQL, ci sono alcune operazioni complesse. Ho scoperto che in un paio di casi sono arrivato a istruzioni SQL oa sequenze di lavoro non troppo dissimili dal loro, è difficile non farlo.

  • Parlo con una pipe per emettere vari comandi e inviare dati direttamente nel motore di verifica. Questa pipa è documentata dall'autore come un meccanismo ufficiale per comunicare con il motore di controllo. La pipe di comando usa stringhe a riga singola per emettere comandi, la pipe non restituisce alcun dato, è "fire and forget".

  • Esistono numerosi script CGI HTTP nel sistema da cui posso raschiare informazioni sullo stato. Potrei usarli in una versione futura.

Questo è considerato "lunghezza di braccia" abbastanza per permettermi di concedere in licenza il mio codice con una licenza diversa? cioè.

http://www.gnu.org/licenses/gpl-faq.html#MereAggregation

However, in many cases you can distribute the GPL-covered software alongside your proprietary system. To do this validly, you must make sure that the free and non-free programs communicate at arms length, that they are not combined in a way that would make them effectively a single program.

La lettura e la scrittura di righe su un database dovrebbero essere considerate "scambio di strutture di dati interne complesse"?

http://www.gnu.org/licenses/gpl-faq.html#MereAggregation

By contrast, pipes, sockets and command-line arguments are communication mechanisms normally used between two separate programs. So when they are used for communication, the modules normally are separate programs. But if the semantics of the communication are intimate enough, exchanging complex internal data structures, that too could be a basis to consider the two parts as combined into a larger program.

    
posta Kev 20.09.2011 - 10:57
fonte

4 risposte

4

Non dovresti controllare le Domande frequenti sulla GPL per queste informazioni. Queste sono domande sullo ambito della licenza e la licenza non può impostare il proprio ambito. (E la FSF non è parte della licenza, quindi non possono nemmeno rinunciare a diritti che l'autore potrebbe avere.)

Ciò che importa è se il tuo lavoro è un lavoro derivato sotto la legge sul copyright. Questo viene determinato in base al fatto che il tuo lavoro contenga o meno un'espressione protettiva sufficiente presa dal lavoro coperto dalla GPL.

In primo luogo, il caso facile, il database. Non stai scambiando le strutture interne con il database. Stai inviando comandi al database e restituisce i tuoi dati all'utente. In ogni caso, la struttura proviene dallo standard SQL, quindi non vedo come potrebbe essere un'espressione protetta da MySQL.

La custodia per pipe è più complessa. Ma se sono fondamentalmente strutture esterne (comandi, risposte), dovresti stare bene. Questo è particolarmente vero se si tratta di un'interfaccia documentata. Gli elementi funzionali non possono essere protetti dal copyright e, come regola generale, se si prende solo ciò che è necessario per l'interoperabilità, si stanno prendendo solo elementi funzionali. (Attenzione però a cose come i file header, perché contengono nomi di parametri e macro che si può sostenere che non è necessario interoperare.)

Ovviamente, dovresti idealmente consultare un avvocato.

    
risposta data 20.09.2011 - 11:13
fonte
2

I don't re-use or link to any of the code in this system and I don't use any header files.

In questo caso, la GPL prenderebbe in considerazione il tuo programma per operare con il sistema di monitoraggio della rete tramite "pura aggregazione", che non richiede che il tuo codice venga inserito sotto la GPL.

La risposta di David Schwarz ha anche un ottimo punto in quanto il tuo codice non verrebbe considerato un lavoro derivato ai sensi della legge sul copyright, rendendo in ogni caso irrilevanti le condizioni di licenza del monitor di rete, a meno che non includessero un EULA (applicabile) che specifichi espressamente che non è possibile accedere o utilizzare i dati memorizzati nel modo in cui funziona il tuo programma.

Disclaimer standard: IANAL, solo un programmatore che ha letto troppo su questa roba per il suo bene. Consulta un avvocato autorizzato a esercitare la tua giurisdizione se hai bisogno di una risposta definitiva.

    
risposta data 20.09.2011 - 12:42
fonte
1

Sembra che tu possa usare una licenza BSD poiché stai solo usando il sistema GPLed e non modificando la fonte di quel sistema.

Perché si vorrebbe usare la licenza BSD a tutti è un'altra questione. La licenza BSD è equivalente a nessuna licenza. Se distribuisci il tuo codice sotto BSD, e sembra un buon prodotto che posso, sotto i termini della licenza BSD, prendere il tuo codice, restringerlo e venderlo come mio senza consultarti o darti alcuna quota del profitti. Posso persino apportare alcune modifiche minori al codice e venderlo con una licenza proprietaria.

Se non mi credi, dai un'occhiata alla licenza per MAC / OS. Considerando che il 90% del codice è BSD Unix, ci sono alcuni termini piuttosto draconiani.

    
risposta data 21.09.2011 - 10:41
fonte
0

Verifica con un avvocato .

La descrizione mostra un sistema che può essere concesso in licenza indipendentemente dal sistema originale. Detto questo, controlla con un avvocato per essere sicuro, poiché le cose cambiano a seconda della tua giurisdizione.

In termini pratici, però, dal momento che non stai vendendo la tua API, non corri il rischio di essere citato in giudizio o di metterti nei guai. Se finisci per dover cambiare licenze più avanti, probabilmente è ok.

Tuttavia, non siamo avvocati . Se questa è davvero una fonte di preoccupazione per te, allora controlla con un avvocato .

    
risposta data 21.09.2011 - 07:36
fonte

Leggi altre domande sui tag