Tôi có thể giảm bớt Javascript yêu cầu thông báo bản quyền không?


37

Tôi đoán đây thực sự là một câu hỏi pháp lý, nhưng nó liên quan đến phần mềm. Tôi sắp bao gồm một plugin JS trong một dự án. Các ý kiến ​​bao gồm:

  • Việc phân phối lại mã nguồn phải giữ lại thông báo bản quyền ở trên, danh sách các điều kiện này và tuyên bố từ chối trách nhiệm sau đây. * Phân phối lại ở dạng nhị phân phải sao chép thông báo bản quyền ở trên, danh sách các điều kiện này và từ chối trách nhiệm sau đây trong tài liệu và / hoặc các tài liệu khác được cung cấp với bản phân phối.
  1. Là sử dụng điều này trong trang web của tôi "phân phối lại?"
  2. Nếu tôi giảm thiểu điều này để tiết kiệm băng thông, tôi cho rằng nó sẽ loại bỏ tất cả các bình luận. Nếu câu trả lời cho câu hỏi số 1 là có, thì điều đó có nghĩa là tôi không được phép thu nhỏ nó một cách hợp pháp?

(Điều đó sẽ bốc mùi, vì tôi đã lên kế hoạch tự động thu nhỏ tất cả JS như một phần của quy trình triển khai.)


Đây sẽ là phía máy chủ hay phía máy khách? Phía khách hàng là phân phối, phía máy chủ không (như một quy tắc chung).
David Thornley

3
@DavidThornley - Tôi đồng ý với quan điểm của bạn nhưng tôi không thể nghĩ ra lý do chính đáng tại sao bạn lại giảm thiểu JS phía máy chủ.
Chris Dolan

Câu trả lời:


34

Hầu hết các phần mềm rút gọn có một số phương pháp để lại một bình luận tại chỗ cho mục đích chính xác này.

Ví dụ: từ tài liệu 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.
     */

Trình biên dịch đóng cửa của Google sẽ bảo tồn bất kỳ khối JavaDoc nào có @licensehoặc @preservethẻ trong đó:

Với @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.
     */

Với @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 tuyệt, rất tốt để biết!
Nathan Long

@Nathan Long: Đây là cách tiếp cận được đề xuất bởi những người thực hiện các công cụ giảm thiểu.
Orble

23

Vâng

Với một lời cảnh báo. Bạn sẽ phải đặt thông báo ở nơi khác trên trang web. Thông thường trong trang Điều khoản & Điều kiện hoặc Thông báo. Bạn có thể thực hiện việc này một cách đơn giản bằng cách nối thêm phần sau vào đầu mỗi đoạn mã bạn đã rút gọn (hoặc đơn giản là trên cùng của tệp JS):

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

4

Trên thực tế, tại sao không lưu giữ thông báo như là một phần của bước thu nhỏ?

Cách đơn giản nhất là trước tiên trích xuất thông báo (thủ công) và lưu nó ở đâu đó. Sau đó, tập lệnh thu nhỏ của bạn chỉ có thể thu nhỏ JS và sau đó ghép thông báo không thay đổi.

Tôi hy vọng nó đủ nhỏ dĩ nhiên ... nếu nó lớn, thì câu trả lời của Josh K có lẽ tốt hơn.


Vấn đề trở nên tự động phát hiện thông báo khi xây dựng. Một điểm khác bạn chạm vào là các thông báo có thể khá lớn và tốn kém để tải lại.
Josh K

@Josh K: Tôi đã nói thủ công trích xuất thông báo. Đối với các thông báo lớn, tôi nghĩ rằng tôi cũng đã được bảo hiểm, trong trường hợp đó tôi đồng ý nên tách nó ra.
Matthieu M.

Cụ thể, tôi đã nghĩ đến Plugin jQuery Easing. nếu bạn nhìn vào nguồn, có gần một nửa số dòng điều khoản và điều kiện như mã: gsgd.co.uk/sandbox/jquery/ease/jquery.ease.1.3.js Vì vậy, trong trường hợp này, nếu tôi có thể ' Để loại bỏ thông báo, đó là một vấn đề lớn để giảm thiểu.
Nathan Long

3

Từ việc đọc các giấy phép, tôi tin rằng để hoàn toàn an toàn, bạn cần bao gồm văn bản giấy phép hoàn chỉnh với bất kỳ phân phối phần mềm hoặc các tác phẩm phái sinh của nó (bao gồm cả JS rút gọn). Từ các giấy phép nguồn mở chính:

GPLv3:

Bạn có thể truyền đạt các bản sao nguyên văn của mã nguồn của Chương trình khi bạn nhận được nó, trong bất kỳ phương tiện nào, miễn là bạn ... cung cấp cho tất cả người nhận một bản sao Giấy phép này cùng với Chương trình. ...

Bạn có thể chuyển tải một tác phẩm dựa trên Chương trình ... dưới dạng mã nguồn theo các điều khoản của [phần trên].

Giấy phép MIT:

Thông báo bản quyền ở trên và thông báo cấp phép này sẽ được bao gồm trong tất cả các bản sao hoặc các phần quan trọng của Phần mềm.

Giấy phép BSD:

Việc phân phối lại mã nguồn phải giữ lại thông báo bản quyền ở trên, danh sách các điều kiện này và tuyên bố từ chối trách nhiệm sau đây.

Tuy nhiên, có vẻ như phương pháp này không được hầu hết mọi người thực hiện. Ngay cả Bootstrap được rút gọn chính thức từ Twitter chỉ chứa một thông báo bản quyền nhỏ, do đó bạn sẽ vi phạm giấy phép MIT nếu bạn phục vụ nó cho người dùng của mình.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.