Robert Niggebrugge CofC CSCI 362 Fall 2020 Blog

HW10: Chapter 15

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.