(Note: this article is translated from my early work, which is written in my mother language, the grammar will be adjusted later.)

1 Introduction

The 21st century is the fast developing period of computer software industry . “copyright protection”,“patent”, people's lives filled by such words, they are no longer obscure or strange. Growing awareness on intellectual property Infused.

However, these words often tight closely with the private commercial softwares. Share such softwares to another people or modifying them to fit own need, is not allowed because this violate their copyright.

Thus, in order to revolt this close industry, the so-called kind of “software privacy”, in the spirit of the “freedom”, the “free software” was borned. We often hear “free software” or “open source software” argument, but they are still some differences. This will be described in this article later.

For open source software, people has usually much misunderstanding and doubts. Some people think that “open source software” is free, without to pay money; Some don’t know the marketing mode of “open source software” and thought it a joke; Others think that “open source software” is actually the software industry's utopia, could not last long …

Although there are much (mainly private commercial software industry) misunderstanding, doubts and attack from all the world, open source software has been walking in the forefront of the computer software industry, and has been more and more vigorous and robust.

In order to clarify the facts, analyze the success and rapid development of open source software, we decided to study the open source software and licenses. To this end, we study some well-known open source software projects such as Linux [1], Apache [2], Mozilla [3]; reading some literature about open source culture, such as the famous “The Cathedral and the Bazaar [ 4], “Rebel Code” [5], “Open Sources” [5]; learning several well-known open source software licenses that will be analyzed and compared.

The arrangements of this article are as follows: The first part, Introduction; the second part, discuss the free software, the concept, its history, the meaning of Copyleft; the third part, Introduce open-source software, meaning and difference among open source software, free software and other software; the fourth part, describes the common open source software licenses; the fifth part, describes how to choose best fit of open source software licenses.

2 Free Software

2.1 History - The Birth of the Free Software

Let's start with an interesting story. In the 1970s, laser printers are as big as a jeep, when Xerox donated an image laser printer to the MIT Artificial Intelligence Laboratory, they found only on the ninth floor of the Artificial Intelligence Laboratory building was there room to place it. As long as anyone at his/her computer sent some instructions, the printer would be called and started to serve for him/her. The printer's speed was satisfactory, but sometimes paper used out or paper jammed, a lot of printing work on queue was all stopped. Sometimes people wanted to print a lot of things, and some people needed to print only one or two pages, they had to climb up onto the 9th floor, to modify the printer's control flow, so it could print the fewer pages first.

Thus, no one can withstand this repeating daily climbing up and down. Fortunately, when Xerox sent the printer, the source code of the printer driver program was also attached. So the laboratory could modify the control function of the printer driver to save a lot of trouble. The modifications they did were — when your print job was done, it would inform you; if paper was folded, or there was anything about printing you wanted to know, it would inform you, too.

However, in 1978, everything changed. Xerox donated a new printer named 'Dover' to the Artificial Intelligence Laboratory, but there was no source code this time, they're no longer willing to attach source code. So people in the laboratory could not modify the driver, the print efficiency of the entire building then went back to the past, you would have no idea about paper running out or paper folding.

Richard Stallman, who later became well known as 'the Father of Free Software' , was working in the Artificial Intelligence Laboratory of MIT at that time. He and the Artificial Intelligence Laboratory would like to add some function to the printer so that the machine could work better.Thus they asked Xerox for the source code of the printer control program. Unfortunately the result turned out that Xerox refused their request solemnly. Therefore, Richard Stallman could no longer be able to convince himself that nondisclosure agreement was pure and innocence. When Xerox refused to share, Richard Stallman felt very angry. He felt that he could not do the similar thing to others.[7]

