Notes on open source vs free software
Socialism and Communism have a lot in common, both ideologies aim to bring an equilibrium and welfare in the society by removing the income inequality between the rich and the poor. However, how they both go about doing that job is what makes the difference between sky and earth. Whilst Communism does advocate the use of force to achieve its aim, Socialism does not and that’s the major difference of spirit between them. If you remove this force element, you’ll find that they are both pretty much the same thing with only technical differences here and there.
Coming to the world of software, it’s a similar case when it comes to GPL (free software or copyleft) and non-GPL (open source or liberal) variety of FOSS licenses. The GNU GPL forces their ideology upon the user of the software by expressly restricting him/her to the kind of use cases permitted on the said software:
> To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
This restriction or force factor is what makes GPL or LGPL less desirable than the other more liberal (also called “open source”) licenses, just as the communist ideology is less desirable than socialist ideology by most people.
On the other hand, consider a liberal open source license such as the MIT license. This license doesn’t force anything on how the software may be used by the user (except that the license header itself carrying the name of the author should be passed around with any distributed copies):
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
They may use it in any kind of use cases they please, even include it in a closed source or proprietary software if they want. Similar is the case with other open source licenses such as the BSD Modified licenseor the Apache 2 license. None of these licenses force their users into any kind of restrictions, which is probably why they are more popular and used than the copyleft variety of licenses today.
Finally, coming to the point of contrast between the copyleft and open source licenses, you’ll find that they are all ultimately trying to achieve more or less the same goal, though some would strive for an excellence methodology in software development while others would term it as a struggle for users’ freedom depending on what viewpoint you choose to look at it.
Now, the reasons for GPL restrictions and their ideology are quite understandable, but the way they go about implementing it is certainly not ideal from a practical standpoint. Stallman’s approach of making copyleft software unusable when linked with non-GPL or proprietary code is like a child’s tit-for-tat attitude. Just as proprietary software companies won’t let you use their software without a license and make it unapproachable to those who don’t have it, Stallman wants to make the GPL world unapproachable to the proprietary companies by making this restriction on mixing GPL with proprietary code. In a perfect world (consisting of mostly power users who would rather visit support forums and do their own builds than use proprietary software), this may have worked wonders to Stallman’s cause, but unfortunately we don’t live in such a perfect world!
On the other hand, the open source or liberal licenses that don’t put any restrictions on its usage serve the purpose of everyone and so everyone is happy and thrives in this world. Power users are happy because they no longer have to use privacy invasive and/or bloated proprietary software as they can compile their own builds or even visit support forums or issue trackers of various open source projects if required. On the other hand, proprietary software companies are also happy as they get to use the fruits (source code) of open source contributors without spending anything on their part. Of course, taking the moral cognizance of these fruits, many of them also do tend to contribute back by either financially supporting other open source projects or releasing their in-house developed source code as open source to the world at large. There are several examples of these such as Microsoft’s Visual Studio Code, Adobe’s code editor called Brackets.io, Apple’s Swift, etc. Now, consider that in a Richard Stallman’s “pureland GPL” world, we wouldn’t have all these contributions back from the proprietary companies!