Чи можу я мінімізувати Javascript, який вимагає повідомлення про авторські права?


37

Я думаю, це насправді правове питання, але це стосується програмного забезпечення. Я збираюся включити плагін JS до проекту. До коментарів належать:

  • Перерозподіл вихідного коду повинен зберігати вищезазначене повідомлення про авторські права, цей перелік умов та наступні відмови від відповідальності. * Перерозподіл у двійковій формі повинен відтворювати вищезазначене повідомлення про авторські права, цей перелік умов та наступну відмову в документації та / або інших матеріалах, наданих до розповсюдження.
  1. Чи використовую це на своєму веб-сайті "перерозподіл?"
  2. Якщо я зменшу це, щоб зберегти пропускну здатність, я припускаю, що це позбавить усіх коментарів. Якщо відповідь на номер 1 - так, чи це не означає, що я юридично не маю права її зменшувати?

(Це буде смердюче, оскільки я планував автоматично мінімізувати всі JS в рамках процесу розгортання.)


Це буде на стороні сервера чи клієнта? Сторона клієнта - це дистрибуція, а сервер не (як загальне правило).
Девід Торнлі

3
@DavidThornley - Я погоджуюся з вашою точкою, але я не можу придумати вагомих причин, чому б ви все-таки зменшили JS на стороні сервера.
Кріс Долан

Відповіді:


34

Більшість програм, що мінімізують, мають певний спосіб залишити коментар на місці саме для цієї мети.

Наприклад, з документації YUI Compressor :

  + 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 збереже будь-який блок JavaDoc, в якому є @licenseабо @preserveтег, або тег :

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

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

О, здорово, приємно знати!
Натан Лонг

@Nathan Long: Це рекомендований підхід людей, які роблять мінімізатори.
Орлінг

23

Так

З застереженням. Вам доведеться розмістити повідомлення в іншому місці на сайті. Зазвичай на сторінці Загальних положень та умов або Повідомлень. Це можна зробити, просто додавши наступне до вершини кожного зібраного фрагмента JS (або просто вгорі одного файлу JS):

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

4

Власне, чому б не зберегти повідомлення як частину самого кроку зміни?

Найпростішим способом було б спочатку витягнути повідомлення (вручну) та зберегти його десь. Тоді ваш сценарій мінімізації може просто мінімізувати JS, а потім об'єднати незмінене повідомлення.

Я очікую, що він буде досить малим, звичайно ... якщо він великий, то відповідь Джоша К, мабуть, краща.


Проблема автоматично виявляє сповіщення під час створення. Ще один момент, який ви торкнулися, - це те, що повідомлення можуть бути досить великими та дорогими для повторного завантаження.
Джош К

@Josh K: Я сказав, що вручну витягував повідомлення. Що стосується великих повідомлень, я думаю, що я теж охопив це питання, і в такому випадку я згоден, що краще розділити його.
Матьє М.

Зокрема, я думав про плагін jQuery Easing. якщо ви подивитесь на джерело, існує майже вдвічі більше рядків умов, як у коді: gsgd.co.uk/sandbox/jquery/easing/jquery.easing.1.3.js Тож у цьому випадку, якщо я можу ' t видалити повідомлення, це велика проблема для мінімізації.
Натан Лонг

3

Коли я читаю ліцензії, я вважаю, що для того, щоб бути повністю безпечним, потрібно включити повний текст ліцензії з будь-яким розповсюдженням програмного забезпечення або його похідних творів (включаючи мінімізований JS). З основних ліцензій з відкритим кодом:

GPLv3:

Ви можете надіслати дословні копії вихідного коду Програми під час її отримання на будь-якому носії за умови, що ви ... наділите всі одержувачі копією цієї Ліцензії разом із Програмою. ...

Ви можете передати роботу на основі Програми ... у формі вихідного коду згідно з умовами [вищезазначеного розділу].

Ліцензія MIT:

Вищезазначене повідомлення про авторські права та це повідомлення про дозвіл повинні міститись у всіх копіях або значній частині Програмного забезпечення.

Ліцензії BSD:

Перерозподіл вихідного коду повинен зберігати вищезазначене повідомлення про авторські права, цей перелік умов та наступні відмови від відповідальності.

Схоже, такий підхід не застосовується більшістю людей. Навіть офіційний мінімізований завантажувальний пристрій з Twitter містить лише невелике повідомлення про авторські права, тож ви порушите ліцензію MIT, якби подали її своїм користувачам.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.