Suppose I see an innovative piece of (commercial) software that delivers considerable, non-trivial functionality.

Can I re-implement it? Suppose I study it carefully, work out what it does and how it does it, and then write my own software to do the same thing. I haven't (knowingly) copied any specific part of that system, but I have replicated the system as a whole ...its design. So have I infringed the copyright of the original system?

Consider the possibility of translating a Harry Potter novel into French. If I change the names, I could produce a text that didn't contain a single word of Rowling's original. But I believe that doing so would infring Rowling's copyright. What is the situation with software?

  • 2
    Does this answer your question? How to recreate functionality without violating software code copyright laws? Commented Apr 7, 2020 at 18:51
  • 1
    Your analogy is not quite right; a better analogy would be that you read Harry Potter, and then want to make your own novel (in French, say) about a boy who goes to a magical wizard school. You could certainly make your own version of such a story without infringing on copyrights. J K Rowling doesn't 'own' the idea of a magical school or magical spells.
    – Brandin
    Commented Apr 8, 2020 at 7:52

1 Answer 1


You can't compare a novel and a computer program that way. With a novel, the expression and the essence of the work are the same. With a computer program, while the expression is hard work to create, and often is very original, the essence of the work is what it does.

So I can create a totally independent computer program doing the exact same thing, without any copying whatsoever. With your novel, the essence of the work is copied. Unless you change Harry Potter to a pot smoking sanitary engineer, change his wand to a guitar, move him to a different world, where is not surrounded by fellow wizards but by intelligent, speaking animals, and write the whole thing a few years before Mrs. Rowling did.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .