2009-03-19 24 views
5

Tôi hiểu tốt nhất là triển khai các thư viện khác nếu có thể (thay vì sao chép mã), nhưng trong một số trường hợp, việc sao chép mã sẽ thuận tiện hơn.Các giấy phép như sao chép mã GPL như thế nào?

Nghi thức chính xác để sao chép mã là gì? Tín dụng ở đầu tệp của bạn, gần mã được sử dụng? Điều gì sẽ xảy ra nếu mã được xác thực lại ngoài sự công nhận?

+4

Tôi đang bỏ phiếu để đóng câu hỏi này là không có chủ đề vì đó là về vấn đề cấp phép/bản quyền/pháp lý, chứ không phải lập trình hoặc phát triển phần mềm. Xem [trợ giúp/chủ đề] để biết thêm. – Pang

Trả lời

9

Các GNU GPL là rất cụ thể về cách bạn có thể sử dụng mã bạn thu được thông qua giấy phép đó. (Cẩn thận: Nếu giấy phép của bạn để mã trong câu hỏi không phải là GPL, nhưng ví dụ LGPL, quy tắc khác nhau được áp dụng.) Về cơ bản GPL nắm này:

  • Nếu bạn giữ mã cho bản thân và không phân phối lại nó cho bất kỳ ai khác, bạn có thể làm bất cứ điều gì bạn muốn với nó mà không có bất kỳ nghĩa vụ nào.
  • Nếu bạn định chia sẻ mã của mình với người khác, bạn chỉ được phép làm như vậy theo giấy phép GPL. Điều này bao gồm việc bạn cung cấp mã nguồn hoàn chỉnh với bản phân phối của bạn (bao gồm cả mã của riêng bạn!), Bạn tuyên bố rõ ràng với bên kia rằng mã này được cấp phép cho họ theo GPL (bao gồm cả mã của riêng bạn!) Và cung cấp thông tin đầy đủ về cách bạn thay đổi mã ban đầu.

Ngay cả khi mã được xác thực lại ngoài sự công nhận: Nếu bạn muốn phân phối nó, bạn phải tuân thủ các điều khoản này và làm cho nó dễ hiểu đối với bên kia mà bạn đã thay đổi (ngoài công nhận ;-)). Hãy chắc chắn để không quên: Đây không phải là nghi thức, đây là luật bản quyền!

Giấy phép khác, chẳng hạn như giấy phép BSD, có các điều khoản khác nhau. Ví dụ: nếu bạn sử dụng mã theo giấy phép BSD, bạn chỉ phải giữ bản tuyên bố bản quyền, nhưng vui lòng phân phối lại mã theo bất kỳ giấy phép nào bạn muốn chọn, với mã nguồn hay không.

+2

Nếu mã được tái cấu trúc "ngoài công nhận" thì tác phẩm của bạn không còn là công việc có nguồn gốc từ mã GPL nữa. Đó là khái niệm giống hệt nhau để học một thuật toán từ mã GPL và viết thực hiện của riêng bạn. Bạn không phân phối lại ** mã GPL ** có bản quyền, có thể bạn đã thoát khỏi hook. – JasonSmith

+0

Nếu nó không có bản quyền, nó sẽ là miền công cộng, GPL sẽ không có ý nghĩa ở đây. Tôi với bạn rằng nó có thể trở thành một dòng mỏng giữa công việc có nguồn gốc và việc thực hiện lại sạch sẽ. Tôi không biết chính xác nơi nào để vẽ nó và nơi chủ sở hữu bản quyền ban đầu thực sự sẽ mất bản quyền của mình sau đó. – ypnos

0

Tùy thuộc vào loại giấy phép.

Nói chung, giấy phép muốn bảo vệ thực tế rằng chúng không phải là công việc của bạn, mà là miễn phí cho tất cả mọi người. Điều này nói chung entrails bao gồm giấy phép một nơi nào đó trong dự án của bạn.

Bạn có thể tìm thấy một danh sách các nhiều giấy phép mã nguồn mở và các điều khoản của họ tại địa chỉ: http://www.opensource.org/licenses/alphabetical

0

Sao chép mã vào thứ bạn đang làm là tạo ra một tác phẩm phái sinh hợp pháp, vì vậy bạn phải tuân thủ các yêu cầu giấy phép. Tất cả các giấy phép phần mềm nguồn mở/miễn phí tôi đã xem xét nhu cầu phân bổ được giữ lại, vì vậy nó không chỉ là một câu hỏi về nghi thức.

Nếu bạn có danh sách tín dụng ở đâu đó, bạn nên đảm bảo người cấp phép nằm trong danh sách đó. Nếu nó nằm trong phần riêng biệt của riêng nó (hoặc là một tệp riêng của nó hoặc một phần của tệp lớn hơn), thì tốt hơn là gắn cờ và (dĩ nhiên) là thuộc tính của nó.

Nếu nó được tái cấu trúc vượt quá sự công nhận, nó vẫn là một tác phẩm phái sinh, và bạn vẫn đang sử dụng mã của người khác, vì vậy về mặt pháp lý và đạo đức, bạn phải cung cấp tín dụng.

Bạn phải tuân theo tất cả các hạn chế khác. Bạn đã đề cập đến GPL; trong trường hợp này, toàn bộ sản phẩm phải được phân phối lại theo GPL hoặc không phân phối lại. Việc mã được tái cấu trúc không vượt quá sự công nhận và phân tách giữa các tệp không quan trọng, miễn là bạn trực tiếp sử dụng mã trong mã của mình. Tất nhiên, các phần khác nhau của mã có thể dưới các giấy phép bổ sung, miễn là chúng tương thích với GPL, nhưng bạn phải tuân thủ các yêu cầu của GPL để phân phối lại.

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