Làm thế nào để sử dụng hợp lý áp dụng cho đoạn mã? [đóng cửa]


26

Có kích thước mà bạn có thể sao chép theo sử dụng hợp lý cho mã mà bạn không có giấy phép cho mục đích này không? Ví dụ: nếu tôi sao chép một đoạn mã (bình thường) 3 dòng mã thì sao? Đó có phải là sử dụng hợp lý? Nếu đó là sử dụng hợp lý, độ dài cần thiết trước khi tôi cần giấy phép là bao nhiêu?


11
Luật pháp khác nhau tùy thuộc vào nơi bạn ở, và có những người ở đây từ khắp nơi trên thế giới. Khi đặt câu hỏi pháp lý, xin vui lòng cho chúng tôi biết nơi bạn sống và làm việc. Hơn nữa, đừng tin bất cứ điều gì chúng ta nói. Nếu điều đó quan trọng với bạn theo một cách nào đó (như về mặt tài chính), hãy tham khảo ý kiến ​​một luật sư địa phương với kinh nghiệm phù hợp.
David Thornley

1
Lưu ý: Tôi đã thêm câu trả lời cho câu hỏi này vì tôi không cảm thấy câu trả lời hiện tại là đủ chính xác, mặc dù chủ đề không chính xác theo hướng dẫn hiện tại - Tôi nghĩ rằng có câu trả lời sai hoặc gây hiểu lầm là tình huống tồi tệ hơn so với việc đăng bài mới câu trả lời.
Jules

Câu trả lời:


12

Ở Mỹ, học thuyết pháp lý về Sử dụng hợp pháp không áp dụng để nhúng các trích đoạn của các tác phẩm có bản quyền vào mã nguồn. Học thuyết đó được áp dụng như thế nào bởi luật pháp của khu vực tài phán của bạn có thể khác nhau.

Tôi sẽ trích từ một bài viết của Văn phòng Bản quyền Hoa Kỳ về Sử dụng hợp pháp và về bản quyền nói chung:

Mục 107 chứa một danh sách các mục đích khác nhau mà việc sao chép một tác phẩm cụ thể có thể được coi là công bằng, chẳng hạn như phê bình, bình luận, báo cáo tin tức, giảng dạy, học bổng và nghiên cứu [nhấn mạnh của tôi] . Mục 107 cũng đưa ra bốn yếu tố được xem xét để xác định liệu việc sử dụng cụ thể có công bằng hay không:

  1. Mục đích và đặc điểm của việc sử dụng, bao gồm cả việc sử dụng đó có tính chất thương mại hay cho mục đích giáo dục phi lợi nhuận
  2. Bản chất của tác phẩm có bản quyền
  3. Số lượng và phần đáng kể của phần được sử dụng liên quan đến toàn bộ tác phẩm có bản quyền
  4. Hiệu quả của việc sử dụng đối với thị trường tiềm năng hoặc giá trị của tác phẩm có bản quyền.

Sự khác biệt giữa sử dụng hợp pháp và xâm phạm có thể không rõ ràng và không dễ xác định. Không có số lượng từ, dòng hoặc ghi chú cụ thể [nhấn mạnh của tôi] có thể được thực hiện một cách an toàn mà không được phép. Công nhận nguồn tài liệu có bản quyền không thay thế cho việc xin phép.

Nó tóm tắt các giới hạn pháp lý của bản quyền, mà Fair Sử dụng các giới hạn tiếp theo, như vậy:

Bản quyền bảo vệ cách đặc biệt mà một tác giả đã thể hiện chính mình. Nó không mở rộng cho bất kỳ ý tưởng, hệ thống, hoặc thông tin thực tế được truyền đạt trong công việc.

Khóa học an toàn nhất là luôn được sự cho phép của chủ sở hữu bản quyền trước khi sử dụng tài liệu có bản quyền. Văn phòng Bản quyền không thể cho phép điều này.

Giới hạn của những gì bản quyền bảo vệ cho chúng tôi là mặc dù bạn không thể sao chép "đoạn mã" thông qua Sử dụng hợp pháp, bạn có thể viết lại cách các ý tưởng, hệ thống (bao gồm cả thuật toán) hoặc thông tin thực tế được thể hiện trong các đoạn đó.

Nói tóm lại, 3 dòng mã phải đủ nhỏ để bạn viết lại để không vi phạm bản quyền của tác phẩm gốc. Có lẽ mất nhiều thời gian hơn để viết câu hỏi của bạn hơn là viết lại.


