|
|
Subscribe / Log in / New account

Permissive licenses, community, and copyleft

Permissive licenses, community, and copyleft

Posted Oct 18, 2015 2:57 UTC (Sun) by Cyberax (✭ supporter ✭, #52523)
In reply to: Permissive licenses, community, and copyleft by dvdeug
Parent article: Permissive licenses, community, and copyleft

> LLVM certainly drew off many users of GCC's C/C++/Objective-C frontends, especially the last.
Not only that. LLVM is also used in 3D drivers (Mesa) as a JIT engine for JavaScript in a major browser ( https://trac.webkit.org/wiki/FTLJIT ), as a backend for Rust, and in many other situations.

Meanwhile GCC is still failing to move out of its niche as a static compiler. It's right now marginally better than LLVM, but this is already changing.

It's also interesting that you mentioned Ada and Go. The first one is pretty much irrelevant and the second one is falling behind the mainline Go. Turns out that GCC's performance advantages are not worth additional complexity of using GCC for most users. Meanwhile self-hosting LLGO ( http://llvm.org/klaus/llgo/ ) is progressing nicely.


to post comments

Permissive licenses, community, and copyleft

Posted Oct 18, 2015 17:50 UTC (Sun) by lsl (subscriber, #86508) [Link] (1 responses)

> Meanwhile self-hosting LLGO ( http://llvm.org/klaus/llgo/ ) is progressing nicely.

That link shows 9 commits in the last six months, a third of which just update the local copy of gccgo's libgo (so much for self-hosting). From what's left, the only non-trivial one is a bulk import of some line editing library. All the nice progress must have happened more than six months ago, surely.

Permissive licenses, community, and copyleft

Posted Oct 19, 2015 2:49 UTC (Mon) by Cyberax (✭ supporter ✭, #52523) [Link]

Oh, it's a little bit dead, indeed.

Permissive licenses, community, and copyleft

Posted Oct 21, 2015 4:00 UTC (Wed) by dvdeug (guest, #10998) [Link] (2 responses)

Its niche as a static compiler is still incredibly important. We'll see how it goes, but it's not like GCC is standing still.

Ada is pretty much irrelevant but look at this shiny Rust frontend? Despite the fact that Ada is 27th on the TIOBE Index for October 2015 and Rust is 49th? The 2012 standard for Ada helped firm up Ada's niche, and while it's probably on the way out, well, we said that about C, too (#2 on the list). Whereas Rust is interesting, but it may be used, or it may fall into a pile of interesting languages that never hit critical mass.

In any case, besides counting races that have barely begun as being over, what does this have to do with licenses? Every time you say that LLVM is better at something, it makes it less likely that LLVM is being used by people for its license. The only way one example could even start to talk about licenses is if one product really sucked and yet was being used by a significant number of people because of its license; something that happens between open-source and proprietary code sometimes, but not really among open-source licenses.

Permissive licenses, community, and copyleft

Posted Oct 21, 2015 7:23 UTC (Wed) by Cyberax (✭ supporter ✭, #52523) [Link] (1 responses)

> Ada is pretty much irrelevant but look at this shiny Rust frontend? Despite the fact that Ada is 27th on the TIOBE Index for October 2015 and Rust is 49th?
Yup. Pretty much nobody uses Ada outside of tight circle of defense contractors. And TIOBE, seriously?

> In any case, besides counting races that have barely begun as being over, what does this have to do with licenses? Every time you say that LLVM is better at something, it makes it less likely that LLVM is being used by people for its license.
Yes, license is extremely important. For example, Mesa3D wouldn't have been able to use GCC even if they wanted to. Ditto for FTL JIT that Apple uses now.

Permissive licenses, community, and copyleft

Posted Nov 1, 2015 1:33 UTC (Sun) by dvdeug (guest, #10998) [Link]

Pretty much nobody uses Ada outside of a tight circle of defense contractors. True. And pretty much nobody uses Rust, period. If Rust isn't relevant, then it's not relevant.

Claiming that the license lets LLVM be used in spaces that GCC can't is a special-purpose claim; it's basically <i>why</i> LLVM and GCC can't be used as the end-all and be-all of how GPL is doing against less-restrictive licenses.

Permissive licenses, community, and copyleft

Posted Nov 10, 2015 21:06 UTC (Tue) by jwakely (subscriber, #60262) [Link] (9 responses)

> Meanwhile GCC is still failing to move out of its niche as a static compiler.

Where does libgccjit fit into your worldview?

> It's right now marginally better than LLVM, but this is already changing.

By what metric?

Did you consider that GCC has implementations of the C++ Concepts TS, Filesystem TS, Transactional Memory TS, and pretty soon the draft Networking TS ... none of which are available in Clang?

Does OpenMP 4 support matter?

> It's also interesting that you mentioned Ada and Go. The first one is pretty much irrelevant and the second one is falling behind the mainline Go. Turns out that GCC's performance advantages are not worth additional complexity of using GCC for most users.

What about the fact that mainline Go only support x86 and arm? If you're not "most users" are you out of luck?

> Meanwhile self-hosting LLGO ( http://llvm.org/klaus/llgo/ ) is progressing nicely.

Someone else already debunked this claim.

Permissive licenses, community, and copyleft

Posted Nov 10, 2015 21:57 UTC (Tue) by Cyberax (✭ supporter ✭, #52523) [Link] (6 responses)

> Where does libgccjit fit into your worldview?
In the usual place - nobody really uses it.

> By what metric?
The speed of the resulting code.

> Did you consider that GCC has implementations of the C++ Concepts TS, Filesystem TS, Transactional Memory TS, and pretty soon the draft Networking TS ... none of which are available in Clang?
Only concepts and transactional memory are related to GCC. Everything else is just library code.

> Does OpenMP 4 support matter?
OpenMP 3.1 is complete ( http://blog.llvm.org/2015/05/openmp-support_22.html ), OpenMP4 is in progress.

> What about the fact that mainline Go only support x86 and arm? If you're not "most users" are you out of luck?
Yep. Also Clang doesn't support some crazy architectures which is perfectly fine by me.

Permissive licenses, community, and copyleft

Posted Nov 13, 2015 10:05 UTC (Fri) by jwakely (subscriber, #60262) [Link] (5 responses)

So GCC is ahead by all those metrics.

Permissive licenses, community, and copyleft

Posted Nov 13, 2015 17:58 UTC (Fri) by Cyberax (✭ supporter ✭, #52523) [Link] (4 responses)

Well, you can delude yourself about that, sure. You can even continue doing this once pretty much everybody in the industry switches to clang.

Permissive licenses, community, and copyleft

Posted Nov 16, 2015 20:59 UTC (Mon) by jwakely (subscriber, #60262) [Link] (3 responses)

What's delusional about it? You may not consider them to be important metrics, but are you denying that GCC is ahead by those metrics?

GCC has concepts and TM (and Filesystem, "just library code" or not) and Clang doesn't (yet).

GCC has OpenMP4 and Clang doesn't (yet).

GCC supports more architectures (albeit ones that you don't care about).

Why am I deluded about that? Are you just spouting off or do you have something useful to say?

Permissive licenses, community, and copyleft

Posted Nov 16, 2015 21:32 UTC (Mon) by Cyberax (✭ supporter ✭, #52523) [Link] (2 responses)

> What's delusional about it?
That several pretty much inconsequential differences actually mean anything.

For example, let's compare with LLVM announcements for the last couple of weeks:
- Google announced GPUCC support for LLVM, bringing in CUDA support ( http://llvm.org/devmtg/2015-10/slides/Wu-OptimizingLLVMfo... ).
- AMD announced LLVM-based CUDA translator ( http://www.amd.com/en-us/press-releases/Pages/boltzmann-i... )
- NVidia announced Fortran support with vectorization for LLVM.
- There's already a production-grade SPIR-V backend for LLVM, while a gcc backend is still being talked about.
- There's support for symbolic execution in LLVM, useful for static analyzers ( https://feliam.wordpress.com/2010/10/07/the-symbolic-maze/ ).
- There's a production-grade tracing JIT for LLVM, used on hundreds of millions of devices, while gccjit is pretty much dead.
- ...

So pretty much the only objection is that GCC has OpenMP4 which LLVM will only get in the next release (they're still failing a couple of tests). Yeah, I'm pretty sure that it's a mortal blow to LLVM.

I'm pretty sure that the development focus has shifted from GCC, permanently.

Permissive licenses, community, and copyleft

Posted Nov 16, 2015 21:51 UTC (Mon) by jwakely (subscriber, #60262) [Link] (1 responses)

> NVidia announced Fortran support with vectorization for LLVM.
> There's already a production-grade SPIR-V backend for LLVM, while a gcc backend is still being talked about.

Oh, so when LLVM has something announced, but at least a year from existing, that's a plus point for LLVM, but when LLVM has something existing and GCC is only talking about it, that's also a plus point for LLVM. You should try to make it a bit less obvious when twisting facts to suit your agenda.

Newsflash: GCC already has a high quality Fortran front-end, with vectorization.

> I'm pretty sure that the development focus has shifted from GCC, permanently.

What does "the development focus" mean?! If you mean loudmouths on the internet who contribute nothing to either project are spending their time hyping LLVM, I must agree. As far as actual development goes, both projects seem active and healthy to me.

Permissive licenses, community, and copyleft

Posted Nov 17, 2015 5:25 UTC (Tue) by Cyberax (✭ supporter ✭, #52523) [Link]

> Oh, so when LLVM has something announced, but at least a year from existing, that's a plus point for LLVM, but when LLVM has something existing and GCC is only talking about it, that's also a plus point for LLVM.
Yup. It means that companies are actively investing in LLVM to the point where it's going to dominate everything else. And it will happen within a year or so.

> What does "the development focus" mean?! If you mean loudmouths on the internet who contribute nothing to either project are spending their time hyping LLVM, I must agree.
It means that when you're starting a new project, you first go to LLVM and not gcc. E.g.: Rust, BEAMJIT ( https://lup.lub.lu.se/student-papers/search/publication/5... ), Pyston, beignet, ...

Do you know anything exciting happening lately with gcc? It still has some momentum and a lot of developers are more familiar with it (so it gets new C++ features faster), but it's clearly fading.

Permissive licenses, community, and copyleft

Posted Nov 11, 2015 3:38 UTC (Wed) by lsl (subscriber, #86508) [Link] (1 responses)

> What about the fact that mainline Go only support x86 and arm? If you're not "most users" are you out of luck?

That's no longer true. The gc compiler for Go now additionally supports aarch64/arm64, mips64 and power. There's also someone working on SPARC support, I think, but no idea how far it is. Probably not going to be part of the coming 1.6 release.

Permissive licenses, community, and copyleft

Posted Nov 13, 2015 10:06 UTC (Fri) by jwakely (subscriber, #60262) [Link]

Good to know, thanks!


Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds