15.10) The reuse of software raises a number
of copyright and intellectual property issues. If a customer
pays a software contractor to develop a system, who has the
right to reuse the developed code? Does the software
contractor have the right to use that code as a basis for a
generic component? What payment mechanisms might be used to
reimburse providers of reusable components? Discuss these
issues and other ethical issues associated with the reuse of software.
Ownership of software and code is a tricky issue that has resulted
in many legal battles. Although people lay on many different
sides of the issue, I believe I have a strong case for defining
where and how ownership of code should be split up.
If a customer pays for a system to be developed by a software contractor
it seems very clear to me that the customer is not paying for the code.
They pay for the product that is the result of the code. If a software
contractor uses a unique version of a binary search as a tool for a part
of a system, how could the client possibly claim ownership? It seems
obvious to me that they can not. This is because the source code is a
compilation of tools created by the contractor. Would we say that a
homeowner owns the tools that a carpenter used to create their house?
A contractor would 100% have the right to use that code as a basis
for generic components as long as what they are claiming ownership of
is not the sum result of the code or does not closely mimic the system.
Even in cases where they do claim ownership of a large part of the code
that the client paid for there is still a threshold of how generic the
system is. If a client paid for a website to be built, it seems perfectly
reasonable to me that the software contractor could reuse an extremely large
portion of the codebase for a new client because although the code could be 99%
the same, the product being bought is different.
As for payment mechanisms for providers of these reusable components there are
many examples. The best one in my opinion are website template sites such as
squarespace or wix. Subscription or one time payment for use of generic components
take place on both of these sites. The key here is however that they do not own nor
sell the tools to make their products. They do not own the nitty gritty bits of source code.
That source code could be used by developers to create generic components
for their own use in future projects.