C'è qualche codice JavaScript usato solo per siti web, open source?

12

Domanda ripubblicata:

Non sto chiedendo una domanda relativa a JavaScript, ma tutte le lingue "client" utilizzate sul web (HTML5, JavaScript, CSS e così via). Se inserisco il codice JavaScript (che è GPLed) sul mio sito web e questo sito web è accessibile da chiunque sul Web, sto violando la GPL in qualche modo?

Cosa succede se mi piacerebbe vendere il codice cliente (HTML, CSS, JavaScript) a qualcuno? Ho bisogno di una licenza diversa in questo caso?

Non è JavaScript (se usato per i siti web) sempre open source? Quando apri una pagina web puoi sempre leggere la fonte.

Devo anche rilasciare il mio codice lato server se vendo un sito web che contiene codice GPLed JavaScript?

Che cosa succede se questo sito è parzialmente accessibile (una parte è gratuita e l'altra richiede il pagamento) ma il codice GPL (la stessa parte) viene utilizzato su entrambi i lati del sito web?

Che cosa succede se il codice GPL è solo in una parte del sito Web che richiede il pagamento per accedervi?

Se sto vendendo un sito Web a un cliente in questo modo:

  1. Sto vendendo (una tantum) tutto il codice relativo al client (JavaScript, HTML e CSS)
  2. Sono non che ti vendo il codice lato server, lo stai affittando (non voglio che tu possa riutilizzare il mio codice lato server)

Se sto usando codice JavaScript GPL, sto violando qualcosa? (Il sito Web è accessibile da chiunque sul Web.)

Modifica 2:

Aggiunta una nuova domanda specifica:

Che cosa succede se il sito web può funzionare senza codice lato server, voglio dire, JavaScript sta solo chiamando alcune pagine PHP che contengono dati in formato JSON. Altre persone possono creare un sito Web con il lato client, ma dovranno fornire i dati. In questo caso, JavaScript sta chiamando il codice "PHP" (ma non il contrario), penso. In questo caso, sto violando GPL?

    
posta Fire-Dragon-DoL 26.07.2011 - 16:27
fonte

4 risposte

3

Quando si tratta di GPL, l'unità di rilascio è l'unità di licenza.

Se il tuo sito web e il suo javascript sono una cosa sola che funziona insieme, allora il tutto ha una licenza efficace. Se una parte è GPL, la licenza effettiva dell'insieme è GPL. (Questo è non true per LGPL, MIT, ecc.)

Se stai ospitando il sito web e i tuoi clienti stanno acquistando l'accesso al servizio, allora non hai distribuito o trasmesso il codice lato server, quindi la GPL è irrilevante. (L'AGPL lo cambia e afferma che il Software come servizio deve avere la sua fonte rilasciata.)

Javascript che fa parte della tua applicazione in modo non autorizzato in alcun modo. A rigor di termini, il download del javascript per eseguirlo nel browser è una violazione del copyright. Certo, è sciocco. C'è probabilmente una licenza implicita per eseguire il codice, ma questo è tutto.

Se usi una libreria Javascript, devi obbedire alla licenza di quella libreria. Se quella licenza è GPL, capisco che ciò significa che l'intera applicazione è GPL. Questo è probabilmente il motivo per cui jQuery ha una doppia licenza: a tua scelta, MIT o GPL. Senza l'opzione di utilizzare la licenza MIT, potrebbe essere utilizzata solo dalle app GPL.

    
risposta data 26.07.2011 - 20:55
fonte
4

Primo: Hai il pieno diritto di utilizzare il codice Open Source in progetti commerciali fintanto che rispetti le restrizioni della licenza (in primo luogo che lasci tutte le attribuzioni sul posto e che apporti modifiche disponibile con una licenza simile).

La GPL è, capisco, una delle licenze più restrittive quando si tratta di provare a forzare le sue licenze su altre parti di un progetto. Non penso che sia mai stato testato in tribunale, ma in genere l'interpretazione che ho sempre visto è che se il codice GPL viene lasciato nei propri moduli separati a cui viene fatto riferimento (cioè che vengono trattati come prodotti completamente autonomi che stai usando), dovresti stare bene.

Se non sei sicuro di ciò e / o vuoi essere più sicuro ci sono altre licenze meno prescrittive.

Secondo: Possibilità di vedere il codice e i diritti per utilizzarlo sono completamente separati . Non posso andare a togliere JavaScript da qualsiasi sito e usarlo solo perché posso vederlo. Se ho accesso alla fonte di Windows, anche legalmente, questo non lo rende mio. Il web rende necessario che un sacco di codice sia visibile, puoi comunque concederlo come vuoi.

