6 ms·
I'm sorry, but I don't understand. Aren't both Clang and LLVM open source?
by mahouse 12y ago
I'm sorry, but I don't understand. Aren't both Clang and LLVM open source?
- tedks 12y agoNot completely. Proprietary modules and forks of both exist, so in the broadest sense they are not (in the sense of, if I'm ever handed a copy of something calling itself LLVM, I do not know that it is libre software). But worse than that, proprietary modules can be mixed-in to Clang and LLVM. So essential functionality can be hidden in proprietary modules. Imagine that Apple wants to do something nifty for Swift, but doesn't want Google to be able to use it in Go -- they'll release a proprietary module that can be linked into Clang. All free code in LLVM can be forked and made proprietary, and no proprietary code can be reasonably expected to be liberated. So the balance of free to non-free code can only ever get worse. I'm sure that the libre software world being based on a proprietary compile will be a great thing to add into the mix of pervasive surveillance and network penetration.
- danieldk 12y agoNot completely. Proprietary modules and forks of both exist, so in the broadest sense they are not (in the sense of, if I'm ever handed a copy of something calling itself LLVM, I do not know that it is libre software). By your definition, any non-copyleft open source licensed software ceases to be open source 'in the broadest sense' once a proprietary fork exists. Which is just silly, some software is open source according to the open source definition or it is not. Imagine that Apple wants to do something nifty for Swift, but doesn't want Google to be able to use it in Go -- they'll release a proprietary module that can be linked into Clang. People who pick the Apache, MIT, or any non-copyleft open source license do this knowing that proprietary forks or extensions are possible. Not everyone's definition of 'freedom' is the same as the FSF. Also, I would like to point out that the same thing happens in copyleft-land. Companies dual-license their code under a proprietary license and let contributors sign agreements, to shut out competitors and to get people to buy expensive proprietary licenses. Oracle thankfully uses the GPL for such strategies. In fact, they recently relicensed Berkeley DB and Berkeley DB XML under the AGPL(!). I'm sure that the libre software world being based on a proprietary compile will be a great thing to add into the mix of pervasive surveillance and network penetration. Just help me understand. FreeBSD takes the open source LLVM/clang, uses it to compile their open source software. And suddenly it becomes proprietary. How so?
- tobylane 12y agoSomeone who owns and distributes GPL-licenced software is not bound by the licence, they can allow themselves to fork it with a different licence. Apple employs the owner of CUPS, so they could abandon cups and 'start' anew closed-source.
- anon1385 12y ago>Not completely. Proprietary modules and forks of both exist, so in the broadest sense they are not This is also true of GCC. Lots of organisations have private forks and the GPL allows that. More generally, if somebody offers 'compiler as a service' over the internet then the GPL becomes irrelevant and they could add as much private code to GCC as they wanted. The GPL only forces you to contribute back under a very specific and narrow set of criteria. Criteria that the majority of software being written in 2014 doesn't meet. The GPL is largely irrelevant to most software shops these days - they freely incorporate piles of GPL licensed code into proprietary closed source products. They can do so because most new software is internal to organisations or delivered as an internet service. The GPL was designed for a different world. Software freedom has been set back because of people clinging to the GPL as the final word in software freedom. Your kind of GPL centric propaganda results in young developers today thinking they are doing the world a favour by writing proprietary closed source web apps - because they are using FOSS GPL libraries, right? And targeting the 'open' web, right? Do you AGPL licence all the code you write, including website backends? Does your employer? If not you should probably take a close look at yourself and consider that maybe you are part of the 'problem' you are decrying.
- GrinningFool 12y ago" So the balance of free to non-free code can only ever get worse" This would be true if people could not and did not write new free LLVM code/modules...
- deleted 12y ago[deleted]
- DannyBee 12y ago"Not completely. Proprietary modules and forks of both exist, so in the broadest sense they are not (in the sense of, if I'm ever handed a copy of something calling itself LLVM, I do not know that it is libre software)." Proprietary forks and modules of GCC exist too. Shocking, I know.
- tedks 12y agoWell, if they do they're never distributed, so a better term would be private, not proprietary. I suppose in the corporate sense, these two things are indistinguishable, so I should specify that I meant non-free, in the free-as-in-freedom sense, but I don't think I was ambiguous. I've been having this conversation in good faith, though my opinion is unpopular, and I'd invite you to do the same.
- chimeracoder 12y agoOP is being a rather hyperbolic, but it's not really that unreasonable to criticize Clang/LLVM on this issue. Both projects are politically motivated. GCC began explicitly as a project to provide a FOSS C compiler (few if any existed at the time). Clang/LLVM didn't start at Apple, but their development has been heavily sponsored by Apple, whose interest in the project stems from their interest in excising the GPL (and specifically the GPLv3) from their entire development stack. (Notice how the version of bash that ships with OS X is almost a decade old, and is also the last version that was released under GPLv2). The fact that Clang/LLVM are released under a FOSS license today does not mean (A) that they always will be, or (B) all essential functionality will always be[0]. With GCC, being a FOSS compiler collection is their entire raison d'etre - it's right in the name![1] Edit: Reworded sentence to remove ambiguous antecedent. [0] (ie, it's conceivable in the future that nobody will want to use Clang/GCC on its own, but will essentially have to use it in conjunction with another piece of related software, and there's no guarantee that this software will be FOSS. With GCC this is not a relevant concern only because the FSF would never let that happen; it undermines the entire founding point of the project. [1] GNU Compiler Collection
- deleted 12y ago[deleted]
- DrJokepu 12y agoActually, the reason Apple sponsored Clang/LLVM is because Apple engineers were unhappy with GCC's build times[1]. If you need to rebuild an entire operating system (kernel and userland) every day, your C compiler's build performance matters a lot. [1] http://www.imore.com/debug-48-melton-ganatra-episode-ii-understanding-apple http://www.imore.com/debug-48-melton-ganatra-episode-ii-unde...
- CJefferson 12y agoTo be fair to clang, one big motivating reason for starting clang (one of the reasons I got involved in helping clang myself) was the fact that at that time GCC would refuse any patch which made it easier for anyone to get a C++ parse tree out of gcc. clang was designed to do that from the start, and for me this has lead to greatly improved C++ tools.