Hacker News new | comments | show | ask | jobs | submit login
Eben Moglen: clang/LLVM built solely to undermine freedom (groklaw.net)
17 points by tzs on Aug 8, 2010 | hide | past | web | favorite | 46 comments

I usually agree with or sympathize with Moglen's views but this is just indefensible.

He's saying that Steve Jobs is "a man whose selfishness surpasses any recorded selfishness", and why? Because he opted to support a modular compiler started at the University of Illinois instead of the GCC.

The LLVM's license is free, and even classified as such by the FSF. To smear participants in a fellow free software project like this or those that fund it is beyond low.

I lost a lot of respect for Moglen after reading that.

NeXT under Jobs refused to meet their GPL obligations for their new ObjC frontend until they were threatened with legal action. I'm guessing Moglen was involved in that conflict, and it shaped his attitude about Jobs.

If that makes a person say he is "a man whose selfishness surpasses any recorded selfishness", then the speaker should either cut down on the hyperbole or have more dealing in the real world outside software.

> The LLVM's license is free, and even classified as such by the FSF

In fact, the FSF says it is GPL compatible, which means they are not only free to fork LLVM if they think Apple's stewardship of that project is risky, they can make their fork GPL.

Another thing to consider: Apple employs the majority of LLVM developers, including the lead developer. If Moglen is correct, why is the new code these people are contributing, as Apple employees, still under the old license? Wouldn't Apple be putting their new code under a less open license? And wouldn't they be getting the authors to relicensing the existing code under a less open license, or rewriting it?

The fact that Apple continues to put a lot of work into LLVM under a license that is very open (essentially a BSD license) is inconsistent with the motives Moglen ascribes to them.

"a man whose selfishness surpasses any recorded selfishness"

Seriously, what a knob. Not only is this the truth of this statement questionable -- any one of histories tyrannical monarchs would have been measurably more selfish -- and hyperbolic, it adds absolutely nothing to the discourse over licensing and open source development in general.

It personalises it unnecessarily. It's petty. I find this attitude to be supremely annoying; it involves attaching to much importance to _software licenses_ -- FFS -- when there are arguably much more important issues which could be argued more strongly. In other words, this dude needs to pull his head out of his bum and get some perspective.

Clang/LLVM is built (and financed) to be the real open-source competitor to GCC.

I don't see the problem here, not everything has to be GPL. I'm pretty sure the FreeBSD folks welcome the choice.

GCC is probably the main "monopoly" GNU has, so it must be scary to see that go away.

If I believed everything Stallman says he believes, I'd probably be afraid that the obsolescence of the flagship GPL products would over the long term spell the end of Free Software, and that in the long run a shift towards BSD-style software would leave us back where we were in the '90s: the best work from free software developers ends up absorbed into nonfree commercial software with no reciprocity, and so commercial software pushes free software back into the periphery.

I am not sure if it would spell the end, but it would reduce their influence. It is probably the most common GPL program included in non-GNU/Linux systems.

Truthfully, it is really a bad business decision not to send patches back to the original project. If you can get them adopted, it will save on maintenance (since everyone is maintaining your patch). It seems that companies that won't file patches back under BSD/MIT are not doing themselves any favors. Further, given the decision process at those companies, it is probably better that those patches don't get added to the mainline.

This remark appears to be a tiny side-note in a larger "State of Free Software" keynote talk, and makes Moglen look like a crazy person. I blame the title of the HN post, not Moglen.

Moglen stated, "but Mr. Jobs is investing heavily in LLVM solely so he can stop using GCC, lest the patents somehow leak across the GPLv3 barrier, and we become able to use his claims. Nobody has ever tried before, to build a multi-platform C compiler solely in order to undermine freedom."

According to wikipedia, the LLVM is licensed using the University of Illinois/NCSA Open Source License. http://en.wikipedia.org/wiki/University_of_Illinois/NCSA_Ope...

As stated in that entry, "Source code under the NCSA license can be incorporated into proprietary products without the reciprocity requirements that copyleft free software licenses raise. The license is compatible with all versions of the GNU General Public License."

Can someone smarter than me explain how this license undermines freedom? Or how the LLVM undermines freedom despite this license? I'm having a hard time connecting the dots.

Well, it's quite simple really - the license is not GPL and there is no reciprocity requirement - that alone in the minds of some GNU fanatics, amongst which obviously Moglen is, is a crime against freedom and all that's holy.

Maybe I'm getting old, senile and cranky, but thing's didn't use to be this kooky in the open source movement, did they? I mean, there was always the political component to it, the strife for influence, the "stick it to the man" thing, but things didn't use to get this out of hand - smearing another open source project, simply because it's kicking your ass while having a more liberal license.

The FSF has always been this political. Open software has gotten less political over the last 15 years.

Moglen doesn't think non-copyleft software is a crime. The evidence suggests that he thinks non-copyleft software is bad for free software in the long run, because it has the effect of enhancing non-free software along with free software.

Anybody can observe that over the long run, if most of the best work in open software is done without copyleft, copyleft-protected software will suffer; free software will have one major contributor (people writing free software), and nonfree software will have two (huge companies and people writing most of the best work in free software).

