We have a product that uses a third-party chrome extension. Our clients would like extra features on the extension so we reached out to the developer for a collaboration, to which he politely turned down.

Now it's up to us to develop our own extension as a replacement. As a relatively inexperienced developer, I'm studying the guy's code and using it as a reference to build our own extension. Because his code is much more dry and elegant, and that I'm learning many new concepts and programming techniques by referencing his code, I'm worried that much of our code will be too similar despite that we'll have some different features.

Not sure if I'm making sense, because the way he wrote the code is more polished and cool, much of what I'm learning from him is the only way I know how to write certain parts. So I'm concerned about the legal side of this. If it helps, we're not exactly in direct competition, we're just taking back the clients we sent to him.

  • 1
    Since you're able read this person code, presumably it is some sort of open source. Most open source licences would let you take that code, modify it and then provide it to your clients. Even the GPL would let you do this, you would only need to provide the source code to your clients as well.
    – Ross Ridge
    Commented Jul 27, 2018 at 0:48
  • 1
    @RossRidge Since javascript does not get compiled before distribution, you can access (possibly minified) source code even if it's not open source. Commented Jul 27, 2018 at 10:53
  • Are you copying code from this person? Or are you learning techniques from them (more along the lines of "I have to add a new tab listener by calling this method, and then open a WebRTC connection using this API" or "the right way to approach this problem is to use a visitor pattern")?
    – interfect
    Commented Jul 28, 2018 at 16:23

2 Answers 2


The ideas involved in his code aren't protected, but if you use his code as a basis for your code, you have created a "derivative work" that is a copyright infringement unless a defense applies.

While there is a vast amount of case law on the defense of fair use, in general, there isn't much law that specifically addresses your concern - fair use in the context of software code that is admittedly a derivative work. This is a problem because a fair use analysis is a very fact intensive inquiry, so only cases that are quite similar factually provide much guidance to you.

  • this reads like a "clean room rewrite" is non-viable. Clearly what is referenced here isn't clean room though.
    – user4460
    Commented Jul 27, 2018 at 19:23
  • @notstoreboughtdirt I'm not sure that I understand your comment. Copyright law does permit even identical works that are produced independently, but as I think you are noting, this is the opposite where the work clearly is derived from the work of another, so it is a prima facie infringement, unless fair use applies, and it isn't clear whether or not it does because there is little case law and we don't have a very rich set of facts in the OP.
    – ohwilleke
    Commented Jul 27, 2018 at 19:44

The term "fair use" is totally inappropriate here. You can use a claim of "fair use" if you infringe on someone's copyright, and you believe that you only infringed to a small degree and you had a an acceptable reason to do so. But a "fair use" defense means that you did infringe on someone's copyright.

What you should try to do is to create your own software without committing copyright infringement. It's absolutely fine to read someone else's code (if you have legal access to it) and learn from it. It's absolutely fine to use someone else's ideas. What you mustn't do is copy their code.

I'd recommend that after learning from whatever sources, you start your own code from scratch and write it without any further reference to this source code.

What worries me very much is your comment "we're not exactly in direct competition, we're just taking back the clients we sent to him". In other words, you're in direct competition. Depending on the country where you are, this can get you into trouble.

You must log in to answer this question.

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