4 ms·
> Of the major issues around software freedom and digital autonomy today, approximately zero of them are TiVoization According to what? It seems to me tivoiza
by 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.
- geofft 6y agoIf you take the assumption that the user device is actively user-hostile, there's a simpler approach: just add another microchip whose purpose is to run non-free code (or at least non-GPLv3 code) to report on what you're doing. You might not get the world's best networking stack by constraining yourself to non-GPL, but you can certainly get something that's enough to spy on the user. (Or, frankly, given the state of OpenSSL vs. GnuTLS, you probably actually want the non-GPL option :) ) Maybe the GPLv3 gets you the ability to ensure that you can modify the fancy UI on your TV because the best stack for that is GPLv3-based for some reason, but they'll just wire that to a non-GPL component to actually interface with the TV tuner, and then they'll know everything. That's why I think the Apple case is relevant. Apple is a user-freedom-hostile company. (I actually think they're great at certain things like privacy that are necessary components of user freedom / digital autonomy, but certainly I wouldn't say I've particularly got autonomy over what happens on my iPhone.) And Apple (or well, their precursor, NeXT) decided to contribute to GCC because licensing compelled them to. And now Apple is deciding to contribute to LLVM with no compulsion, which is really kind of strange given that we thought we needed a licensing lever to make that happen, and also there seems to be no licensing lever we can possibly pull to get them to open up the actually interesting parts of any of their devices. The GPLv3 cannot possibly prevail against Apple, because they can and empirically did just reimplement things to avoid it. This is the difficulty with licensing as a weapon, and it's something that the free software movement needs to seriously struggle with. Did the strategy make sense in the past and it no longer does? Did it never make sense, and we were just lucky? Are we not trying hard enough? And to be clear, I'm not saying that he FSF needs to be pragmatic instead of ideological. The FSF always was pragmatic as a means towards being ideological. That's why it built GNU, an entire coherent OS that people could actually use, and didn't just write licenses. And that's why a lot of the early FSF focus was on redeveloping parts of UNIX that had no immediate free replacement, instead of writing free software in general. Quoting RMS: > As the GNU Project proceeded, and increasing numbers of system components were found or developed, eventually it became useful to make a list of the remaining gaps. We used it to recruit developers to write the missing pieces. This list became known as the GNU Task List. In addition to missing Unix components, we listed various other useful software and documentation projects that, we thought, a truly complete system ought to have. I argue that the reason that RMS / the FSF had leverage over NeXT/Apple in the past was that it was ruthlessly pragmatic: they built an amazingly high-quality compiler compared to all the alternatives that existed at the time, such that the obvious thing for a for-profit, user-hostile company to do was to comply with the terms of the license. That pragmatism gained them an ideological victory. The GPLv3 is very ideological, but it was only ideological. There wasn't a plan for how to actually get anyone (except the FSF themselves) to use it; there wasn't even a plan for how to get the actual GPL'd code running on actual TiVo devices to use it. So - I don't know what modifications to v3 would have accomplished the ideological mission, and my tentative answer would be it couldn't be done. But that just brings up the question of why it couldn't be done - what could they have done to have enough power/influence to cause a mass switch to GPLv3? Or was there some other way that they could have addressed the threat of user-hostile devices other than through writing a new software license?