GCC plugins were a stallman thing, LLVM was even offered to the FSF at one point IIRC. Is there anything competent he has done post-2000 or so?
GCC plugins were a stallman thing, LLVM was even offered to the FSF at one point IIRC. Is there anything competent he has done post-2000 or so?
While you may not care about it, GPLv3.
- 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/
- 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.
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)
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?
"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.
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?
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).
I know pretty much nothing about this Stallman person, does he actually dislike people with children?
Apparently this argument only subsided because it was noted that rms is not vegetarian
"He was kind, attentive, and has a loving core. In simple language, he patiently explained to my son, then around 12, about the virtues of the GNU/Linux operating system"
https://whoisylvia.medium.com/richard-stallman-has-been-vili...
He doesn't deem "having children" as some sort of special accomplishment though, which might rub some parents the wrong way.
This is how disparaging internet rumors are spread. You know someone that allegedly experienced this. Do you know them well enough to know the account is factual, or maybe they were just piling on because they had a bad experience with him and decided to frame him in this negative way because it was the 'cool' thing to do at the time?
Quit proliferating unsourced 3rd party accounts.
I would just say what the project was but he's basically the sole maintainer of the GNU side of it.