You seem to see this as zero sum, meaning that the algorithm writer can only win if &quot;the world&quot; somehow loses.  Why is the algorithm writer morally bound to give up his time and effort to the world without compensation?  Or why should he consider his own needs and desires somehow lesser that anyone else&#x27;s?  Can not the world benefit from the work of a clever developer while the developer can benefit by earning payment for his efforts?<p>If the world really needs better algorithms: it can pay for them.  That&#x27;s called a trade, something where both parties win... and if they don&#x27;t, one party or the other walks away.  What this discards is the immoral idea that you can only be good by becoming some sacrificial animal that discards his own needs in favor of others.<p>Oh... and by the way... you can sometimes advance your own interests by NOT charging them for your work; a lot of open source actually does work this way in practice (even if self-benefit is not the motivating factor for many).  Trades are not always monetary.