14
Tôi không thấy bất cứ điều gì ở đây nói rằng sao chép một đoạn mã có thể được sử dụng hợp lý. Nó giải thích các tiêu chí sẽ được sử dụng để đánh giá xem việc sử dụng của bạn có được sử dụng hợp lý hay không, nếu bạn bị kiện.
KeithB

7
Danh sách dự định là mẫu mực, không đầy đủ. Đó là lý do tại sao nó chứa các từ "chẳng hạn như". Nếu mã phần lớn là chức năng, chỉ một phần nhỏ của tác phẩm gốc được thực hiện và hai tác phẩm không cạnh tranh trên thị trường, thì các tòa án hoàn toàn có thể sẽ sử dụng hợp lý.
David Schwartz

4
Và những bằng cấp nào bạn có để "khai thác theo luật", @Huperniketes? Bạn đã viết điều này như thể bạn đang trích dẫn một cơ quan có thẩm quyền cho thấy rõ ràng việc sao chép mã không được sử dụng hợp pháp, nhưng thực tế bạn chỉ đang thực hiện việc giải thích quy chế của riêng mình mà không cần trích dẫn bất kỳ luật lệ nào.
Mark Amery

6
Điều đó thực sự không liên quan đến quan điểm của tôi. Vấn đề là một danh sách được đặt ra với "chẳng hạn" không đầy đủ trong bất kỳ phiên bản tiếng Anh nào, thậm chí không phải là tiếng Anh kỳ lạ từ Sao Hỏa mà các luật sư nói hàng ngày. Danh sách bạn in nghiêng là danh sách các ví dụ, không có gì hơn. Nó không đóng góp gì cho ý nghĩa thực sự của luật pháp, ngoài việc đóng vai trò là một gợi ý cho các thẩm phán và luật sư về ý định chung của các nhà lập pháp. Sử dụng hợp lý là một lĩnh vực pháp luật vô cùng xám xịt và việc trình bày bất kỳ phần nào của nó theo các thuật ngữ đen trắng như vậy khiến độc giả của bạn trở thành một kẻ bất đồng lớn.
Kevin

6
@Huperniketes, bạn khẳng định tôi đang đưa ra những khẳng định ngu ngốc mà không biết tài liệu khi tôi chưa khẳng định về luật pháp. Bạn là người đưa ra yêu cầu pháp lý - rằng, trái với cách đọc tiếng Anh đơn giản, đoạn văn in nghiêng của bạn cho thấy rằng sao chép đoạn mã vào phần mềm không bao giờ có thể được sử dụng hợp lý. Tôi nghi ngờ về tuyên bố đó, nhưng chắc chắn, tôi không biết bất kỳ luật án lệ nào để hỗ trợ hoặc từ chối nó. Đó là lý do tại sao tôi không đưa ra tuyên bố thực tế. Gánh nặng của bằng chứng là ở bạn nếu bạn muốn được tin tưởng, nhưng bạn đã chọn cách chế nhạo và lăng mạ những người trung lập yêu cầu bạn đưa ra bằng chứng.
Đánh dấu Amery

21

Tôi không phải là một luật sư .

Tuy nhiên, bạn hoàn toàn tự do sử dụng 3 dòng mã sau đây trong bất kỳ điều gì bạn viết:

for (i = 0; i < 5; i++) {
    printf("I am not a lawyer!\n");
}

.... Đó hoàn toàn là mã chức năng (không hoạt động theo nghĩa bạn có thể nghĩ, nhưng hoạt động theo những gì nó làm). Nó không thực sự hoàn thành bất cứ điều gì; nó chỉ đơn giản là thực hiện các cấu trúc của ngôn ngữ. Nó hỗ trợ những thứ thực sự hoạt động, bạn gõ nó thường xuyên đủ để bạn có một macro để sản xuất nó. Nhưng những gì bạn đang nói về không phải là 'sử dụng hợp pháp', đây có phải là bản quyền hoặc có thể cấp phép ngay từ đầu không?

Câu trả lời đúng duy nhất ở đây là hỏi luật sư. Mười dòng mã từ cái gì ? Một thuật toán sắp xếp chuyên môn cao? Một số loại phần sụn? Một trong hàng triệu trình phân tích tệp cấu hình đã trôi nổi kể từ buổi bình minh của usenet? Mã được tạo bởi một chương trình khác tạo các lớp cơ sở dữ liệu dựa trên lược đồ DB của bạn?

