Làm cách nào tôi có thể tạo giấy phép phần mềm của riêng mình? [đóng cửa]


17

Tôi đã thấy nhiều giấy phép cho bất kỳ loại phần mềm nào như GNU GPL, Giấy phép BSD, Giấy phép MIT và LGPL. Quá trình tạo giấy phép phần mềm mới, chẳng hạn như "giấy phép chung của John Doe" là gì?


8
@Nick. Bạn có thể viết của riêng bạn. Nhưng xác suất mà bạn sẽ nhận được những gì bạn thực sự muốn được chỉ định trong giấy phép là mỏng đến không tồn tại (trừ khi bạn là một luật sư). Ngôn ngữ pháp lý là không tầm thường và phức tạp và luật sư cũng có kinh nghiệm trong các lỗ hổng (điều kiện cụ thể xin lỗi) đã bị giữ / thất bại trước tòa. Tất cả các giấy phép bạn đề cập đã được chế tạo cẩn thận bởi các nhóm luật sư giàu kinh nghiệm (ngay cả khi các phiên bản đầu tiên không có).
Martin York

4
Chỉ khuyên tôi có thể đưa ra là không nhận lời khuyên pháp lý từ các lập trình viên .....
mattnz

2
Đâ là một câu hỏi tuyệt vời. Xấu hổ vì nó bị coi là lạc đề.
Jeroen

1
@MartinYork Ngôn ngữ pháp lý không phải là một loại ngôn ngữ đặc biệt. Trong tiếng Anh, họ sử dụng tiếng Anh cho các hợp đồng. Có những từ không được sử dụng phổ biến khi bạn đến starbucks xuất hiện trong hợp đồng không? Chắc chắn, nhưng đó là sự thật cho trạm xăng "biệt ngữ". Tuy nhiên, bạn có thể đến starbucks và yêu cầu họ đổ đầy một bể chứa lớn cầm tay bằng nhiên liệu năng lượng đen đơn giản lên tới 3,5 đô la (giả sử đó là giá cho một tách cà phê lớn), và bạn sẽ hoàn toàn hiểu được, mà không cần sử dụng "biệt ngữ cà phê"
Andrei

1
@Andrei tôi sẽ không đồng ý. Ngôn ngữ pháp lý là một tập hợp con của ngôn ngữ tiếng Anh. Tiếng Anh có thể rất thiếu chính xác. Vì vậy, ngôn ngữ pháp lý trong hợp đồng có xu hướng sử dụng các từ có ý nghĩa rất cụ thể để đảm bảo không có sự mơ hồ. Vì vậy, đó là một ý tưởng tốt để có được một chuyên gia bằng văn bản theo đúng phong cách.
Martin York

Câu trả lời:


29
  1. Mở một trình soạn thảo.
  2. Viết điều khoản của giấy phép.
  3. Lưu tập tin.
  4. Bao gồm trong dự án.

Nói chung, đó là tất cả để có nó. Nghiêm túc.

Đừng tin tôi? Hãy xem giấy phép Don Be A Dick của Phil Sturgeon (cũng như WTFPL đã truyền cảm hứng cho nó).

Điều đó nói rằng, việc trúng hay không giấy phép phần mềm có thể được thi hành một cách hợp pháp hay không , ngay cả khi luật sư đã viết chúng (ít nhất là ở Mỹ và nó phụ thuộc gần như hoàn toàn vào ý kiến ​​của thẩm phán hoặc cơ quan có thẩm quyền phán quyết). Tuy nhiên, nói chung, với tư cách là tác giả phần mềm, bạn đã được bảo vệ bởi luật bản quyền của quốc gia mình (giả sử bạn đã thực hiện các bước để tác phẩm của mình có bản quyền; ở Hoa Kỳ, điều đó thực sự tạo ra tác phẩm).

Nó tập trung vào những gì bạn muốn thực hiện với giấy phép của mình, trên và ngoài (hoặc thay cho) luật bản quyền. Trong trường hợp các giấy phép như giấy phép DBaD của Phil, phần lớn là vấn đề nguyên tắc danh dự và tôn trọng lẫn nhau.

Nếu bạn muốn nó có thể được thi hành một cách hợp pháp (hoặc ít nhất là có cơ hội làm như vậy), chẳng hạn như phát hành một sản phẩm có nguồn gốc kín, thì rất có thể bạn sẽ muốn nói chuyện với một luật sư. Bằng cách đó, bạn có thể chắc chắn rằng không có bất kỳ sơ hở nào và có thể viết nó theo cách mà một thẩm phán / đảng cầm quyền có nhiều khả năng ra phán quyết có lợi cho bạn trong trường hợp ai đó vi phạm.

