Suy nghĩ về phần mềm nguồn mở giấy phép đôi

Thứ năm - 13/08/2009 06:46

Thoughtsabout Dual – licensing Open Source software

2009-08-04

By Michaela “Monty”Windenius

Theo:http://monty-says.blogspot.com/2009/08/thoughts-about-dual-licensing-open.html

Bài được đưa lênInternet ngày: 04/08/2009

Lờingười dich: Một bài viết tuyệt vời về cách cấp giấyphép đôi cho các phần mềm nguồn mở của các công tymuốn kinh doanh dựa trên các phần mềm nguồn mở.

Lịchsử

Ví dụ đầu tiên vềgiấy phép đôi cólex là Ghostscript, mà Peter Deutsch đã cấpphép lần đầu theo GPL và sau này theo Aladdin Free PublicLicense, nhưng cũng theo một giấy phép sở hữu độcquyền. Được truyền cảm hứng bởi ý tưởng của ông,David Axmark và tôi đã tung ra MySQL theo các điều khoảngiấy phép đôi tương tự. Giấy phép đôi từ đó đãtrở thành một trong những cách thức phổ biến và chungnhất để tạo ra các trung tâm lợi nhuận xung quanh phầnmềm tự do nguồn mở, bổ sung cho sự hỗ trợ và cácdịch vụ xung quanh sản phẩm.

Để có khả năngkhởi động MySQL Ab, chúng tôi ban đầu đã có một giấyphép mà đã cho phép sử dụng một cách tự do, nhưng còncó một giấy phép “trả tiền” nếu bạn sử dụngMySQL cho mục đích sử dụng thương mại hoặc trên nềntảng Windows. Trong năm 2000 chúng tôi đã thay đổi giấyphép tự do này sang GPL, hầu hết để tránh phải giảithích cho mọi người về giấy phép riêng của chúng tôi.

Ý tưởng cơ bản chogiấy phép đôi của chúng tôi là thế này: Nếu bạn đãmua một giấy phép rồi sau đó chúng tôi đã từ bỏ hạnchế của GPL mà bạn phải phân phối lại mã nguồn củabạn như GPL. Bạn có thể thay đổi, sửa đổi, mở rộng,phân phối, và phân phối lại bản sao đó theo cách bấtkỳ bạn muốn. (nhưng tất nhiên không thay đổi giấyphép về mã nguồn của MySQL). Giấy phép này là đối vớibất kỳ phiên bản và sự sử dụng nào của MySQL, bâygiờ và vĩnh viễn.

Điều này vẫn cònđược phản ánh trong MySQL FAQ (xem đường link bên dưới)về chủ đề này.

Đây là những gì cánhân tôi nghĩ là các thức sở hữu độc quyền đối vớiphần mềm nguồn mở giấy phép đôi và cách mà chúng tôimong đợi làm nó trong công ty mới của tôi, Monty ProgramAb, cho các phần mềm mà chúng tôi sản xuất.

History

Thefirst example of dual-licensing was probably Ghostscript,which Peter Deutsch licensed first under the GPL and later under theAladdin Free Public License, but also under a proprietarylicense.
Inspired by his idea, David Axmark and I released MySQLunder similar dual-licensing terms. Dual licensing has since becomeone of the most common and popular ways to cre-ate profit centersaround Open Source/Free Software, in addition to support and servicesaround the product.

Tobe able to bootstrap MySQL Ab, we originally had a license thatallowed free usage, but a "pay-for" license if you usedMYSQL for commercial usage or on the Windows platform. In 2000 wechanged the free license to GPL, mostly to avoid having to explainour own license to everyone.

Thebasic idea for our dual-licensing was this: if you bought a licensethen we waived the GPL restriction that you have to redistribute yourcode as GPL. You could change, modify, extend, distribute, andredistribute the copy in any way you wanted (but of course not changethe license of the MySQL code). The license was for any version andusage of MySQL, for now and forever.

Thisis still reflected in the MySQLFAQ on this topic.