Nhưng, hãy chứng minh với tôi rằng bạn đã viết điều đó cho vòng lặp hoặc câu lệnh chuyển đổi và không chỉ sao chép của tôi. Tại thời điểm mà các xác nhận ngừng nghe có vẻ vô lý, có lẽ bạn đang ở thời điểm mà bạn nên nói chuyện với một luật sư hoặc ít nhất là người quản lý kỹ thuật / PM / v.v.

Tôi tham gia vào một số dự án nguồn mở / miễn phí, một số trong số chúng yêu cầu chuyển nhượng bản quyền cho bất kỳ thứ gì không 'tầm thường'. Tất cả chúng có yêu cầu này xác định 'tầm thường' là mười dòng mã được thêm hoặc sửa đổi. Nhưng đó chỉ là một thử nghiệm giấy quỳ tùy ý để thiết lập một số loại tiêu chuẩn; một dòng so sánh byte uốn cong có nhiều khả năng phải chịu bản quyền hơn so với chuyển đổi 10 dòng.

Thư viện đoạn trích của tôi bao gồm hàng trăm chức năng, tất cả chúng đều có thông tin của tác giả ban đầu trong các nhận xét kiểu doxygen, cũng như thông tin giấy phép (nếu có, hầu hết chỉ là miền công cộng).

Trừ khi rõ ràng tầm thường (như trong ví dụ hài hước của tôi), tôi sẽ không sử dụng lại mã trừ khi tôi biết rằng tôi có quyền làm như vậy. Tôi cũng, luôn luôn, theo các quy tắc của bất kỳ giấy phép áp dụng. Và để giúp bản thân tương lai của tôi (hoặc những người duy trì trong tương lai), tôi thích để lại một liên kết đến nơi tôi tìm thấy nội dung trong một nhận xét, ngay cả khi đó là tên của một quả bóng nhựa tôi bật trong một chiếc USB nếu tôi rời công ty.


2
Tôi rất nghi ngờ nhiều đoạn trích trong phạm vi công cộng.
Martijn

2
Tôi đến bữa tiệc muộn, nhưng điều quan trọng cần lưu ý là ngay cả khi Tim Post giữ lại tất cả các quyền đối với mã ở trên, anh ấy không thể giữ bản quyền ý tưởng . Nếu bạn học được từ đoạn trích đó rằng bạn có thể in một chuỗi năm lần bằng cách sử dụng một vòng lặp for, và sau đó bạn tự viết vòng lặp (tương tự đáng chú ý) cho vòng lặp bằng cách sử dụng các ý tưởng đó, thì bạn sẽ ổn thôi; Tim không muốn gì. Tùy thuộc vào thời lượng của nó và phiên bản của bạn tương tự như thế nào, bạn có thể có một gánh nặng chứng minh rằng bạn đã thực sự thực hiện lại nó, nhưng nếu bạn có thể làm điều đó, bạn sẽ được đảm bảo rõ ràng.
GrandOpener

Trong khi bản quyền không bảo vệ ý tưởng, bằng sáng chế thì có. Bản quyền là một thuật ngữ pháp lý, có một định nghĩa pháp lý cụ thể. Ý tưởng không thể có bản quyền , nhưng cách chúng được thể hiện có thể và là; và theo luật IP hiện hành, tác phẩm của người sáng tạo sẽ tự động có bản quyền và được bảo vệ. Một ý tưởng có thể được cấp bằng sáng chế nếu nó đáp ứng các tiêu chuẩn tương ứng.
Huperniketes

@Huperniketes - "cách [ý tưởng] được thể hiện có thể [là bản quyền] và theo luật IP hiện hành, tác phẩm của người sáng tạo được tự động có bản quyền và được bảo vệ" - miễn là sự thể hiện của những ý tưởng đó đạt đến mức độ độc đáo và tính sáng tạo được coi là ngưỡng tối thiểu của sự sáng tạo để đảm bảo bảo vệ và số lượng sao chép không được coi là tầm thường. Nếu biểu thức không đủ đặc biệt hoặc số lượng sao chép được coi là tầm thường, thì điều này được gọi là sao chép tối thiểu và không thuộc bản quyền. Điều này đã được tìm thấy tại các tòa án để mở rộng đến ...
Jules