It's not complicated. It's a reasonable perspective. Disagree with it all you want (and I do), but it doesn't deserve to be mocked.

The reciprocity is in there to ensure free software stays that way and that any improvements made to it don't end up exclusively in proprietary versions. I think, as a user, that it is better at protecting my interests and that it's better to protect competition by commoditizing the software.

If LLVM had no technical advantages over GCC, the only reason to contribute to it would be to deny end users the rights the GPL would guarantee them if you were redistributing GCC instead.

But I don't think that applies. I've seen some purely technical complaints about the design of GCC. If LLVM were GPL, there would still be reasons for it to exist.

BSD-licensed software like LLVM gives programmers the freedom to make proprietary derivative works. GPL-licensed software like GCC gives users the freedom to use any derivative works since they must be GPLed. Or you could say the GPL gives users freedom from getting locked in to proprietary derivatives, since there aren't any.

> BSD-licensed software like LLVM gives programmers the freedom to make proprietary derivative works.

The other way to see this is that BSD allows programmers to enjoy the freedoms they got from fellow upstream developers while they take away the freedoms of their users.

To give you support in this, Apple still seem to be trying to hamper the LLVM project by patenting the side effects of producing various frontends to LLVM with patents like this recent one:


Every JavaScript frontend for generating IR would violate this patent (they even mention LLVM IR explicitly in this patent). Essentially Apple just patented the UCSD p-System (nothing new here and obviously plenty of prior art so this patent is totally invalid due to prior art).

The patent has only recently been published and harms anyone considering using LLVM as an intermediate between JavaScript and back-end machine specific executables.

So much for Apple not abusing its contribution to LLVM (and in particular not abusing the freedom of downstream users).

BTW: I can see this patent being used to enforce a silo of control of using LLVM for any inbrowser HTML5+JavaScript engines (i.e. a means for optimisation).

To go farther on this point using one of the other topics in the talk (Oracle/MySQL), suppose Oracle switched MySQL to AGPL3 and didn't sell commercial licenses. This would be more "freedom" for users but a major event for developers.

That major event would be happening on a plane that the FSF doesn't think about at all. Once it's AGPL3, people who don't care about the relationship between dollars and lines of code are fully unencumbered and can do whatever they want.

The FSF explicitly doesn't care about whether you can make money selling lines of source code or bits in an installer. If Oracle's AGPL3 move bankrupted a startup selling a derivative of MySQL, in the FSF's worldview that BK would have been the startup's fault for building a business model that depended on restricting user rights.

I don't agree with this worldview, but I don't think it's hard to defend.

AGPL3 might have a larger affect then "startup selling a derivative of MySQL", it is designed to make code for web apps "free".

Yes, I see the drama you're talking about here: you're saying, "Oracle could put the screws to most web software companies by forcing them to open source their app code".

Because of the way MySQL works, that's almost certainly not true. But stipulate that it is for a second, and, what's your point? Stallman agrees with Oracle here. Web software companies are ripping other developers off by building apps derived in part from free software but keeping their own code closed.

I don't share Stallman's outlook, but I see where it's coming from.

A webapp storing data in a version of MySQL licensed under AGPL is not touched by its license and needs not to disclose its source code.

Developers and users could just switch to the last MySQL version released under the GPL and keep using it and maintaining them separate from Oracle. Drizzle is such a derivative, pure GPL, fully independent from Oracle.

Free software is software cannot be killed or highjacked.

Dear downmodder: can you please explain your reasoning behind this?

I don't know if you have noticed, but at some point about four-six months ago, HN became something like Reddit /r/prog; you get downvoted by haters for pretty much everything without getting provided any justification whatsoever.

I know... I was in denial... ;-)

Perhaps the threshold for downvoting should be a function of karma rank instead of an absolute number. Perhaps it could be reserved to the top 90%.

So a crazy, largely FUD remark is OK if it happens to be in a larger talk?

I did some searching, and this isn't the first time he's claimed LLVM is a threat to free software: http://digifesto.com/tag/eben-moglen/

The remark in context doesn't make him sound crazy. LLVM is "less free" than GCC, because LLVM doesn't take the same steps to preserve programmer freedom as GCC (a quintessetial GPL product).

I don't agree with him, but he's making a remark consistent with his worldview. And it's hardly outside the mainstream to target Apple for violating programmer freedom.

However, by making it sound as if a concern about LLVM was the theme of his talk, you've made him sound crazy. That's unfair and lowers the level of discourse at HN.

