I created a project to validate objects.

It's influenced by a fairly known project called FluentValidation by Jeremy Skinner which has an Apache License.

Both projects do the same, provide an API for validating objects (C#).

Both projects present the API in almost the same manner.

It's under the hood that things change a lot, in terms of workflow and going about validating the objects. I did use some of the techniques in Jeremy's code.

Here's his project on GitHub : https://github.com/JeremySkinner/FluentValidation

And here's mine : https://github.com/JMPSequeira/JPSoft.CoreValidation

I thought about leaving an issue on his GitHub but that would, IMHO, seem a bit freeloading the success of his project to advertise mine and I can't find any other way of contacting him.

  • 1
    I'm voting to close this question as off-topic because the legal implications of copying APIs belongs at Law. May 11, 2017 at 23:44
  • Not one line of code is copied. Core arquitecture May 12, 2017 at 1:55
  • 2
    Yes, but you're presenting the same API right? This is a contentious issue, see Oracle vs Google. Copying APIs is probably legal in the US, but it might not be in other jurisdictions. And in any case, this kind of question belongs at Law, not here, because it's about copyright infringement, not licence infringement. May 12, 2017 at 2:02
  • There are many API that present the same, or similar end result (take Autofac or any other IoC containers), do they infringe May 12, 2017 at 2:11
  • I'll ask in Law regardless. But it seems to me after reading up on the Apache 2.0 it grants "irrevocable copyright license to reproduce, prepare Derivative Works of", plus it mentions the use of the licensed work as "altering" the files contained which I have not done. May 12, 2017 at 2:26

1 Answer 1


The question of whether this is copyright infringement depends on whether your software is a derivative work of his software. It is generally considered OK to reproduce some software ideas / API (although the recent Oracle vs Google case shows that there might be some copyright questions on API too). This helps people, in particular, create open source clones of proprietary software. To ensure that the new software is not a derivative work of the old software, the developers are generally bound to one rule: do not look at the code (of the old software).

The problem in your case is that you looked at the code and took some inspiration from it. It is more delicate thus to claim that your work is not a derivative from the earlier work.

However, even assuming that this is a derivative work, there is a very easy way to not be infringing copyright: just follow the obligations of the Apache license of the original work. In your case, since you're publishing your code on GitHub, I would even go further and advise you to license your code under the same Apache license (although you don't have to) and include the original copyright notice (this is your real obligation), adding a remark saying that your code is inspired by this code.

  • I've added the apache license to mine but where do I reference the original copyright notice? May 11, 2017 at 10:08
  • 2
    Good question. I would add a README, say that your project is copyright yourself-the year, licensed under Apache 2.0, strongly inspired by the other project (the url), although under Apache 2.0 then copy the two first lines of github.com/JeremySkinner/FluentValidation/blob/master/…
    – Zimm i48
    May 11, 2017 at 10:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.