I was always wondering about this. If you look at the film and music industry, the "artists" are treated like their work is something special. Not only they get money from licensing their works over and over again, but also they are getting residuals - indefinitely! Even their heirs can continue to receive them.<p>Whereas programmers, whose work literally makes the entire world go round these days, get one tiny insignificant payment, usually just on hourly basis, and that's it. A function you came up with might be the core engine that makes the entire [INSERT COMPANY NAME] work and make billions of dollars, yet you get nothing.<p>So why is that programmers just accepted this?
One of the core, fundamental concepts in Computer Science is composition.<p>We are all standing on the shoulders of giants, building on the work of those who came before us.<p>Therefore, to the greatest extent possible, our work should be available for all to build upon to the benefit of society.<p>Music is a more pure creative endeavor; artists generate a specific instance that is unique to them. Copyright applies in the same way that it does to a specific implementation of a program or algorithm.<p>Software patents fill the role you ask about for programmers. Some companies name their employees in patents, some don’t; and some “programmers” patent their ideas on their own. However, it is quite expensive to apply for a patent.<p>In addition, it is seemingly impossible to develop any new technology without infringing on unknown patents even for obvious ideas that you can have independent independently. Thus the balance is weighted toward large companies, who may have patent portfolios they can use defensively.<p>In summary, software patents are an abomination and the reason that programmers are not like musicians.