Problems with work for hire in software development
This is a /proprietary/ developer explaining why work for hire doesn't work:
My take is that software development is not a linear process, it's an iterative process. Therefore in everything I create there tends to be bits of things that I've created in the past for other clients. Given this situation selling my code to a client isn't really a tenable situation. For me to do that I'd either have to eventually go out of business because I wouldn't have any unique code to sell after a while, or lie to my clients. Neither is attractive.
For those reasons and others I usually only license my code. I have a software license agreement (which my lawyer wrote up) which clients readily sign (sometimes after a bit of explanation somewhat akin to the above).
Depending on the situation the license agreement is for various terms. Some projects I license to the client perpetually. They can do anything they want with the code forever except own it. This is for projects in which I release the source file to the client. This happens rarely anymore because I usually don't release source files.
http://www.laflash.org/forum/printthread.php?t=842
The iterative process holds infinitely more true for community-developed software.
However, so long as code is released under a free software license for modification and distribution, work-for-hire is all right: the point of free software licenses is that it shouldn't matter who owns the code for everyone to exercise fundamental rights to use and change it.
Agaric's solution is to make sure contracts have language committing the client to releasing code we help produce under a free software license (GPL2 for Drupal).
Comments
Post new comment