Earlier quoted context omitted.
I agree completely, and yet I would still prefer language to be used consistently.
I think the "information want to be free" crowd is very consistent. They want the information to be free. They don't want artificial scarcity. Sure they'll use IP as a means to an end, but that doesn't mean they believe IP is a good idea in general. It's just one of few tools that exist to solve it. In an ideal world all software would be forced to be FOSS, and we'd have to come up with ways of funding it that aren't…
Like, what if I want to release a rather difficult puzzle in the form of an obfuscated executable and provide a reward to the first person who solves it? If I’m required to release the source code upon request, then that kind of spoils the puzzle. (Sure, I can say that anyone who gets the source code this way is ineligible for the prize, but how could I tell?)
This is of course a somewhat silly and niche edge case. Still though, it doesn’t seem natural/appropriate for a law would prevent such a thing.
Whereas, agreeing to only distribute modifications I make to some software written by others if I’m willing to distribute the source code to my modifications, well, that would just be an agreement I would be making, and seems unobjectionable.
Though, I wouldn’t really claim that all IP is illegitimate. I think many IP protections go way too far and last too long, but, I think some amount of copyright and patents is probably a good idea, though for a much shorter duration. So maybe I’m not really in the camp being described.
I think the freedoms described in the GPL are good.
I guess one alternative could be to say that all software written “for a useful purpose” (or something like that) has to have the source code made available, and that could handle the puzzle case I mentioned?
It does seem important to avoid the case where one needs to use some software for something but is prevented from modifying it due to not having the source code.
So… maybe if one is only required to provide the source code if someone could reasonably be described as “needing” the software for something? (E.g. if you “need it in order to get your printer working”, or the like.)