rsh stands for 'remote shell', and is a way on linux to run commands on another machine. It can be used when you have XBoard running on one machine, to connect to to engines running on another.
For engines that send unknown features, or commands that are mistaken for feature commands, just cause the reponse
rejected xxx, which is pretty harmless. (Except that one version of DanaSah once printed 'feature rejected' as an error message when one of its features was rejected, which of course then led WinBoard to print
rejected rejected, which went on forever.
)
I have never seen the specs of the v1 protocol, so I could not say what its recommendations were for bombarding the GUI with garbage. The remark you quote is just an observation about what existing implementations did at the time. It cannot be even understood as a recommendation that GUIs should behave that way. I guess that if any engines would have problms with protocol v2, we would know it by now. There is a WinBoard option to force protocol v1 to be used on an engine, but I think this only suppresses sending of the
protover command. It does not affect understanding of the engine->GUI commands that are new in protocol v2.
We could adopt the requirement that the recgnition any new future engine->GUI command will have to be enabled with a feature first, making it even less likely that there are existing engines that send a matching feature and garbage mesage. For the rsh stuff this could not be done, as the error messages that are recognized are error messages the remote shell sends when it fails to start up the engine on the remote computer, and thus before any feature command could possibly be sent.
I did make WinBoard sensitive to
setboard as an engine->GUI command, allowing the engine to break off the current game and set up a new one (which someone requested for teaching purposes). Perhaps it was unwise to do this without an enabling
feature, especialy since this was an undocumented etenon of the protocol.
Anyway, new engines are supposed to conform to the current document, including the red and green stuff, even if they use the v1 protocol. The only difference is that v1 engines don't send
feature commands, and thus are not able to alter GUI->engine behavior from the default (which is chosen to mimic v1). Older v1 engines are now legacy, and one can only hope that they still work. Or use (powerful) kludge tools like InBetween to run them.