On "GPL is a trap for software developers"

On "GPL is a trap for software developers"

[[381740]]

This article is reprinted from the WeChat public account "Weiyuerenhua", written by Wei Jianfan. Please contact the WeChat public account "Weiyuerenhua" to reprint this article.

Searching for "Stallman GPL" in Baidu, the first result is "A Comprehensive Analysis of the GPL Agreement - GPL is a Trap for Software Developers" (http://www.stallman.cn/38), which is an article fiercely criticizing GPL and Stallman. The website is called "Stallman and GNU Movement Review" and the domain name is stallman.cn. This is really interesting. A quick glance at it greatly aroused my desire to debate.

The website blatantly claims: "Richard Matthew Stallman (RMS), the founder of the Free Software Movement (GNU), the former chairman of the Free Software Foundation (FSF), a fighter against intellectual property rights, an XX faction, an extreme leftist who wants to show his support to XXX, XXX, and other XXXXX, was revered as a top hacker and spiritual leader, but he is a thing of the past. The purpose of opening this website is to get back to the basics, break the superstition about RMS, expose the essence of the GNU movement, and eliminate the poisonous ideology of GNU to the greatest extent possible."

This style of writing gives me one feeling: it’s too arrogant.

Must fight back!

The article does not directly indicate the author, but after looking at the bottom of the website page, the author should be a person named "Xiao Na" (he seems to have another website called linux.zone).

In this article, I have severely criticized the entire text of GPLv3 in the form of annotations, and the translation version I chose is Ruan Kunliang's version1.

The GPL itself is difficult to understand. Although Ruan's translation is very good, I still don't understand many parts. There are many parts that I claim I don't understand, and there are many parts that I completely misunderstand. I won't talk about these parts and just ignore them.

Let me talk about some arguments that may have some market value, which to some extent reflect the confusion of some people.

Note 1: The GPL in this article does not refer to a specific version, although it mainly refers to v3.

Note 2: Many of the examples of open source software cited in this article are not GPL software, but they are just examples, so don’t get too hung up on them. Just as I seem to criticize GPL, in many places I am more criticizing the spirit of open source.

Note 3: The "GPL software" mentioned in this article refers to software released under the GPL license.

[[381741]]

Image from The Dig (Does the guy on the right look like Stallman?)

The main fallacies and myths in the article are listed below and commented on one by one.

Looking through the article, my confusion is mainly the following five points:

1. Why only consider users and bully developers?

I said: "I recently read the Chinese version of the GPL agreement carefully and found that it is full of unfair clauses targeting developers. It does not distinguish between the main party (developer) and the guest party (user) of open source, and keeps emphasizing user freedom, freedom, freedom. At first glance, it seems beautiful and deceptive, but if you think about it carefully, this agreement that only considers users has a wrong premise. Without the developer's code, where does the user's freedom come from?"

This person may not have figured out what the concept of "users" of open source software is. As far as I know, all those who are interested in source code are programmers and software companies. Haven't you seen that all those big Internet companies are heavy users of open source software and open source code?! Those so-called software engineers and architects who are mixed in various software companies, various parties A and B, which one of them is not highly benefited from open source software and open source code?

From Linux to Android, from MySQL to Postgres, from Hadoop to Elasticsearch, from Apache to Nginx, from Docker to Kubernetes, which big company has not used them? Which code is for end users to see?

Therefore, the biggest beneficiaries of open source code are developers, software companies, and Internet companies.

Therefore, the freedom given by GPL is enjoyed by developers the most!

However, the future world will enter the world of software, and everyone will become a programmer. Free software will ultimately benefit everyone.

2. GPL is self-contradictory. Is it free or paid?

I said, "The entire GPL is the wishful thinking of a small group of people, full of self-contradictory statements. One moment it says that so-called freedom is not free, and the next moment it says that open source must be free. I really don't know how many internal struggles it took to form such a text!"

It seems to me that I did not fully understand some of the descriptions of GPL that allow charging fees, especially his understanding of Article 10 was completely wrong (I mistakenly thought that "once you charge for the first time for free software, you cannot charge again", which is not the case at all. If you have time, you can take a look at my "GPLv3 Interpretation in Human Language").

In fact, Stallman is also a human being. He knows that programmers need to eat. He once made a living by selling Emacs, so he is not opposed to charging fees.

The following is the part of GPL regarding charging that I have compiled to help me and those who don’t understand this.

GPL considers the following types of services to be charged:

1. You can sell open source code written by others.

For example, you can sell Linux kernel source code. Even if you have never written a line of Linux code, you can still sell it, and you can charge any amount of money.

But the logic here is: if you will download it, others will also download it, so why should others buy it from you? Unless they don’t know that it is open source.

Or, unless you organize it well, package it beautifully, make it very convenient, and charge a low price, then someone will be willing to pay for it. (Just like some paid Linux distributions)

Last year, someone bought an open source program called "Xinfeng Mall" on "Xianyu". He sold it for 30 yuan, and some people actually bought it because he also taught people how to build it step by step!

The author of "Xinfeng Mall" is not interested in doing this.

2. You can sell other people's code that you have modified.

You can charge whatever you want, as long as you think people will buy it.

Don't overestimate other people's interest in buying your modified code.

It's like if you modify the source code of Vim and want to sell it, how much do you think you can sell it for? So there is no need to set a price limit for you.

3. You can sell target codes.

The so-called target code can be simply understood as executable files.

Typically, all commercial software sold is actually object code.

You can sell the object code for any price, but you must provide the source code for free or at a price no higher than cost.

Since you provide the source code, others can also make the target code and sell it, so the bidding begins.

Since the author (which can be a company, team, etc.) is more authentic and authoritative, it can be sold at a higher price, after all, everyone recognizes him!

Why is it said that there should be a price limit for source code (free or not higher than the cost price)?

One reason I can think of is that for a GPL software, if you are the author or the author of derivative works, you charge 100,000 yuan for the software and 10 million yuan for the source code (if there is no price limit), since the source code is only in your hands, it is almost not open source, because ordinary people can't afford it. Unless someone spends 10 million to buy it and put it online, everyone can get it for free.

4. You can collect maintenance premiums.

That is to say, you help install the software, help solve problems and faults, help upgrade and patch, and help check regularly to see if there are any abnormalities. I think this kind of charge is normal. This is a service fee and a typical business profit model (such as Red Hat subscription).

Most parties who have some money will purchase a lot of maintenance services to ensure that no one will cover their losses if something goes wrong.

5. Other situations that are not within the scope of GPL.

You can make money in any way that does not violate the GPL or is unrelated to the GPL, such as making money by providing cloud services using GPL software (there are too many people doing this); you can make money by using your reputation; the original author can make money through dual licenses (mentioned below); the original author can also make an enterprise version (that is, proprietary software) with more functions to make money.

Note that the above only describes situations where charging is allowed. There is another clause (Clause 10) in GPLv3 that explicitly prohibits charging:

You cannot charge copyright fees, patent fees, licensing fees, royalties, etc. for GPL software. The authorization can only be free.

3. Writing code is so hard, why let us do it for free!

I said: "Coding is a very hard activity, sometimes it can even be described as painstaking and exhausting. In this case, the legitimate rights and interests are deprived by GPL. Isn't it courting death?"

My comment: If you are the original author of a software, no one forces you to open source your code, and no one forces you to use GPL.

For the original author, whether to use GPL is a voluntary and independent choice.

But if you just took someone else's GPL source code and made some changes, no matter how hard you work, you still have to contribute the source code.

The reason is very simple, you use my code for free, you should give something back, right? This is fair!

If you don’t agree, just claim to be the original author.

There are many advantages to being an original author. You can choose not to use the GPL, and even if you use the GPL, you can still use another license to sell it specifically to companies.

Some people may find it strange that a software that has already used GPL can also be sold under other commercial licenses?

Yes, because you are the original author and the copyright holder, you can grant GPL authorization to some people and other licenses to others.

Some people may say, since there is open source, why would anyone buy your other licenses?

There is such a situation: an enterprise wants to use a certain open source software, but does not want to make its modified version open source. At this time, it can pay the author to authorize its modified version without the need to open source it.

To put it bluntly, it means "spending money to avoid infection."

Section 5 of the GPL says: "This License does not allow you to license derivative works in other forms. But if you have permission from the owner, then you can."

MiniGUI adopted this dual license model and earned tens of millions of yuan in software license fees from 2007 to 2012 alone.

4. Why do developers only have a name but no rights?

I said: "The GPL agreement is long and has only one purpose: to "ensure the freedom of users", and this freedom is absolute freedom. As for the rights of developers? There is only one: to declare copyright, but this copyright is just a false name."

My comment: In my entire life, I have found that there are some people who just refuse to believe that there are people in this world who can make selfless contributions.

Based on my understanding of human nature over the years, if a person is selfless and dedicated, the sense of achievement, superiority, and prestige he gets would have already satisfied him many times over. What else would he need?

5. How to make money if the source code is open?

GPL Article 6 states that object code can be charged, but source code must be free (or not more than the cost). I commented: "This is a big convenience for peers (English counterparts). With free source code, what's the point of charging for binary packages?"

My comment: Yes, with the source code, theoretically everyone can make the target code.

Therefore, the object code of open source code is usually not charged. I have downloaded the object code of many open source software and have hardly seen any charged.

But the original intention of GPL was not to make a lot of money.

It's like you can't complain about a charity saying it makes too little money.

If you want to make money, you have to rely on other methods. You can't make money by establishing or joining a charity.

Conclusion

How to put it, a very realistic and narrow-minded person cannot understand a person with ideals and feelings.

A person whose mind is full of capitalism cannot understand communism.

<<:  Why is the 5G signal weak and the network keeps dropping? Here is the truth

>>:  Message bus for communication between processes

Recommend

Network knowledge: Detailed explanation of DNS access principle

Today I will introduce the DNS access principle t...

...

Why should enterprises choose SD-WAN?

While MPLS still dominates the WAN market, no ent...

5G will revolutionize the Internet of Things, but not soon

5G technology is the most anticipated network upd...

China's three major operators will be delisted in the United States on March 9

On January 28, China Telecom, China Mobile and Ch...

Wi-Fi 6 and cellular networks are powering a hyperconnected future

Wi-Fi 6 is maturing into a new role as a compleme...

Highlights | Speech content of the 39th GTI seminar (2/2)

Previous: Highlights | Contents of the 39th GTI S...

QinQ basics, VLAN double-layer TAG, learn in one minute

1. Introduction to QinQ The VLAN ID field defined...

The only way an OSPF router cannot become a DR/BDR is: DR priority = 0

After learning the DR/BDR selection rules in OSPF...

China Unicom begins deploying 2G network and stops all services

2G outdated communication technology will inevita...