当前位置:网站首页>Research on MySQL open source license

Research on MySQL open source license

2022-06-09 03:25:00 ActionTech

author : Chen Shujun

In this paper, the source : Original contribution

* Produced by aikesheng open source community , Original content is not allowed to be used without authorization , For reprint, please contact the editor and indicate the source .


1、Oracle Why can you be right about MySQL Adopt dual license mode (GPLv2 Open source license and commercial license ) Release ?

stay MySQL Third party source code referenced in , All are based on loose open source license distribution without license contagion , Or based on dual license distribution ,Oracle In its open source version MySQL Third party code for such dual licenses in Choose to use GPLv2 license , In the closed source commercial version MySQL The third-party code selection for such dual licenses in With a looser license .

for example MySQL In reference to Memcached.pm The source code of the has the following Declaration (Artistic license Just more For a loose and non contagious open source license , Not open source after modifying or referencing its source code ):

Memcached.pm

Memcached.pm

Memcached.pm is licensed
under the Perl license.

Oracle may use, redistribute and/or modify this code under the terms of either:

a) the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version, or

b) the “Artistic License” which comes with the Expect/pr code.

Oracle elects to use the GPLv2 for version of MySQL that are licensed under the GPL.

Oracle elects to use the Artistic license for all other (commercial) versions of MySQL.

A copy of the GPLv2 and the Artistic License (Perl) 1.0 must be included with any distribution. This component is licensed under the GNU GPL license, version 2.0. This component is licensed under Artistic License (Perl) 1.0

Based on the above facts , Plus when the third direction Oracle MySQL When contributing source code , Must be signed Oracle company Of OCA agreement (Oracle Contributor Agreement), Disclaim the intellectual property rights of the contributed source code , The intellectual property rights of this part of the source code belong to Oracle Owned by the company , therefore Oracle The company is right MySQL The source code has absolute control and intellectual property rights ,Oracle The company has the right to decide MySQL Based on what license distribution . Many people may have some doubts : Why Mingming GNU Of GPL Stipulate that the code must be released under less restrictive terms , The copyright holder can also provide a private license . The answer is GPL The terms of are set by the copyright holder for all others ; The copyright owner is free to decide whether to apply these terms to himself . Regarding this , A good way to understand this is to imagine that copyright is reserved There are countless copies of software in the bucket . Every time it takes one out of the bucket and sends it to the world , It can be decided to adopt GPL、 Private or other licenses . This is not just about GPL Or any other open source license , It is only a right granted by copyright law .

2、Oracle Can I change MySQL Or simply close the source ?

Based on the question 1 Conclusion , Sure , However, it is limited to the following new releases . Has been based on GPLv2 Old version of license release MySQL Cannot change open source license or closed source .

3、 Why the old version has been released MySQL The open source protocol or closed source cannot be changed ?

Open source licenses are distributed with copies of the software , Every one MySQL Software copies come with an open source license . When a user downloads a copy MySQL When copying software , You have obtained the license corresponding to the software copy , As the software copy publisher Oracle The company cannot recycle the distributed software copies and licenses , Therefore, it is impossible to change the license of the software copy . It can be used as evidence for the above conclusion , Is in GUN A copy on the official website FAQ, There are the following explanations :

http://www.gnu.org/licenses/gpl-faq.zh-cn.html#WhyMustIInclude

Why? GPL It is required to include a copy of each software copy GPL Copy ?

It is critical to include the license in each copy , So everyone who gets a copy knows what their rights are .

Contains a that points to the license URL Rather than the license itself, it may look good . But you can't guarantee that URL Effectiveness after five or ten years .20 After year , What we use today URL May no longer exist .

No matter what happens to the network , The only way to ensure that people who have copies can still see the license is to include a copy of the license in the program .

4、Oracle change MySQL How likely are open source licenses or closed sources ?

Even though MySQL The product itself is open source , Use GPLv2 license , But its development has been Oracle Control of the company , Although some people may be really dissatisfied Oracle The company controls MySQL The development of the project ( Someone has actually done this , such as Percona、MariaDB etc. ). a certain extent , This threat forces Oracle The company needs to carefully consider changing the license or closing the source MySQL The consequences , This could lead to Oracle Take the initiative Discard MySQL Huge market opportunity , And give this opportunity to others . per contra , A completely closed source MySQL Whether it is possible to succeed in the current open source world ecology or other fields , It's also Oracle Need to consider .

We cannot speculate Oracle about MySQL Ideas , Only from the above analysis , We think Oracle Change the current MySQL Low probability of business strategy .

5、 If subsequent versions of MySQL Change to a more unfriendly open source license or direct source closure , How should we deal with ?

Can be based on old versions that have already been released MySQL Source code creates code branches , Continue to develop based on GPLv2 Open source Permitted MySQL Branch version , And release the commercial distribution based on this branch version ( Must be open source , You can sell software licenses or provide technical services to users as a business model ).

