The time and effort a programmer invests to code a software application deserves to compensated and protected. By putting restrictions on the use and licensing of the software the members of the open-source community can still contribute and modify the program while protecting the interests of the original author of the program.
There is no point to restrictions on open-source software. Since the code is out there and available to everyone, anyone who knows what they are doing can do whatever they want with it. Wishes and preferences can certainly be made known, but expecting the whole Internet to play by your rules is folly.
The whole idea behind open source software is to make it available to the public, so that they may change and improve said software. If a company releases software as open source, then the software shouldn't have restrictions. If restrictions are desired, there are other ways to release software besides open source, such as closed source or source available.
Open-source software should have no restrictions at all. That's why it is there, afterall. Why would you even propose such a question. If something is going to be open to the public and is beneficial to them, then leave it open to the public. There's no reason to do otherwise.