2012-07-26 20 views
14

Tôi làm cách nào để viết một thông báo bản quyền GPL khi đóng góp tệp mới thay vì sửa đổi tệp? Trong dự án này, tất cả các file bắt đầu với:Thông báo bản quyền GPL khi đóng góp các tệp mới

/** 
* Some open source application 
* Component Foo 
* (C) 20?? by Scruffy H. Hacker ([email protected]) 
* Released under the GPL 
* 
* Awesome description here. 
*/ 

nên tôi chỉ đưa tên tôi trong thông báo bản quyền, như vậy:

/** 
* Some open source application 
* Component Bar 
* (C) 20?? by Tobier Hackerson <[email protected]) 
* Released under the GPL 
* 
* Awesome description here. 
*/ 

Hoặc tôi nên bao gồm tác giả ban đầu của dự án:

/** 
* Some open source application 
* Component Bar 
* (C) 20?? by Scruffy H. Hacker ([email protected]) 
* (C) 20?? by Tobier Hackerson ([email protected]) 
* Released under the GPL 
* 
* Awesome description here. 
*/ 
+3

Tôi bỏ phiếu để đóng câu hỏi này như off-topic vì nó là về vấn đề cấp phép và quy phạm pháp luật, không phải lập trình hay phát triển phần mềm . [Xem tại đây] (http://meta.stackoverflow.com/a/274964/1402846) để biết chi tiết và [help/on-topic] để biết thêm. – Pang

+0

Câu hỏi tương tự trên programmers.stackexchange.com: [Làm cách nào để quản lý thông báo bản quyền trong dự án nguồn mở?] (Http://programmers.stackexchange.com/questions/157968/how-to-manage-a-copyright-notice -in-an-open-source-project) Lưu ý: câu hỏi đó đã được đăng chỉ hai ngày trước ngày hiện tại! – olibre

+2

Tôi vừa bỏ phiếu để mở lại câu hỏi này để chuyển sang http://opensource.stackexchange.com/ – olibre

Trả lời

4

IANAL

Nếu tác giả ban đầu đóng góp bất kỳ mã trong tập tin này (bạn đã sao chép một của các tệp của anh ấy và sửa đổi nó, chẳng hạn), sau đó cả hai đều sẽ được ghi có. Nếu bạn đã viết tất cả các mã, tên của bạn là tất cả những gì cần thiết.

Bạn nên phù hợp với các dự án mẫu, nhưng thông thường bạn muốn bao gồm một cái gì đó như:

* Released under the GNU General Public License 

'GPL' là không thực sự chính xác như nó phải được. Bạn cũng có thể cần chỉ định phiên bản. Xem bản quyền (Version 2 hoặc Version 3) để biết chi tiết. Như nó đứng, nó về mặt lý thuyết có thể được phát hành theo GPL Phiên bản 1, mặc dù đó không phải là những gì bất cứ ai có trong tâm trí (nhưng luật sư sẽ không tìm thấy bất kỳ vấn đề với giả định nó).

Các GNU GPL Version 2 gợi ý (ở phần cuối, dưới tựa đề 'Làm thế nào để Áp dụng Điều khoản đến Chương trình mới của bạn'):

one line to give the program's name and an idea of what it does. 
Copyright (C) yyyy name of author 

This program is free software; you can redistribute it and/or 
modify it under the terms of the GNU General Public License 
as published by the Free Software Foundation; either version 2 
of the License, or (at your option) any later version. 

(và thêm hai đoạn văn).

20

GPL không phải là giấy phép copyleft cho mỗi tệp, nhưng cho toàn bộ gói.

Vì vậy, tệp mới cũng phải được cấp phép theo GPL. Vì tiêu đề giấy phép ban đầu không chỉ định phiên bản GPL, bạn có thể chọn bất kỳ phiên bản GPL nào bạn thích. Nếu bạn muốn tìm hiểu thêm về lý do tại sao có rất nhiều phiên bản của GPL và làm thế nào nó hoạt động với các phiên bản giấy phép nâng cấp xin vui lòng xem:

Vì vậy, sau khi làm rõ các phiên bản giấy phép bạn hỏi về bản quyền tuyên bố và nơi để đặt tên của bạn. Tôi không phải luật sư của bạn và nói ở đây với tư cách là nhà phát triển phần mềm và không dễ trả lời đầy đủ câu hỏi đó cho mọi góc độ, vì vậy tôi cố gắng phác thảo hiểu biết của mình về những phần tôi thấy đóng vai trò.

Mỗi bản quyền bạn đang tập hợp nhiều tác phẩm của nhiều tác giả. Bạn đang tạo một tác phẩm kết hợp. Đối với mỗi tác phẩm theo nghĩa quyền tác giả, bạn có tác giả và người giữ bản quyền.

Đối với tác phẩm kết hợp, bạn có bản quyền này sau đó được kết hợp.

Vì vậy, cho các tập tin duy nhất, nếu bạn đã viết nó bạn rất riêng, giả sử nó là năm 2012, như bạn là tác giả, bạn có thể viết tiêu đề bản quyền của riêng bạn:

/** 
* My Extension to some open source application 
* 
* Copyright 2012 by Tobias Eriksson <[email protected]> 
*/ 

Đó sẽ là hoàn toàn okay cho tập tin đó nếu nó nằm trên ổ đĩa cứng của bạn. Sau đó, bạn muốn phân phối nó, do đó, nó là khôn ngoan để làm cho giấy phép rõ ràng. Giả sử bạn đã chọn GPL-3.0 +. Theo các hướng dẫn

và một số hướng dẫn gắn thẻ bình luận/docblock:

bạn có thể muốn mở rộng này với tấm giấy phép như trong ví dụ sau:

/** 
* My Extension to some open source application 
* 
* Copyright 2012 by Tobias Eriksson <[email protected]> 
* 
* This file is part of some open source application. 
* 
* Some open source application is free software: you can redistribute 
* it and/or modify it under the terms of the GNU General Public 
* License as published by the Free Software Foundation, either 
* version 3 of the License, or (at your option) any later version. 
* 
* Some open source application is distributed in the hope that it will 
* be useful, but WITHOUT ANY WARRANTY; without even the implied warranty 
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
* GNU General Public License for more details. 
* 
* You should have received a copy of the GNU General Public License 
* along with Foobar. If not, see <http://www.gnu.org/licenses/>. 
* 
* @license GPL-3.0+ <http://spdx.org/licenses/GPL-3.0+> 
*/ 

Tấm giấy phép này đảm bảo rằng những người nhận tệp có thể xem theo giấy phép nào tệp này là, họ có quyền gì đối với mã đó. Ngoài ra, họ có thể xem tác giả gốc với bản tuyên bố bản quyền của bạn. Phần quan trọng nhất trong mắt tôi là làm rõ: a) ai là tác giả/chủ bản quyền và b) giấy phép là gì. Vì vậy, thông tin này không bị mất, có thể nhìn thấy. Nếu bạn muốn thực hiện theo các khuyến nghị tùy thuộc vào bạn. Để không cắt quyền của tác giả, tôi khuyên bạn nên để ít nhất là để lại tín dụng cho tên của bạn ngay cả khi luật pháp không bắt buộc (nhưng bạn sẽ gặp khó khăn trong việc ghi lại quyền tác giả của mình sau này nếu bạn không làm điều đó tên trong đó).

