Skip to content

The GPL Isn't Fully Free

There are a set of popular licenses collectively known as copyleft licenses. The most popular one is the GNU General Public License (the GPL), which was created by the Free Software Foundation (FSF.md). Unfortunately, these licenses are not completely free because they restrict what users can do with the software.

Our goal is not to discourage GPL developers. We know many of them work out of a sincere conviction that they are helping the free software community. However, we encourage these developers to consider using a more free license. The GPL license hampers our effort towards greater user freedom.

GPL Restricts User Ownership

In a free society, users should have the economic freedom to own property. To create a truly free society, users should have:

The freedom to build and advertise their business

The freedom to profit from improvements they add to a free ecosystem

Owning property means you have the ability to control who can use it. If you are forced to share something, it's not really your property anymore. If you were forced to share your house with strangers you don't want to live with, life would not feel very free. Giving users the right to own property is essential in a truly free society.

The GPL, however, takes away the user's ownership rights. This is because the GPL takes away your exclusive rights to works you create:

If GPL source code is required to compile software, the user loses ownership of the entire program.

If a program statically links to a GPL library, the user loses ownership of the entire program.

If there are any patents associated with software under the GPL, the user must forfeit ownership of his patents.

If the user refuses to give up ownership of his modified work, a lawyer can sue him in a court of law# This is the unhappy condition of GPL users.

We would, of course, be happy for the user to share his work with our network under a free license. In fact, it is necessary that many users share, because without enough users contributing free software, we would not have a free network at all. But this decision should be left for the user to make, not for a license to dictate. The user should have the freedom to make his own decisions with his own property.

Just as every man has the right to eat the bread his own hand earns, every user has the right to own the software he has written. If a user spends his labor and money to create a new work, he should be entitled to use it, share it, or sell it however he pleases.

GPL Discourages 3rd Party Developers

With the GPL, you are forced to surrender ownership rights over your source code. As a result, it becomes practically impossible to sell software for a living. The FSF claims you can sell free software, but in practice, the price of the vast majority of GPL software is zero.

Very few developers can afford to work full-time on a project by surviving on donations. Many users are forced to treat GPL software as a hobby -- something done for fun, but unsuitable to earn a living. So instead of building up a healthy ecosystem around free protocols and free software, the GPL has forced these developers to instead build apps for non-free protocols and non-free software.

Free protocols like IRC are almost abandoned today because third party developers have no financial incentive to improve it. They have moved on to completely non-free app stores and networks.

Although we would love for users to contribute to IRCNow out of a spirit of generosity and a love for humanity, we must admit that the majority of third party developers will only contribute if they believe they can earn money. The restrictions of the GPL make it very difficult for developers to earn an income. And without a vibrant third party ecosystem of bots, games, apps, and services, a network isn't very interesting. It will struggle to get users.

Social networks like Facebook and Discord succeed in large part thanks to their strong third party ecosystem of apps and advertisers. In fact, even operating systems like Microsoft Windows succeed mostly due to their enormous third party ecosystem of hardware and software partners. Without financial incentives for third party developers, IRCNow will most remain too small and weak to make a positive impact on user freedom.

Not Everyone Can Sell Services

Many corporations earn money running GPL software, but it's important to note how they do it. They sell services built around the software, but not the software itself. This again is because the GPL forces them to surrender all ownership rights to the code.

Many companies will sell services like training, technical support, or consulting around GPL software rather than the software itself. Companies using this business model include RedHat, IBM, SUSE, and others. But this business model doesn't fit every project. Many projects are written by working-class users who do not have billionaire customers willing to pay huge premiums for support.

If you want to write a new game bot or chat client for IRC, do you believe your users will pay for a support contract? Is it reasonable to believe that users will pay money for a training course for an email plugin? Selling services makes little sense for most small 3rd party developers. We are not talking about making Silicon Valley richer. Silicon Valley does not care about free protocols like IRC. We are talking about helping the average indie developer who is struggling to earn a living. They need us to protect their rights to property ownership.

Software as a Service (SaaS) is often not free

Since the GPL makes it very difficult to sell software at a profit, businesses often resort to legal tricks to get around the restrictions of the GPL. These loopholes do not violate the letter of the GPL, but they certainly violate the spirit of equality and freedom that a free network should stand for.

As one example, many companies offer cloud computing or software as a service (SaaS). To earn money, many of these companies deliberately make it difficult for to run the software on your own computer.

Most of them will completely deny you access to the source code. They produce GPL software but you have no access to either the binary or the source. Since they don't distribute the software, there is no obligation for them to share it with you. And since you lack the code, you have no real voice in how the network is run. This is how the majority of cloud computing services work today. They use lots of GPL-licensed software but do not provide users with any freedom.

In response, the FSF created the Affero GPL (AGPL). The AGPL forces service providers to surrender ownership of their code. As you might expect, this again destroys all incentive to contribute to the ecosystem. Very few developers today earn money from code licensed under the AGPL.

Dual Licensing is a Double Standard

Another loophole used by GPL developers is dual-licensing. They will offer two versions of their software: one that you can buy at a high price, which gives you the freedom to do whatever you want with, and another that is GPL licensed, where you surrender ownership rights. Examples of dual licensing include NetBeans, MySQL, Asterisk, BerkeleyDB, Magnolia CMS, wolfSSL, and Qt.