... Các chương trình máy tính trong tình huống chúng là các chương trình tối thiểu rõ ràng thực hiện một hoạt động cụ thể (và trong đó chính hoạt động đó không đổi mới). Ví dụ, một số trường hợp này được thảo luận ở đây . Trong bối cảnh của câu hỏi, 3 dòng được tham chiếu gần như chắc chắn thuộc loại đó: hoàn toàn có chức năng thay vì sáng tạo và gần như chắc chắn thực hiện một thao tác chung được tìm thấy trong nhiều phần mềm. Trong trường hợp này, họ có thể không được bảo vệ.
Jules

1

Bản quyền áp dụng cho các tác phẩm sáng tạo , bao gồm cả cách thể hiện ý tưởng (đó là cách mã nguồn được xử lý một cách hợp pháp), miễn là sự thể hiện của những ý tưởng đó đạt đến mức độ độc đáo và sáng tạo vượt quá mức được coi là ngưỡng sáng tạo tối thiểu để đảm bảo bảo vệ và số lượng sao chép không được coi là tầm thường.

Nếu biểu thức không đủ đặc sắc, điều này được gọi là không đạt đến ngưỡng của bản quyền ; nếu số lượng sao chép được coi là không đáng kể, thì đây được gọi là sao chép tối thiểu và không thuộc bản quyền. Điều này đã được các tòa án tìm thấy để mở rộng cho các chương trình máy tính trong tình huống chúng là các chương trình tối thiểu rõ ràng thực hiện một hoạt động cụ thể (và trong đó bản thân hoạt động không đổi mới). Ví dụ, một số trường hợp này được thảo luận ở đâyở đây .

Trong bối cảnh của câu hỏi, 3 dòng được tham chiếu gần như chắc chắn thuộc loại đó: hoàn toàn có chức năng chứ không phải sáng tạo và gần như chắc chắn thực hiện một thao tác chung được tìm thấy trong nhiều phần mềm. Trong trường hợp này, họ có thể không được bảo vệ.

Về mặt kỹ thuật, đây không thực sự là "sử dụng hợp pháp", đó là một sự miễn trừ theo luật định cụ thể đối với các hạn chế mà chủ bản quyền có quyền thực thi, nhưng thay vào đó dựa trên các tiền lệ trường hợp luật phổ biến đã tích lũy theo thời gian, nhưng thuật ngữ "sử dụng hợp pháp" thường được sử dụng một cách lỏng lẻo theo cách bao gồm cả hai ý nghĩa và trong thực tế có sự chồng chéo đáng kể giữa chúng.


1

"Học thuyết sử dụng hợp pháp" của Hoa Kỳ là một biện pháp bảo vệ có thể khẳng định chống lại yêu cầu vi phạm bản quyền. "Bảo vệ khẳng định" có nghĩa là bạn thừa nhận sao chép mà không có giấy phép và do đó vi phạm bản quyền của ai đó, nhưng sau đó bạn cho rằng vì một số lý do, bạn có quyền làm điều này mà không có hậu quả tiêu cực. Thành thật mà nói, đó dường như là một chiến lược nguy hiểm. Bạn đề xuất viết mã vi phạm bản quyền của ai đó hoặc hơn một người và dựa vào sự bảo vệ sử dụng hợp lý. Tôi có thể dễ dàng tưởng tượng rằng 3 dòng mã có thể là "sử dụng hợp lý" nhưng 3 dòng ở đây, 3 dòng ở đó và 3 dòng ở nơi khác thì không.

Có một biện pháp bảo vệ tốt hơn chống lại vi phạm bản quyền: Không vi phạm ngay từ đầu. Thay vì sao chép một đoạn mã, bạn đọc nó, bạn kiểm tra nó chặt chẽ, bạn tìm hiểu cách thức hoạt động của nó, bạn hiểu nó và khi bạn hoàn toàn hiểu nó, bạn không sao chép nó mà viết ba dòng mã của riêng bạn. Điều này có nhiều lợi thế:

  1. Bạn không vi phạm bản quyền.
  2. Bạn đã học được điều gì đó và trở thành một nhà phát triển tốt hơn.
  3. Tự viết nó có nghĩa là nó được viết theo cùng một kiểu với mã khác của bạn, giúp bảo trì dễ dàng hơn.
  4. Trong khi dành thời gian để hiểu đoạn mã, bạn tìm hiểu về những bất cập, hạn chế của nó, lỗi của nó và tránh chúng trong mã của riêng bạn, điều đó có nghĩa là mã của bạn tốt hơn nếu bạn đã sao chép đoạn mã.
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.