LLVM provides numerous purely technical benefits to Apple, including allowing for better graphics performance (which is an area that is important to one of Apple's key customer demographics), allowing better integration with debuggers, profilers, and IDEs, and allowing easier evolution of Objective-C.

Moglen is making it sound as if these technical benefits weren't a factor--Apple is supporting LLVM just to undermine free software.

First of all, he can't give any example of them doing anything with LLVM that actually undermines free software. He's just speculating that they could do so in the future.

Second, there is no rational basis for claiming that this hypothetical future ability to undermine free software is the sole (or even a major) reason Apple supports LLVM.

Moglen is just spreading FUD, pure and simple.

Also, how would you suggest that the submission title be worded?

I like LLVM more than I like GCC. Now that we've dispensed with that tangent:

Elbowing GCC out of the dominant position in the market with a non-GPL'd component --- one that can easily be "taken private" with enhanced, patent-encumbered, closed-source variants --- is not a win for the FSF. No doubt the FSF thinks its important that the most widely-used C compiler is Free Software.

For the N thousandth time, I don't agree with Moglen, and if Moglen had given a talk titled "LLVM is a Serious Threat To Free Software", I'd think he was a crazy person. But he didn't. He made an offhand comment that totally fits with the FSF's worldview.

You've now spent far more time talking about how crazy Moglen is than Moglen spent talking about LLVM.

The appropriate title for your submission is "Eben Moglen on The State Of Free Software", since that's the title of his talk. Don't editorialize in the title; just write a comment to make your point.

    The appropriate title for your submission is "Eben Moglen on
    The State Of Free Software", since that's the title of his
    talk. Don't editorialize in the title; just write a comment
    to make your point.
I did not editorialize in the title. If I had been submitting in order to bring to people's attention that Moglen gave a wide-ranging talk that contains many things people might want to discuss, then your suggested title would be appropriate--and then we'd have a bunch of unrelated things being discussed in the comments from the submission.

However, I was submitting to promote discussion of one particular point from his talk. If I was editorializing, I would have used a title like "Moglen makes unsupported accusation against Apple" or something like that, rather than a simple, accurate conveyance of what he said.

I also found his remarks on MySQL and Oracle interesting. If someone wants to discuss them, I would see no problem with them submitting a link to his talk with a title calling attention to those specific remarks, so as to promote discussion of that particular part of the talk.

For your benefit in future postings, here is a clue that you may have editorialized a title:

If the article you've submitted has 5,500 words in it, and the real title of that article (a) doesn't include the idea in your title and (b) accurately sums up the article, and you have to add a comment like "see minute 35:31 to see what I'm talking about" to have the title make sense, then you may have editorialized the title.

    editorialize |ˌɛdəˈtɔriəˌlaɪz| verb [ intrans. ]
    (of a newspaper, editor, or broadcasting organization) make comments
    or express opinions rather than just report the news.
    • offer one's opinion, as if in an editorial.
Since you cannot infer from the title I chose, nor the comment pointing to the particular place in the article I was talking about, my opinions on that part of the article could you please explain exactly how it is editorializing?

Alternatively, could you explain exactly how one should submit for discussion something that appeared in a longer article that discussed many unrelated things?

You don't get to take a large article and monopolize its coverage on Hacker News with your own point of view. Next time, submit the article on its own merits and leave your point of view to the comments.

How about if I make a blog somewhere, write a short blog entry calling attention to the part I'm interested in discussing, and submit that blog entry to HN? Would that be acceptable?


They're notorious control freaks about their platform. It's reasonable to assume they want to undermine free software. NeXT under Jobs refused to meet their GPL obligations for their new ObjC frontend until they were threatened with legal action. And their ObjC or C++ requirement for iOS development doesn't really make sense until they can prevent anyone from forking the compiler to produce a less painful dialect of those dated languages.

Which is not to say that LLVM has no technical advantages over GCC.

The change for Apple to clang and LLVM has nothing to do with "prevent anyone from forking the compiler to produce a less painful dialect of those dated languages". GCC has FORTRAN and Ada front-ends and those aren't allowed now. This is the weirdest conspiracy theory on LLVM / clang I have heard yet.

It has everything to do with wanting to use the same code in the IDE as the compiler and not wanting to GPL their development tools. Never mind the additional tools we are likely to see as clang and it associated projects mature.

The GPL is not concerned with programmer freedom, it is concerned with user freedom. The BSD/MIT camp favors the programmer side.

The FSF doesn't draw a distinction between programmer freedom and end-user freedom, so this dichotomy is misleading.

People who argue that we need to kill infidels also are making comments consistent with their world-view, however it's hardly what most people would argue is "freedom".

I have no idea what killing infidels has to do with whether we should promote software with GPL freedoms attached and shun alternatives that don't have those rights. That's not my worldview, but I don't see why it should be caricatured.

This is crazy talk. Apple's decision to go with LLVM is simply a practical and pragmatic one. It is a matter of choosing the right tool for the right job.

They simply needed a better compiler infrastructure to make Xcode and other tools smarter. You can see some good results of that in Xcode4.

They saw a great opportunity in an open source project (LLVM) and jumped on it.

> You can see some good results of that in Xcode4.

No, I can't. It's proprietary and probably won't ever be ported to my platforms. This kind of crap is why I don't contribute to BSDL projects unless I'm being well paid.

I disagree, strongly, with the sentiment of Mr. Moglen. As a user of a BSD, I can see a few reasons for wanting a non-GPLed compiler. I also suspect that GNU feels threatened by an open source competitor after being the only real game in town for so long.

See remarks at 36:50 in the transcript.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact