X
Business

Why I won't use GPLv3 software

I've discussed in the past some of the problems I have with the GPLv3. I still don't understand why the FSF insists that hardware vendors allow the software on their systems to be modified.
Written by John Carroll, Contributor

I've discussed in the past some of the problems I have with the GPLv3. I still don't understand why the FSF insists that hardware vendors allow the software on their systems to be modified. Hardware companies, in my opinion, should have the right to control the design of their own products, but as some will surely point out, they have a choice NOT to use GPLv3 software. I think many will make that choice, at least those worried about support issues on consumer devices not designed to be user-modifiable.

But this bit is the clincher for me. It was the case under GPLv2, but is made more explicit in v3:

The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License.

I understand that MODIFICATIONS to the source code of a GPLed product should be released to the community. If I fix a bug in code, or add new features by modifying that source, the community nature of the project dictates that those changes should be released.

Simply LINKING to a GPLv3 product, however, does not constitute modification (for those not familiar with software linkage, it's a bit like calling a phone number; how that call actually makes its connection is immaterial, and bears no relation to the type of device used to make the call). This is just simple bad-tempered wall building between proprietary software and GPL software, simply because Stallman and company consider proprietary software to be evil.

Granted, LGPLv3 code isn't subject to this restriction, and I will consider use of such code in my own personal projects (well, those which don't require a specific software combination on hardware). I'm not interested in perpetuating artificial walls between programming domains, however, even on projects where I have no interest in keeping the source code private. I see no reason to prevent others from linking to my product and keeping the code for that conceptually and logically separate part to themselves.

But hey, if I was instinctively opposed to proprietary software, I wouldn't work for Microsoft. Just don't confuse an appreciation for proprietary software with a wholesale rejection of projects oriented around sharing of code. I consider both to be wellsprings of innovation, and that's why I find pure GPL (as opposed to LGPL) software to be an unnecessary nuisance.

Editorial standards