At this point, two options put in front of Richard Stallman. The first one was very simple, that was to join the proprietary software world, signing nondisclosure agreements and promised not to help other hacker fellows. To do so, the likely results would be that he still developed software, and the software would be delievered in the form of nondisclosure agreement, thereby pressure would be put on to those people who did not want to betray their hacker fellows. He might make a fortune, and also have fun from writing code. But, as he said to himself: if he did so, when the end of his career came, and he started to look back and see the scene that there were high walls separated people, for all these years work, he would feel the result of the efforts of his own life had made this world worse. The second option, was directly very unpleasant, and that was to leave the computer field. Such a skilled genius would not be abused, but the talented of this genius would be buried. He himself would not be a accomplice to separat the computer world, but the separation would still be there.

Therefore, Richard Stallman hoped to seek a solution that would allow him to use his own talent as a programmer to be able to do something good, so he asked himself that if he could write on one or some of the procedures, that could make the groups he cherished to be vigorous again.

The answer was clear - first of all, the most needed was an operating system. This is the key to use your computer, with operating system, you can do many things; without operating system, you can not even use the computer. When you make out a free operating system, you can once again organize a group of hackerswho can cooperate with each other, and you can further invite any people to participate in the community. Everyone can safely use his/her computer without having to become deprived of the complicity of their friends and interests.

As an operating system developer, Richard Stallman is undoubtedly the most competent one. He decided to design the system to work with UNIX compatible in order to transplantation, at the same time, it would also be facilitate for the UNIX users to immigrate to this the new operating system. In accordance with the tradition of the hackers, Richard Stamllman select the name of GNU, GNU is the recursive acronyms of “Gnu's Not Unix”.

An operating system, does not just mean a kernel that can run other programs. It has to include the command interpreter, the assembler, the compiler, the interpreter, the debugger, a text editor and software packages, and so on.

Ideas are more flash than the code , but without code, ideas can not have the body. With the start of the GNU project, Richard Stallman began the journey of the free software.

2.2 GNU and FSF

In January 1984, Richard Stallman resigned from the work of MIT, he was worried that MIT might ask for the ownership of the product, they might add their own restrictions of sale, thus again the product would become a proprietary software.

In September 1984, Richard Stallman started to develop GNU Emacs. At the beginning of 1985, GNU Emacs was relased and was able to be started using. Soon, GNU Emacs became very popular.As the number of people who were with an interest in Emacs increased, more and more people also began to participate in the GNU Project. In 1985, the new foundation - Free Software Foundation (FSF) was set up. This is a completely tax-free welfare organizations committed to the development of free software (donor the FSF manufacturers can also enjoy tax breaks). FSF accepts donations, but the vast majority of its revenue comes from sales of copy of the free software and other services.

2.3 Copyleft

We've talked a lot about free software related things, but we have not yet given a clear definition of free software. Free Software is a kind terminology, as the term of free in English has two meaning, herefore often has been misunderstood - a matter of fact it had nothing to do with the price, the meaning of free here is meant for freedom. By the definition of free software, for a user: you have the freedom to run the program, and the program can be used for any purpose; also you can modify the program to suit your own needs.(In order to practice this freedom, you must be able to get the source code, because without source code, trying to do the modification of the program is extremely difficult.) You have the freedom to re-release copies of the program which can be free of charge or at a certain price.You have the freedom of releasing a version of the modified program, so that the community can be benefitted from the improvements you have made.

GNU's purpose is to give users freedom, not just to fight for a large number of users. Therefore, you must use some kind of release conditions, in order to avoid the GNU software falling into the proprietary software. Such a way Richard Stallman called it “Copyleft” 1.

Copyleft uses copyright law, but in the opposite way, in order to achieve usually the opposite purpose: a means of software privatization transformed into keeping software in free means.

The central idea of ​​copyleft is that to give any person the permission to run, to copy, to modify, as well as to release a version after modifying the program, but users is not allowed to add additional restrictions of their own. In order to ensure everyone has a free copy of “free” software, it becomes a non-alienation of right.

