I believe that there is only one way to do software right, and that is by developing in the open, giving source code access to all who would wish for it. I use the free and open-source adaptations of everything, such as for Java and Adobe Flash, unless there is no such working adaptation in existence.
The great thing about the GPL is that it guarantees this freedom and open-source nature for the life of the software. The source code must always be available, unconditionally, for every developer that wishes to improve on and publicly release the code.
Now, this therefore seems like the perfect licence for the free and open-source community, but is it really that free?
I don’t particularly agree with the fierce activism of the Free Software Foundation unless I’ve had an earful that day from a Windows or Mac user preaching about the superiority of closed-source, proprietary systems over open-source, free systems. That is when I really see the necessity for the Free Software Foundation, and thus it makes sense to protect our code with copyleft licensing.
But the issue is that the GPL, spreading virally and forcing more and more freedom and open-sourcing in the entire community, ignores all other open-source licences. Take this for example: a BSD project develops a device driver and releases it under the Simplified BSD License. Members of the GNU/Linux community take this code, improve further on the code, and then release it under the GPL. Now, this presents a major problem: it just fragmented the two development trees of the BSD and GPL communities.
Due to the GPL’s terms the original BSD developers cannot merge any new improvements made by the GPL developers, but the opposite can still occur. In a sense, this is reflective of what the GPL fights against: the stealing of code by proprietary companies. Unfortunately, however, virtually the same thing has occurred in this example, with the only difference being that the GPL’d source code is available, but untouchable unless the BSD developers re-license their code to the GPL. This is a saddening example of dominating nature of the GPL; its viral spread demands GPL adoption, or creates fragmentation within the free and open-source community, between the GPL supporters and everyone else.
The above example actually happened with an Atheros driver, published with a BSD license. Instead of improving on the original development tree, a fork was made and licensed under the GPL, creating a divide that it so commonly creates. How is this helping the spread of free and open-source software?
Demanding freedom by force and lawful extent is not the way to get people to believe in a cause, because only the true supporters of an idea can follow it without persuasion. Freedom by forcing all to abide by your interpretation of the concept is akin to communism: you are welcome within the GNU community, until you start opposing their ideals - in other words, messing around with the GPL and its heavily political nature. And that is when the GPL kicks you out of its community, and you generally end up in the BSD camp.
The terms of the GPL are about fairness: a common notion is that when getting paid to develop for a company, you are paid to develop behind closed doors. When you are working with the open-source community, it is only fair that what they get remains free forever, for all who support and uphold the ideals of the GPL. For any of those who wish to violate these terms by making the software proprietary, GNU will deal with you.
Perhaps in theory the GPL appears to be the perfect licence, but as depicted in the above example, fragmentation in the open-source community due to the GPL is a common problem. For GNU, it is either the GPL way, or no way, even if both ways are free and open-source.
While the GPL provides great protection against proprietary companies, it comes at a great cost to the rest of the open-source community. Any code touched by the GPL means that any following renditions to the software will also be licensed under the GPL, generally overriding the terms of permissive, copy-free licences preceding it. This is seen as immoral, ignorant, and counteractive to the common goal of a free and open-source world.
When using permissive licences there is a perceived risk, that anybody can take your code and turn it into proprietary software. But this does not render the original open-source project as useless. In the vast majority of cases, the proprietary companies will want to work with the open-source project to help further development together; it is cheaper for the company, and arguably of a better quality since the project is guided by the visions of the developers, and not the company. This is an example of mutual benefit: to have the open-source and proprietary worlds co-exist as one, instead of the image engendered by the Free Software Foundation of the proprietary world as evil, and therefore being kept isolated from the open-source communities.
If the company is serious about development, it will pay the developers to work on the project. The project remains open-source, and while there is a proprietary product based off of it users can always choose the open-source option. It does not simply vanish because of the interests of a business.
The next time you start work on a project, instead of again selecting the GNU GPL licence it may prove beneficial to consider the choice more carefully. It can be difficult to accept the openness of permissive, copy-free licences because of the Free Software Foundation’s portrayal of the proprietary world, but the only way that open-source can survive in a proprietary environment is through permissive licensing. Without it, we will forever have this unabridged divide between the fiercely campaigning GNU supporters, and the capitalistic businesses eager to maximise their profits. Instead of focusing on keeping free and open-source software free by eliminating all other non-free possibilities, it is much less costly - and far more friendly - to reach a common agreement between the two camps; to make peace, with a permissive licence.