Vì vậy, bây giờ bạn có thể đề xuất tệp này được thêm vào thượng nguồn. Đây là lần đầu tiên bạn sẽ nhận được liên lạc với các tác giả ban đầu của phần mềm cho đến nay. Họ có thể có cách làm riêng của họ, có thể muốn thích các tiêu đề của chính họ ... pp .. Vì vậy, bạn rời khỏi nền tảng pháp lý một chút và nhập một lĩnh vực xã hội, cộng tác, làm việc cùng nhau.

Bạn có thể hỏi trước cách này được quản lý bên trong một dự án, nói chung là có nhiều cách để làm điều gì đó, hai người thường gặp là:

  • Quản lý cấp phép và bản quyền cho mỗi tập tin
  • Quản lý cấp phép và bản quyền tập trung.

Phương pháp mỗi tệp rất tiện lợi khi các dự án bắt đầu. Cách tiếp cận trung tâm rất thuận tiện khi các dự án phát triển lớn hơn.

Phương pháp mỗi tệp được nêu một chút ở trên và yêu cầu theo dõi các thay đổi về cấp phép và thông tin copyirght/tác giả cho mỗi tệp. Trong một phương pháp tiếp cận trung tâm, một thủ tục được chấp nhận là có một cái gọi là AUTHORS (và có thể là một đóng góp) tập tin liệt kê các tác giả của phần mềm và có một tập tin COPYING có chứa giấy phép (nếu nó là một duy nhất cho toàn bộ gói, nếu không gói chính cộng với giấy phép bổ sung).