A related issue involves a free program is combined with non-free code. Such a combination will inevitably lose the origin of freedom. Therefore, a key requirement of Copyleft is plugging this loophole: any added or combined part of the free software are not allowed to attach other restrictions, in order to ensure the results of the overall free copyright(copylefted).

GPL (GNU General Public License) is the realization of the form of a kind of typical Copyleft. (About GPL, the fourth part of the this article will be described in detail exposition.) 3 Open Source Software

3.1 The proposal of open source software

Open source software as a policy document appeared for the first time in the release of Debian GNU / Linux Version 2. Due to the issues in the definition of freedom on Debian, later other software licenses no longer had the policy of free software defined clearly.In July 1997, Bruce Pernes as the leader of the Debian project at that time, drafted ” Debian Social Contract “ and ” Debian Free Software Guidelines “ to solve the existing problems. ” Debian Social Contract “ provisions that Debian system is fully established on the basis of free software; ” Debian Free Software Guidelines“ compares software licenses, so that it is easy to divid free software from the non-free software. [9]

In 1998, “The Catgedral and the Bazaar”, written by Eric Raymond [4], impacted on Netscape, thus Netscape planed to open their source. Netscape asked Eric Raymond for advice.Under the premise of not disclosed to the public, they designed a free software license. Raymond strived to let Netscape follow Debian's guidelines to make the software become a strict free software.

Raymond took the view that,”Debian the Free Software Guidelines“ is a correctly defined file of “open source software”, but it requires a more popular name, and needs to remove some of the professional terminologies of Debian.

Then Pernes and Raymond founded the Open Source Initiative (OSI),it is a specialized management organization of the open-source software movement and its certification mark. “Open Source Definition” (OSD) is precisely managed and carried and promoted forward by them. OSD is a guide that determines whether a software can be called open source software or not. OSD provisions of the standards of the of open source software:

1. Free Redistribution The license shall not restrict any party from selling or giving away the software as a component of an aggregate software distribution containing programs from several different sources. The license shall not require a royalty or other fee for such sale. 2. Source Code The program must include source code, and must allow distribution in source code as well as compiled form. Where some form of a product is not distributed with source code, there must be a well-publicized means of obtaining the source code for no more than a reasonable reproduction cost preferably, downloading via the Internet without charge. The source code must be the preferred form in which a programmer would modify the program. Deliberately obfuscated source code is not allowed. Intermediate forms such as the output of a preprocessor or translator are not allowed. 3. Derived Works The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software.

4. Integrity of The Author's Source Code The license may restrict source-code from being distributed in modified form only if the license allows the distribution of “patch files” with the source code for the purpose of modifying the program at build time. The license must explicitly permit distribution of software built from modified source code. The license may require derived works to carry a different name or version number from the original software.

5. No Discrimination Against Persons or Groups The license must not discriminate against any person or group of persons.

6. No Discrimination Against Fields of Endeavor The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research.

7. Distribution of License The rights attached to the program must apply to all to whom the program is redistributed without the need for execution of an additional license by those parties.

8. License Must Not Be Specific to a Product The rights attached to the program must not depend on the program's being part of a particular software distribution. If the program is extracted from that distribution and used or distributed within the terms of the program's license, all parties to whom the program is redistributed should have the same rights as those that are granted in conjunction with the original software distribution. 9. License Must Not Restrict Other Software The license must not place restrictions on other software that is distributed along with the licensed software. For example, the license must not insist that all other programs distributed on the same medium must be open-source software.

10. License Must Be Technology-Neutral No provision of the license may be predicated on any individual technology or style of interface.

3.2 Open Source Software and Free Software

Through the introduction of the free software and open source software before, we can already see the difference between them. Open source software and free software, we can say that they are the different camps of the same community. They are inconsistent in the matters of principle such as commercial and permits - free software is extremely unfriendly to commercialization ,very stringent licensing requirements, and open source software is far more forgiving. For example, the open source software can use the private library, and this is not allowed in the free software. The open source project KDE uses the library of the Qt, which was belonged to the private library until September 2000. But in the most the processes of practice, the two are high degree of unanimity - For example: the source code is available, the source code can be modified, and so on.