EllisLab (công ty đứng sau CodeIgniter) có một lời giải thích tuyệt vời về cấp phép phần mềm (và cả tuần blog về vấn đề này, trên thực tế), cả từ quan điểm pháp lý và từ quan điểm của một nhà phát triển FLOSS và nguyên tắc danh dự mà tôi đã đề cập ở trên.

(Tuyên bố miễn trừ trách nhiệm: Tôi không phải là luật sư, đây không phải là lời khuyên ràng buộc về mặt pháp lý, blah, blah, blah. Tôi chỉ là một nhà phát triển phải đi vòng quanh mỏ khai thác hợp pháp là phát triển và cấp phép phần mềm. , nói chuyện với một người thực sự là một luật sư, lý tưởng với trọng tâm bản quyền, bằng sáng chế và / hoặc giấy phép.)


1
+1 để trả lời câu hỏi thực tế sau đó cung cấp hướng hành động chính xác
David Peterman

1
Tôi thích giấy phép "Đừng là một Dick". Nó thậm chí còn tốt hơn WTFPL.
Robert Harvey

Điều đáng chú ý là không có giấy phép Dickkhông phải là một giấy phép miễn phí / libre / 'nguồn mở'.
Dmitry Alexandrov

16

Trả lời các câu hỏi sau cho người dùng phần mềm của bạn:

  1. Là sản phẩm của bạn nguồn mở, tức là tôi có thể lấy một bản sao của mã nguồn không?

    • Làm thế nào tôi có thể sử dụng mã nguồn của bạn? Tôi có thể tự do sao chép nó vào các ứng dụng của mình không, hoặc tôi có phải liên kết với nhị phân của bạn không? Nếu tôi sử dụng mã của bạn trong ứng dụng của riêng tôi, có giới hạn bao nhiêu mã tôi có thể sử dụng không? Tôi có phải bao gồm giấy phép hoặc tiêu đề phân bổ của bạn ở đầu bất kỳ tệp nguồn nào tôi phân phối lại có chứa mã của bạn hoặc trong hộp Trợ giúp / Giới thiệu về nhị phân của tôi không?
  2. Tôi có thể làm gì với sản phẩm của bạn? Tôi có thể sử dụng nó một máy tính không? Tôi có thể sử dụng nó trên nhiều máy tính không? Tôi có thể phân phối lại hoặc bán lại không?

  3. Nếu tôi sử dụng sản phẩm của bạn như một phần của ứng dụng khác mà tôi viết, tôi có phải là nguồn mở không?

  4. Làm thế nào để bạn bảo hành sản phẩm của bạn? Bạn có chịu trách nhiệm pháp lý nếu tôi có vấn đề?

  5. Điều khoản phân phối lại của bạn là gì? Tôi có thể phân phối lại sản phẩm của bạn như một phần của sản phẩm tôi viết không? Nếu bạn cung cấp nguồn, tôi có thể sửa đổi thư viện của bạn và phân phối lại các sửa đổi không, và nếu vậy, tôi phải đáp ứng những điều kiện nào?

Nghiên cứu các giấy phép khác, và xem họ đã trả lời những câu hỏi này như thế nào.


6

Nó thực sự giống với những gì các nhà phát triển làm:

Bạn cung cấp cho luật sư (hoặc bộ phận pháp lý trong một tập đoàn lớn) một danh sách các yêu cầu về những gì giấy phép cho phép và những gì nó không cho phép (ví dụ: giấy phép chỉ dành cho một người dùng, tạm thời, bạn không thể sử dụng phần mềm cho một số mục đích , v.v.) và họ "dịch" điều này sang luật sư nói, gần giống như chúng tôi dịch các yêu cầu thành mã.

Ví dụ: "giấy phép chỉ dành cho một người dùng" thường được dịch thành một thứ tương tự như sau: "FooCorp Inc. cấp cho bạn một giấy phép duy nhất, không độc quyền, không thể chuyển nhượng để cài đặt và sử dụng FooSoftware cho ...".

Bạn có thể nghĩ rằng điều này không áp dụng cho giấy phép F / OSS, nhưng nó ít nhiều giống nhau, ngoại trừ các yêu cầu khác nhau: bạn có thể tìm phiên bản đơn giản nhất của các yêu cầu này tại http://opensource.org/docs/OSD .

Nhưng phần luật sư là điều cần thiết và không có ý định tự mình viết giấy phép (trừ khi bạn là luật sư có nhiều kinh nghiệm về luật quốc tế và liên quan đến IP). Ai đó sẽ chỉ tìm một kẽ hở thuận tiện, cho phép anh ta sử dụng sản phẩm của bạn theo cách anh ta muốn (Tôi sẽ đi xa để so sánh điều này với khai thác).

Tất nhiên tôi không khẳng định lời giải thích này là hoàn chỉnh hoặc thậm chí là chính xác, nhưng đó là một bản phác thảo sơ bộ của quá trình, theo như các nhà phát triển phần mềm có liên quan (do đó tôi so sánh nó với công việc của một lập trình viên).


