4 ms·
I argue the opposite. The GPL consumed all the (OSS developer) oxygen in the room in a number of useful spaces (gcc, for example), where it was far too expensi
by catiopatio 4y ago
I argue the opposite.
The GPL consumed all the (OSS developer) oxygen in the room in a number of useful spaces (gcc, for example), where it was far too expensive for far too long to start a non-GPL’d replacement.
This is still the case for things like GPG, where we have zero integration with mainstream e-mail clients, and zero penetration into the “normie” consumer market.
The GPL creates an inescapable sub-critical mass. You can almost never grow beyond the “hacker” market of other GPL software developers, because the people who cannot code — but can spend money — have no reasonable way to pay for development.
The GPL is a cancer on open source that has hobbled OSS (and the general progress of the industry!) at almost every juncture.
Imagine if BSD and Linux developers could cross-pollinate code, for example. How much more vibrant would OSS be for the interaction of those different branches of the UNIX tree?
GPL OSS that has succeeded has done so despite the GPL, not because of it. The GPL is viral, coercive, and captures and co-opts the value of OSS to further the aims of the GPL, rather than the OSS development itself.
- deafpolygon 4y ago> Imagine if BSD and Linux developers could cross-pollinate code Nothing in the GPL prevents you from making your own derivative. Anyone can take that derivative and make their own. What it prevents is forking and closing the source of the software. We wouldn't have code to cross-pollinate at this stage if it were not for the GPL.
- catiopatio 4y agoOf course we’d have code to cross-pollinate; an entire ecosystem of liberally licensed code exists. The GPL absolutely prevents you from making your own derivative unless you adopt the same coercive, viral license.
- sobkas 4y ago> Of course we’d have code to cross-pollinate; an entire ecosystem of liberally licensed code exists. > The GPL absolutely prevents you from making your own derivative unless you adopt the same coercive, viral license. And what incentive I have to allow everyone to create closed derivatives of my code and use them to take freedom away from their users(most likely including me). If they love closed code so much, they are free to hire as many developers that will write it for them. But it costs money while taking someone else code is cheap. I don't want to help people who want to enrich themselves on someone else work without giving anything back.
- lproven 4y ago> a number of useful spaces (gcc, for example), What is LLVM & Clang then, chopped liver?
- catiopatio 4y agoIt was literally decades before LLVM and Clang become a reality, and even longer before they could supplant the GNU toolchain for most popular architectures. GCC’s dominance held back new languages, and language front-end development, for decades.
- lproven 4y agoThe LLVM project started in 2000, and the first release was 2003. https://en.wikipedia.org/wiki/LLVM#History https://en.wikipedia.org/wiki/LLVM#History The first release of GCC was 1987: https://gcc.gnu.org/wiki/History https://gcc.gnu.org/wiki/History That's a 13 year gap, 16 if you count first release rather than the start of work. That is not, to quote you, "literally decades". It is significantly less than 2 decades. Secondly, there was lots of language development between 1987 and 2000 -- for convenience, we can say the 1990s. That is the era when Python ('95), Ruby ('95), Java ('96) and Javascript ('96) and many others first appeared. Perl is contemporaneous with GCC. It is not true to say that GCC stifled development. What is true is that this is the era when a lot of interpreted and VM/bytecode/runtime-based languages originated, including both the JVM and .NET CLR. The focus of FOSS language development was arguably elsewhere, maybe _because_ GCC evolved to be a serious competent professional tool in that timeframe. Additionally, there was a lot of R&D in compiled languages in that decade or so, including Delphi, VB6, the first native C++ compiler from Zorland, and so on. It took time for FOSS code to catch up and surpass proprietary compilers, yes, but with one good compiler, there was less pressure to do so, and so people worked on scripting languages instead.
- ryao 4y agoGiven how poorly GCC's rust front-end development has been going, I doubt Rust would have been made without LLVM. > with one good compiler, there was less pressure to do so, and so people worked on scripting languages instead. See this comment regarding your idea that GCC is a good compiler: https://news.ycombinator.com/item?id=34008284 https://news.ycombinator.com/item?id=34008284 It is a buggy compiler and it is a wonder that it works as well as it does. It is no surprise that LLVM is better. As for people working on scripting languages instead, it is more that they were forced to work on scripting languages because the GCC codebase was designed to be incomprehensible to all but a select few. This is obvious if you try reading GCC. If you have not, I highly recommend that you pick some random files and begin reading. I can read random parts of the Linux kernel and generally follow along what is being done. I can do the same with LLVM to some extent, which I know since I have patched it locally in the past. I cannot do that with GCC. It is a mess. :/
- ryao 4y agoThe code quaity of GCC leaves much to be desired. Their mailing list has some figures from Coverity, where the defect rate in 2017 was at 1.67 defects per thousand lines of code for their 2.5 million lines versus 0.62 defects in LLVM per thousand lines of code for LLVM's 5.1 million lines: https://inbox.sourceware.org/gcc/793886b8-2fd8-e593-f065-2399412ba347@debian.org/T/ https://inbox.sourceware.org/gcc/793886b8-2fd8-e593-f065-239... At present, GCC is at 1.60 defects and LLVM is at 0.76. LLVM was at 0.32 in July, but it jumped to 0.76 in August around the time it would have branched to start LLVM 16 development and has stayed there since then. GCC has a policy of hiding its coverity data contrary to the spirit of open source, so I have not been able to see its historical data. I could forking it on github and submit my own builds to coverity to see what the historical data likely was, but I do not see much reason to do that beyond knowing the current state is a mess. Anyway, I felt like expanding on your GCC remark, since it is a pile of bad code that is definitely holding back OSS and the industry.