The GNU project emerged from academics, which don’t get paid for their software in general, they get paid for writing papers about it. So, they want to stop all commercial use of their software.
The Rust project emerged from the startup culture, where everything is just a stepping stone to eventually get sold in some kind of software project to get rich. So, being able to use the software in a commercial setting is essential.
I think prototypes are fine to answer specific questions. However, I think it’s often the case that management doesn’t understand what a prototype is and thinks that this is just the alpha release of the real product.
Rule of thumb: if you don’t throw away all of the code after having answered that question you were writing it for, it’s not a prototype.
For Linux, here is the spec: https://specifications.freedesktop.org/basedir-spec/basedir-spec-0.6.html
macOS has the NSSearchPathForDirectoriesInDomains API.
For Windows, there’s also an API for that, but I don’t know it offhand.
Only if they have a 100% tax rate, which I doubt.