I have to disagree here. Apple or Microsoft copying contextual menus from some other developer seems entirely fair to me, and not a rip off. This industry progresses by imitation. If companies couldn't copy each others improvements, progress would come to a standstill. And of course, that's just what's going to happen as more and more software ideas get patented.
There's a big difference between imitating incremental improvements, though, and going after a complete standalone market that a new company has created. Of course, even that sometimes is necessary for the good of the platform, but in a case like that, I'd say the right approach is for the platform player to try at least to buy the independent developer's idea.
Some technologies really belong as part of a platform, so that they can be leveraged by more than one application. Especially in the early stages of a market, some companies introduce software that is really only enough to be "a feature", while others introduce software that can succeed as a standalone application or application family, while others introduce offerings that are broad enough to morph into platforms in their own right, with a secondary developer market.
In addition to the scale of what's being copied, you have to look at the competitive situation. For example, it seems to me that Microsoft has often gone after application vendors whose products threaten them in some way. Apple, on the other hand, has tended to add applications into their platform that open up new markets, and actually lead the way for more powerful equivalents to arise in the third party market.
There are no hard and fast answers, but there is a desirable attitude. That is, recognize that for a platform to be a success, there have to be opportunities for more than the platform vendor. Work to create those opportunities, knowing that by so doing, you are extending your own work many fold, by encouraging others to invest time, money and creativity building out what you started.