It was about not being able to customize the behavior, lacking the access to source code, not about “crappiness.”
“ In 1980, Stallman and some other hackers at the AI Lab were refused access to the source code for the software of a newly installed laser printer, the Xerox 9700. Stallman had modified the software for the Lab's previous laser printer (the XGP, Xerographic Printer), so it electronically messaged a user when the person's job was printed, and would message all logged-in users waiting for print jobs if the printer was jammed. Not being able to add these features to the new printer was a major inconvenience, as the printer was on a different floor from most of the users. This experience convinced Stallman of people's need to be able to freely modify the software they use.[29]”
It was missing what would quickly be considered a standard feature, and one that was obviously necessary for the use case of a shared printer. That's driver crappiness. The only justification for a shared network printer with no user feedback mechanism is if nothing ever goes wrong with the printer and it always completes your job by the time you can get up and walk down the hall (and stairs, in this case) to pick it up.
> It was missing what would quickly be considered a standard feature
That is an anachronistic claim which sounds logical to the reader in 2020 but doesn’t match the environment of decades ago. The feature he added could have been based on, from perspective of the producer of the printer, completely non existing API.
That is, something available to different customers, but completely specific to the setup of every customer.
Additionally, it was the principle that mattered to RMS. One can often do some reverse engineering intervention to achieve the desired modification even based on the closed source, but it’s still against the conceptual advantages of working on the codebase which is by policy free. As in:
“Roughly, it means that the users have the freedom to run, copy, distribute, study, change and improve the software.”
The principle works even once the network messaging API in some environment is standardized and starts to allow some, from that point on, “standard feature”.
I think you misunderstood my use of the word "standard". I did not mean "standard" in the sense of complying to some particular RFC or anything like that. I meant that some kind of feedback/monitoring capability is de rigueur for that product segment, and that feature needs to be listed on the spec sheet for the product to be considered adequate. Even a completely proprietary network printing protocol needs to have a status reporting capability to be taken seriously.
It was about not being able to customize the behavior, lacking the access to source code, not about “crappiness.”
“ In 1980, Stallman and some other hackers at the AI Lab were refused access to the source code for the software of a newly installed laser printer, the Xerox 9700. Stallman had modified the software for the Lab's previous laser printer (the XGP, Xerographic Printer), so it electronically messaged a user when the person's job was printed, and would message all logged-in users waiting for print jobs if the printer was jammed. Not being able to add these features to the new printer was a major inconvenience, as the printer was on a different floor from most of the users. This experience convinced Stallman of people's need to be able to freely modify the software they use.[29]”
https://en.wikipedia.org/wiki/Richard_Stallman