Thisis what I personally think is the appropriate way to dual-licenseopen source software and how we intend to do it in my new company,Monty Program Ab, for the software we produce.

Giấyphép MySQL cho các nhà sản xuất thiết bị gốc (OEM)

Gần đây tôi đãnhận thức được rằng thứ ở trên không còn là trườnghợp với thoả thuận của MySQL cho các OEM nữa. Bây giờSun, mặc định, đang đặt ra những hạn chế sau đây lênnhững người được cấp phép:

(Sun có, tất nhiên,tất cả các quyền để đặt ra bất kỳ hạn chế nàolên mã nguồn của họ, nhưng khi điều này là không phảilà cách mà các giấy phép đôi sử dụng để làm việcvới MySQL hoặc cách mà nó làm việc với các dự ánnguồn mở khác (Xem ví dụ, thông ti về giấy phép choGhostscript theo đường link bên dưới)). Tuy nhiên, bạnphải nhận thức được những vấn đề này nếu bạnmong đợi để có được bao giờ đó một giấy phépthương mại cho MySQL).

  • Bạn không thể sửa đổi MySQL theo cách (ví dụ để sửa lỗi, tối ưu hoá MySQL cho các ứng dụng của bạn, bao gồm những cải tiến sẵn có một cách công khai (như khi BSD được cấp cho “bản vá của Google” hoặc biên dịch nó với máy lưu trữ khác) để cải thiện MySQL của bạn như một phần của sản phẩm của bạn.

  • Bạn không thể sử dụng bất kỳ rẽ nhánh nào của MySQL (như Drizzle, ExtSQL hoặc MariaDB).

  • Bạn bị trói vào phiên bản chính hiện hành của MySQL Enterprise (nghĩa là bạn phải trả tiền cho những nâng cấp). Điều này có thể là thông thường trong một môi trường nguồn đóng, nhưng lại không thông thường khi nó là nguồn mở.

  • Có những hạn chế nghiêm trọng đối với dạng các ứng dụng mà bạn có thể xây dựng với mã nguồn của MySQL, ví dụ, thoả thuận mặc định ngăn cấm những cài đặt triển khai trong các trang thiết bị chủ hoặc để sử dụng phiên bản của bạn như một máy chủ SQL.

  • Người sử dụng đầu cuối không thể truyền/bán giấy phép cho ai đó khác nữa được (phải sử dụng theo các điều kiện y hệt[giấy phép ban đầu]).

TheMySQL OEM License

Iwas recently made aware that the above is no longer the case with thestandard MySQLOEM agreement. Sun is now, by default, putting the followinglimitations on their licensees:

(Sunhas, of course, all rights to put any restrictions on their code, butas this is not how dual licenses used to work with MySQL or how itworks with other Open Source projects (See for example, the licenseinformation for Ghostscriptand .) You should however be aware of these issues if you intend toever acquire a commercial license for MySQL)

      • You cannot modify MySQL in any way (for example to fix bugs, optimise MySQL for your applications, include publicly available enhancements (such as the BSD licensed "Google patch" or compile it with another storage engine) to improve your MySQL as part of your product.

      • You cannot use any forks of MySQL (such as Drizzle, ExtSQL or MariaDB).

      • You are tied in to the current major release of MySQL enterprise (i.e. you have to pay for upgrades). This may be normal in a closed source environment, but not normal when it comes to Open Source.

      • There are serious limitations for what kind of applications you can build with the MySQL code, for instance, the default agreement prohibits installations in hosting facilities or to use your version as a SQL server.

      • The end user can't transfer/sell the license to someone else (to be used under the same conditions).

Cáckhuyến cáo cho những người được cấp phép và cho nhữngngười xem xét mua một giấy phép MySQL

Với những hạn chếnhư ở trên, bạn phải xem xét liệu có đáng giá vớibạn để mua các giấy phép MySQL theo các điều kiện hiệnhành hay không. Cũng vậy, nếu bạn là một người đượccấp phép cũ của MySQL, bạn phải thận trọng xem xét lạibất kỳ những điều kiện gì khi giấy phép của bạntới lúc phải ký lại. Lưu ý rằng cảnh báo này khôngphải là thứ gì đó đặc biệt đối với Sun mà đượcáp dụng khi làm việc với bất kỳ nhà cung cấp phầnmềm nào.

Nếu bạn đang chạymột phiên bản cũ, được sửa đổi, của cộng đồng,hoặc được rẽ nhánh của MySQL tại công ty của bạn,thì bạn cần nhận thức được rằng thoả thuận mặcđịnh của các OEM là không áp dụng được cho bạn. Điềunày cũng là vấn đề nếu bạn là một nhà cung cấp phầncứng mà muốn chỉnh MySQL cho thiết lập của bạn.

Nếubạn cần mua một giấy phép thương mại, vì bạn khôngthể sử dụng GPL, bạn cần xem xét một cách nghiêm túcliệu bạn có thể áp dụng những hạn chế mặc địnhnày không. Nếu không, thì bạn phải liên hệ với Sun vàthoả thuận lại các điều khoản. Tôi biết có những vídụ nơi mà các giấy phép MySQL đã được cho phép đểthay đổi mã nguồn của MySQL và cũng có quyền để xuấtbản những thay đổi đó (Infobright quảng cáo một cáchcông khai rằng học đã làm thế). Bạn phải hỏi để cónhững quyền y như vậy.

Nếubạn có kế hoạch tự mình đưa ra các giấy phép đôi,thì bạn cũng cần chắc chắn rằng giấy phép này chophép bạn sử dụng một phiên bản nguồn mở của MySQLvới sản phẩm nguồn mở của bạn.

Khithoả thuận về một giấy phép, hãy đảm bảo rằng bạncó đủ quyền tự do để làm những gì được yêu cầucho công việc kinh doanh của bạn và bạn hoàn toàn khôngphụ thuộc vào một nhà cung cấp vì sự thành công củabạn!

Recommendationsto licensees and those considering the purchase of a MySQL license

Withabove limitations in place, you should consider if it's worth it toyou to buy licenses for MySQL under the current terms. Also, if youare an old licensee of MySQL, you should be careful to review any newconditions when your license is up for renewal. Note that thiswarning is not something specific to Sun but applicable when workingwith any software vendor.

Ifyou are running an old, modified, community, or forked version ofMySQL at your company, you need to be aware that the default OEMagreement is not applicable to you. This also the case if you modifyMySQL code to implement a new storage engine, MySQL extensions or ifyou are a hardware vendor that wants to to tune MySQL for your setup.

Ifyou need to buy a commercial license, because you cannot use the GPL,you need to seriously consider if you can accept the defaultrestrictions. If not, then you should contact Sun and renegotiate theterms. I know there are examples whe-re MySQL licensees have beenallowed to change MySQL code and also have the right to publish thosechanges (Infobright openlyadvertises that they've done so). You should ask to get those samerights.

Ifyou plan to do dual licensing yourself, you also need to make surethat the license allows you to use an Open Source version of MySQLwith your Open Source product.

Whenagreeing to a license, ensure that you get enough freedom to do whatis required for your business and you are not completely dependent onone vendor for your success!

Nhữngkhuyến cáo cho các công ty làm giấy phép đôi

Tôitin tưởng một người phải rất được phép khi tiếnhành các giấy phép đôi với nguồn mở nếu không thìbạn sẽ đánh mất nhiều ưu thế kinh doanh mà bạn cóđược từ nguồn mở. Cộng đồng nguồn mở là một hệsinh thái rất hiệu quả và nếu bạn cho phép nó tham giavào với việc kinh doanh của bạn thì bạn có một cơ hộitốt hơn để thành công.

Hạnchế duy nhất mà bạn cần khi cấp phép lại là việcngười được cấp phép phải không có khả năng thay đổigiấy phép của mã nguồn của bạn và họ chỉ có thểsử dụng và/hoặc phân phối số lượng các bản sao đãđược thoả thuận trước về nó.

  • Việc cho phép các thay đổi đối với mã nguồn được cấp phép cho phép người được cấp phép kết hợp mã cộng đồng và mã của riêng họ trong việc tạo ra một sản phẩm tốt hơn. Nó cũng trao cho khách hàng của bạn sự tin tưởng hơn về sản phẩm của bạn khi họ không cảm thấy bị khoá trói vào chỉ một nhà cung cấp về mọi thứ như sửa lỗi và cải tiến.

  • Làm cho dễ dàng sử dụng sản phẩm của bạn hoặc một phần mã nguồn của bạn với các sản phẩm khác.

  • Việc cho phép phân phối lại sản phẩm sẽ tạo ra một thị trường cho mọi người làm các phần bổ sung (addons), những cải tiến và những sản phẩm mới hoàn toàn dựa trên các sản phẩm của bạn.

      • Đừng sợ bị rẽ nhánh. Họ mở rộng hệ sinh thái của bạn và bất kỳ ai mà muốn mua một giấy phép cho những rẽ nhánh này cũng phải mua một giấy phép từ bạn.

      • Đừng hạn chế giấy phép đối với một phiên bản cụ thể nào đó; nếu bạn cho phép thay đổi thì điều này cũng sẽ là vô nghĩa khi một người có thể dễ dàng đi quanh nó. Về lâu dài sẽ không là một đề xuất thắng lợi để bán đi bán lại cùng một phần mềm mãi cho cùng một khách hàng. Thay vào đó hãy làm việc về phần mềm này và với khách hàng để gia tăng sự sử dụng phần mềm này.

      • Đừng hạn chế bằng bất kỳ cách nào cách mà sản phẩm/mã nguồn có thể được sử dụng; nó chỉ thúc ép mọi người chọn hoặc phát triển các sản phẩm khác mà sẽ cạnh tranh với bạn và sẽ hạn chế việc kinh doanh mà bạn có thể tạo ra.

      • Hãy tạo giấy phép của người sử dụng đầu cuối có thể truyền được. Điều này sẵn sàng được cho phép trong nhiều quốc gia, đây là những gì mà những người thông thường mong đợi từ hầu hết mọi thứ mà họ mua và sẽ tạo ra những cơ hội cho những việc kinh doanh mới của những người khác. Nếu bạn phải trả tiền vì bất kỳ bản sao nào của phần mềm của bạn mà nó đang tồn tại, thì bạn có thực sự quan tâm ai sử dụng nó những bản cũ hay không?

Bằng cách thẳng thắncông bằng đối với những người khác, bạn sẽ có đượcuy tín như một đối tác kinh doanh đáng tin cậy và bạnsẽ có được công việc nhiều hơn về lâu dài.

Recommendationsfor companies doing Dual-Licensing

Ibelieve one should be very permissive when doing dual licenses withOpen Source as otherwise you lose many of the business advantages youget f-rom being Open Source. The Open Source community is a veryeffective ecosystem and if you allow it to participate with yourbusiness you have a better chance to succeed.

Theonly restriction you need when re-licensing is that the licenseeshould not be able to change the license of your code and they canonly use and/or distribute the pre-negotiated number of copies of it.

      • Allowing changes to the licensed code allows the licensee to combine community code and their own code in creating a better product. It also gives your customer more trust in your product as they don't feel locked into only one vendor for things like bug fixes and enhancements.

      • Make it easy to use your product or part of your code with other products.

      • Allowing re-distribution of the product cre-ates a market for people doing addons, enhancements and totally new products based on yours.

      • Don't be afraid of forks; They enlarge your ecosystem and anyone that wants to buy a license for these forks also has to buy one f-rom you.

      • Don't limit the license to a specific version; If you allow changes this is meaningless anyway as one can easily go around it. In the long run it's not a winning proposition to sell the same software over and over again to the same customer. Instead work on the software and with the customer to increase the usage of the software.

      • Don't limit in any way how the product/code can be used; it just forces people to choose or develop other products that will compete with you and will limit the business you can cre-ate.

      • Make the end-user license transferable. This is already allowed in many countries, it is what normal people expect f-rom most things they buy and will cre-ate opportunities for new business by others. If you got paid for any copy of your software that exists, do you really care who uses it second hand ?

Bybeing fair to others, you will get a reputation as a trustworthybusiness partner and you will get more business in the long run.

Nhữngkhuyến cáo cho những người đóng góp của cộng đồng

Tôi giả thiết làđối với blog này rằng rõ ràng vì sao có lợi cho bạnđể đóng góp mã nguồn cho một dự án nguồn mở. (Nếukhông, thì đây có thể là một chủ đề cho bài viếtkhác trên blog).

Tuy nhiên, khi tài trợmã nguồn của bạn cho một dự án nguồn mở mà nó đangsử dụng giấy phép đôi, thì bạn cũng cần xem xét cáchmà dự án này đang tiến hành sử dụng mã nguồn củabạn khi cấp phép lại nó theo một giấy phép không nguồnmở. Điều này rất quan trọng nếu bạn từ trước tớinay tự mình mong muốn cấp phép cho dự án theo một giấyphép thương mại (không phải nguồn mở).

  • Những gì là những hạn chế về cách mà bạn có thể sử dụng công việc được cấp phép lại như thế nào? (Lý tưởng nó phải sử dụng được cho bất kỳ mục đích nào và stheo bất kỳ cách thức nào).

      • Bạn có thể thay đổi những gì đối với mã nguồn khi bạn cấp phép lại? (Lý tưởng sẽ không có những hạn chế nào, ngoại trừ những thứ bạn không thể thay đổi giấy phép).

      • Liệu một thoả thuận cấp phép có thể được sử dụng để hạn chế khả năng của người được cấp phép để xuất bản mã nguồn của riêng họ như nguồn mở, hoặc để đưa mã nguồn của nguồn mở vào trong sản phẩm của họ hay không?

      • Liệu thoả thuận cấp phép lại có trói một phiên bản cụ thể nào của dự án hay không.

      • Liệu thoả thuận của người đóng góp cho dự án có rõ ràng về các điều khoản về cách mà bạn có thể đóng góp mã nguồn cho nó hay không?

    Liệu dự án có thể, ví dụ, lấy bất kỳ mã nguồn nào mà bạn từ trước tới nay gửi cho bất kỳ danh sách thư điện tử liên quan nào hoặc liệu bạn có cần thiết phải dứt khoát ký mọi đóng góp một cách riêng rẽ. (thoả thuận của người đóng góp của chúng tôi đã không rõ theo khía cạnh này, nên tôi gấn đây đã bổ sung: “Mỗi đệ trìnhp hải chắc chắn được đánh dấu rằng nó được đóng góp theo MCA”. Bạn có thể tất nhiên cũng đánh dấu mã nguồn để theo BSD).

Recommendationsto Community contributors

Iassume for this blog that it's clear why it's beneficial for you todonate code to an Open Source project. (If not, then this could be atopic for another blog post).

However,when donating your code to a an Open Source project that is usingdual-licensing, you need to also consider how the project is going touse your code when re-licensing it under a non-Open Source license.This is very important if you ever want to license the projectyourself under a commercial license (not Open Source).

      • What are the restrictions on how you can use the re-licensed work? (Ideally it should be usable for any purpose and in any manner).

      • What changes can you make to the code when you re-license it? (Ideally there should be no restrictions, except that you can't change the license).

      • Can an licensing agreement be used to restrict the licensee's possibility to publish their own code as Open Source, or to include Open Source code in their product?

      • Is the re-licensing agreement tied to a specific version of the project.

      • Is the contributor agreement for the project clear in terms of how you may donate code to it? Can the project, for example, take any code you ever send to any related email list or do you need to explicitly sign every contribution separately. (Our contributor agreement wasn't clear in this aspect, so I recently added: "Each submission must explicitly be marked that it's donated under the MCA". You can of course also mark the code to be under BSD.)

Nếu bạn đồng ývới những thứ ở trên và bạn đã ký những thoả thuậnđóng góp mà không đưa vào một lưu ý như vậy, thì bạnphải xem xét liên lạc với những dự án này và yêu cầulàm mới những thoả thuận với một mệnh đề như vậyhoặc có được một số đảm bảo công khai khác rằngdự án cấp phép lại cho mã nguồn theo một cách phù hợpthích đáng.

Lưu ý rằng việc cấpphép lại cho mã nguồn của bạn như là BSD đối với mộtdự án mà có hoặc có thể có các mã nguồn GPL sẽ khôngbảo vệ mã nguồn của bạn khỏi bị cấp phép đôi theomột cách không được thuận lợi đâu đấy. Cách duynhất để đảm bảo sự tự do đầy đủ cho những ngườikhác là chỉ đóng góp mã nguồn của bạn theo một thoảthuận của người đóng góp với một mệnh đề như đượcgợi ý bên dưới hoặc một dự án mà nó có những chỉdẫn có thể thoả thuận được về cách mà họ cấpphép cho mã nguồn của họ!

Để đảm bảo chonhững người sử dụng của chúng ta, những người đónggóp, và các khách hàng về cách mà chúng tôi tại MontyProgram Ab dự kiến sẽ cấp phép lại cho các mã nguồn màchúng tôi sản xuất ra hoặc mã nguồn mà mọi ngườiđóng góp vào cho chúng tôi, tôi đã bổ sung lưu ý sau đâyvào thoả thuận cho người đóng góp của chúng tôi:

Monty Program Abđồng ý rằng khi hãng cấp phép đôi cho mã nguồn, thìhãng sẽ không hạn chế cách thức mà giấy phép của bênthứ 3 sử dụng bản sao được cấp phép của mã nguồnnày, cũng không hạn chế cách thức mà họ sử dụng mãnguồn riêng của họ”.

Nếu bạn có bất kỳbình luận/ý tưởng nào xung quanh vấn đề này, xin hãytham gí vào đội Khởi động (Launchpad) thoả thuận mariavà danh sách thư có liên quan của nó và tranh luận vềchủ đề này.

Ifyou agree with the above and you have signed contributor agreementsthat do not include such a note, you should consider contacting thoseprojects and asking for a new one with such a clause or get someother public guarantee that the project re-licenses code in anappropriate manner.

Notethat releasing your code as BSD for a project that has or may haveGPL code doesn't protect your code f-rom being dual-licensed in anunfavorable way. The only way to ensure full freedom for others is toonly donate your code under a contributor agreement with a clause assuggested below or to a project that has agreeable guidelines for howthey license their code!

Toassure our users, contributors, and customers of how we at MontyProgram Ab intend to re-license the code we produce or the codepeople donate to us, I have added the following note to ourcontributor agreement:

"MontyProgram Ab agrees that when it dual licenses code, it will notrestrict the way the third party licensee uses the licensed copy ofthe code nor restrict how they use their own code."
Ifyou have any comments/ideas around this, feel free to join the themaria-discussLaunchpad team and its associated mailing list and discuss thistopic.

Dịch tài liệu: LêTrung Nghĩa

letrungnghia.foss@gmail.com

Tổng số điểm của bài viết là: 0 trong 0 đánh giá

Click để đánh giá bài viết

  Ý kiến bạn đọc

Những tin mới hơn

Những tin cũ hơn

Về Blog này

Blog này được chuyển đổi từ http://blog.yahoo.com/letrungnghia trên Yahoo Blog sang sử dụng NukeViet sau khi Yahoo Blog đóng cửa tại Việt Nam ngày 17/01/2013.Kể từ ngày 07/02/2013, thông tin trên Blog được cập nhật tiếp tục trở lại với sự hỗ trợ kỹ thuật và đặt chỗ hosting của nhóm phát triển...

Bài đọc nhiều nhất trong năm
Thăm dò ý kiến

Bạn quan tâm gì nhất ở mã nguồn mở?

Thống kê truy cập
  • Đang truy cập87
  • Máy chủ tìm kiếm1
  • Khách viếng thăm86
  • Hôm nay21,422
  • Tháng hiện tại594,284
  • Tổng lượt truy cập37,395,858
Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây