If he is so opposed to proprietary software using GCC output why not use a license that prohibits that? Its not even too late for new versions since the FSF owns the copyright to all GCC code.
If he is so opposed to proprietary software using GCC output why not use a license that prohibits that? Its not even too late for new versions since the FSF owns the copyright to all GCC code.
The compiler's AST isn't usually an output. This does seem like a dated issue, 20 years ago, there weren't as many C and C++ parsers, now there are a number of free ones. I feel pretty confident that 20 years ago, there would have been some proprietary compilers derived from GCC if they could emit the AST in an unrestricted sort of way. On more than a couple embedded projects I worked on some vendor distributed an absolutely PoS compiler because they had to to sell their parts and couldn't or wouldn't play ball with GCC. Honestly, now I'd think GCC's real value is in the optimizer, not so much the parser.
Seems like a fairly simple addendum to the license could GPL the GCC intermediate representation and their usage outside of GCC. That does create a logical loophole in that you don't want code compiled with GCC to be considered intermediate output and then GPLed by definition.
Your confidence is 100% justified, because Open64 exists. It always has been possible to emit AST from GCC by simply modifying GCC yourself to do so. GCC is a free software after all. Open64 did that, and AMD used to sell a compiler using GCC frontend together with highly optimizing proprietary backend. More on http://tirania.org/blog/archive/2004/Apr-18.html
What has not been possible is not to emit AST from GCC, but to emit AST from GCC and continue to benefit from GCC changes after that.
On a practical level, if people wanted to execute that particular "misuse" (IE use it in non-GPL software, which I would just call a "use"), they would obviously use clang. Clang is basically better at this point anyway.
Basically what I'm trying to say is that RMS is a nutcase.
When your freedom reduces the global "freedom", the sum of everyone's freedoms after your action, it might make sense to prevent it.
In spite of, and because: freedom.
Not saying the way RMS is doing it is good, that's a different matter. But restricting freedom, for freedom? Yes, very possible.
RMS may be nuts, that doesn't stop him from being right. Which, by the way, he turns out to have been on many more counts than some of us initially thought.
John Locke said on the subject of liberty: "Freedom is constrained by laws in both the state of nature and political society. Freedom of nature is to be under no other restraint but the law of nature. Freedom of people under government is to be under no restraint apart from standing rules to live by that are common to everyone in the society and made by the lawmaking power established in it. Persons have a right or liberty to (1) follow their own will in all things that the law has not prohibited and (2) not be subject to the inconstant, uncertain, unknown, and arbitrary wills of others."
This is extremely misleading: Copyleft is about making sure everyone has the same rights.
> Basically what I'm trying to say is that RMS is a nutcase.
And here you prove you have no serious argument, by devolving to insults.
Many of us who know him well would not object to the essential meaning of that word, even if we don't ourselves use it.
In theory... except in this case, the point is ensuring that people who don't share his political leanings can't use the product in a way he doesn't like (to generate an AST). It's not even about modifying gcc in this context, he doesn't want people to "misuse" it. It's entirely about telling people what they can and can't do with their software. Where is the freedom in that?
> And here you prove you have no serious argument, by devolving to insults.
I'm calling him a nutcase because he's being paranoid by crippling his own software to prevent a thing that people can already easily do with a competitor (clang). It's not like people are like "oh no gcc can't emit an AST I guess I'll give up and forget the entire venture" they just go "well I guess I'll go use clang instead"
I should have the "freedom" to block off my street at night, because the traffic keeps me awake. But dang society (and laws) don't let me do that! Clearly, my "freedom" is being impinged by others! Right?
/s
Don't move into such a place.
If it becomes such a place, leave (it'll be more valuable, so you should be able to make a profit if an owner, or pay less in rent).
If it's people illicitly making too much noise, sic the authorities on them (although now in the US I'd hesitate to do that unless the situation is life and death, and often even not then).
If I take a piece of software and keep my changes to myself, it would be fair to say that I'm antisocial and selfish, but overall I have not negatively impacted anything -- I've simply refused to reciprocate the benefit I've received. That makes me a jerk, but objectively nothing bad has happened. Whereas if you were to block off your street, you're actively depriving people of a service, etc.
In this case RMS is actively refusing a feature that would be a boon for many people, because he want's to make sure it doesn't help people he dislikes. IMO, that's on the same level of companies obfuscating file formats so people can't build off their products. That's not defending freedom, it's just being a prick.
The GPL explicitly allows you to be a jerk in this way.
It just doesn't allow you to then jerk other people around by sending the software you've modified to other people without the same rights that you exercised in order to be a jerk in the first place. Because then something objectively bad would have happened.
> In this case RMS is actively refusing a feature that would be a boone (sic) for many people, because he want's to make sure it doesn't help people he dislikes.
Phrasing this emotionally ("dislikes") is weak. These are not people rms (or anyone else) "dislikes", they are people who want to remove your freedom to use software.
> That's not defending freedom, it's just being a prick.
Well no. It's preventing non-free software from being written. Which is defending freedom.
You're simply arguing for different collateral damage. rms is happy to have less software written if it prevents the production of non-free software. He's preventing harm. You're happy to have more software written but don't care if that includes software that doesn't let people use it freely. You're allowing harm.
Neither of you is being a prick, at least not in your politics.
How is disallowing a feature for political reasons any different than this? This is a useful feature that he's refusing, that people want, because it might help out the bad guys. He's basically willing to screw over his customers (the users), to make a point.
> You're happy to have more software written but don't care if that includes software that doesn't let people use it freely. You're allowing harm.
Lol. I make software. I want people to use it, and I want to make money for my efforts. I have zero interests in their politics. To me, that's freedom. If that's "allowing harm" I will happily do it.
Let me give some credentials here. I make a plugin for unity 3d. I sell it. It's not my day job, but I do make some money from it. When I sell it, I also include the source code, because I realize that developers are sometimes going to need to customize this product for their own needs. Even if they distribute what they do (which I hope they do! That's the point right?), I don't ask that they contribute their changes back, because that was their blood sweat and tears and they already paid their due (IE, the price of the product). Good for them. I'd be incredibly appreciative if they contributed their changes back, but they already paid their due, so I ask nothing of them. To me, although this particular thing is not the BSD license, I feel like it's in the spirit of that. "Here's some code, contribute back if you can". The GPL license on the other hand seems pretty un-inclusive. It's basically like, "here's some software... You can use it I guess but we mostly meant this for people that follow our cause..." The entire thing seems incredibly political, which makes me uninterested since I don't subscribe to their cause for various reasons.
He is opposed to proprietary software using his code which he gave to the world on the condition that it, and derivative work, remains open for its users to view and modify.
The work belongs to the FSF, so it's ultimately their decision what happens with it, in pursuit of the goal of software which you can legally inspect and modify for yourself.