it-swarm-vi.com

Thông báo / từ chối bản quyền trong các tệp nguồn

Đó là một thông lệ phổ biến để đặt các thông báo bản quyền, từ chối trách nhiệm pháp lý khác nhau và đôi khi thậm chí là thỏa thuận cấp phép đầy đủ trong mỗi tệp nguồn của một dự án nguồn mở. Điều này có thực sự cần thiết cho một (1) dự án nguồn mở và (2) dự án nguồn đóng không? Bạn đang cố gắng đạt được hoặc ngăn chặn điều gì bằng cách đưa các thông báo này vào các tệp nguồn?

Tôi hiểu đó là một câu hỏi pháp lý và tôi nghi ngờ chúng ta có thể nhận được câu trả lời đầy đủ có thẩm quyền ở đây tại các lập trình viên. Nó (nó dành cho lập trình viên, phải không?) Điều thú vị khi nghe là khi bạn đặt nội dung hợp pháp vào các tệp nguồn của mình , có phải vì "mọi người làm điều đó" hay bạn đã nhận được lời khuyên pháp lý? Lý do là gì?

62
mojuba

Điều này có thực sự cần thiết không

Không. Nó không bắt buộc về mặt pháp lý. (Tôi không phải là luật sư, nhưng tôi đã thấy điều này được nêu bởi một người.)


[.__.] Nếu bạn có một dự án trong đó các tệp riêng lẻ có thể được đưa ra khỏi ngữ cảnh, điều đó có thể hợp lý - nhưng chỉ yêu cầ một vài dòng, để nói điều gì đó như:

Tệp này là một phần của <dự án> được phát hành theo <giấy phép>.
[.__.] Xem tệp <tên tệp> hoặc truy cập <url> để biết chi tiết giấy phép đầy đủ.


[.__.] Đối với mọi thứ khác, bạn chỉ cần đặt tệp văn bản LICENSE trong thư mục gốc của dự án và mọi chi tiết/tín dụng/etc có liên quan trong tệp README - nó vẫn có bản quyền (tự động) , vì vậy đây chỉ là một câu hỏi về việc có giấy phép rõ ràng trong tệp readme.

42
Peter Boughton

Bạn có thể, đơn giản có thể đặt thông báo bản quyền của bạn đề cập đến tệp LICENSE, tuy nhiên không có gì đảm bảo rằng một khi được phát hành, mã của bạn sẽ vẫn là nguyên tử. Trên thực tế, đó là khá có khả năng các bit và phần của nó sẽ được phối lại trong ít nhất một số dự án khác.

Đây là lý do tại sao điều quan trọng là ít nhất phải có các mục sau trong mọi tệp nguồn:

/* Copyright (C) 1883 Thomas Edison - All Rights Reserved
 * You may use, distribute and modify this code under the
 * terms of the XYZ license, which unfortunately won't be
 * written for another century.
 *
 * You should have received a copy of the XYZ license with
 * this file. If not, please write to: , or visit :
 */

Bạn hoàn thành hai điều bằng cách làm điều này:

  • Bản quyền của bạn được khẳng định cho dù mã của bạn có phân rã và phân tán như thế nào trong tương lai.
  • Bạn làm cho các điều khoản sử dụng, phân phối và sửa đổi nó khá rõ ràng, ngay cả khi ai đó tình cờ chỉ nhận được một phần nhỏ của thư viện mà bạn đã viết.

Nhiều người cũng bao gồm địa chỉ e-mail của họ theo bản quyền, rất hữu ích để nhận các bản vá trong tương lai. Tôi đã nhận được một bản vá vào tháng trước cho mã mà tôi đã viết năm năm trước và đã quên từ lâu. Tất nhiên, điều đó có nghĩa là duy trì một địa chỉ email và đưa ra một chút SPAM.

Nếu bạn thực sự cần thi hành giấy phép của bạn, thì đó là quan trọng rằng bên kia không thể nói rằng các điều khoản đó là mơ hồ hoặc bị thiếu, tất cả đều bị gạt sang một bên.

Ngoài ra, thật thú vị khi xem cách các bit và đoạn mã của bạn tìm đường vào các bit và đoạn mã khác theo thời gian. Hầu hết mọi người chơi công bằng và tôn trọng các điều khoản bản quyền và giấy phép.

24
Tim Post

Chỉ muốn lưu ý Nguồn mở! = Không có bản quyền.

Nguồn mở dựa vào ai đó yêu cầu bản quyền sau đó chấp nhận một tài liệu pháp lý cụ thể (Giống như GPL) để trao cho người khác quyền đối với mã đó.

Vì vậy, bất cứ điều gì bạn quyết định là phù hợp với mã nguồn đóng cũng phù hợp với mã nguồn mở.

5
James

Đối với bất kỳ dự án nguồn mở nào

Bạn đang xác định các điều kiện theo đó mã sẽ được sử dụng và phân phối lại (hoặc không, tùy thuộc vào các điều kiện đó).

Ít nhất, một giấy phép có thể trả lời các câu hỏi như:

  • Chiếm đoạt : Ai đó có thể lấy mã và phát triển nó thành một dự án khác không? Một ví dụ điển hình cho hiện tượng như vậy là Google Chrome, dựa trên dự án Chromium nguồn mở. [.__.]
    • Họ có cần cung cấp cho bạn tín dụng, tìm kiếm sự cho phép, vv ...
  • Sử dụng thương mại : Mã của bạn có thể được sử dụng thương mại, chẳng hạn như trong Photoshop dưới dạng DLL của bên thứ ba không? Nếu vậy làm điều kiện khác nhau áp dụng?
  • Phân phối lại : Có bất kỳ việc sử dụng mã nào của bạn phải ở trong phần mềm có giấy phép tương tự/giống hệt nhau không? Các giấy phép như GPL yêu cầu điều này được gọi là giấy phép virus (và tôi không biết đó có phải là một thuật ngữ phủ định hay chỉ là một tuyên bố thực tế) .

V.v. Đó không có nghĩa là một danh sách toàn diện, nó chỉ cho bạn ý tưởng về những câu hỏi mà giấy phép sẽ nêu rõ.

2
doppelgreener

Một lý do khác để đặt bản quyền vào mã của bạn là nó cho người khác biết ai đã viết nó. Tôi muốn có thể xem mã đến từ đâu và nó đã tồn tại bao lâu. Thật thú vị và hữu ích khi xem cách mã đã được sử dụng trong các dự án khác. Vì vậy, mặc dù về mặt pháp lý bạn có thể không cần đặt bản quyền của mình vào một cái gì đó, vui lòng thêm nó vì lý do thông tin. --a ngực

0
A Thornton