4 ms·
That was sort of the opposite of competent: - Because it was a new license, it necessarily resulted in license fragmentation, which is an ongoing headache for
by geofft 6y ago
That was sort of the opposite of competent:
- Because it was a new license, it necessarily resulted in license fragmentation, which is an ongoing headache for the free software community. It's worth doing if there's a serious need that outweighs the costs and you can guide the community towards dropping the old license, but....
- The Linux kernel had always been GPLv2 only and remained GPLv2-only, which meant that the most interesting GPL-licensed code on TiVos and similar devices was not subject to GPLv3.
- Embedded devices like TiVos generally want a small userspace. The most popular choice was Busybox, which announced that it was GPLv2-only.
- Also, Busybox turned out to be a reasonably straightforward product to replace, which hurt the ongoing aims of GPL enforcement - including regular old GPLv2 enforcement about simply getting source code at all: https://lwn.net/Articles/478249/ https://lwn.net/Articles/478249/
- The FSF moved its own projects to GPLv3 only, but that scared the largest surviving commercial UNIX vendor (Apple) enough that they remained on GPLv2-only versions, and eventually started sponsoring the development of permissively-licensed competitors to even reasonably difficult products to replace, such as LLVM and its ecosystem (lldb etc.) instead of GCC and its ecosystem, which are now technically on par with GCC, if not much more advanced. (Historically, one of the FSF's biggest successes at making inroads in the proprietary software world was getting Steve Jobs to use GCC and release the Objective-C frontend for it!)
- Because the FSF couldn't guide enough other major projects towards GPLv3-only, many brand-new GPL'd software projects continue to use "GPLv2 or later" to this day to work around license fragmentation (i.e. so they can share code with other GPLv2+ projects), meaning any additional strictness of GPLv3 is irrelevant in enforcement.
- Of the major issues around software freedom and digital autonomy today, approximately zero of them are TiVoization - and, as described above, that's not because GPLv3 was wildly successful in combating the threat, it's because it turned out not to be that pressing of a problem.
There is basically no leverage in GPLv3. Just about everything you'd want to do with free software today, you can do with GPLv2 or permissively-licensed works.
- arminiusreturns 6y ago> Of the major issues around software freedom and digital autonomy today, approximately zero of them are TiVoization According to what? It seems to me tivoization is exactly one of the biggest issues facing users these days, especially in an IoT world, so how you can draw that conclusion (and the others) baffles the mind. I think if you really want to understand GPLv3, you should listen to Eben Moglen more than RMS, because Eben has the ability to articulate in a way that RMS doesn't, and has given some very good speeches about not just GPLv3, but on the FOSS ecosystem as a whole. Why is it that almost always I find the attacks against GPLv3 to be so lacking in substance? (for example, using an openly user hostile company like Apple as a reason for why it was bad just seems... like blatant pandering to me, as opposed to a real argument)
- geofft 6y agoMy entire point relies on Apple being an openly user-hostile company, yes! It was a great victory for the FSF that they were able to get Apple to release code and build on a free-software compiler, wasn't it? And it's actually a little strange that they still release code and build on a different free-software compiler when not legally required to, despite being so user-hostile of a company, arguably quite a bit more user-hostile than they were in the past. There's a lot of discussion we ought to have about why they're contributing, whether that leverage was real, whether we could have predicted the rest of what they did, etc. For IoT in particular, given that the processing power on-device is limited, I think it's pretty common for the serious risk to one's freedom/autonomy to be the fact that the data is being held and processed remotely and you have basically no idea over what happens with it, let alone any control. The GPLv3 does not include a requirement to release the source for the server component, so the best you can do is reimplement the entire effective functioning of the product from scratch. Also, because the GPLv3 has no such requirement and probably couldn't, that effectively is a motivation for the manufacturer to move as much processing server-side as possible. (And at that point, you may have a better time building the device yourself or more practically buying it from a more friendly hardware manufacturer. Even for the TiVo, if you're going to have to implement a DVR yourself, the video capture card and the hard disk are the easiest part of it.) I can see a limited use case for things like smart TVs to just sort of prevent them from communicating with the network at all, but a firewall can do that just fine - and it's a lot more practical for most people than hacking the device firmware. My claim isn't that there's no use for freedom on consumer devices with on-board software - quite the opposite. My claim is that the specific thing the GPLv3 tried to save us from hasn't been the priority it was made out to be, and in the process it just made free software worse. I am totally open to a counterargument - is there a device you have where a) it does run some GPL (any version) code and b) there is some meaningful change you could make to the code it runs?
- arminiusreturns 6y agoThank you for clarifying. I can see your reasoning now, taking a more practical approach, let me try to restate: by taking such an idealogical stance, the FSF lost what was a large base that existed for them previously? I understand that, but think there are lots of idealogical reasons why that kind of argument doesn't hold much sway with entities like the FSF and FOSS proponents. v2 had some very obvious issues, and v3 was intended to plug those holes. I would be interested in hearing not about v2, but in what kind of modifications to v3 you think could have still accomplished the idealogical mission while preventing the pragmatic loss? "My claim is that the specific thing the GPLv3 tried to save us from hasn't been the priority it was made out to be, and in the process it just made free software worse. I am totally open to a counterargument - is there a device you have where a) it does run some GPL (any version) code and b) there is some meaningful change you could make to the code it runs?" I would like to say that v3 addressed much more than just tivoization. Lets not overfocus on just that one point. While I gather you are looking to get a response about IoT devices, I am a heavy proponent of gpl, and v3 specifically, and have worked for years to make almost my entire daily stack gpl. I don't have a apple-tv or a chromecast, nor even a smart tv. I have a linux box dedicated to my dumb tv. Tons of gplv3 on it I can modify at any time. Now practically, on much bigger projects, I tend not to modify anything, but I have found that on smaller projects/repos I find I am much more willing and able to make a few modifications here and there, and have, mostly because by sticking to the do one thing well principle, I can then chain together tools in ways I want. "I can see a limited use case for things like smart TVs to just sort of prevent them from communicating with the network at all, but a firewall can do that just fine" This is a great example, because TV's being user hostile means that a firewall doesn't actually mean that much. For example, there are smart tv's found to connect to any random open wifi to transmit their user data... completely outside the owners knowledge (or firewall). Being able to actually control the devices you own is a key factor, and no amount of "well the user could or should do this" neverending arms-race fixes that, but fixing the fact that I cant root a smart tv would.
- blendergeek 6y ago> - Of the major issues around software freedom and digital autonomy today, approximately zero of them are TiVoization - and, as described above, that's not because GPLv3 was wildly successful in combating the threat, it's because it turned out not to be that pressing of a problem. I'm not really sure how you define "software freedom" or "digital autonomy". What I do know is that the majority of phones sold today run Android. Despite being technically "open source" and therefore free software, it is impossible in practice to replace the software due to "secure boot". This is what GPLv3 was intended to combat. I agree that it was a failure (it turns out corporations _really_ don't want us choosing our own software).