Terzo: in termini di licenza del resto del sito, è altamente improbabile che il tuo cliente sia felice di pagarti per qualcosa, rendendolo open source . A parte il "perché abbiamo pagato per qualcosa che hai appena dato", probabilmente avrà delle conseguenze sul design e sul branding e permetterà a qualcun altro di prendere in prestito elementi della sua identità aziendale. Se lo stai vendendo loro, vorranno che sia loro . Se li venderai in qualche modo, dovrai dire loro che c'è OSS lì perché non puoi venderlo, solo un altro codice che lo utilizza.

Quarto: Questo è un modello molto strano che vende un bit del codice e affitta l'altro . Sembrano essere così strongmente interdipendenti che uno è ampiamente inutile senza l'altro. Suppongo che tecnicamente potrebbero prendere il design del front-end che hai fatto e applicarlo in qualcos'altro, ma in genere, quando ciò accade, la gente ricomincia da capo.

Dato che le due parti non sono davvero così utili l'una senza l'altra, proporrei di pagare per la personalizzazione a un software come prodotto di servizio di tua proprietà. Questo è tutto il codice, lo personalizzi semplicemente secondo le loro specifiche (è il marchio il front end a modo suo). Lo rende molto più ordinato e semplice.

    
risposta data 26.07.2011 - 17:33
fonte
3

In generale, se stai usando il codice GPL ovunque nel tuo progetto, e tu ridistribuisci il tuo progetto (cioè vendilo o darlo ad altri) devi rilasciare il il codice sorgente del tuo progetto al pubblico nella sua interezza per essere conforme alla licenza GPL.

Se fornisci il tuo sito web pubblico come servizio che utilizza il codice GPL sul lato server, potresti essere OK, poiché non è considerato una ridistribuzione.

Il codice Javascript nel browser mi sembra un'area grigia. Tecnicamente, ridistribuisci il codice GPL al browser di tutti, il che innescherebbe l'obbligo di rilasciare la tua fonte.

Modifica: per dimostrare il mio punto, ora includerò il testo dalla licenza Domande frequenti sul sito Web di ExtJS. ExtJs è un framework Javascript con licenza GPL. Questa è la loro interpretazione di come funziona la licenza rispetto al loro framework (corsivo mio):

Derived Works
When a software program calls code that is licensed under the GPLv3, then that software program becomes a derived work of the GPL’d code and hence subject to the GPLv3 copyright license. If the software program is then “conveyed” to a user, the GPLv3 requires that the source code to that software program also be “conveyed.” “Conveyance” for a web application is triggered when a user outside the legal entity that created the application uses the application.

The Definition of a Software Program
For software programs built using today’s web architectures that use remote network-based service interfaces for internal communication instead of traditional static or dynamic linking, the relevant software program is the totality of the application code, including code executed on the server and code executed on the client, provided that the server code is integral to the application.

Example
Let’s say that the application has a front-end (that generates web pages linked to Ext JS JavaScript) that communicates over JSON/HTTP with a backend service. This backend service contains approval and validation logic for this application alone. Even if only the front-end uses Ext JS code, you should consider that the combination of front and back ends constitutes the application, and the source code for both back and front end would need to be provided to the application’s end users under GPLv3 if the application is used by an end-user who is not part of the same legal entity that holds the GPLv3 license to the Ext JS code.

    
risposta data 26.07.2011 - 17:29
fonte
1

Per un sito Web con javascript sul lato client, sono ancora in possesso del codice. Se dovessi semplicemente prendere quel codice e usarlo come tuo, sarebbe probabilmente una violazione IP. Immagino di non sapere se non includono una licenza con esso. Ci sono anche problemi di non applicabilità. Parla con un avvocato, immagino, ma probabilmente non ti diranno niente di utile.

I progetti con un mix di licenze sono complicati. Il codice GPL che interagisce con altre librerie, presumibilmente compresi i back-end lato server, richiede che siano anche GPL. Altre licenze open source sono meno severe, come la LGPL e la licenza BSD.

E no, se non vuoi che riutilizzi il tuo codice php, allora non si adatta al modello GPL. Se rilasci il tuo codice sotto GPL, allora sei OBBLIGATO a consegnare il codice sorgente.

Quindi sembra che tu stia creando un sito web per qualcuno e non vuoi distribuire il tuo codice a nessuno. Perché stai guardando all'open source? Se è open source, stai dando via il codice.

    
risposta data 26.07.2011 - 16:55
fonte

Leggi altre domande sui tag