Stallman is indeed a fundamentalist. His goals are just fine - but he's about as remote from what a typical software engineer is as it's possible to be. That's OK, he's the idealist - and that lets the rest of us be pragmatists.
GPL is great for complete software packages - emacs, gcc...that kind of thing. But for libraries, it sucks. That's why we have LGPL. Sadly, there is a lot of anti-LGPL rhetoric out there https://www.gnu.org/licenses/w...
I think we need something like that for OpenHardware. The ability to use a piece of OpenHardware design in a closed-hardware ensemble without hiding the open part of the design...putting a BeagleBone inside my (commercial) 3D printer perhaps.
Keep that in mind - while I consider why LGPL is a good thing for *parts* of systems.
I get paid for writing software - I need that money to by food, clothing, housing, transport, etc. When I put something out into the public domain it's because I expect to get a fair trade out of it - I give you my software - some of you give me back bug fixes, improvements, etc. My gift to you is repaid to me - possibly in just a small way - but possibly many, many times over...it's a fair trade for some kinds of software - but not for others.
Yet when I open-source a game (I've actually done this) - I got 300,000 downloads in the first month - a lot of thanks and ego-boosting praise - but almost zero actual tangible benefits in return (one guy - a musician - sent me a new, original music track). But if I open-source a library (and I've done that too, on many occasions), then with only a tenth the number of downloads - for years to come, my library was polished, fixed and improved - for free! That's because users of libraries are software engineers, and they are capable of helping out - players of games are typically not.
I learned my lesson - and I mostly OpenSource library code - or complete applications that programmers are likely use the most - these things give me a return on my work.
With a library, we need to allow the maximum number of people to use it in order to get constructive input. If I use GPL, it effectively causes all users of my library to have to license their application via GPL (or similar) too. That cuts out 100% of all commercial users and a large chunk of potential OpenSource users. The only people who can use my code are those who are working on GPL'ed applications - and those are a small minority. With LGPL, I can force the library sources to remain free - while allowing the maximum possible number of users to want to help with the maintenance. This gives me my best return on investment.
So it makes sense to have an LGPL-like license for hardware components - the BeagleBone inside my 3D printer design, for example. Keep the BeagleBone "open" and "free" while allowing me to use it in some larger project that I can sell to keep the lights on.
But for Stallman, this is a religious matter - he's trying to get me to use GPL on my library in an effort to leverage more GPL'ed applications out there. That's a nice goal - but it not one that a typical working programmer can rationally cope with. Closed source code pays the rent.