FSF's Richard Stallman Calls LLVM a 'Terrible Setback'
An anonymous reader writes "Richard Stallman has called LLVM a terrible setback in a new mailing list exchange over GCC vs. Clang. LLVM continues to be widely used and grow in popularity for different uses, but it's under a BSD-style license rather than the GPL. RMS wrote, 'For GCC to be replaced by another technically superior compiler that defended freedom equally well would cause me some personal regret, but I would rejoice for the community's advance. The existence of LLVM is a terrible setback for our community precisely because it is not copylefted and can be used as the basis for nonfree compilers — so that all contribution to LLVM directly helps proprietary software as much as it helps us.'"
How long until the battle of GPL vs BSD?
*Grabs popcorn*
Not just my way or the highway!!
short pier, long walk, hope you can swim RMS
If the gcc codebase was a bit more reasonable and it didn't require an entire legal team to get permission to contribute to their code, maybe this wouldn't have happened.
is preferable to Proprietary Software constructed within obscurity.
In particular, not everyone agrees with his rather narrow definition of "freedom". Some developers like the whole BSD thing, which gives more freedom to the person who uses and implements the software, rather than the original developer. It is akin to the CC-BY license, where you want to have your stuff acknowledged as a source, but you welcome people to do with it as they please.
I have no problem with the GPL, but the zealots that seem to think it is the only way EVAR that is ok and that people who want a less restrictive license like BSD are bad get on my nerves.
So... is RMS admitting that LLVM is technically superior? Or not?
so that all contribution to LLVM directly helps proprietary software as much as it helps us.'"
And that is a problem why? THIS is the problem I have with RMS, is that anything that helps OTHER people is considered "bad" even if it helps you, equally.
At some point, actively trying to NOT help others, even if it helps you, is counter Productive to your own cause. BSD license, doesn't harm ANYONE and is "more free" license, compared to GPL.
Agent K: A *person* is smart. People are dumb, stupid, panicky animals, and you know it.
RMS is right, again. This does erode the GPL advantages.
But, the answer is fairly straight forward and I don't understand why it wasn't done in the first place. LLVM's BSD license lends itself well to being forked into a GPLed fork LLVM(BSD) -> LLVM-NG(GPL) -> -> ->
BSD helps proprietary software AND GPL. QED.
At least Linux is still under the GPL.
I'm sort of sad to see GCC in decline, but it's a very old compiler.
Copyleft is an outdated concept that was designed to teach companies they should share. LLVM is a direct child of that lesson, companies have learned that sharing is best & have began to share. The very "Proprietary" companies accused of using it to make proprietary compilers are the same ones that helped create LLVM to begin with.
GPL is dated for a time when companies were reluctant to share. It made its point and now it is nothing but a way for FSF/RMS to impose rules on others who would rather be free. Long live the new world where OpenSource is actual Freedom!
This is like the US saying "A cure for cancer would be a major setback to the US, as it would also enable our enemies to be cancer-free".
New, FOSS software which is awesome is a Good Thing, for the community as a whole. Sure, its license allows people who don't care for FOSS to use it, but surely a net improvement in the community's state of the art can't be a bad thing. If nothing else, this licensure allows people with bigger wallets to pay for improvements which they need, and to have those available to the community too, allowing copylefties more time to work on other things.
This is exactly the problem with the GPL. Its advocates want everything to be free, and are giddy about the possibility of bringing suit against people who so much as linked to a GPL'd library and forcing their work to be GPL.
It's viral, and not in a good way. Comments like "all contribution to LLVM directly helps proprietary software as much as it helps us" show your cards. Stallman not only is an advocate for free software; he would rather harm or hamstring free software in order to damage proprietary software.
I'm not about to defend the practices of certain large corporations. But in education and medicine, institutional rules over IP forbid many people I know of from even linking to a GPL'd library. For us, if it's GPL'd then it is off limits.
Also, having a friendly non-adversarial relationship with industry is useful and will result in much broader use of your software. For most FOSS projects, exposure and reaching a critical mass of contributors is crucial. The BSD is inherently helpful in this case. The GPL just scares people off, because it asserts control over code you haven't even written just because you decided to use something that happened to have a GPL license.
So, no, Stallman, I disagree and furthermore I condemn your argument as unproductive, wrong, and unhelpful. You might have ground to stand on if LLVM were closed source but it's open - in fact, it's under a more permissive license than the GPL.
The existence of LLVM is a terrible setback for our community precisely because it is not copylefted and can be used as the basis for nonfree compilers — so that all contribution to LLVM directly helps proprietary software as much as it helps us.
Isn't it sad the way he sees this as a loss in the war of "Us versus Them" rather than as a "technically superior compiler" resulting in a bigger pie for everybody?
I'm starting to think that Richard Stallman is to free software what PETA and the NRA are to vegetarians and gun owners, respectively: Usually there's a kernel of a valid point buried in there somewhere, but the rhetoric is so shrill and overblown that nobody ends up listening for long. All the worse, people start associating all lovers of free software with his level of rhetoric, and zealotry is assumed where none exists.
I'll bite. I do think that RMS has a point about the open source compiler of record being under the GPL, as well as the operating system and other essential build tools and core platform elements. Many people will rightly point out, yet again, that GPL is a pretty aggressive license for most userland software, but when it comes to the platform itself, this aggression seems to be quite desirable. Also, these value statements seem temporally bound to the moment. Maybe in the future we will live in a set of legal and intellectual circumstances where RMS has basically won and that maybe a good thing.
So I wonder he isn't right about it being sad that LLVM is not under copyleft.
Does RMS have plans for how developers will eat if e.g. steals their code and makes it cheaper? Does he have plans for companies which wish to contribute some of their developer time to open source, and some to heavily-invested-in trade secrets? I've been in situations where I wanted to use and contribute to OSS for part of what I did, but couldn't because of copyleft. I wonder if this is why the embedded systems space has such terrible OSS support: the lack of sufficient 'boundaries' between modules in embedded code forces one to be fully infected by the virus or clear of it entirely.
> Except for the multiple paid versions of GCC compilers out there:
> http://www.mentor.com/embedded...
The product you linked to, Codebench lite, is neither proprietary, nor paid.
It's simply NOT a "paid version of GCC compiler", because it's not something you pay for - it's free and you can download the source.
That same company ALSO sells support services and an IDE. They don't sell a compiler.
> http://en.wikipedia.org/wiki/S...
Are you claiming that SNC is a GCC derivative? Citation? The wikipedia article mentions that they ship their compiler, which can be used INSTEAD OF the gcc-dereived compiler provided by the hardware manufacturer.
I like to think of it as, why are you doing FREE work for a proprietary company that has no obligation to you other than to possibly hide your name at the bottom of a long list of credits buried in the help menu? This is what the BSD license allows.
If they aren't going to pay me, then I want them to have to contribute back anything they do with my software, which is what GPL requires. THAT is their way of paying me for my time -- that down the road I can save some time by getting help back from them. And not just me, but the entire community gets that help.
If you are ok with that, then who am I to judge? But I don't think it is as simple as "anything other than his way is bad" -- it is more of a question of, does it bother you to do free work for people, or do you not care just because you think its cool? RMS's concern is that it bothers him to put effort in to let lazy people take it with absolutely no acknowledgement and pay, and even worse, prevent you from doing what you want with THEIR copy of your work! It needs to be a 2-way street.
Yeah that was a toe-picking dumb statement.
FOSS helps "directly helps [others as] much as it helps us."
That's kind of the point - cooperation, helping others as well as yourself.
For fifteen years I haven't bought any proprietary software, except once. I contribute to several open source projects, and my name is in the kernel changelog, so I think I qualify as a FOSS advocate. This FOSS advocate thinks Stallman was smoking something when he said that, unless the quote was taken out of context.
People are focusing on BSD versus GPL, but really, the thing to see here is Stallman's definition of "community". If you would ever let your software be used by for-profit interests, you are not part of the community he is speaking of, and claims to speak for. It's just that simple, no flamage or politics implied by saying that.
I've long said that people should chose a license the way they choose a screwdriver, not the way they would chose a religion. What are you trying to achieve? Want total world domination for a new protocol? Go BSD. Want to keep for-profit entities from rent-seeking based on your work? Go GPL.
It's OK to be part of Stallman's community. It's also OK to not be part of Stallman's community. It's OK for RMS to be dissapointed with people who are not part of his community. It's OK for people not part of Stallman's community to not give a rat's ass what RMS thinks.
I'll say this though, the number times I've originally dismissed one of RMS's ideas a crack-pot loony assertion, and then five years later come to see the point he was trying to make, is non-zero.
Which is only a problem if you actively do NOT want to help proprietary software.
I don't want to hinder proprietary software. I want to boost open software. There's a difference.
Proprietary software has it's place and, in a free market, people will choose whatever is best for them.
As in many things (feminism, sexism, racism, etc.) there are always some people who will champion the cause right through equality and out the other side.
You know what? I don't mind that proprietary software could take something like LLVM, do stuff with it, and sell it. So long as they can't stop ***ME*** taking LLVM, and doing what I want with it.
Historically "Free" software was hard to find and so proprietary was your only choice. From there, I would prefer to have open software which proprietary people can take and use too if they want. Pretty much, nowadays, you can find an open equivalent of just about anything but the most locked-in of protocols/programs.
But what I don't want is to tell everyone in the world they are an idiot if they don't open-source everything. All that does is make people hate you, and think you're an idiot. Instead, let's lead the way and **IGNORE** proprietary software, and put the lobbying efforts towards the choice of freedom, and writing good code.
When their customers realise that there's better software out there, for free, they will have to up their game, or start rolling up their sleeves to help.
We don't have to go around actively attacking them for daring to be proprietary. And we certainly don't have to get all snotty because a piece of software can be used by anyone.
What a strange post.
You start by asserting a trusim that not everyone agrees with RMS. So? Not everyone agrees with any particular person on any topic.
You then give a rehash of the difference between strong and weak copyleft, as if we needed that.
Up to this point you're not wrong, just rehashing.
But you then say that RMS gets on your nerves for sticking to his belief that strong copyleft is best. Gets on your nerves for standing up for his life's work? Gets on your nerves for standing behind what he believes to be true?
In a way you are like those people who say DS9 is better than TOS/TNG, because it abandoned Roddenberry's principles and defaced the Federation with selfishness and corruption. You _applaud_ when principled belief in good breaks down and moral-less expediency wins.
To hell with your weak, unprincipled expediency.
I fear companies may begin to stop sharing if you remove the precedent.
This is not at all the case. Companies share not because of any precedent, but because it encourages more people to work on the project they are using. Sharing reaps benefits in active developers.
Sharing for companies can be justified on purely selfish reasons alone, which is why it still flourishes without the mandatory compulsion factor of the GPL.
Also companies are fine with doing something because it is right or benefits them, but the legal departments of many companies HATE HATE HATE being told they MUST do something, even if they already are doing that and have no plans to stop. It introduces an unpleasant future obligation they want to part of, even if it's meaningless in practice.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
It would behove Stallman to admit that his/GCCs insistence on obfuscated/incomplete intermediary representations was never tenable in the long term. If they had just adopted LLVM for GCC-Next when it was offered this wouldn't have been a problem ... in the end GCC had no choice to follow their lead any way with LTO, proving that the argument that it made proprietary backends too easy should have never been used.
From the post:
Or they believe that the "inconvenience" outweighs the need for those measures -- e.g., the inconvenience is very large or the need is not as great as Stallman believes.
Most of Stallman's post is quite balanced and reasonable. However, suggesting that another group's thought process is defective ("do not recognize" or "do not care") merely because they consider other factors and reach different conclusions than yours is a bit of a cheap shot.
That's only true if you define "free" to be "GPL-compatible." The GPL provides building blocks only for GPL software products. Software licensed under the CDDL is also free software, but GPL doesn't provide you building blocks for combining with that.
RMS's philosophy assumes a zero-sum combative environment for software: "free and uncapitalizable" vs "open-source and capitlistic". He's consistent and clear, but this zero-sum assumption is false. Closed-source innovations have cross-bred with open many times, either via concept or actual code contributions. The ecosystem mingles every time any coder merges their closed-source ideas with open or vice-versa. Freedom in this case lives at the meta level that allows individuals AND a market to thrive. We're not going back to an age where all the drawers of tapes are unlocked for everyone at all times, but where the concepts embedded in the tapes' content crossbreed and multiply. Freedom has thus encompassed RMS's idea (after all, GPLv3 is not prohibited) and that of a market-based economy. His stance that assumes zero-sum reveals a clear dislike for the existance of the market, which perhaps arose from a time when digital commerce could not be envisioned. However, digital-goods are indeed a very large market and that work to create such goods will come from anywhere, free, paid, donated and even (regrettably) stolen. It mirrors the real world, as it should.
Background reading:
BSD, LGPL, and GPL are all free software licences. The user gets the same four freedoms in each case (use, study, modify, redistribute). But, using the BSD licence (or the LGPL) takes away an incentive to contribute to the free software project.
GCC's technical advances create a big incentive for developers who are interested in compilers, and for companies with a commercial interest in a good compiler existing for their platform, to contribut to GCC - helping free software whether that's their priority or not. With a BSD-licence project, developers can choose to ignore GCC and fork LLVM instead, so neither GCC nor LLVM benefits.
LLVM weakens GCC's ability to attract free software contributors. That's why Apple funds LLVM.
It's not difficult to see which approach works best: Which OS has more contributors, *BSD or GNU/Linux?
Expert in software patents or patent law? Contribute to the ESP wiki!
Proof: Linux used all over the place, BSD used for Apple.
Anything that falls into the tools category really belongs under GPL. Greater good and all that. If you want your work to be able to be taken improved and sold without any of the benefits coming back to you, fine, but the reason that GNU/Linux won is because anything you wanted to let out of in-house use had to go back out.
LLVM/Clang has existed for a while now, and one of the primary motivations behind it was the license, particularly w/ GCC going GPLv3. Suddenly, RMS one day wakes up and realizes that it's not copyleft? That's the very idea!
I am not an Apple fan, but despite his rants, Apple has done a lot for LLVM/Clang, which I daresay wouldn't be where it is were it not for Apple and other proprietary vendors feeding back their changes upstream, despite not having to.
Nothing, so long as you explicitly acknowledge that as a possibility.
it's not just a possibility, it's my INTENT when contributing to any BSD project.
Here's another reason for you why this is of value. You work at a few companies, you work on proprietary code. Over time, you get really tired of writing some of the same code for multiple companies.
But if you are contributing to a BSD project, you get to use the same code no matter what company you go to. You are in fact contributing to other companies for free, where one of those companies is one that you will be working for. You are helping out Future You as much as anyone else.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
Are we going to swear off eating apples because they provide the same level of nutrition to Bill Gates? Fuck that: I like apples
I was expecting Richard Stallman to type a statement from his new Macbook Pro saying: "Rock on! I have Balls The Clang, and if I LLVM was a woman and I knew how to have sex with her she would so have my baby."
Not true.
Users can not make money or use any GPL code or link to it in their programs without giving it away for free.
For example if I write a hello world program in C++ and iostream.h is GPL. Then hello world can't be released unless it also is GPL. See the problem?
The BSD means I can make it free, use it, sell it, modify it, or do whatever the hell I want with it. Lets say I make my own website but have some .NET framework or PHP that is released as GPL because the developers are too dumb to know the difference between LGPL and GPL can I use it?
Nope I have to give away my hard work as my company can not be sold due to the assets being GPL and therefore must be given away to a competitor. I seriously do not mean this as flamebait as many have a personal interest here in GPL but that is a problem. Investors like proprietary things because they add value and a competitor 10x bigger can not take it and steal the thunder away. If I sell the company or have investors who have a part in it well I guess that qualifies as a redistribution which means I most make all changes and throw all that expensive work out on the street.
http://saveie6.com/
I will be happy once LLVM is able to compile the Linux source code, then we can finally drive a stake in the heard of RMS's GNU/Linux whining and stick it to the toe-cheese-eater.
Stallman said,
as if that were a bad thing.
He's confusing the promotion of free software with opposition to proprietary software. Those are two different things. The former is a productive activity that helps me as a user. The latter is an uphill battle that doesn't even really need to be fought. The best way to defeat proprietary software is to provide a superior, free alternative.
I like to think of myself as one of the biggest Stallman fans out there. I think he is a visionary, and I totally agree with him that free software is important to a free society and the betterment of the human condition. But holding back from adopting a good compiler because someone proprietary vendor might also benefit sounds like cutting off our noses to spite our faces.
In fact, if, as Stallman says, "sharing with your neighbor" is an ethical imperative, then one could say he's applying that selectively. (I am aware of his argument why this is the right thing to do; I just don't accept it.)
[Sir Garlon] is the marvellest knight that is now living, for he destroyeth many good knights, for he goeth invisible.
When open-source was first taking off, the GPL was necessary because only a small group of die-hard believers thought it would work. Having the work "stolen" into a proprietary product that successfully hijacks the userbase was entirely possible, and so a protective license was necessary.
Now, open-source is common. Users are aware enough that it's nearly impossible to hijack a userbase - any good features added to a proprietary version will be quickly cloned in the open-source original, and few users distrust open-source software. Companies are rarely afraid to work with open-source projects or release their code, and many see it as an advantage.
The GPL (and similar copyleft licenses) protects the open-sourceness of the project, but it also limits its usability. BSD or similar licenses do not offer similar protections, but also do not have the restrictions. Now that open-source has cultural, not just legal, defenses, GPL is not necessary unless you consider the open-sourceness of the code to be more important than the usability of the code.
And so I think GPL is best treated as a transitional license. In areas of software where open-source dominates, it is no longer necessary. In areas where it faces strong opposition from proprietary software, it remains useful or even essential.
Jesus, that's crazy talk. Apple's interest in LLVM isn't some malicious scheme to undermine GCC. Apple used to support and use GCC, but couldn't upgrade because of the switch to GPLv3, so they decided to invest in LLVM.
Historically, BSD licensing has created some big problems, with companies taking software, adding major features, and then providing it as part of their own Unix without feeding the changes back into the central tree. It's arguable that overly-permissive licensing terms gave us the extremly divided and nasty Unix market of the 80s and 90s, and that the GPL provided a sort of herd immunity against massively differentiated forks by making it possible to get features back into the mainstream trees in a consistent and timely manner.
RMS has a distressing habit of being proven right, and I wouldn't discount him quite so easily.
For example if I write a hello world program in C++ and iostream.h is GPL. Then hello world can't be released unless it also is GPL. See the problem?
Wrong GCC libraries are GPL with an exception, for example
As a special exception, you may use this file as part of a free software
library without restriction. Specifically, if other files instantiate
templates or use macros or inline functions from this file, or you compile
this file and link it with other files to produce an executable, this
file does not by itself cause the resulting executable to be covered by
the GNU General Public License. This exception does not however
invalidate any other reasons why the executable file might be covered by
the GNU General Public License.
Maybe the GCC folks shouldn't have been so complacent, arrogant, and hostile toward their users :-(
For someone who isn't interested in free software or open source, your approach works: go with the flow, everyone do what they want.
The result it that some software turns into a hand-out for companies that, in the long term, are trying to make free software disappear.
If someone wants to be able to more with free software, then there's a question of strategies for achieving this. The user gets the same freedoms from BSD and GPL, but GPL says anyone building on top of the software has to contribute their improvements to the community. Only fair really.
So, yeh, the two can coexist, but the GPL does a lot more to ensure that we have great free software in the future. If you think that's a good thing, then use the GPL.
Expert in software patents or patent law? Contribute to the ESP wiki!
Let's see. If they don't care if derivatives wind up in closed-source projects, I'm gonna take a wild leap and predict that they won't care if derivatives wind up in open-source projects.
P.S. I phrased this badly:
> go with the flow, everyone do what they want.
I'm in favour of people doing what they want. The approach I meant to criticise is "everyone do whatever and let's not discuss it, let's just see what happens".
Everyone can and will do what they want, but I'm in favour of thinking about the options. If you want more free software to exist, choosing GPL makes sense.
Expert in software patents or patent law? Contribute to the ESP wiki!
So they are LGPL.
How about everything else in sourceforge?
http://saveie6.com/
Apple's goal wasn't to undermine GCC. A lot of companies & organizations, not just Apple, decided to go off GCC the moment it went GPLv3. There were a lot of things in GPLv3, like patent indemnification, which would raise alarm bells w/ any company. Result was having to go LLVM/Clang.
I don't see why any user would have problems w/ BSDL. The very point about putting something under BSD would be giving people the right to improve or share it. If someone adds something else, the BSDL licensee doesn't regard it as theirs. But very often, the new thing gets donated back in order to be integrated into the main trunk, so that separate maintenance ain't needed. FreeBSD does that quite a bit.
The best thing about BSDL is that it allows its code to be combined w/ code under other licenses, so that the end developer can put whatever T&C he needs to to be a market success (as in making $$$$)
You'll be delighted to hear that for people in the USA and Germany, the process is now just sign it and scan it:
More countries will follow as the legal advice comes in.
Expert in software patents or patent law? Contribute to the ESP wiki!
This is incorrect, as one of the other children to this post said. Stallman, and moreover the entire FSF, has no problem with selling free libre software. In fact, preventing someone from using software for commercial gains would violate freedom 0 (the freedom to use the software for any purpose), as it is a restriction on usage. I really don't get why people keep bringing up this myth that RMS is opposed to commercial interests, as I've never seen a shred of evidence to substantiate it. Maybe I'm wrong and he really does hate commercial interests on principle, but at the very least it doesn't show in the GPL.
Do you want all the code of Sourceforge to be compatible with your code?, stop requesting other people to adapt to you, Its their code, its their license, the same way you choose your preferred license
but he wants to deny others the freedom to profit from their intellectual property efforts.
The sort of property that isn't really property, you mean? Yeah, that thing.
But no, as far as I'm aware, he doesn't tell anyone that software must be free as in price, or that you must make software for free. You can certainly try to make money.
A couple weeks back, I read an old article by RMS concerning GPL exemptions/dual licensing. He supports it.
GPL with exemptions is really BSD. A finer grained control, perhaps, in that the copyleft owner can pick and choose. Put a price on whoring out FREEdom. FREEdom? More like "show me the money!".
Do you even lift?
These aren't the 'roids you're looking for.
Except that Apple is funding LLVM.
Sort of undermine's Stallman's argument about corporations not supporting the community. There are supporters and there are leachers, both on the individual and the corporate side.
It suits their agenda, and their goal isn't to give a long and fruitful life to free software.
Nor is it their goal to destroy free software. They have supported many free software projects for many years. Yes those projects benefit them, so what? All that matters is if they contribute or if they leach. They seem to contribute.
Right.
FSF doesn't have just an ideology of helping free software, it has an ideology of hurting proprietary software.
Clang and LLVM are technically superior because they've been heavily modularized. FSF actively didn't want to do this with GCC and made it difficult because they wanted to make it difficult for GCC to be used with external tools, which hypothetically, could have been non-free software.
Yes, the LLVM license & design, in contrast to GCC, permits Apple to integrate it with proprietary Xcode, but it also aids tools development from academics and free software writers.
The facts are that GCC was there first, and precisely because of the political attitude of FSF which resulted in technical kneecaps flowing from that, other parties spend lots of money to develop a technically superior, and politically superior product. And today, a proprietary company with enormous bags of money is paying highly skilled people to develop slightly-less free open-source software.
FSF and GCC had its purpose and ideology exposed to the world, a significant community, and it lost. With a more compromising attitude FSF would have found Apple contributing significant resources to GCC--after all it was the original part of NextSTEP and early MacOS development.
I think GCC is very impressive and have used it for decades. Soon enough, though the future will be LLVM.
I wonder if RMS realizes yet that by winning the battle (not making the GCC available for other tools to use) he has lost the war for GCC and ultimately GNU. There are great free software projects, such as Eclipse, KDevelop, and others, that could really use a decent C++ parser. But, if the architecture and license of a core component such as GCC is such that it cannot be used because of a philosophy that prevents the creation of good free software tools, then the battle is lost. If RMS, GNU and the GCC steering committee had reacted fast enough when the problem was apparent, then this could have been prevented. But I'm not sure that they see the real problem with their dogma yet.
the growth in cynicism and rebellion has not been without cause
I think you mean "Right, GCC libraries are GPL with an exception".
If they were GPL, he would be exactly right. That's why they need the exception.
While most people are focused on the license conflict (GPL vs BSD) few people seem to be looking at the technical merits of the software involved. I used GCC for around ten years before Clang started to gain some notice in the open source communities. I tried Clang to see how it compared and found it to be a faster, friendly compiler. After some tests and using both compilers side-by-side for a while I switched to using Clang. It is, hands down, a much more pleasant compiler to work with and it doesn't break as much between major versions.
Personally, I'm not overly concerned as to whether my compiler is under a copyleft license or a liberial BSD-style license. Both are open source and that makes me happy. Still, Clang/LLVM is quite clearly the better utility on technical merit and I think that is probably more important to most people.
Well, it's not like it's a secret what happened. Apple was happy to use the GPL as long as it was GPL2. Once gcc went GPL3, they felt they could no longer contribute to or use the project because of unclear legal liabilities caused by the license.
So they decided to take the matter into their own hands, bought up LLVM, and created clang from scratch on top of it, and released the source openly because they know they benefit greatly from that.
But LLVM still gets the resources to make free software as a result. Does it matter if there's corporate support or the code is programmed by altruistic (and either poor or overworked) individuals whose souls are not so incumbered by finances?
Linux is essentially developed by corporate sponsored developers, not the individual hobbyists of old. Last I heard the volunteers accounted for about 16% of Linux contributions, the rest coming from employees of one company or another (Red Hat, Intel, IBM, etc). With this sponsorship comes a degree of control, direction. There really is little difference between corporate supported GPL-based projects and corporate supported BSD-based projects. Corporation provide direction to both, the source code is available in both.
No. I said "wrong" because his assumption is wrong:
For example if I write a hello world program in C++ and iostream.h is GPL. Then hello world can't be released unless it also is GPL. See the problem?
After using GCC and linking against libstdc++, your binary nor your code becomes GPL
I agree that's stretching. Recommending gcc is not selling gcc.
They sell a product that is compatible with gcc. Just like the Core i7 is compatible with gcc. If Intel mentioned "the i7 is gcc compatible", that's selling a cpu, not a compiler.
> (LLVM attracts some investment, such as that of Apple, up to a certain point, because Apple's goal is to undermine GCC.)
No, Apple's goal (like most businesses) is to avoid the GPL3 because it is decidedly unfriendly to business. Plus it doesn't help that the GCC project has a long history of being unfriendly to outside developers in general (remember EGCS?) and wanted nothing to do with OpenGL/OpenCL which use a C-like language for shaders and other GPU code. And when LLVM is as good or better than GCC, it doesn't take a genius to switch.
I print, therefore I am.
have you ever heard of a thing called "paid labour"? it's this novel idea where person A wants something made and pays person B to make it.
How practical this is depends on who is person A. If free software is developed for in-house use ("bespoke" development), person A is obviously the company. But if free software is developed for use by the general public ("off-the-shelf" development), how will person B get person A to pay him instead of paying someone else who got a copy from person B?
Either you believe exactly as I believe or you're an enemy. This doesn't help much.
I'm also reminded that the original gcc development stalled under Stalman's/FSF leadership. It barely made it out of 2.7.x, had a barely usable 2.8 release. The egcs project was born out of the fact that the mainline compiler for most Free UNIX was both broken and incomplete. If he wants people to use FSF code, he has to make them best of breed, or at least close to that. Though he'd hate that the quote came from Steve Jobs, he'd be best to heed "Real artists ship".
I call Richard Stallman's lack of bathing on a regular basis a terrible setback.
- Zav - Imagine a Beowulf cluster of insensitive clods...
In this impure world, sometimes you have to take what you can get and do your best to improve the world rather than commit seppuku when you find that you can't make the world perfect on your own. An evil that can interoperate amicably with good is better than an evil that can interoperate only with other evil. It's easier to establish good as the standard if you have an ecosystem that allows good. For example, Steam is DRM and DRM is evil, but unlike the walled-garden consoles it replaces, a Steam Machine can switch to GNOME and run a completely free game. Likewise, Firefox for Windows and LibreOffice for Windows allow companies to migrate their work flows from IE to Firefox and from Microsoft Office to LibreOffice, which lets them eventually ditch Windows.
If GPL is superior, do a GPLed fork of LLVM/clang and beat the BSD licensed version with their own code.
You should be able to grow faster.
You have access to their improvements, while they don't have access to yours.
But then you'd be doing what you criticize corporations for, what you fear being done to LLVM by corporations.
You obviously could, but it feels wrong to me. But if it's freedom you are protecting why does it feel wrong?
"Sometimes it's hard to tell the dancer from the dance." --Corwin Of Amber in CoC
Problem with that is if I need a customization/feature/or bug fix in LGPL, I can't modify the original source code and use it in my project.
Yes you can. You just need to make the source code of the modified library available to the end user, and use a mechanism to let the user modify the library and link it to your proprietary secret sauce to produce an executable. This could involve providing .o files of the proprietary part to the owner of a lawfully made copy of the executable or shipping the library as a DLL.
Is a terrible setback these days. He had a point in the past, that time is now over and he needs to get the hell out of the way and stop trying to hinder progress.
---- Booth was a patriot ----
it is also not allowed to statically link LGPL code to non-(L)GPL closed code. You can only link dynamically unless you provide full source.
Where do you get that? As I read the LGPL, you need to provide the source code of the Library and provide the object code (usually .o files) of the "work that uses the Library" (that is, the proprietary part) to the owner of a lawfully made copy of your program.
LGPL itself has restrictions. For example, you have to make sure the end user can modify the library, relink the application with the modified library, and produce an executable. On a PC-like platform, you can satisfy this by making the library a DLL or by providing .o files of the proprietary part. But it rules out use of an LGPL library in a program for a platform that enforces digital signatures and uses hardcoded root certificates, such as iOS, Windows Phone, Windows RT, or a major game console.
Like, develop and release a better compiler as open source?
He was pretty clear when he said "if iostream.h is GPL".
He did not say he was linking against libstdc++. In fact, he pretty much said he wasn't, as libstdc++ is not under the GPL.
He was naming a hypothetical example of an iostream.h that is GPL.
No adults listen to that mental nutcase. This is not news, just a rant by a crazy idiot.
If it weren't for the GPL how much of Android would be open source?
:)
(The android project isn't exactly praised for having an open source development model).
How much of OS X is open source? It's based on FreeBSD and lot of other things if I recall correctly, and sure Apple contributes back to many of these projects - but OS X is not an open source platform by any standards.
I'm totally fine with permissive licenses, and uses them a lot, but RMS has a point, the longer down the stack we go, the more important copyleft becomes. Without GPL tivolization would have been a different story.
On topic, I doubt that LLVM is going to completely replace GCC, but competition is good. It keeps us to the standards, and I certainly welcome that
(Along with the nicer API and better tooling)
I'm well tired of rms.
If you truly want 'freedom', then the people who made X should be free to copy{what|ever} the damn thing.
It seems rms's version of 'freedom' is: do what you want with X, so long as i agree to a very narrow definition of what X should do
> undermine's Stallman's argument about corporations not supporting
The LLVM model for attracting funding doesn't scale, and it defeats itself in the long term.
LLVM are only getting funding because Apple wants to undermine GCC. Most projects can't be used in that way, so they can't be of any interest to the Apple category of funders. And Apple's interest in funding the free parts of LLVM will dry up as soon as they (if they ever) achieve the goal of undermining GCC. The LLVM licence allows Apple to switch to a proprietary approach whenever they want. (Although, in reality, they'll continue to contribute the non-flashy bits of code - the stuff they want other people to maintain for them.)
Expert in software patents or patent law? Contribute to the ESP wiki!
There is no reason to assume he/she said that iostream.h is GPL as an hypotheses because he was affirming that there is no way to use GCC and create non GPL programs. It was a bad example and wrong assumption not an hypotheses
> Our lawyers have forbidden us to touch anything GPL under any circumstances.
You need new lawyers.
Expert in software patents or patent law? Contribute to the ESP wiki!
Also, LLVM allows the XCode IDE to link in portions of the compiler, such as syntax analysis. GCC does not allow this. GPL3 doesn't even need to be the problem.
#naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
From what I can tell, GCC is still the better compiler. It is better supported (lots of things won't work on clang or llvm-gcc) as well. LLVM/Clang tends to compile a bit faster (which doesn't matter unless it's an order of magnitude) while the binaries that GCC produces tend to run more efficiently. There's a nice benchmark comparing GCC 4.7 to Clang 3.1 (in Apr 2012) which demonstrates this.
I'm sure LLVM has been well designed and perhaps can do better with JIT and similar concepts (which you'd have to compare to e.g. GNU Lightning), but GCC is still king. Stallman's complaint is that it's getting attention and therefore it may become better than GCC over time, which he argues would be bad for developers on the assumption that eventually a game-changing feature is released for LLVM that is nonfree and then everybody will be forced to pay for it, a fate that the GPL'd GCC cannot suffer.
Use my userscript to add story images to Slashdot. There's no going back.
He did not mention gcc a single time in his comment. You were the one who brought up gcc.
http://comments.gmane.org/gman...
Unity? Screw that: XFCE. Slashdot Beta? Screw that: SoylentNews. Australis? Screw that: Pale Moon. UX developers DIAF
That's not as crazy as you make it sound. Perhaps our enemies have a cancer incidence rate that is orders of magnitude greater than ours. Perhaps the US only has one cancer death a year, but "the terrorists" lose millions to cancer every day. Were this the case, then indeed, a cure for cancer would be a major setback to the US.
That's a more accurate version of your analogy. The freedom afforded by the BSD license has value to the users of software, indeed. But it has much greater value to those who would sell proprietary forks. For example, I run OpenBSD. I like that it's open source, and I like that I can do basically anything I want with it, so long as I preserve attribution information. However, I haven't modified the code, and I don't really get any meaningful value from being able to do so and then sell my fork as closed-source software. As a counterpoint, Apple likes LLVM. They've modified it, and they're selling their proprietary fork as XCode. They've found great value in the freedom afforded them by the BSD license. The users of XCode, however, aren't seeing much benefit from the BSD license, because it never got to them. Apple ate it along the way.
I think it's self-evident that the BSD license benefits "the enemy" (profit-generating businesses) more than it benefits "us" (the users of software), which renders your analogy misleading.
Of course, this is a dramatic oversimplification of the BSD vs GPL debate, as there are many more implications of choosing a license than what is detailed here. I'm no GPL fanboi, and I can see why developers would prefer BSD simply to avoid all the legal confusion that comes with GPL. However, to portray GPL as crazy, or senseless, or wrong, is to be quite myopic. There are valid arguments to be made in favor of either license, and the philosophical differences are deeper than many are capable of admitting.
Chuuch. Preach. Tabernacle.
It's annoying to have a slashdot article that is not completely acronymed. For example, the first sentence of this article
could be
or even
You see? Every bit as clear, and less than half the length !
After LLVM slays gcc, the corporations will then cease to contribute so much to the original project, then form an inner circle of other big corps that work on it together for themselves.
How much of OS X is open source?
All of it except for the UI layer.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
Because Apple's goal is to undermine GCC
That was never Apple's goal. Remember that Apple used GCC for years.
Apple's goal was instead to have a better development tool, and GCC was a roadblock. It was preventing enhancement of warnings the editor could give, real time feedback as to the code that was being written. It also had a somewhat primitive debugging experience (as much as I like GDB and have used it for many years, LLDB is better).
Apple moved to LLVM not out of any wish to harm GCC but because it was no longer possible to advance without newer and more advanced compiler technology.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
And yet for humanity as a whole, even in your cancer argument the BSD license wins out again.
Also remember that Apple basically built clang themselves. They could have kept it completely closed thanks to the BSD license and modular nature of LLVM, but instead they gave it back to the community. They didn't have to, but they did anyway - and they did so rather than license something like Intel's compiler that's comfortably closed-source and quite advanced. That's the spirit of BSD.
You're special forces then? That's great! I just love your olympics!
On the other hand, continuing your analogy, companies that build their medicine on LLVM are far more likely to do so, whereas companies with tons of money who don't use LLVM would instead rewrite just the portion of a compiler that they needed rather than be forced to give away hundreds of millions of dollars worth of work.
Your example only works when the value of the "stack" massively outweighs the value of the "new code" - and even then it only works if there's still a way to monetize that work (even developers need to eat sometimes). Sometimes it works that way, and sometimes it doesn't.
You're special forces then? That's great! I just love your olympics!
Mr. Stallman doesn't have a publicist, a speech writer, or an image consultant; therefore, the way he phrases things can hurt people's feelings. Mr. Stallman has a damned good track record of being correct, though. Sometimes it takes a decade or more for what he says to be proven correct but rarely is he ever completely off the mark.
You can either spend millions of dollars spreading a polished version of your message or be deliberately provocative and offended parties will spread your message for free. If you take a step back and think for a minute, you realize how smart of a man Mr. Stallman is.
This is one thing I don't get about some of the more ardent supporters of weak copylefts. It's fine if someone wants to take my code and make it so no one can see it, but god forbid take it and require that it stay open source.
> undermine's Stallman's argument about corporations not supporting
The LLVM model for attracting funding doesn't scale, and it defeats itself in the long term.
LLVM is a University of Illinois project and was funded and active before Apple got involved. With respect to contributors LLVM seems very much like the Linux kernel, mostly corporate sponsored developers. Last I heard volunteers accounted for only 16% of Linux contributors, the rest coming from Red Hat, Intel, IBM, etc. Your theory of long term defeat due to corporate sponsorship makes no sense. Not one line of contributed code will disappear if corporate sponsorship disappears. The volunteers and academics involved, be they LLVM or Linux, can continue on unimpeded. Their project merely no longer receiving "external" acceleration.
LLVM are only getting funding because Apple wants to undermine GCC.
Apple does not want to undermine gcc. Apple merely wants a compiler that will allow for signed apps. Gpl v2 allowed this, gpl v3 does not. Apple had three choices. Continue with the gpl v2 fork of gcc, switch to gcc gpl v3 and abandon their signed app requirement, or find another compiler. Finding another compiler and getting away from the political drama of the FSF seems the best move. Especially given promising alternatives like LLVM.
Your argument is further undermined by all the interest within the Linux community of getting things to work on the LLVM toolchain.
... and then gcc starts up again. Or LLVM-GPL edition forks from the last public release. I'm not seeing the motive to crush anybody. But BSD is in many ways more business friendly, so I'm not altogether surprised if large corporations use it for collaboration - they have other ways of discouraging freeloading amongst each other.
--- Most topics have many sides worth arguing, allow me to take one opposite you.
The problem comes when a developer may have received a proprietary version of the software for some particular architecture (eg, say it was modified from the original codebase to work under a non-X gui), and where the provider decided to not make their changes from the original BSD codebase available, and the developer wants to make some additional customizations specific to their own needs. Their only option, if they otherwise wanted the features that their provider of the program provided, is to either reimplement all of the changes that their provider of that implementation did.... from scratch. Doable, perhaps... but damn annoying. Hardly a situation that feels "free".
File under 'M' for 'Manic ranting'
Copyleft and non-copyleft free and open source licensing have coexisted for many years. That is not the issue. The issue at hand is the issue one (perhaps inadvertantly) denies by not recognizing the difference between the philosophies of the older free software movement and the younger open source movement and the ramifications of those philosophical choices.
As RMS explains quite clearly in multiple essays (1, 2, 3) the open source movement is (as you say) concerned with a development methodology and not with software freedom. The open source movement was designed by people who wanted to not discuss the ethical implications of losing one's software freedom in their pursuit of speaking to businesses by offering, effectively, gratis labor. Open source proponents are all too willing to do whatever it takes to get their tasks done without regard for the social implications of their choices or endorsements (see "Different Values Can Lead to Similar Conclusions...but Not Always" for more on this); installing, running, and endorsing non-free software and putting effort into developing capable, reliable non-copylefted free software (which helps the proprietors as much as it helps users) are a couple. The Open Source Initiative draws no clear distinctions amongst the many licenses it points its proponents toward, so it's not immediately clear why one would choose, say, the MIT X11 license or the GNU General Public License (GPL). Understanding software freedom makes this distinction quite clear—it's about looking out for user's software freedom immediately and in the long term via ensuring free derivatives.
The older free software movement Stallman started recognized ethical implications to these choices; one of these implications was contributing to those who seek to leverage unjust power over the users by licensing software without the freedoms to run, share, and modify. These restrictions are threats to software freedom. Stallman knew that if nobody defended against these threats the community would be lost because he saw software freedom go away at the MIT AI lab where he worked. So he took steps to prevent the further erosion of software freedom by developing software we're all free to run, share, and modify which nobody could use as a power over another. He did this by making a non-free derivative. This hack in a copyright license is called "copyleft" and is one of the hallmarks of the GPL.
This philosophical difference has practical ramifications, as philosophical differences do. The people who run Apple, for instance, were among the first commercial copyright infringer of GCC when they were at NeXT and NeXT chose to distribute a variant of GCC that supported Objective-C without complying with the GNU GPL (Stallman mentions this in his essay "Copyleft: Pragmatic Idealism"). The FSF informed NeXT this was copyright infringement and the FSF made it clear that they were seeking compliance rather than punishment (as is their choice and their way). So NeXT eventually distributed complete corresponding source code. But Brad Kuhn (who was around the FSF at the time and has considerable experience as a GPL enforcer) has said (around 42m27s) that he thinks Steve Jobs' GPL violation at NeXT was calculat
Digital Citizen
Actually, RMS has made it clear (1, 2, 3) that he is not a proponent of "an open development model" because the open source development methodology purposefully does not talk about the ethics of that choice, ethics which can sometimes create ugly rights-losing ramifications for all computer users (spying, for instance, is a lot more easily done with non-free software). Putting techincal advances in non-copylefted software licensed to respect a user's software freedom helps proprietors distribute proprietary derivatives which makes their spying easier. RMS' older free software movement is different from the younger open source movement on this key point, and there are many practical consequences that come from this key philosophical difference. The essays go into detail on this as does just about every talk I've ever heard RMS give.
I'm not aware of this "force" you speak of RMS wielding against computer users. I'm aware of how RMS uses logical argument to convince people to see things his way, but this is not at all force. Please do provide specific examples backing your (as yet unfounded) assertion.
Digital Citizen
"Sure, we don't have all of Xcode for free" to me quite obviously refers to free-as-in-beer.
You're special forces then? That's great! I just love your olympics!
Nope, not a game. It was professional DJ software.
I wasn't happy with it and I with with a solution I liked better which was open source.
If one's values dictate one's choices, "choice" is not the issue here; looking at what's going on here in terms of a consumer's choice means forgetting how different people's values are and it's all too easy to let technical considerations seem more important than they are. If Apple does as Brad Kuhn has predicted and eventually stops contributing to LLVM in pursuit of a proprietary fork which they continue to work on (thus encouraging users to use their proprietary fork and its proprietary dependencies), that fork is lost as a choice to those who want software freedom for themselves and others. There are other areas of computing where the available choices are proprietary and thus freedom is not a choice at all. Therefore looking at things as a mere "consumer" (one who is prevented from becoming an equal participant) means reframing the issue away from freedom and toward shallow economic details.
Perhaps you're too young to recall when software was what we'd today call free—users were free to run, inspect, share, and modify all the software they could use. RMS cut his teeth in that environment in the MIT AI lab and all of his work for the free software movement is based in his recognition of that community's demise. Your second sentence above is simply untrue as we can't always predict what users will need and users ought to be free to explore new compilation techniques by working on new compilers (as users of any other software should be free to do). It's not for any of us to restrict someone else's needs in this way so long as their expression of software freedom isn't actually a power over other users as non-free software is by definition.
Steve Jobs' (calculated?) history of GPL violation dating back to NeXT's Objective-C GCC frontend (which RMS mentions) strongly suggest that licensing is a more significant issue at Apple than you're recognizing here. I would like to read evidence of where GCC hackers have not received a "wake up call" about the technical difficulties you refer to so readers come away with some facts to back your assertions.
Digital Citizen
Embrace, extend, extinguish.
The issue here is that Stallman is really the only one that completely "gets" it. He's only one person and he can't be everywhere and do everything. He has a clear and consistent vision but it's not without its subtleties and I don't get the sense there's anyone out there with sufficient understanding that could replace him or even extend his reach. I think we've been lucky to have him around but have the feeling our luck may not hold out indefinately.
Actually, Eric Raymond quoting Chandler Carruth who is allegedly quoting RMS (the closest thing to a relevant source I could find for your undefended assertion) says something different than what you claim:
Non-GPL'd software is not always the same as non-free software and the terms are not interchangeable. There are plenty of free software licenses that aren't the GPL. I doubt RMS' goal was to punish those who choose a license other than the GPL. Quite to the contrary, the GNU Project is very careful to describe the implications of various licenses (including the preservation of software freedom for derivative works via copyleft); RMS wants people to make informed license choices and categorizes licenses descriptively to that end. At the same time, he wants to avoid handing the enemies of software freedom valuable work as this could end up being a force for defeating what he's working to ensure. As he said in one of his talks (from 2013-08-05 at New York University, if I recall correctly), it is seen as shocking these days to act against something you despise. In the context of this thread, it goes to show how effectively people have been taught to favor dependence and convenience and not taught to value their freedom to run, share, and modify computer software to control their computers.
Digital Citizen
You'd be better served by using the words "software freedom" as those words are entirely appropriate to describe a user's freedom to run, inspect, share, and modify computer software thus giving them control over their computer. It's perfectly natural for one to ask "which freedoms are you referring to?" and for you to explain. This is an opportunity for discussion and understanding, in other words learning. When someone misuses language you benefit their efforts by abdicating a proper use of language, tacitly accepting their distortion. There is a difference between power and freedom and in the context of slavery, what slavers want is the power to abuse another human being. Society needs more people to point out misuses of language and not give up in the face of those that disagree.
Digital Citizen
Sounds to me like the beasts are feeding themselves quite well at this point.
Do you seriously think any of the believers are going to leave gcc short of it being absolutely, totally outclassed?
Do you seriously think gcc will ever get totally outclassed so long as they can borrow from LLVM as freely as the corporations driving it forward?
Do you seriously think that now that corporations are discovering the value of collaborative development for themselves, that we can ever hope to keep this genie to ourselves? If all volunteers left LLVM today, or over the next few years, do you believe the corporations would all go back to doing for themselves?
There is certainly reason to worry that the the corporations will come to favor licenses that allow only their little cabal to benefit from their work, but
(1) I see that risking running afoul of anti-collusion laws
(2) all the more reason to all pitch in when they don't! Show that it's valuable to *them* to cooperate with *us*, even when using licensing schemes that any of us could exploit. We all get more and better software up until somebody exploits things a little too hard for everyone else's peace of mind, at which point with something like BSD we can fork off a "no cheating" branch as easily as they can fork off an "it's all mine" branch. Everyone wins - including the hobbyists who want to share the results of their new awesome idea on how to tweak compiler technology, without having to share all the could-make-me-rich implementation details.
--- Most topics have many sides worth arguing, allow me to take one opposite you.
GPL : you are forced to be free there is no other choice ( what kind of freedom is that?) BSD : you want to be free or not up to you, but keep the copyright notice. Seriously if one really thinks about freedom BSD is more about real freedom than GPL. BSD also seems to promote technological advancement whatever the case. Sure some code might not be released :p but if u know it was done with what piece of software one can fill in the blanks. It is the developper's to decide how he gifts his code to the community.
Yes because some of the features in LLVM/CLANG are in direct conflict with design decisions made by RMS about GCC with regards to integration into other tools. This isn't a lack of ability option on the part of the GCC team, it is a lack of intent, or rather deliberate intent to NOT implement for religious reasons.
I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
Well, if they voluntarily render themselves non-competitive for religious reasons then on their heads be it. I'm sure the LLVM-GPL folks will appreciate the lack of competition.
--- Most topics have many sides worth arguing, allow me to take one opposite you.
It's still a copyright assignment and GPLv3. Most companies won't touch that combo with a six foot pole.
I have no interest in helping Dick Stallman.
In order to contribute to one of Dick's projects, you have to sign your copyright over to the FSF.
Wouldn't happen where I work (a state university). We don't "just sign it and scan it." You send us a contract, it goes over to contracting. If it is one they recognize, they change it, initial it, and sign it on behalf of the Regents. If not, it goes over to the general council's office and they work with contracting on it. Either way, it is getting changed and sent back to you to sign.
That copyright assignment thing? Right out. They'd agree to GPL, probably, but never to copyright assignment. All work by the university is copyright to the board of regents (and by extension the state).
For that matter the US government wouldn't be able to sign it. While they don't copyright their work that's the issue: Work by the federal government is public domain. They can't go and assign the copyright. Doesn't matter that it would be something "open", for them "open" means "public domain".
GPL could possibly be abused in a "rent everything" situation. So, you are required to distribute the source code of a GPL'd program if you distribute the binaries. The first must come with the second. However, distribution is when it is required. If you modify GPL code and use it internally, no distribution is needed since you aren't distributing binaries.
So, go all "cloud" on that shit. Use and modify GPL'd software, but run it only on your servers. Everyone of your users interacts with it, but they don't get to have a copy, and they have to pay you monthly.
There you go, GPL avoided n' abused.
Factually incorrect: LLVM was started at the University of Illinois (see wikipedia). Apple essentially bought it when they decided that they didn't want to go GPLv3 (probably out of fear that the patent clauses would make it harder for them to sue Samsung or something, I would really love if someone could explain to me what's wrong about the GPLv3. Tivoization?). Now the biggest company on Earth has been pumping money into it for several years, and GCC is still as good or ahead. Perhaps GCC's structure isn't as bad as people make it out to be ... Imagine if there wouldn't have been LLVM perhaps Xcode would be Free?
Concerning this story it might be worth pointing out that ESR tried to start a flamewar on the GCC lists with a factually incorrect rant (factoids that people around here also seem to believe are true, like "llvm error messages are better" -- gcc did a lot of work in that regard, "GCC doesn't want to be modular" -- actually, they're working on that, "GCC doesn't allow plugins or being plugged in" -- nonsense, anecdotal evidence about better optimization in LLVM etc.)
ESR's two rants can be found here and here (didn't take him too long to use a gun metaphor), replies from the gcc communities are downthread. There you will also find the most common myths about GCC and LLVM disspelled.
Why would they do that? Clang was created from scratch by Apple, and they released it openly, because they know it benefits them. Why would they suddenly close it, when they were the ones who made the decision to open it in the first place?
So don't be a freeloader on someone elses work and write your own iostream, or use one of the many (including gcc's btw) that do allow you to link without such restriction. But don't think you can take someone's code for nothing, who explicitly said that it's okay to use only freely if you make your code okay to use freely also. Why do you think you have some right to use their work for nothing?
Apple doesn't sell XCode. It's a free download. It won't do you any good without a Mac to run it on, but that doesn't mean the BSD license isn't helping.
"When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
a Steam Machine can switch to GNOME and run a completely free game.
Fortunately humblebundle is starting to encroach on the Steam situation by noticeably not requiring DRM on a majority of their titles and so does desura.
And you can run these games on your Steam Machine. A Steam Machine runs a free operating system, which is noticeably less evil than a console from a company that has in the past compared startup developers to contestants on American Idol .
Neither of those examples are correct from the Stallman perspective.
I don't believe that the Stallman perspective as you characterize it is the most efficient in a market heavily distorted by video games. The purpose of the GNU project is to provide a source-compatible alternative to the UNIX system under a free software license. U.S. federal courts have ruled that reimplementing a platform from its specification does not infringe (Oracle v. Google). But on the other hand, courts are cracking down on this practice of reimplementation in the field of video games (Tetris v. Xio).
It's already making a compromise by merely being in those situations, merely for the sake of (reason omitted because you sure as hell didn't provide one).
I understand that you are unsatisfied with the level of detail provided in my previous comment. Please first allow me to reason by process of elimination. There are three ways to switch from proprietary applications on a proprietary platform to free applications on a free platform. The first is to replace the applications first. The second is to replace the platform first. The third is to replace both at the same time. In practice, the third has caused interoperability issues that the vast majority of users have found unacceptable because there's no way to do it gradually. The most gentle method of introducing free software, and likely the most successful method is a mix of the first and second methods over four steps.
The first step is to consider what free platforms could eventually replace your proprietary platform. Theoretically, ReactOS is closer to Windows than GNU/Linux is, but I haven't seen evidence that ReactOS is anywhere near the maturity of GNU/Linux.
The second step is to phase out applications exclusive to one platform in favor of applications compatible with the chosen free platform. For example, replace applications exclusive to Windows that do not run in Wine with applications that are ported to GNU/Linux or run in Wine. Preferably these are free applications such as Firefox, GIMP, and LibreOffice, but if no free application is available at the moment, that can wait. Even the Free Software Foundation has realized that a transition has to be done in steps and has begun to compile a list of free applications for Windows as one step.
The third step is to switch to a free platform and bring compatible applications with you. When I switched to GNU/Linux on my laptop, this was relatively painless because I had become comfortable with the result of the second step.
Finally, phase out the proprietary applications. This final phase may never finish if one's workload includes video games.
MS needs to make windows GPLv3
That'd be fine if you could put your money where your mouth is. Implementing your suggestion would cost half of Microsoft's market cap (currently $307.25 billion, therefore $153.63 billion).
Could they still make money in that situation? Absolutely.
Could they make as much money as they used to? I'm skeptical. Such a decision to cut expected earnings per share so drastically would likely make Microsoft the defendant in a shareholder lawsuit.
Actually, people take BSD code and put it in closed-source products all of the time. (eg, Xcode).
I'm not saying that everything should be GPL....it's entirely fine to use BSD if that's what the creator wants. But it's important to realize that in the longer term, GPL is going to give a future developer more freedom to customize the work to their own tastes, regardless of what kind of evolution it has gone through since originally developed, and regardless of whose hands it has passed through to get there.
Many people who advocate BSD over GPL do so because they stand by the conviction that a person ought to be allowed to close up the source code of a work that they built... and even I am compelled to objectively agree with this proposition, but when it comes to the matter of derivative works, it isn't necessarily just what they built anymore... it is still ultimately copyrighted by the original distributor.
And bearing in mind that under plain ordinary copyright, you actually need to get permission from the copyright holder in order to make a derivative work of something at all, the only real difference between BSD and the GPL is that the requirements for getting permission with BSD (keep the copyright notices intact) vs getting permission with the GPL (agree to the terms of the license, and release your changes under the same license), is that the former's requirements are lax enough that someone is able to take whatever they want for nothing more than credit and not offer anything back. In the longer run. GPL offers more freedom for future developers than BSD does, since with BSD, the amount of freedom can only monotonically decrease as the work evolves over time, passing through different hands, while with the GPL it is guaranteed to remain stable for as long as the terms of the original copyright stand.
File under 'M' for 'Manic ranting'
As a counterpoint, Apple likes LLVM. They've modified it, and they're selling their proprietary fork as XCode. They've found great value in the freedom afforded them by the BSD license. The users of XCode, however, aren't seeing much benefit from the BSD license, because it never got to them. Apple ate it along the way.
As a correction to the counterpoint: Apple has paid for full time development of Clang + LLVM, as they use it. Despite being under no legal obligation to share the source back to the community they have done so; in essence donating their time and money to a BSD project. Their users benefit (by having a better compiler), and other Free software users benefit (by having a better compiler, plus the ability to build their own IDE around the same underying compiler tech. as Xcode).
There are plenty of examples of BSD software getting "eaten" by a proprietary stack, but much of Apple's usage is actually one of the worse examples you could provide, as they often do contribute quite a lot back.
The real litigious bastards...
It's a false dichotomy.
Look at what the Ogg folks did: encoder is GPL, decoder is BSD. Very smart.
So nobody pitied your choice to agree to prevent users from controlling their computers ("I once worked on a project where part of the technology stack came with a legal requirement to take steps to prevent customers from reverse-engineering"). And nobody pitied you complaining that you couldn't find developers who were willing to be taken advantage of themselves—giving you code in exchange for nothing ("so LGPL was just as radioactive as GPL"). Or perhaps it was your namecalling (code licensed to not let you hurt others is "radioactive") that helped drive them away.
Digital Citizen
Also the FSF think it is not workable to have a large number of copyright owners in the case of big projects, e.g. the GNU Compiler Collection (aka GCC). The reason is that the FSF may want to decide to change the license of any of their project at any time. This is how they were able to change the license of GCC from GPL v2 to v3.
I thought that's what the "or (at your option) any later version" was for.
One important practical freedom is that LLVM works as a library. With GCC, leveraging the GCC backend, even for an open source project such as XL (http://xlr.sf.net), was a pain. With LLVM, it was dead easy. And then, building a commercial product on top of said open-source project (http://www.taodyne.com) was legally possible, whereas with GCC it would have been challenging to say the least.
-- Did you try Tao3D? http://tao3d.sourceforge.net
Apple's management (notably Steve Jobs) and some people who work for Apple used to work at NeXT. When NeXT needed a compiler, they chose to base their work on GCC. NeXT got caught distributing the GCC Objective-C frontend in violation of the GPL in what Brad Kuhn (longtime FSF employee and GPL violations enforcer) called a "calculated" infringement. It's reasonable to consider that when Jobs and company lost that fight they decided to get away from GPL'd software because they had experience with a copyright holder who defended their license. Sadly, Apple is building quite a record of copyright infringement. Apple got caught distributing VLC and GNU Go in violation of the GPL. Apple also got caught commercially infringing upon some writers' copyright. So perhaps Apple's switch from GCC toward a non-copylefted free compiler has at least as much to do with control over the user as any technical issues. After Apple's other illegal and unethical behavior, maybe Apple is just getting tired of the bad press.
But it's clear that differing values are at the heart of this issue; not having Apple use GCC doesn't "harm GCC" at all. The fight for software freedom was and is the reason for the GNU Project including starting GCC. Apple is welcome to help improve and distribute free software, including allowing its users to share in that freedom. This isn't a popularity contest no matter how much Eric Raymond and other open source advocates want to frame the issue in that way. As RMS said, "If that enables GCC to "win", the victory would be hollow, because it would not be a victory for what really matters: users' freedom."
Digital Citizen
Here, someone is giving you stuff without such strings, and you're suggesting building stuff on top of it, and then not letting the original author use your additional stuff in his day job where he can't use the GPL, because you don't like his choice of license.
GPL proponents are fond of saying "if you don't like the license, write it yourself. You don't get to profit off my hard work for nothing."
That's fine, and you're welcome to the attitude, but if someone gives you stuff, and you find it useful enough to build on top of it rather than starting from scratch, it makes you look petty and mean to place your code under the GPL so that he can't use it, even if it's legally permissible.
LGPL does not require dynamic linking, despite popular misconception. What it does require is providing source code of the free part, .o files of the proprietary part, a build script, and Installation Information. Where closed platforms fall down is the Installation Information.
> 20 years of GPL and legal advice is still coming in;
This has nothing to do with the GPL. You were talking about copyright assignment.
> therefor do not wonder that big non-profit academic organizations
> still consider GPL varieties "non-green" licenses:
> http://geant3.archive.geant.ne...
I've never heard of GEANT's software licence list. Since I've been working in the field for ten years, I can assure you it's not a reference. And if you read their document, you'll see it's based on an error. They classify just BSD, MIT, and Apache as "green" because they think that with every other licence "further authorisation is required". Nonsense. Somebody should contact them.
Expert in software patents or patent law? Contribute to the ESP wiki!
... and you see you don't need to tell the customers not to redistribute. If they just paid € 50'000 in licence fees they won't make the code available to there competitors for free.
The GPL is very "business-friendly" — it is just business being to afraid to actually see it's potential.
PS: GNAT Pro is a gcc based commercial compiler for Ada. There is a gratis version for non commercial use as well.
LLVM is the best thing to happen to the open-source community in decades.
The draconian and totalitarian rule of the GPL is over. Stallman and his ilk destroyed GCC all by themselves. Nobody wants to use GPLv3. The more he tried to tighten the screws, the more he turned people away from his fanaticism. There's too many possible issues related to plugins and even the C library for developers to want this mess associated with their software anymore. You need a lawyer to even cover the thousands of words of the GPL to avoid possible liability. There's finally an alternative, and people are scrambling to it. This speaks for itself.
GCC is dead. GNU is dead. GPL is dead. These are Stallman's final tantrums, because his irrelevance is finally coming to completion. The open-source community can finally claw its way back into the mainstream with an image of true freedom, rather than represented by the ravings of a crazy unkempt old man.
Develop with the BSD or GNU tools will still (IMO) allow GPL for the derived application.
Edits and updates could still require using the original BSD or GNU tools.
MS-Gates and other proprietary developers would still use BSD tool, but would they be able to use the OSS application code placed under a GPL? IDNK
Unaccountable leaders are masters, and unrepresented people are slaves. How do US and EU fare?
Stupid Anonymous Cowards, like you, are mortal minions of krap.
Unaccountable leaders are masters, and unrepresented people are slaves. How do US and EU fare?
That's pretty much how I feel about the GPL vs BSD thing.
I'm not sure how I feel about a society giving its members the ri. How do you feel about a society giving its members the ri?
(Hint: the subject line of a /. posting is limited in length, and it might not be big enough to say what you want.)
RMS wants to remove the developers ultimate expression of freedom and that freedom is to decide how they want to license their software.
RMS is opposed to software that doesn't offer users the freedom to get the source code, have somebody modify it. and then make the modifications available to others. He thus prefers a license that doesn't offer developers the freedom to provide software on terms that don't offer users said freedom.
So it's not that he's anti-freedom; he's in favor of some forms of freedom and opposed to other forms of freedom.
So you're saying licensing had nothing to do with Apple going with LLVM over GCC? That BSD vs GPL has nothing to do with it? That since Apple gave everything back to the community anyway, they complied with the GPL despite only being obligated to comply with BSD? That XCode is open-source and released under the BSD license?
Dislaimer: Those were earnest questions. I don't use LLVM, XCode, or any Apple software. I'm not familiar with the details of this story beyond what I've read in the comments.
Chuuch. Preach. Tabernacle.
Does it come with the source code?
If not, then it really does mean the BSD license isn't helping ensure freedom, in at least one sense.
Chuuch. Preach. Tabernacle.
Sure they are! If LLVM was GPLed then apple wouldn't be able to use it in XCode and all XCode users would no longer receive the benefits LLVM because apple would be forced to use or build another library.
Are you sure about that? Are you sure that Apple wouldn't be able to use a GPLed LLVM in XCode, even if they released XCode under the GPL as well? In this scenario, wouldn't both LLVM users and XCode users be better off than they are today?
What's that? Apple's greed prevents that from being a realistic scenario? Well then...
Chuuch. Preach. Tabernacle.
Why is it that they went with LLVM and not GCC, if not for the kryptonite that is the GPL? I'm aware of the... mess... that is GCC, but the prevailing opinion in the comments here suggests that the license was a significant, if not primary factor in this decision. Presumably, Apple "gave back" their contributions to Clang and LLVM, but is XCode open source? Would it have to be if the compiler they used had been licensed under GPL?
Chuuch. Preach. Tabernacle.
Off-topic: Fuck my life.
So I'm re-reading this thread, and I just realized, GP made reference to "our enemies", and in my response, I referred to "the terrorists".
As someone who enjoys reflecting on his own thought processes, consciously believes that there is no meaningful terrorist threat to the US, and thinks that "the terrorists" are to a large extent a fictional boogeyman conjured up to force social change, this scares the shit out of me.
The effectiveness of, for lack of a better word, brainwashing, just left me with chills running down my spine. If I, someone who really doesn't buy into the terrorism myth, subconsciously replaced "enemy" with "terrorists", how the fuck do you think Joe Sixpack's brain is dealing with this shit?
Chuuch. Preach. Tabernacle.
You idea if a "market success" is to sell me a binary without source. So I will be stuck depending on your crappy expensive support and early upgrade cycle (if I want any bugs fixed, as you will surely roll bug fixes into commercial upgrades). This is a problem I have, as a user, with non GPL code.
US-UK-Israel: The real Axis of Evil
Besides: You voice fear of things which never actually happened. Proving my point that business is missing the opportunities of GPL.
Except you are not, because you do not have to step into any vaults or close the door.
Correct. You are not obliged to use GPLed code in whatever project you're doing. Don't want your project subject to the GPL, don't use GPLed code in that project.
Lets see if we can find some really hard core stuff that we all depend on that is equally as dangerous as LLVM and clang. Ready I'll start:
MesaGL
X.org
Gallium 3D
Apache
PHP
Python
Perl
Cocos2d
OMG, these are all Timebombs to destroy your freedoms!
I don't know if you're just trolling, but having to freely give out the source code is not the same as being prohibited from making money on the software. I'd hope it's obvious. RedHat does just fine.
A successful API design takes a mixture of software design and pedagogy.
I have no words
If only.
I was playing devil's advocate, in case that wasn't obvious. It's more or less axiomatic that in this context, death for one's enemies is preferable to death for oneself.
Chuuch. Preach. Tabernacle.