software copyright : implementing the same class structure but for different specific clients and purpose
<p>Let's assume the same consultancy implements for client A a software to analyze text data from internal communication of the company. The client B asked the same software to analyze text data from internal communication of its own company.
Now the consultancy will use the same code structure 'and sequence of operations' but obviously the names will be different as well as the name of the individual functions. Something like this:
For client A:</p>

<pre><code>class Analyze_dataA:

     def Read_dataA:
          ....
     def Model_dataA:
          ....
</code></pre>

<hr>

<p>For client B:</p>

<pre><code>class Analyze_dataB:

     def Read_dataB:
          ....

     def Model_dataB:
          ....
</code></pre>

<p>Is this an infringement of copyright or intellectual property rights for the 2 companies?</p>

<p>This could be a problem if the consultancy agreement contains a provision that assigns to the client any copyright in any code created by the consultant.  That is why there should be no such provision.</p>

<p>In the absence of such a provision, the consultant owns the copyright in the code, so it would be impossible for the consultant to infringe that copyright.</p>

<p>Even so, copyright protects a particular expression of an idea, not the idea itself.  The idea of an "analyze data" class containing a "read data" function is not itself subject to copyright protection.  It could potentially be patentable as a "process," but it would fail to meet the criterion of novelty.  It would also fail to meet the criterion of non-obviousness.</p>

<p>On the other hand, a software developer cannot (without permission) copy source code that is protected by copyright simply by changing the names.  Changing the names would constitute the creation of a derivative work, and the right to create derivative works is also protected by copyright.</p>

copyright united-kingdom intellectual-property software