- Free Software, Free Society: Selected Essays of Richard M. Stallman
- Free Software, Free Society: Selected Essays of Richard M. Stallman
I think a lot about how RMS's view on software freedom was warped by the highly intelligent and intellectual peer group that he must have been involved in at MIT.
It strikes me as endearing, but naive, to believe that most people would be able to treat software as anything but a black box simply if the source code were available to them.
Certainly, for most people using computers at MIT, when RMS was writing, this was true. But it is definitely not true that source code would have any use to most computer users (smart phone users, really) today. They simply would not have the ability to do anything with it.
One or multiple people who can study the software, even in small numbers, are still adding more information, and so more potential trust, than the alternative.
It seems like GitHub and other sources of open source software offer an opportunity to test your hypothesis empirically. I am biased to think that its existence demonstrates that source code is of use to at least many users.
I don't think end users modifying software is a realistic scenario, but that doesn't mean there aren't realistic scenarios enabled by Free software.
Having (appropriately licensed) source code available means people can pay others (with the necessary skills) to adapt software to their needs. Closed source software greatly restricts or removes that possibility.
The question becomes one of community and accessibility, and community begets accessibility. Opening source allows for easier access to fundamental aspects and lowers the "activation energy" of the whole process to develop and thus invites greater participation. Like how many man-hours get spent probing for vulnerabilities that enable jailbreaking? And note that these are specialized rarefied man-hours, and the whole system is also adversarial in that those seeking to crack the code are in competition with those trying to conceal it.
Pull all that out and make it all accessible and perhaps 13-year-old me would've tried to recode that 64x64 limit on the icons and learned something in the process, enable, iterate, participate...
The bigger win that I see, though, is enabling communities of users to band together and work together or finance development of software with the community's common goals in mind. That's not something that proprietary software has historically done much of, and proprietary software doesn't permit that community to fork the software when goals don't align.
In that book it seems that Kay eventually gave up that idea. Noticing it seemed that people would take years to be capable of doing interesting stuff with computers.
Which I think might be why his later research was more about just making code smaller and more comprehensible by domain experts.
Edit: It is worth noting that the idea seems to have been picked up by Dynamicland via their Realtalk protocol. Though I suspect they have ways to go before achieving that goal.
I have however looked at the mod_proxy_wstunnel module in apache and edited it to suit my needs. I never expected to do this, I'm not a developer -- certainly not a C++ developer, however running
sed -i 's/WebSocket/websocket/g' ./modules/proxy/mod_proxy_wstunnel.c
Means it works for my use case. In a world without free software I would not be able to do that simple thing.Likewise I have changed some custom filters on ffmpeg for my own build. Again that's C, and my C is horrible. I don't need to deal with the somewhat opinionated views of the ffmpeg developers to fold them back upstream - I can just have my 2 or 3 changed files to use them for my purpose.
Just because I don't look at the code for 99% of the software I use, it doesn't mean I don't benefit from it being free software, and for the 1% of cases when I do need to change something, I can. That's freedom, and I'm happy that the GPL ensures my freedom.
Free software is especially important in cases where the developers of proprietary devices use DRM as a secondary legal barrier (provided by 17 U.S. Code § 1201, section 1201 of the DMCA, in the US [1][2]) against otherwise non-infringing actions such as inspection (which is why access to source code remains a crucial requirement of free software alongside the freedom to modify) and repair. (Tangent: The EFF is arguing in Green v. Department of Justice that the anti-circumvention portions of DMCA 1201 violate the First Amendment [3].)
[1] https://en.wikipedia.org/wiki/WIPO_Copyright_and_Performance...