Posso minimizzare Javascript che richiede l'avviso di copyright?

35

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

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  1. Sta usando questo nel mio sito web "ridistribuzione?"
  2. Se minimizzo questo per risparmiare larghezza di banda, presumo che eliminerà tutti i commenti. Se la risposta al n. 1 è sì, ciò non implica che non sia legalmente autorizzato a minarlo?

(Questo puzzerebbe, dal momento che stavo progettando di ridurre automaticamente tutti i JS come parte del processo di distribuzione.)

    
posta Nathan Long 07.02.2011 - 18:25
fonte

4 risposte

32

La maggior parte del software minifying ha un metodo per lasciare un commento in-situ per questo scopo esatto.

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 preserverà qualsiasi blocco JavaDoc che abbia @license o il tag @preserve 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.
     */
    
risposta data 07.02.2011 - 22:39
fonte
21

Con un avvertimento. Dovresti mettere la nota altrove sul sito. Tipicamente sotto Termini e amp; Pagina Condizioni o avvisi. Puoi farlo semplicemente aggiungendo quanto segue all'inizio di ogni pezzo JS che hai minimizzato (o semplicemente sopra il 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.
  *
 **/
    
risposta data 07.02.2011 - 18:31
fonte
4

In realtà, perché non conservare l'avviso come parte del passo di minificazione stesso?

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

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

    
risposta data 07.02.2011 - 21:14
fonte
2

Dalla mia lettura delle licenze, credo che per essere totalmente sicuro è necessario includere il testo completo della licenza con qualsiasi distribuzione del software o dei suoi lavori derivati (incluso JS minificato). Dalle principali licenze open-source:

GPLv3:

You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you ... give all recipients a copy of this License along with the Program. ...

You may convey a work based on the Program ... in the form of source code under the terms of [the above section].

Licenza MIT:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Licenze BSD:

Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

Sembra che questo approccio non venga preso dalla maggior parte delle persone, comunque. Anche il Bootstrap ufficiale minificato da Twitter contiene solo una piccola nota di copyright, quindi tu 'essere in violazione della licenza MIT se lo hai servito ai tuoi utenti.

    
risposta data 03.12.2014 - 04:15
fonte

Leggi altre domande sui tag