Author: Wei Jianfan

Everyone knows that using the Apache protocol is open source software, but is it free software?

Most people are hesitant.

Because the word “freedom” is kind of scary.

Many people assume that only software under the GPL is free software.

In fact, the Apache 2.0 protocol is also free software.

However, free software is not the same as copyleft, and that’s where people get confused.

This article is just a quick look at what open source software is, what free software is, and what copyleft is.

Who is in charge of the definition?

The definitions of “open source” and “free software” are in the hands of these two organizations.

The Open Source Initiative (OSI) maintains the definition of “Open Source” software and its list of approved licenses. The goal of the OSI is to promote and protect open source software and the open source community, and to promote awareness and adoption of open source software.

OSI was founded in February 1998 by Bruce Perens and Eric S. Raymond.

2. The Free Software Foundation (FSF), which maintains a definition of “Free Software” and a list of its approved licenses, promotes the freedom to research, distribute, create, and modify computer Software. The FSF advocates copyleft sharing (as stipulated in the GPL), but most free software is not copyleft.

FSF was founded in October 1985 by Richard Stallman. Its main job is to carry out the GNU project and develop more free software.

Both of these organizations are non-governmental organizations and both are non-profit organizations.

Perens had hoped that OSI would introduce ordinary people (non-hackers) to the principles of free software, but Richard Stallman felt that OSI was philosophically very different from him, and that OSI was too pragmatic and not as liberal as FSF.

However, it seems to me that the two may emphasize different aspects, but the effect is similar. The difference between open source software and free software is small, not fundamentally different. We’ll see that later.

Is “source code available” open source?

For people who don’t understand open source at all, they can only take it literally. They think that when the source code is released, it is open source software.

Of course not.

A piece of software whose source code is freely available on the Internet does not mean it is open source or free software.

A source code available software, what is the nature, depends on its license is how.

A license is a written agreement by a software author (or owner) that specifies what the user may or may not do, such as whether the user can copy, modify, redistribute the software, and so on.

Black Duck has counted about 2,600 licenses for software that is available from source code. The vast majority of these licenses do not meet the definition of “open source” 2. However, the 20 most commonly used licenses cover 98% of all source-available software, so we only need to know about those commonly used licenses.

The most used licenses are the following nine (OSI statistics 3), of which the first six are the most used.

1. Apache License 2.0 (Apache-2.0)

2, 3-clause BSD license (BSD-3-clause)

3, 2-clause BSD license (BSD-2-clause)

GNU General Public License (GPL)

GNU Lesser General Public License (LGPL)

6. MIT License (MIT)

Mozilla Public License 2.0 (MPL-2.0)

8. Common Development and Distribution License 1.0 (CDDL-1.0)

Eclipse Public License 2.0 (EPL-2.0)

You just need to understand the first few, such as Apache, GPL, MIT, BSD.

If you look closely at these licenses, you’ll see that they all give the user full rights and require very little, mostly just the retention of Copyrights, trademarks and so on. The GPL, the most controversial, simply requires that the source code of derivative works be made public.

Some people ask, what is this when I see a lot of software on Github without a license?

For a piece of software that does not carry any license, we do not know what rights it allows users to have, that is, the rights to copy, modify, and distribute it are uncertain and can only be determined by contacting the author himself. (Of course, since he has put the source code on the Internet, you still have the right to take a look.) If the software is placed on Github’s public library, the publisher has accepted Github’s terms of service, which give other Github users basic rights such as access to the project library or fork.

Define! Define!

The OSI definition of open source software here: opensource.org/docs/defini… In short, open source software must provide source code, allow modification and re-distribution, allow others to sell or give away for free, treat no one and no field discriminately, and do not restrict others to use, copy, modify and re-distribute in various inconsistent ways.

The FSF definition of free software is available here: www.gnu.org/philosophy/… The FSF proposes four freedoms. Software is free software if it provides these four freedoms.

Freedom 0: Users are free to run the software as they wish, regardless of purpose.

Freedom 1: Users can learn the software freely and modify the software according to their own wishes.

Freedom 2: Users are free to distribute copies of the software so that they can help others.

Freedom 3: Users are free to distribute modified copies of the software so that others can benefit from it.

Of course, since modification is involved, both DOF 1 and Dof 3 imply open source requirements.

