Doing this efficiently, especially in software with its low replication costs, often means opening your systems for the world to use (fix, improve, buy), but even if not, considering the benefit of others as a detriment to you is almost never optimal -- SW engineering is not a zero sum game.