Vì vậy, về cơ bản đó là một công việc định hướng luật sư?
Rrjrjtlokrthjji

1
@Nick Chắc chắn, các lập trình viên thường không nên bước đi ở đó.
K.Steff

4

Để trả lời câu hỏi của bạn, bất cứ ai cũng có thể viết giấy phép - và nó hiển thị!

Những người trong chúng ta sử dụng phần mềm để xây dựng mọi thứ và thực sự cố gắng tôn trọng mỗi giấy phép đã sẵn sàng thu hút nhãn cầu của chúng ta bằng một ván bài nóng mỗi khi ai đó nói về việc làm mới. Đã có một số lượng không thể đếm được của giấy phép phần mềm trên thế giới. 99% trong số chúng là một bản sao gần như của các giấy phép hiện có, phổ biến hơn, ngoại trừ không được nghĩ ra.

Một trang web tôi đóng góp để có một giấy phép loại thuộc tính phi thương mại sáng tạo được phát triển tại nhà, ngoại trừ nó không nói gì về các tác phẩm phái sinh. Họ có được phép không? Họ có thể được phân phối theo cùng một giấy phép? Đánh bại tôi!

Nếu những người khác đóng góp cho một dự án và bạn muốn hoặc cần thay đổi giấy phép, bạn cần phải khiến tất cả họ đồng ý thay đổi giấy phép, hoặc bạn ít nhiều bị mắc kẹt với nó mãi mãi. Một số trong số họ có thể trở nên không thể truy cập hoặc thậm chí chết. Tôi không phải là luật sư, nhưng nếu bạn không có thỏa thuận đóng góp đã ký từ mọi người cho phép bạn đưa ra quyết định về giấy phép của mình, tôi nghĩ bạn là SOL.

Thật khó để viết một giấy phép tốt. Ngay cả các giấy phép phần mềm tốt nhất cũng đầy lỗ hổng. Có các phiên bản mới của giấy phép Apache và GPL theo định kỳ. Xin vui lòng, xem nếu bạn có thể tìm thấy một giấy phép đáp ứng 90% nhu cầu của bạn và sử dụng nó. Các GPL Liên kết ngoại lệ hoặc "Classpath ngoại lệ" là một ví dụ tuyệt vời về điều này. Tôi hơi lo lắng về tuyên bố mà những người Hibernate đã có trên trang web của họ trong một vài năm, về cơ bản đã diễn giải sai GPLv2 để làm cho nó nghe giống như nó bao gồm Ngoại lệ Classpath. Có phải đó là ngoại lệ classpath? Chúng tôi sẽ không biết trừ khi có ai đó kiện họ.

Dường như với tôi rằng việc bị kiện là cách đau đớn nhất để gỡ lỗi giấy phép của bạn. Nếu bạn sử dụng một giấy phép mà mọi người đã kiện, đã có một sự đảm bảo chắc chắn rằng nó hoạt động và cũng có ý thức về cách thức hoạt động của nó. Tốt hơn hết, hãy chọn một giấy phép đã ra tòa ở các quốc gia khác nhau. Bạn có nghĩ về việc giấy phép của bạn sẽ được giải thích như thế nào ở những nơi khác trên thế giới không?

Nếu bạn căn cứ giấy phép của bạn ra khỏi một giấy phép hiện có, thì những người quan tâm đến việc hoàn thành các điều khoản trong giấy phép của bạn có thể không phải nghiên cứu trong nhiều năm để tìm ra chính xác ý nghĩa của nó.

Nếu có thể, tôi sẽ khuyến khích bạn dành năng lượng và tài năng của mình để cải thiện một giấy phép hiện có thay vì viết một giấy phép mới.

Xin lỗi để trở thành một niềm vui giết chết. Nếu tôi cay đắng, đó là vì tôi thực sự đọc và cố gắng tôn trọng giấy phép của mọi người trước khi tôi sử dụng tác phẩm của họ.


3

Viết các điều khoản, xuất bản nó với phần mềm của bạn. Đó là nó.

Một câu hỏi, tuy nhiên, là tại sao bạn muốn? Không có khả năng là bất kỳ điều kiện nào bạn muốn thêm đã có trong một giấy phép thường được sử dụng khác.

Điều này thêm một bước sơ bộ - kiểm tra xem bạn có thực sự phải tạo giấy phép hay không.

Cũng có khả năng một số điều kiện bạn muốn thực thi bị thiếu sót theo một cách nào đó; thêm một bước sơ bộ khác - đọc xung quanh về các thuật ngữ "duy nhất" bạn muốn áp dụng. Một số người khác có thể đã thử các thuật ngữ như vậy và thấy chúng không thể thực hiện được, hoặc phản tác dụng theo một cách nào đó.

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.