Some people, such as Richard Stallman, think that the proposal of open source software is ignoring the principles and spirit of the GNU Project, but is focusing on the meaning of a word in the potential to create a powerful, high quality software, which evading freedom, social and principles of these concepts. Therefore, the GNU project will continue to use the term of the “free software”, in order to said that the Liberal, rather than just technology, is the most important.

But on the other hand, some people think that we should see and have to admit that the practice of the open source software is more attractive to the eyeballs of the managers of the company and commercial users.So that it can make itself a more competitive force in the market, and also have more development potential.

More often, people inclined to accept the this argument: the open source software is a kind of market strategy that makes the free software become more charming, because through the licenses of the open source software (see the fourth part and the fifth part of this article), it promises of more freedom [10]. This means that as long as the source code is available and can be freely modified, then the open source license will not to stop people or company from to profit from the software.

3.3 Contrast Between Open Source Software and Others

The difference between the free software and the open source software have been described. However, in order to bring greater clarity to the relationship of open source software with other software, we need to get other software to do with some contrast (mainly in the form of licensing and distribution). To make it simple, there are two main types of software that need to do so. One is the free software (there's overlap between free software and open source software, here we mean those belong to open source part), the other is the private software.

For the free software, there are two divisions. One is the non-copylefted, and the other is copylefted. The free software of non-copylefted comes from those authors of software who do not have a statement of copyright reserved and allow you to modify the software and re-deliver it. In such cases, the modified version can be appended with more restrictions on, so that some of the copy (of modified version) perhaps might not be free at all. Public Domain is such an example of the non-copylefted. Things of the public domain can be said as your private property, you can feel free to use it whenever you need to , and you can do whatever you want to do with it. You can even re-deliver it with getting rid of the original public domain version, or deleting the author's name, putting it as is your own works. Through announcing copyright, and then using your own license, or just a simple announcement that “reserve the copyright” , a public domain software can be easily accounted as a private one. The other kind of free software is the copylefted free software, which is not allowed to have additional restrictions appended to the modified version of the software or further deliver shares of the software. In this way, all of the copylefted software, even it is have been modified, must also be the free software. A typical example is the GPL.

The private software is a “closed” software, because the source code is unavailable for the public. For the private software, there are strict restrictions on the use of the software, re-delivering or modifying, and others are prohibited. However in this type of software there are two special cases: Shareware and Freeware. They allow people to download, use and re-deliver, but it is almost impossible to modify. Because they are usually only released executable (binary) files. The difference between shareware and freeware is the period of use. If you want to continue using a shareware, you must pay a license fee. There is one thing that must be clear, do not be confused with freeware and open source software. It is not possible to modify a freeware, because the source code is not available.

According to these comparisons, it can be drawn in Figure 3-1 such a classification diagrams on software, open source software and other relationship is very clear.

Figure 3-1: Software Category

4 Common Open Source Software Licenses

GNU GPL, LGPL, BSD, NPL and MPL are the common definitions of open source software licenses. We will introduce and analyze them next.

4.1 GPL

General Public License, which is usually referred as the GPL. GPL not only is a software license, but also is a universal declaration of political. Due to the assistance of some of the Law Professors during the drafting process, thus GPL is much better well-written than the other same kind licenses.

The text of the GPL is itself copyrighted, and the copyright is held by the Free Software Foundation.But the text of the GPL is not itself under the GPL. Its license is very simple: permit any person to replicate and release the copy of the text of the license under the condition without any modification. But it is not allowed to change it. The text of an open source software license is usually not the open source software itself, at this point it is very important. Obviously, if anyone can modify the license, the license would be unable to provide any protection.

The terms of the GPL meet the definitions of open source software. The GPL does not need any term of fourth point of the open source software definitions “Integrity of The Author's Source Code”.

GPL does not allow the procedure of making changes without permission. Changed procedures must be released under GPL. Of course, the author of a GPL program is willing to accept other people's improvements, including the changes made by the commercial companies to meet their own needs.

(to be edit) GPL does not allow will the program GPL of the merger the best to the ownership of the a program. the definition of the GPL on the procedures of ownership to you and that is that the: the powers conferred by in the in the permit not as good as any one of the procedures of GPL multi-. GPL gaps were also present. It allows that the applicable to the is not are totally the procedures of the open source software in the. The software library is usually a with the compiler or the of the operating system that you are using be distributed along with the of the. It may be associated with a software GPL results become a part of the free program. The copyright owner, is usually the author of the program, he will GPL the used for program on the while the entitled to breach of the his own license. This is the in the Troll Tech so that Qt uses the open source software until a permit has, KDE 's the author of the issue of the way the used in the when the Qt the procedures is containing. However, this powers is no longer extended to the third party of the a letter procedures, they must to comply with on the all of the terms in the in the a license is, to including the which terms of in violation of by the copyright owner. There is a problem in the distribution contains Qt GPL program.

4.2 LGPL

GNU Library General Public License, or LGPL, GPL derivatives. It is for the software library and design. Unlike GPL, LGPL program can be incorporated into the exclusive copyright of the program. With the Linux system provided by together C language library is the LGPL an instance of the. It can be used to create a proprietary copyright procedures, or Linux only the author of free software useful.

The procedures of prevailing LGPL can up converted in the any time into a and when using existing the procedures of prevailing GPL. Upon such conversion, it can not be the LGPL program converted back to LGPL, or derived from it.

4.3 BSD license

The BSD license, is the to the X, Apache, the of the operating system of BSD (Berkeley System Distribution) project (FreeBSD, OpenBSD, NetBSD) adopted. It can be summed up as “Here is the code, how you want it to do on how to do, we do not care, but you're trying to do sales please give us credit. Usually the requirements of credit will be in the appears in the different forms of - advertising, or README file, or the printed matter document, and so on. It provides the most important promises - not a GPL unauthorized changes to the software license.

Join an existing project from a business perspective, this is the best of a class of license, do not have to worry about the future use or re-issue the permit or restricted. You can use their own proprietary code mixed with the software, and just released you think will help those parts of the project, helping to improve your returns. [11]

4.4 NPL and MPL

Netscape Public License, referred to as the NPL, that the is, If the Netscape are ready to the production of the open source software of their of the Netscape browser when to work, please development. In or rather, Mozilla is what it is open source version of. Netscape Navigator trademarks reserved for their own products. The of the an of the Important of the characterized in of NPL is not a it given to the Netscape Selected a in specialized of the PRIVILEGES, without including the other of Any person. When the after making changes to you look at the instructions in their software, Netscape there are for re-issue the privilege of the license on these change the. They can be will these changes take forcible possession of, and then make improvements, but refused to give you end up the results of. This provision was necessary because Netscape ready to join the open source software, and other companies have contractual commitments to them in a non-open source software licenses to provide Navigator.

Netscape developed the Mozilla Public License, or MPL. MPL and the NPL is very similar, but does not contain sequential Netscape are issued by the on the others to do the modification to and then. To the contents of the of the license.

NPL and MPL are allowed to unauthorized software modifications.

NPL is the Netscape is facing the when of the a special's business environment design, on the other software does not necessarily very suitable for. The Some companies have adopted the MPL a variant of, to do so it would be comparison unfortunate of the. However, NPL and MPL reserved. Because the significance of MPL lies in, REPRESENTATIONS the not mentioned in the certain key issues by the GPL or BSD. Of MPL authorized For the “issue of” change the is still the same MPL copyright carried out under Published, so that makes it to can be used to the return of the project. “Release” is defined as as source code files. This is important, because it allows the company to increase the interface of a proprietary code base, without authorization code libraries with MPL copyright - only authorize the interface has the MPL. Thus, this software can be more or less combinations of the commercial software environment.

5 Select the licenses

When the You decided to conduct the when of the an open source project, the must be faced with the problem of the select the license. Choose the what kind of license it? The problem of the following listed in need to be think carefully about.

Do you hope that the others to be able to without permission on the software make changes to Mody? If you ask others to will program source code in the after the change feedback to the you, you on the choice of like the GPL or LGPL to meet the so to the permit you the requirements of,. If the you do not mind to the others allowed to modify their procedures, this type of the allow the without permission modified license among the on the choice of the BSD is.

You whether to allow the some people to will Your software merged into their own the ownership of software in the? If the allows you to on the select the LGPL, it made it clear that to allowed to do so, but does not allow without permission on the your the source code make changes to. Can also choose to the BSD, so that you allows the without permission modify the source code.

Do you want others to be able to buy to Your have the commercial license, is not a open source software the version of Mody? If the hope that is In this way, issued for the your program the two licenses. Is recommended to Choose a specific GPL as a one of the open-source software licenses. And then select an appropriate commercial license.

Do you want to use your software to pay for this privilege it? If the hope that is like this, do not select the open source software. If you to meet the to in the There are part of the people pay-to you on the line, you on the be able to make your software to the become the of open source software. The majority of open source software authors focus on procedures contribution to reflect the social good, and do not care whether the return.

Table 5-1 combination of license instances are analyzed and compared. Table 5-1: instance of a license analysis and comparison of Licenses can be can with the non-free without permission carried out any people can and then in someone else of the software

the initial in the software to merge the changes, after the but also knot issuing licenses data subject to change

For programmers are committed to open source software project development, open source software is a belief, the leaders of the open source software movement depicts a bright future for these programmers;

For open source software integrated into the business operations of those companies, open source software reveals the open development how to build better software, and reveals how to use these open source software to get the advantage on the commercial competition;

For management and investors, the open source software the revolutionary pioneer who brought a whole new economic model.

The most credible forecasts on the future of open source software is its past: We have had nothing from the beginning to now become a strong software industry giant, able to solve a variety of problems to reach millions of users. We are now there is no reason to slow down the pace of advance.

[1] “The Linux Home Page at Linux Online”, http://www.linux.org/.

[2] “The Apache Software Foundation”, http://www.apache.org/.

[3] “Mozilla.org”, http://www.mozilla.org/.

[4] Eric S. Raymond, “The Catgedral and Bazaar”, O'Reilly & Associates, 1999

[5] G.Moody, “Rebel Code: Linux and the Open Source Revolution”, The Penguin Press, 2001

[6] C.Dibona, M. Stone, S. Ockman, “Open Sources: Voices from the Open Source Revolution”, O'Reilly & Associates, 1999

[7] Fang Xingdong, “the god of the freedom of the software industry - Richard Stallman,” Computer World ”, 1999

[8] Richard M. Stallman, “The GNU Operating System and the Free Software Movement”, 1999

[9] Bruce Perens, “The Open Sourcde Definition”, O'Reilly & Associates, 1999

[10] Cristina Gacek, Tony Lawrie, and Budi Arief, “The many meanings of Open Source”, 2004

[11] Brian Behlendorf, “Open Source as a Business Strategy”, O'Reilly & Associates, 1999

Footnotes: 1 in 1984 and 1985, Don Hopkins to Richard Stallman sent a letter on the envelope that says “copyright - all powers are reversed (Copyleft-all rights reversed).” So Richard Stallman decided to concept of Copyleft named was considered software publisher.

2 Debian early version of the Linux system, one of the most popular Linux distribution version. He fully established on the basis of the free software.

Computing Software

QR Code
QR Code open_source_and_licenses (generated for current page)