it-swarm.it

Posso minimizzare Javascript che richiede un avviso sul copyright?

Immagino che questa sia in realtà una domanda legale, ma si riferisce al software. Sto per includere un plugin JS in un progetto. I commenti includono:

  • Le ridistribuzioni del codice sorgente devono conservare la suddetta nota sul copyright, questo elenco di condizioni e la seguente dichiarazione di non responsabilità. * Le ridistribuzioni in forma binaria devono riprodurre la suddetta nota sul copyright, questo elenco di condizioni e la seguente dichiarazione di non responsabilità nella documentazione e/o altri materiali forniti con la distribuzione.
  1. Lo sta usando nel mio sito web "ridistribuzione?"
  2. Se minimizzo questo per preservare la larghezza di banda, presumo che eliminerà tutti i commenti. Se la risposta al n. 1 è sì, non significa che non sono legalmente autorizzato a minimizzarlo?

(Sarebbe puzzolente, poiché avevo intenzione di minimizzare automaticamente tutti i JS come parte del processo di distribuzione.)

37
Nathan Long

La maggior parte dei software di minimizzazione ha un metodo per lasciare un commento in situ per questo preciso scopo.

Ad esempio, dalla documentazione del compressore YUI :

  + C-style comments starting with /*! are preserved. This is useful with
    comments containing copyright/license information. For example:

    /*!
     * TERMS OF USE - EASING EQUATIONS
     * Open source under the BSD License.
     * Copyright 2001 Robert Penner All rights reserved.
     */

    becomes:

    /*
     * TERMS OF USE - EASING EQUATIONS
     * Open source under the BSD License.
     * Copyright 2001 Robert Penner All rights reserved.
     */

Google Closure Compiler conserverà qualsiasi blocco JavaDoc che ha il @license o il @preserve tag in esso:

Con @license:

    /* 
     * TERMS OF USE - EASING EQUATIONS
     * @license Open source under the BSD License.
     * Copyright 2001 Robert Penner All rights reserved.
     */

    becomes:

    /* 
      TERMS OF USE - EASING EQUATIONS
      Open source under the BSD License.
      Copyright 2001 Robert Penner All rights reserved.
     */

Con @preserve:

    /* @preserve
     * TERMS OF USE - EASING EQUATIONS
     * Open source under the BSD License.
     * Copyright 2001 Robert Penner All rights reserved.
     */

    becomes:

    /* 
      TERMS OF USE - EASING EQUATIONS
      Open source under the BSD License.
      Copyright 2001 Robert Penner All rights reserved.
     */
36
Orbling

Con un avvertimento. Dovresti mettere l'avviso altrove sul sito. In genere in una pagina Termini e condizioni o Avvisi. Puoi farlo semplicemente aggiungendo quanto segue all'inizio di ogni pezzo JS che hai minimizzato (o semplicemente in cima al singolo file JS):

/** Notice 
  *
  * This file contains works from many authors under various (but compatible)
  * licenses. Please visit http://example.com/notices for more information.
  *
 **/
23
Josh K

In realtà, perché non conservare l'avviso come parte della fase di minificazione stessa?

Il modo più semplice sarebbe innanzitutto estrarre l'avviso (manualmente) e salvarlo da qualche parte. Quindi il tuo script di minificazione può semplicemente minimizzare JS e quindi concatenare l'avviso inalterato.

Mi aspetto che sia abbastanza piccolo ovviamente ... se è grande, allora la risposta di Josh K è probabilmente migliore.

4
Matthieu M.

Dalla mia lettura delle licenze, credo che per essere totalmente sicuro sia necessario includere il testo completo della licenza con qualsiasi distribuzione del software o delle sue opere derivate (incluso JS minimizzato). Dalle principali licenze open source:

GPLv3:

Puoi trasmettere copie testuali del codice sorgente del Programma quando lo ricevi, su qualsiasi supporto, a condizione che tu ... dia a tutti i destinatari una copia di questa Licenza insieme al Programma. ...

Puoi trasmettere un lavoro basato sul Programma ... sotto forma di codice sorgente secondo i termini di [la sezione precedente].

Licenza MIT:

L'avviso di copyright di cui sopra e questo avviso di autorizzazione devono essere inclusi in tutte le copie o parti sostanziali del Software.

Licenze BSD:

Le ridistribuzioni del codice sorgente devono conservare la suddetta nota sul copyright, questo elenco di condizioni e la seguente dichiarazione di non responsabilità.

Tuttavia, sembra che questo approccio non venga adottato dalla maggior parte delle persone. Anche il funzionario minimizzato Bootstrap da Twitter contiene solo una piccola nota sul copyright, quindi potresti violare la licenza MIT se lo hai offerto ai tuoi utenti.

3
Brian Gordon