7 ms·
> I'm not yet convinced that MIT-like, BSD-like, and Apache-like are any worse at perpetuating user freedom, and may in fact be far better at perpetuating user
by jbk 11y ago
> I'm not yet convinced that MIT-like, BSD-like, and Apache-like are any worse at perpetuating user freedom, and may in fact be far better at perpetuating user freedom due to their greater acceptance.
Well, the GPL mandates the right to use the application, and that a redistributor cannot restrict it (section 0, preambule and section 6, IIRC); that right is not guaranteed by MIT, BSD, MPL or Apache.
- Aldo_MX 11y ago>Well, the GPL mandates the right to use the application, and that a redistributor cannot restrict it (section 0, preambule and section 6, IIRC); that right is not guaranteed by MIT, BSD, MPL or Apache. I've yet to see a person who hasn't been able to get the free version of Lua/zlib/libjpeg/libpng/etc. just because some of its rights were restricted by a commercial product (ex. a game). I'm not saying that the GPL is a bad license, but I personally believe that people who defend it by saying it gives you "more freedom" than MIT/BSD/Apache-like licenses should do a reality check first. More freedom in legalese doesn't equal more freedom in practice.
- jbk 11y agoI'm sorry, but you are answering on the side to what I've said. It's about freedom to use, not to get/modify/redistribute.
- Aldo_MX 11y agoWhat's the difference? If you want to use zlib in a project you are making, you proceed to get the free version of zlib first, you are not going to take the version of zlib from a commercial product.
- jbk 11y agoYou are speaking of developer freedom, not end-user freedom, which was parent's question. zlib is a library, not an end-user application.
- pornel 11y agoThere are two different situations where this matters: 1. When lua/zlib/libjpeg is compiled into a closed system (perhaps even with DRM), you can't modify that copy of the library. For example you don't have freedom to replace your iPhone's JPEG encoder with MozJPEG. 2. GPL code only helps projects that respect users' freedom, so only Free projects can benefit from it. OTOH do-whatever-you-want code helps both Free and closed projects alike. It allows user-hostile projects to take gratis code, add one (mis)feature, and with little effort compete with the open-source version (see: majority of Android market share belongs to derivatives with unremovable crapware and locked bootloaders). It's hard to argue about overall effect in practice — it expands problem from legalese to politics. Maybe carriers would never let Android to take off if it was GPL-licensed, but OTOH a GPL3-licensed Android now would be great: it would still allow vendors to customize and extend it, but wouldn't force users to put up with unremovable crapware.
- Aldo_MX 11y ago1. Actually you can, it's not pretty because it involves code injection, but you can. But anyway, the question is "which kind of end user would want to switch a JPEG encoder and doesn't know about code injection"? Certainly not many. Quoting a comment from above: GPL is only relevant if it can grant freedom to modify software that's relevant. Freedom to modify something you don't really want to use has no value. 2. I hardly see the issue with the Android example, even if Android were GPL-ed, the carriers would include unremovable crapware, because the GPL license doesn't apply to external files.
- pornel 11y ago1. I've meant "can" more as allowed by proprietary licenses and laws like DMCA (by which you can't), than in the hacker sense that you can break all DRM you want and declare copyright is bullshit anyway. > the question is "which kind of end user would want to … No, that's completely missing the point. It's like "We don't need freedom of speech, because most people have nothing interesting to say". 2. GPL3 has anti-tivoization clause, so if they modified Android to prevent removal of any program (closed or not) you would have right to reverse that change and get rid of the crapware.
- SomeCallMeTim 11y ago>Well, the GPL mandates the right to use the application, and that a redistributor cannot restrict it (section 0, preambule and section 6, IIRC); that right is not guaranteed by MIT, BSD, MPL or Apache. Yeah, and because of the additional restrictions of GPL, big companies are simply avoiding it or writing software to replace it. See: CLANG/LLVM. GCC used to be the king of the compiler heap; now it's well on its way to becoming an historical footnote. It's far better to convince people to help you by being trusting and generous than by coercion. The GPL uses coercion. Yes, some companies use BSD/MIT software and lock it up, never to send improvements back upstream. But they ultimately are harming themselves, as they can't trivially update to new versions of the the software, because they're now maintaining a fork, and the longer their code diverges, the harder it will be to maintain. So they are motivated to send improvements upstream. And many (most?) big companies do. When there's another game in town, people will play the one where they're more welcome. Open source software benefits by many eyes and many hands; the GPL (especially GPLv3) cuts off access to just about everyone in big companies, which means the size of the potential user base is a fraction of what it can be. Linux is a notable exception, obviously. But with Linux there's a clear way to use it that doesn't risk your proprietary code. Most other software, not so much.
- dman 11y agoCould you provide some supporting arguments / evidence for this statement - "GCC used to be the king of the compiler heap; now it's well on its way to becoming an historical footnote." ?
- deleted 11y ago[deleted]
- SomeCallMeTim 11y ago* As pointed out by another commenter, Apple switched away from GCC as the default to CLANG. * Microsoft is supporting CLANG. * Android switched from GCC default to CLANG default. * The CLANG development community, combined with the LLVM development community, are both extremely robust. * GCC used to have full time commercial developer contributors working for Google and Apple and other large companies; most such companies have migrated almost entirely to CLANG/LLVM support. * Because of better management and the army of full time commercial developers contributing to it, CLANG is better in practically every conceivable way at this point than GCC. If GCC weren't GPL, CLANG would likely be (at most) a fork of GCC, and may have been merged back into trunk by now (this happened to GCC once before). CLANG is also an excellent example of how a completely permissive license can be sufficient to encourage big companies to contribute their changes back to the commons. All of the GPL fearmongering would have you believe that CLANG couldn't exist, and yet it thrives. And printer drivers are still almost all proprietary [1]. So GPL didn't even achieve the objective that inspired it. GPL did prove that open source CAN work, and it jumpstarted the open source movement. But its time has past; enough people understand the benefits of contributing to open source that the coercion is no longer necessary, and in fact is harmful. [1] Some printer drivers have been reverse-engineered for Linux, certainly. But modern printers frequently leave so much processing for the host that their drivers are nontrivial, and even when there exists "free" drivers for Linux, they pale in comparison feature-wise to the proprietary drivers. I'm sure there are exceptions.