Telif hakkı bildirimi gerektiren Javascript'i küçültebilir miyim?


36

Sanırım bu aslında yasal bir soru, ancak yazılımla ilgili. Bir projeye JS eklentisi eklemek üzereyim. Yorumlar şunları içerir:

  • Kaynak kodun yeniden dağıtılması yukarıdaki telif hakkı bildirimini, bu koşullar listesini ve aşağıdaki feragatnameyi saklamalıdır. * İkili formdaki yeniden dağıtımlar, yukarıdaki telif hakkı bildirimini, bu koşullar listesini ve aşağıdaki feragatnameyi belgelerde ve / veya dağıtımla birlikte verilen diğer materyallerde çoğaltmalıdır.
  1. Bunu web sitemde kullanmak "yeniden dağıtma?"
  2. Bant genişliğini korumak için bunu küçültürsem, tüm yorumları soracağını varsayarım. Eğer # 1 cevabı evet ise, bu yasal olarak küçültme yetkim olmadığı anlamına gelmiyor mu?

(Bu, konuşlandırma işleminin bir parçası olarak tüm JS'yi otomatik olarak küçültmeyi planladığım için kötü olurdu.)


Bu sunucu tarafı mı yoksa istemci tarafı mı olacak? Müşteri tarafı dağıtımdır, sunucu tarafı değildir (genel bir kural olarak).
David Thornley

3
@DavidThornley - Amacınızla aynı fikirdeyim ama yine de sunucu tarafı JS'yi küçültmek için iyi bir neden düşünemiyorum.
Chris Dolan

Yanıtlar:


33

Çoğu küçültme yazılımı, bu kesin amaç için yerinde bir yorum bırakma yöntemine sahiptir.

Örneğin, YUI Kompresör dokümantasyonundan :

  + 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 , içinde @licenseveya @preserveetiketi bulunan tüm JavaDoc bloklarını koruyacaktır :

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

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

Oh cool, bilmek güzel!
Nathan Long,

@ Nathan Long: Küçültücü yapanlar tarafından önerilen yaklaşım budur.
Orbling

22

Evet

Bir ihtar ile. Bildirimi sitenin başka bir yerine koymak zorunda kalacaksınız. Genelde bir Şartlar ve Koşullar veya Bildirimler sayfası altındadır. Bunu, küçültülmüş olduğunuz her JS parçasının üstüne (veya yalnızca tek bir JS dosyasının üstüne) ekleyerek yapabilirsiniz.

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

4

Aslına bakarsanız, neden bildirimi minification basamağının bir parçası olarak tutmuyorsunuz?

En basit yöntem, önce bildirimi çıkarmak (el ile) ve bir yere kaydetmek olacaktır. Ardından, küçük resim komut dosyanız JS'yi küçültebilir ve ardından değiştirilmemiş bildirimi bir araya getirebilir.

Elbette yeterince küçük olmasını bekliyorum ... eğer büyükse, Josh K’ın cevabı muhtemelen daha iyi.


Sorun oluştururken bildirimi otomatik olarak algılamak olur. Üzerine dokunduğunuz bir diğer nokta, bildirimlerin yeniden indirmek için oldukça büyük ve maliyetli olabileceğidir.
Josh K

@Josh K: Bildirimi el ile çıkarma demiştim . Büyük bildirimlere gelince, sanırım bunu da anladım, bu durumda ayrılmanın daha iyi olduğu konusunda hemfikirim.
Matthieu M.

Özellikle, jQuery Easing Plugin'i düşünüyordum. Kaynağa bakarsanız, kodun neredeyse yarısı kadar şart ve koşul vardır: gsgd.co.uk/sandbox/jquery/easing/jquery.easing.1.3.js Bu durumda, eğer yapabilirsem t bildirimi kaldırın, bu küçültme için büyük bir problemdir.
Nathan Long,

3

Lisansları okumamdan, tamamen güvende olmak için, tüm lisans metnini yazılımın veya türev çalışmalarının (minyatür JS dahil) dağıtımıyla birlikte eklemeniz gerektiğine inanıyorum. Başlıca açık kaynaklı lisanslardan:

GPLv3:

Tüm alıcılara, bu Lisansın bir kopyasını Programla birlikte vermeniz şartıyla, herhangi bir ortamda, Programın kaynak kodunun yazılı kopyalarını iletebilirsiniz. ...

Programa dayalı bir çalışmayı ... [yukarıdaki bölüm] şartları altında kaynak kodu biçiminde iletebilirsiniz.

MIT lisansı:

Yukarıdaki telif hakkı bildirimi ve bu izin bildirimi, Yazılımın tüm kopyalarına veya önemli bölümlerine dahil edilecektir.

BSD lisansları:

Kaynak kodun yeniden dağıtılması yukarıdaki telif hakkı bildirimini, bu koşullar listesini ve aşağıdaki feragatnameyi saklamalıdır.

Ancak bu yaklaşım çoğu insan tarafından alınmıyor gibi görünüyor. Twitter'dan resmi minyatür Bootstrap bile yalnızca küçük bir telif hakkı bildirimi içeriyor, bu nedenle kullanıcılarınıza hizmet etseniz MIT lisansını ihlal etmiş olursunuz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.