By “freedom” in this definition, it means that these activities (to operate, learn, modify, distribute) do not require anyone’s prior permission, nor do they have to pay any additional fees for them.

The FSF also emphasizes that free software allows commercial users, commercial development, and commercial distribution. Commerce and freedom are not contradictory, money can be collected, but the user’s freedom cannot be deprived. Because the source code is open, license and give others a variety of freedom, so there is no that kind of trade secrets or patent protection brought by the windfall profits, free software commercial charges are mainly the cost of copying software, software to provide maintenance cost, training costs and other service costs, not what big money.

But enterprise versions of open source software are different. Enterprise versions are usually not open source, they’re not open source or free software, they’re under commercial licenses, and even if they give you the source code, they have a lot of restrictions.

As you can see from the above definition, open source software and free software are virtually the same. Even the FSF acknowledges this on its website 4:

“Open source software and free software are more or less the same kind of software, though not exactly the same: open source accepts some licenses that we think are too restrictive, and some free software that we approve they don’t. But anyway, the difference is small: almost all free software is open source software, almost all open source software is free software.”

On the OSI website, 5, maintains a list of licenses that the OSI considers to be conforming to the definition of open source software. The nine licenses listed above are conforming to the definition of open Source software.

The FSF website maintains a list of licenses that the FSF considers to be eligible for the definition of free software. The nine listed licenses are eligible for the definition.

You can also get classified information at SPDX 7, which maintains a list of nearly 400 licenses that are FSF accredited and OSI accredited.

“Comparison of free and open-source software” was quoted at a Wikipedia forum in Beijing. 8

What is a copyleft

Now that we know that software under the Apache license is free software, is it copyleft software?

Answer: No.

Copyleft is not good translation, there are currently “copyright open”, “copyright belongs to the left”, “left version”, “zuo right”, “copyright left”, “version responsibility” and other translations, but has not been universally accepted and adopted.

So let’s talk about copyrigh.

Copyright, also known as copyright, is the right of the author to his work. Copyright is literally concerned with the right to copy. After a piece of software is sold to a user, the user cannot copy it without the author’s permission (for example, if you use it on one machine, you cannot install it on another machine). In addition, unless the author gives permission, It can’t be modified, released, etc.

So, traditionally, we can see the expression: Copyright © 2004 XXXX. All rights reserved. This is “copyrighted”, meaning that the copyright holder retains all rights to his work and only opens up what he licenses.

Below is a sample copyright notice.

Copyleft is much more generous, essentially giving all rights to the user. Richard Stallman has explained the origin of the term copyleft:

“In 1984 or 1985,DonHopkins(a very imaginative guy) wrote me a letter. He wrote something funny on the envelope, including: Copyleft — All rights reversed. So I used the word copyleft after the concept I was thinking about for software distribution.” 9

Like free software, copyleft is not strictly defined. It is a very broad concept. The FSF definition of a copyleft: “A copyleft is a general method by which a program is made free software and derivative programs are required to be free software as well.” 10

Copyleft is a general method for making a program free software and requiring all modified and extended versions of the program to be free software as well.

According to this definition, copyleft software is naturally a free software, but there is more than one requirement for users, that is, the copyleft license requires that the modified copyleft software must also be distributed as copyleft software. This is what people call “contagion.” If you use open source software, you have to open source your modifications and additions.

Note: In this article, a copyleft license is a license that satisfies a copyleft definition, such as a GPL license. Copyleft software is software under a copyleft license, such as Linux (under the GPL).

A copyleft does not mean that there is no copyright. A copyleft is still a copyright, but all other rights have been released.

In my opinion, the author only gives himself one copyright, so a copyleft is a copyright only.

Copyleft gives programmers freedom and limits their freedom (not to modify closed sources). In the FSF’s view, restricting programmers’ freedom is to give the world more freedom, so it’s just.

Copyleft guarantees that free software will always be free. A copyleft software should always be free from birth to death, from source to tributary. Flow freely and smoothly from upstream to downstream, without obstruction, which can be immediately sued for violation of a copyleft license.

“Commercial software deprives users of their freedom through copyright,” the FSF said. “We use copyright to give them freedom. That’s why we call copyright copyleft.”

The FSF also specifically explains why the software is not put directly into the public domain. It believes that by putting the software in the public domain, some people will be able to privatize derivatives by modifying some or very little of the software. Thus reducing the freedom that people should have.

