13 ms·
I'm concerned about the gradual move from GCC to LLVM. The lack of copyleft protections on LLVM means that it's much more dependent on corporate sponsorship, an
by jasonhansel 6y ago
I'm concerned about the gradual move from GCC to LLVM. The lack of copyleft protections on LLVM means that it's much more dependent on corporate sponsorship, and means that there's a risk that major improvements to LLVM compilers will only become available as proprietary products.
People underestimate the role of copyleft licenses in preserving long-running FOSS products like GCC, Linux, etc.
- dnautics 6y agoCan you give an example of a non-copyleft open source product where the major improvement is proprietary?
- rickbutton 6y agonginx
- dnautics 6y agoSorry, I wasn't aware. What's the major improvement?
- kevincox 6y agohttps://www.nginx.com/products/nginx/ https://www.nginx.com/products/nginx/ Although this is probably not the best example because this is sold by the company that largely funds the open source project. Although that is a big conflict of interest.
- tick_tock_tick 6y agoEverything in the Plus category. https://www.nginx.com/products/nginx/#compare-versions https://www.nginx.com/products/nginx/#compare-versions
- pornel 6y agoCloudflare-nginx has much improved HTTP/2 support: https://blog.cloudflare.com/nginx-structural-enhancements-for-http-2-performance/ https://blog.cloudflare.com/nginx-structural-enhancements-fo...
- sisu 6y agoWine used to have some proprietary forks such as Cedega before they switched from MIT to LGPL.
- fooker 6y agoZFS was proprietary for several years.
- mac01021 6y agoBSD -> Mac OS?
- snuxoll 6y agoAll the bits for the core of the system are open, it’s just not very exciting without the proprietary bits like WindowServer, AppKit, etc. - all of which would have been equally easy to keep closed if much of Darwin was based on GPL’d projects.
- heavyset_go 6y ago> All the bits for the core of the system are open No, some bits are open, and some bits track what's actually being shipped. Much of what is open sourced lags behind what is running on end user machines by several years. iOS modifications to XNU and Darwin were never made open source. Apple is also dropping GPL internals in favor of open source but not copyleft licenses so that they don't have to release source code changes to the software they release.
- axaxs 6y agoI don't see how, personally. There are tons of thriving open source non-copyleft projects. And there are tons of GPL violators who go on business as usual. I think perhaps copyleft licenses are overattributed to the success of such projects.
- jasonhansel 6y agoMost of the thriving non-GPL OSS projects are supported and funded by large corporate sponsors--not by communities or foundations (e.g. React.js by Facebook, Blink by Chrome). Furthermore, many non-GPL OSS projects have eventually gone proprietary (e.g. MongoDB's switch from AGPL to SSPL).
- joshuamorton 6y agoThe gpl projects are also corporately sponsored, just indirectly.
- jcelerier 6y agoA fair amount of GPL work is done by researchers in public universities
- joshuamorton 6y agoThe same is true of non-gpl work. Half the linux foundation's funding comes from 6 companies. Not to mention the full time employees paid to work on it. And I find that there's similar patterns in a lot of other widely used gpl software. Similarly, MIT/Apache software gets tons of contributions from non-corp people too.
- nix23 6y agoI would not call that "indirectly": https://www.linuxfoundation.org/membership/members/ https://www.linuxfoundation.org/membership/members/ and that: https://www.linuxfoundation.org/blog/2016/08/the-top-10-developers-and-companies-contributing-to-the-linux-kernel-in-2015-2016/ https://www.linuxfoundation.org/blog/2016/08/the-top-10-deve...
- woodruffw 6y ago> I'm concerned about the gradual move from GCC to LLVM. The lack of copyleft protections on LLVM means that it's much more dependent on corporate sponsorship, and means that there's a risk that major improvements to LLVM compilers will only become available as proprietary products. As someone who works within LLVM professionally, I don't think this is particularly likely -- compilers are massive and complicated beasts, and the "moat" for proprietary improvements is small: they're either niche and therefore not of interest to the majority of programmers, or they're sufficiently general and easiest to maintain by releasing back upstream (where Apple, Google, and Microsoft will pay a small army of compiler engineers to keep them working). Your concern is the one that kept GCC from stabilizing its various intermediate representations for decades, which is why virtually all program analysis research happens in LLVM these days. Edit: To elaborate on the above: neither Apple, nor Google, nor Microsoft wants to individually maintain LLVM. Microsoft appears (to this outsider) to be actively looking to replace (parts of) MSVC/cl with the LLVM ecosystem, because they're tired on maintaining their own optimizing compiler.
- sroussey 6y agoBut Intel put proprietary work in ICC and their math libs, so there is something on periphery that’s going to keep the worry alive even if it doesn’t have a base.
- woodruffw 6y agoWell, to be clear, both ICC and MKL are fully proprietary. They do indeed justify the worry, but they're not in the same "open source but may be susceptible to proprietary creep" category.
- Manishearth 6y agoI agree, as someone who works on rustc I think it's a significant endeavor to maintain a substantial fork of either Rust or LLVM. (Rust does maintain a fork of LLVM, but it's just a couple minor patches that typically get upstreamed eventually)
- boris 6y ago
- jahewson 6y agoI think GCC’s resistance to modularisation and the resulting rise of LLVM has proven beyond doubt that the greater risk is that by putting up barriers to corporate contribution there will not be any major improvements in first place.
- higerordermap 6y agoI am even more concerned about LLVM monoculture. LLVM is just a proprietary-able version of GCC. And thus compiler authors mostly focus on benchmarks while not caring about other metrics such as compilation speed, correctness and codebase quality / ease of contribution. There appears to be some tribal knowledge requirement to add a new target. With all the hype and apple funding LLVM gets, it could have been better.
- Google234 6y agoI all see are a bunch of baseless accusations.
- deleted 6y ago[deleted]
- deleted 6y ago[deleted]
- yzmtf2008 6y agoI wouldn't say GCC has an edge on "codebase quality / ease of contribution". Doesn't RMS actively pushes against such metrics? https://gcc.gnu.org/legacy-ml/gcc/2014-01/msg00247.html https://gcc.gnu.org/legacy-ml/gcc/2014-01/msg00247.html
- boris 6y agoHaving contributed to both (nothing major but not trivial one-liners either), my feeling is GCC definitely has a higher quality codebase and a more rigorous review process. While the latter doesn't always translate to the ease of contribution, I found that if you are persistent enough, your patches to GCC will be reviewed. On the other hand, I had my patches to LLVM ignored forever. Just my 2c based on experience.
- JoshTriplett 6y ago> LLVM is just a proprietary-able version of GCC. It isn't just that. It's also a compiler framework, somewhat usable as a library without being part of its codebase. And I really do mean somewhat usable; the LLVM experience for use as a library is not great, but it's wildly better than GCC's. I think that, not just the license, is a big part of what made LLVM successful.
- JoshTriplett 6y agoThat makes me sad as well, but I also think it was largely self-inflicted. GCC took much too long to realize that people needed a common code-generation framework, and be willing to support that and work towards it. LLVM was designed from the start to be such a framework.
- colejohnson66 6y agoThis seems all too common in the software industry. A company creates a product, but after a while, ignores the changing needs of the market until it’s too late.
- pjmlp 6y agoYes, we are short of getting back into the days of Shareware and PD, and then the anti-GPL crowd will be happy with the outcome. As commercial software user, I don't have much issue with it, after all I have been coding since the early 80's. And in spite of it and my occasional Linux rants, I am thankful for GPL, because without it there wouldn't be a UNIX to install at home to get my university work from DG/UX done without having to spend one hour traveling into the campus and fighting for a terminal. Without Linux + GNU based userspace, the commercial UNIXes would all be around.
- smabie 6y agoI mean, without Linux the arguably superior BSDs would rule the roost, not commercial unices.
- pjmlp 6y agoSure keep believing it, I love the Apple and Sony contributions to upstream.
- zokula 6y agoLMAO none of the BSD's have not been superior to Linux in over 20 years. Linux has been faster, more stable and more secure then any of the *BSD's for over a decade now.
- nix23 6y ago>Linux has been faster, more stable and more secure then any of the *BSD's for over a decade now. Can you prove that? EMC, Netflix and Sony thinks otherwise. EDIT: And please stop with that LMAO (Sound like a childish Child from reddit)
- pjmlp 6y agoThey do, Sony also upstreams more stuff from their Android phones into AOSP than PS4 OS into FreeBSD, guess why.
- nix23 6y agoGCC changed from GPLv2 to GPLv3 which is a stupid license for a compiler (Thanks FSF). I'm happy that LLVM exists, happy that Microsoft, Apple, Linux, and BSD's can use it without that GPLv3 BS.
- pornel 6y agoA GCC back-end for Rust is incredibly important for FLOSS. Even if the world doesn't switch from C to Rust overnight, Rust creates a negative halo effect for GCC, casting doubt on GCC's future relevance. Rust support in GCC would be a huge win for both projects.
- aldanor 6y agoA win for GCC - for sure. Not sure why that would be a 'huge win' for Rust at all.