Monday, April 28, 2008
Contractor's right to reuse code can become a legal copyright issue
Another Chip Camden email from Tech Republic landed in my (AOL, have you) mail box this morning, and he does get you thinking. Today the topic is “Do IT consultants have the right to reuse code?” The link is here (may require registration logon or subscription).
He goes over some litigation in the past. In one case, a client refused to pay a consulting firm for using non-standard coding practices, making it hard for clients to maintain. It turned out that the code was written according to a standard but one not understood by all clients. There was the possibility that “less standard” code could amount to reuse in violating of a copyright, in this case an ambiguous situation.
He talks about how IT contracts should be written: “Work rights” should have exclusive use, and “Background rights” should have non-exclusive use for clients. He mentions that use of open-source software in a project might violate the terms of a General Public License, which would require compatibility.
He then refers us to his own technical website “Chip’s Tips” and talks about the pros and cons of multiple inheritance, particularly with respect to C# (but the concepts would generally apply in different ways in java and C++). He brings in the subject of operator overloading and the idea that context can establish how an operator works. (In the Internet speech world, we’re quickly finding out that “context” is everything – is this a reflection of the overloading concept so well known in software engineering?) The overall intention of this piece seems to be to get the consultant to contemplate the possible legal or contractual implications of using some coding technique.
The piece also gives an idea of what happened to the job market from the 90s until now. Companies started outsourcing their code development, particularly in the midtier and client server world. To get and keep the skill you needed to be competitive, you needed to work in a more entrepreneurial operation. In-house work migrated to maintenance, where it is hard to get and keep a competitive level of skill. (Just look at what Chip goes into in his writings!) Mainframe skills got an extension because of Y2K, but that was mostly maintenance tedium; otherwise mainframe systems tended to get outsource, too (like Vantage for life insurance) to companies that set up “rule the world” operations where the job skills were very specific to their systems and culture.