In Stallman’s philosophy, information assets (including programs and software) should be public rather than private property, just like mathematical formulas and theorems. Operating systems, compilers, databases, browsers, TCP/IP protocols — all of them — should be open source, available for anyone to use and improve, and the improvements should remain public. Essentially, the idea is that people on the planet jointly own the means of software production (mainly software, such as GCC), jointly produce and jointly own the products of labor (such as Linux), which is essentially the demand of the left, and the opposite of the private ownership advocated by the right.

Now you can think about it, who is more afraid of freedom?

Some copyleft licenses

The most famous copyleft is certainly the GPL.

LGPL is also copyleft, but weaker, so if your software just links glibc (using LGPL), you don’t have to open source your own code.

AGPL is a very strong copyleft license that requires you to make the source code public even if you don’t distribute it, as long as you’re providing a cloud service with free software.

The WatCOM-1.0 Sybase Open Watcom Public License 1.0 is a stronger Copyleft License that allows you to expose source code whenever you “deploy” (as defined by the License), even if you’re not providing a cloud service but only for internal use within your own company.

Copyleft is a broad concept that can be applied not only to software but also to documents. GFDL is a free documentation license proposed by GNU, which uses GFDL text works and allows others to freely use, modify, reprint, etc., including commercial use, provided that derivative works also use GFDL.

Cc-by-sa is also copyleft, similar to the GFDL, but not compatible because both require derivative works to use their own licenses. Take a look at this article: “Copyleft and GFDL Licenses” 11.

Why not support freedom!

Finally, for comparison, let’s look at a license for proprietary software (as opposed to open source, free software, or copyleft software). Learn about the limitations of proprietary software on user freedom.

In the terms of Microsoft’s software license, there is a section that describes the restrictions on users’ rights 12:

SCOPE OF LICENSE.

The software is licensed, not sold. Microsoft reserves all other rights. Unless applicable law gives you more rights despite this limitation, you will not (and have no right to):

1.work around any technical limitations in the software that only allow you to use it in certain ways;

2.reverse engineer, decompile or disassemble the software;

3.remove, minimize, block, or modify any notices of Microsoft or its suppliers in the software;

4.use the software in any way that is against the law or to create or propagate malware; or

5.share, publish, distribute, or lend the software, provide the software as a stand-alone hosted solution for others to use, or transfer the software or this agreement to any third party.

Translation:

Scope of permission.

This software is licensed and not sold to users. Microsoft reserves all rights not expressly granted herein, and you may not (and are not entitled) to do the following unless you are entitled to do so by applicable law:

1. You shall not bypass the technical limitations of the software, and you shall only use the software in the way permitted by the software;

2. Reverse engineering, decompilation and reverse compilation of the software shall not be carried out;

3. Do not delete, minimize, block or modify any statements made by Microsoft or its suppliers in the Software;

4. Do not use the software in any illegal way; Do not create or distribute malware;

5. Do not share, publish, distribute or rent the software; The software shall not be provided to others as a separate hosting scheme; The Software or this Agreement shall not be transferred to any third party.

See, even if it’s just a binary file, proprietary software has restrictions that protect its ability to make money.

And free software not only gives you the source code, but also gives you all kinds of freedom, in order to promote the freedom of the entire human race.

What reason is there not to cherish and support this freedom!

At the end of this article, I have a graph that illustrates the relationship between different types of software, from the FSF. 13

Now, your heart is much brighter.

Open source software and free software are pretty much the same, but copyleft has stronger ideals and beliefs.

Either way, pick a license you like and go!

Note: This photo is from silicon Valley season 5


  1. zhuanlan.zhihu.com/p/20784520 
  2. www.synopsys.com/content/dam…
  3. Opensource.org/licenses/ca…
  4. www.gnu.org/philosophy/…
  5. Opensource.org/licenses/ca…
  6. www.gnu.org/licenses/li…
  7. spdx.org/licenses/ 
  8. En.wikipedia.org/wiki/Compar…
  9. www.gnu.org/gnu/thegnup…
  10. www.gnu.org/licenses/co…
  11. www.ruanyifeng.com/blog/2008/0…
  12. Support.microsoft.com/en-us/offic…
  13. www.gnu.org/philosophy/…