it-swarm-eu.dev

Mohu minifikovat Javascript, který vyžaduje oznámení o autorských právech?

Myslím, že se jedná o právní otázku, ale týká se softwaru. Chystám se zahrnout plugin JS do projektu. Komentáře zahrnují:

  • Redistribuce zdrojového kódu si musí zachovat výše uvedené upozornění o autorských právech, tento seznam podmínek a následující vyloučení odpovědnosti. * Redistribuce v binární podobě musí reprodukovat výše uvedené oznámení o autorských právech, tento seznam podmínek a následující vyloučení odpovědnosti v dokumentaci a/nebo jiných materiálech dodávaných s distribucí.
  1. Používá to na mém webu „redistribuce?“
  2. Pokud to minimalizuji kvůli zachování šířky pásma, předpokládám, že to odstraní všechny komentáře. Je-li odpověď na # 1 kladná, neznamená to, že bych jej legálně nemohl minifikovat?

(To by bylo smutné, protože jsem v rámci procesu nasazení plánoval automatické minování všech JS.)

37
Nathan Long

Většina minifikačního softwaru má nějaký způsob ponechání komentáře na místě za tímto přesným účelem.

Například z dokumentace k YUI kompresor :

  + 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 zachová každý blok JavaDoc, který má buď @license nebo @preserve tag v něm:

S @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.
     */

S @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

Ano

S výhradou. Budete muset umístit oznámení jinde na webu. Obvykle na stránce Podmínky a oznámení. Dalo by se to jednoduše tím, že připojíte následující na začátek každého JS kusu, který jste minifikovali (nebo jednoduše na začátek jediného JS souboru):

/** 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

Proč vlastně nezachovat oznámení jako součást samotného kroku minifikace?

Nejjednodušším způsobem by bylo nejprve rozbalit oznámení (ručně) a někde ho uložit. Pak váš minifikační skript může minifikovat JS a pak zřetězit nezměněné oznámení.

Očekávám, že to bude samozřejmě dost malé ... pokud je to velké, pak je odpověď Josha K pravděpodobně lepší.

4
Matthieu M.

Z mého čtení licencí se domnívám, že pro úplnou bezpečnost je třeba zahrnout úplný licenční text do jakékoli distribuce softwaru nebo jeho odvozených děl (včetně minifikovaného JS). Z hlavních open-source licencí:

GPLv3:

Můžete obdržet doslovné kopie zdrojového kódu Programu, jakmile jej obdržíte, na jakémkoli médiu za předpokladu, že ... poskytnete všem příjemcům kopii této licence spolu s Programem. ...

Dílo založené na Programu můžete sdělit ve formě zdrojového kódu za podmínek [výše uvedené části].

Licence MIT:

Výše uvedené oznámení o autorských právech a toto oznámení o povolení jsou součástí všech kopií nebo podstatných částí Softwaru.

Licence BSD:

Redistribuce zdrojového kódu si musí zachovat výše uvedené upozornění o autorských právech, tento seznam podmínek a následující vyloučení odpovědnosti.

Vypadá to, že tento přístup však většina lidí nebere. Dokonce oficiální minified Bootstrap z Twitter obsahuje pouze malé oznámení o autorských právech, takže byste porušovali licenci MIT licence) pokud jste ji doručili svým uživatelům.

3
Brian Gordon