This sneaky trick actually creates a caste system, a society with two classes: free software for the rich, and GPL-restricted software for the poor. If you can afford the high licensing fees, you can keep ownership rights to your work. If you can't, you must use software you can never own.

The FSF allows dual licensing out of necessity; it knows that without dual licensing, many developers would have no way to earn money. But this serious double standard cannot be ignored. It fundamentally contradicts the proposition that all users are created equal.

The rich and poor alike should have the same access to the code on our network. We should not be selling an enterprise edition for the rich and a community edition for the poor. Every user, no matter his social condition, should get the same access to premium quality code. Every user should have an equal opportunity to succeed on our network.

GPL Relies on Corporate Funding

In order to make a living, many GPL developers look for corporate sponsorships from Silicon Valley. For example, many Linux developers work full-time for IBM, Google, Microsoft, and Facebook. Their employer pays them to work on GPL code because it fits their corporate agenda. But does this make our community more free? Do we really want a patronage system where Silicon Valley controls and steers the development of our software? This will corrupt the ethics of a free community.

Silicon Valley is the sworn enemy of user freedom. It is naive to believe that Silicon Valley will donate money without expecting control and influence. Our community should avoid seeking their donations to avoid conflicts of interest. We should seek for financial independence. It is far safer to rely on donations and fees from our own users. These users can only afford to make these contributions if you allow them ownership of their work.

Donations are not a Business Model

Other GPL developers rely on donations from ordinary users. Here, there is no conflict of interest. But apart from a few celebrities like Wikipedia and Mozilla, the majority of developers who rely solely on user donations are starving. For example, the developer of GPG, an essential internet utility, struggled to survive on the few donations he received for his GPL-licensed work.

Selling branded merchandise like t-shirts and coffee mugs, asking for tips, selling DVDs and flash drives are all forms of donations. Customers are willing to purchase them because of goodwill.

Donations are nice, but they are not a business model.

GPL is designed for Corporations, not Users

The GPL is a complex legal document designed for corporations, not average users. It was written for copyright lawyers, so the document is hard to understand. Here is one example:

--> 7. f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors.

Most users (and even lawyers) simply resort to reading the License FAQ instead of reading the license itself. Others contact the FSF's lawyers for their interpretation. Few users actually understand what the license itself says.

Does it make sense to legally bind users to follow a license that you have not read? How can you be sure you are complying with a license you can't understand?

(:if false:)

Collateral Damage

unjust power

system of oppression

these are phrases are rightfully used against Silicon Valley, but they are not phrases we ought to hurl at small indie developers trying to make a living.

The problem is that many GPL users will attack indie developers as unethical and unjust, but will not criticize Silicon Valley when they slap a GPL sticker on it.

A nonfree program is a yoke, an instrument of unjust power.

With the goal of ending the injustice of nonfree software

Distributing a program to users without freedom mistreats those users; however, choosing not to distribute the program does not mistreat anyone.

Primary And Secondary Injustices

When you use proprietary programs or SaaSS, first of all you do wrong to yourself, because it gives some entity unjust power over you. For your own sake, you should escape. It also wrongs others if you make a promise not to share. It is evil to keep such a promise, and a lesser evil to break it; to be truly upright, you should not make the promise at all.

With proprietary software, the program controls the users, and some other entity (the developer or "owner") controls the program. So the proprietary program gives its developer power over its users. That is unjust in itself; moreover, it tempts the developer to mistreat the users in other ways.

The Injustice of Proprietariness

If the users don't control the program, the program controls the users. With proprietary software, there is always some entity, the developer or "owner" of the program, that controls the program—and through it, exercises power over its users. A nonfree program is a yoke, an instrument of unjust power.

advocates unfortunately encourages

The GPL gives developers a false sense of security

If a corporation wants to steal the code, they will

and if they don't want to share it, they will find loopholes to avoid doing so

(:ifend:)

GPL Enforcement Increases Power of Copyrights

GPL Restricts Code Reuse

These restrictions require a very complex license.

These restrictions make the GPL license incompatible with other software licenses. For example, ZFS uses the CDDL. This license is incompatible with the GPL, and so ZFS software cannot be legally included in the linux kernel.

This harms end users. The GPL, for example, is incompatible with the App store. This effectively means that it is impossible for iOS users to ever use GPL code.

GPL is Declining

The GPL became very popular because of the success of several flagship products, most notably the Linux kernel and the GNU C Compiler (gcc). As a result, the GPL was very popular during the 90s and early 2000s.

However, times are rapidly changing. The FSF today is no longer the same organization; it has replaced its founder, the creator of the GPL, Richard Stallman. Future revisions of the GPL now lies in the hands of a bureaucracy that may not be a trustworthy guardian of user freedom.

As for the Linux kernel, it has been subverted by corporate donors who have proven themselves hostile towards user freedom.

In general, there is a shift now towards permissive licenses, and this trend will only continue.

GPL isn't Neutral

The GPL is designed to force the control of the software into the hands of the copyleft community. On the other hand, permissively-licensed code can be taken by any users of any political ideology. It makes no distinction between copyleft or copyright parties. It is neutral and can unite both factions.

IRCNow License

The IRCNow license comes closest to the public domain ideal. The user doesn't need to read any license agreements, sign any contracts, or even give the author any credit. There are no strings attached. The user is free to do whatever he wants with it.