Điều cũng có thể xảy ra là bạn có cả hai khái niệm được trộn lẫn, ví dụ: toàn bộ gói là theo GPL nhưng bên trong codebase cũng có mã theo loại giấy phép MIT hoặc BSD.Sau đó, bạn nên giữ thông tin giấy phép cho những phần đó để cho phép trả lại các thay đổi ngược dòng cho các phần này. Ngoài ra, các tác giả đóng góp cho những phần này nên được nhận thức rằng họ cần phải cấp phép cho những thay đổi của họ theo MIT/BSD cũng như bảo vệ việc cấp phép cho phần đó. Nếu bạn muốn tìm hiểu thêm về điều đó và một số chi tiết về cách và nơi để ghi lại cấp phép, sau đây là một đọc tốt:

Cách tiếp cận trung ương sau đó cho phép để giảm tiêu đề bản quyền và biển số ở đầu mỗi tệp:

/** 
* Some open source application 
* 
* Copyright 2010, 2012 by it's authors. 
* Some rights reserved. See COPYING, AUTHORS. 
*/ 

Nếu bạn đang tìm kiếm thông tin và tác giả không thể nhìn thấy tên của họ trong mỗi tệp. Bạn không thể làm điều đó với siêu sao, đúng. Vì vậy, có thể có một thứ hạng xã hội của những người đến trước và như vậy. Tuy nhiên đừng để bản thân bị lừa: Nếu bạn là tác giả, bạn có quyền nhìn thấy tên của bạn. Nếu ai đó phủ nhận bạn rằng bạn đang bị lừa. Điều này cũng nói rất nhiều về sự tôn trọng trong một dự án phần mềm (miễn phí) như bạn có thể tưởng tượng.

Về mặt kỹ thuật, bạn hoàn toàn có thể thêm dòng bản quyền của mình lên đầu trang, vì đó là bạn đã thực hiện các thay đổi mới nhất. Giấy phép chỉ cho biết rằng bạn cần phải giữ bản quyền gốc, không phải là bạn cần phải đặt nó lên trên cùng:

/** 
* Some open source application 
* 
* Copyright 2012 by Tobias Eriksson <[email protected]> 
* Copyright 2010, 2011 by Scruffy H. Hacker <[email protected]> 
* 
* Licensed under GNU General Public License 3.0 or later. 
* Some rights reserved. See COPYING, AUTHORS. 
* 
* @license GPL-3.0+ <http://spdx.org/licenses/GPL-3.0+> 
*/ 

Có thể là một ví dụ phổ biến/thực tế hơn về tài liệu tiêu đề bản quyền/bản quyền. Và hãy nhớ luôn đối xử với các tác giả khác với cùng mức độ tôn trọng như bạn đối xử với chính bạn. Điều đó thường hoạt động tốt nhất trong các dự án hợp tác, bên pháp lý sang một bên. Bạn chỉ cần các thông tin cá nhân cho thời gian khi mọi thứ không còn là nội tuyến nữa.

Xem cũng như:

+0

Tôi có thể thêm "Bản quyền tệp này (C) Myname" vào một Giấy phép GPL? Xem: http://programmers.stackexchange.com/questions/317749/adding-copyright-information-in-a-new-file-added-to-a-gpl-project –

+0

Tôi không phải là luật sư của bạn, chỉ là phần mềm nhà phát triển: Not * in * văn bản giấy phép GPL, nhưng đối với phần mềm. Tuy nhiên, nếu phần mềm được phát hành theo giấy phép GPL, bạn phải làm rõ rằng * được * phát hành theo GPL (nếu bạn là chủ bản quyền bạn quyết định). – hakre

+0

Đúng - đó là những gì tôi muốn nói, xin lỗi nếu không rõ ràng (không phải trong văn bản GPL nhưng trong các tệp, đó là một dự án bản quyền cho mỗi tệp, xem câu hỏi được liên kết). Cảm ơn :) –

Các vấn đề liên quan