In defense of GPL

When I first started coding, GPL used to be the most popular license for open source projects. It was the go to license for someone dipping their toe in the FOSS world unless you're developing software for FreeBSD.

But over the past few years, companies have pulled a brilliant coup d'état and convinced the up and coming programmers that GPL is a virus. If you release your software in anything other than MIT or BSD license the programming community looks down upon that contribution.

Recently I've been seeing a lot of open source maintainers complaining about companies that use their software and demand bug fixes or features but hardly contribute any code or money towards their projects. 

This is the exact problem that GPL was designed to solve. If a company finds value in your code and decide to build upon it, they can either contribute back to the community by making their product open source or pay you for an alternative license that allows them to keep their code closed source.

OpenSource is Socialism. People do OpenSource because they enjoy doing it or they stepped up to fill a need. In a socialistic community, you're not paid for the end product and sharing (or forking) is encouraged. But commercial companies operate on the principle of Capitalism. They're trying to maximize their shareholder's value. Trying to appeal to a capitalist entity to support a socialist endeavor will not work. This is the reason why GPL is designed the way it is. GPL protects the OpenSource source ecosystem from the exploitation of capitalist entities.

But somehow the programming community decided that permissive licenses are the way forward. This is further encouraged by commercial companies because now they can use all this quality software without paying a penny or contributing back to the community. This erodes the OpenSource ecosystem in the long run because we are building software on the ashes of thousands of burnt out programmers.

This is where we arrive at a fork in our journey. 

Should we all use GPL? No.

If you're doing OpenSource because you love what you do and want to see your work used by as many people as possible, go with a more permissive license. But don't expect companies or users to pay for the product. This is never going to work.

There is nothing wrong with trying to make a living through OpenSource. Dual licensing with GPL + paid commercial license is a fantastic option. Don't succumb to the ivory tower programmers who demand all OpenSource software must be permissively licensed. If a company wants to build their profits from your software, there is nothing wrong with asking them to pay your fair share.

If you do take the more permissive license route, take care of your mental health and take steps to prevent burnout. Because whether you like it or not it's coming.