We believe that even if Oracle The follow-up did not aim at MySQL The intention to change the open source license or the closed source , We should develop domestically independent 、 Organized and led by an authoritative department MySQL A branch version project is also necessary . Here's why :

  1. because Oracle The company is right MySQL Absolute control of the project ,MySQL There is no truly equal development community ,Oracle Only very small-scale... Can be obtained from outside BUG Fix and patch cleanup , And need to invest a lot of internal resources Support MySQL Development of the project , once MySQL The benefit of the project is too small , It is possible to reduce the input and then affect MySQL Development of the project . meanwhile , Whether it is to meet the demands of the user community for new functions and features or BUG Response speed of repair , Not to the best of my expectation , User for MySQL Our expectations and demands cannot be fed back and satisfied in time .
  2. Due to the escalation of competition between China and the United States , National requirements for independent control of software and hardware ,Oracle MySQL Adaptation of localized software and hardware 、 National secret algorithm 、 There is a lack of support for scenarios with large domestic business volume , also Oracle The company's MySQL Needs assessment department , It is impossible to give proper consideration to China's national conditions .

Based on the above two points , Development has Chinese characteristics 、 In line with China's national conditions 、 Can fully respond to the needs of domestic users MySQL The branch version is very urgent .

6、 Why? MySQL It is so important in the whole open source ecosystem and in the consideration of end users , We can not develop MySQL And switch to another route ?

MySQL It is the most popular open source database software in the world , The market share is huge , This is undeniable real . In our country , End users from all walks of life have also made extensive use of MySQL database , It has formed a huge investment in assets . These assets include but are not limited to : Basic software and hardware facilities 、 adapter MySQL Application software development 、MySQL Ecological talent training . On this basis , China has formed a huge circle around MySQL Software ecology and talent ecology , A large number of end users put MySQL As the preferred database software . To replace such a huge amount of software 、 Talent Ecology , It needs a lot of investment and strong leadership , The risks are self-evident , The risk is no less than Oracle Sudden source closure MySQL The consequences . We think , Instead of taking huge risks and giving up completely MySQL And switch routes , It would be better to take the lead in various authoritative departments 、 Manufacturers in the United Nations database industry , Establish domestic autonomous and controllable MySQL Branch communities , By force 、 Scientific leadership , Form a unified MySQL Branch community ecology , Caution MySQL Communities in the country are divided turn 、 fragmentation . Through this unified 、 Powerful MySQL Branch open source community , To serve the huge domestic enterprises well MySQL End user group .

7、 Domestic development MySQL Open source branch , Whether intellectual property infringement will be involved ?

Can't . Be aware of this problem , The first thing to understand is GPLv2 The most basic principles followed by the license .

GPL Permit the public to enjoy : function 、 The freedom to copy software , Freedom to distribute and disseminate Software , Get the freedom of software source code , The freedom to improve the software and distribute the improved version to the society .GPL It also stipulates that : As long as this modification comes from compliance in whole or in part GPL The program , The whole of the modification must be in accordance with GPL circulation , Not only the modified source code must be open to the public , And the circulation of such amendments shall not be subject to the restrictions made by the modifier himself . therefore , One follows GPL Programs in circulation cannot be merged with non free software .GPL This One kind of circulation rule is called Copyleft, Expressed in Copyright( Copyright ) The concept of .

GPL The main principles of the agreement :

1、 Make sure that the software is released in open source throughout , Protect the development achievements from being stolen for commercial sale . Any software , As long as it uses the acceptor GPL The source code of the third-party software protected by the protocol , And to non developers , The software itself is automatically accepted GPL Entities that are protected and constrained . in other words , At this point it must be open source .

2、GPL yes Copyleft, Or translate into “ Copyright only ” The embodiment of , Except that the copyright belongs to the original author , All other rights are shared with anyone .GPL The essence of is , Make the software completely open source , As far as possible, let the user get the space to play freely , Make the software develop faster and better .

3、 No matter what form the software is released , Must be accompanied by source code . For example, provide downloads on the Internet , It has to be in binary version ( If any ) Download the same page , Clearly provide links to source code downloads . If it's released on CD , You must also attach the CD-ROM of the source file .

As can be seen from the above description ,GPL It's a “ free ” Greater than “ Copyright ” License agreement in principle , stay “ free ” In front of communication , Everything else needs to make way . The user can get the copyright owner to pass GPL License waiver rights , But you must also comply with the provisions of the license to exercise your rights , If not GPL Regulations , It is a violation of the copyright of open source software , The copyright owner has the right to require the other party to stop relevant acts and other .Oracle Once based on GPLv2 The license The certificate issued a MySQL Software copy , Also immediately gave up its right to this MySQL All other rights owned by the software copy except the copyright , because GPL License protection , This MySQL The software copy immediately becomes a copy “ free ” Software copy , It can be freely used and modified by the person or organization who obtains the copy of the software 、 spread , And need to continue to follow GPL All provisions and restrictions of the license .

in summary , In the developing country MySQL Open source branch , As long as follow GPLv2 All provisions and constraints of the , It will not trigger disputes at the intellectual property level , We can use it legally and freely Oracle released MySQL Source code .

原网站

版权声明
本文为[ActionTech]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/160/202206090323575955.html