I've read a lot of articles and still can't find the answer to the following question.

There is a project that uses GNU General Public License version 2 license, developed by CompanyX. We (OurCompany) want to port this project to another language and that's why we want to take from this project only API + documentation. Can anyone say who will be the copyright holder of the project that we will create? By other words, should we write in every file of our project

 * Copyright (c) CompanyX. All rights reserved. //Variant 1


 * Copyright (c) OurCompany. All rights reserved. //Variant 2

It seems to me, that we should use Variant 2, but it means that if we are copyright holders of the project, we are also the copyright holders of its API and after it we can pass the rights for the API to someone else, that can't be true. Can anyone explain?

  • Clarify what you mean by "Take only API and documentation". Are you porting, or are you doing a complete rewrite with a goal of API compatibility? Nov 11, 2018 at 19:13
  • @whatsisname complete rewrite with a goal of API compatibility.
    – Pavel_K
    Nov 11, 2018 at 19:17
  • @Pavel_K If you rewrite something, that is a derivative work. For example if I rewrite a book in another language, my translation is a derivative work, even if I choose 100% my own words in the new version. However, if you reimplement an alternative that just happens to use a compatible API, that is not necessarily a derivative work.
    – Brandin
    Nov 16, 2018 at 18:47

5 Answers 5


Let's ignore the fact for the moment that there is a license in play, let's focus on copyright.

When a new work is created, the creator is the copyright holder, except when it is a work for hire, and the hiring company is the copyright holder.

When a derived work is created, you have two copyright holders: The copyright holder of the original work, and the copyright holder of the additional work added.

So with what you plan, both your company, and the company that created the original work, will hold joint copyright on the work. With a GPL-licensed work, the copyright holder isn't that important, except the copyright holder or holders are the only ones who can sue for copyright infringement, and of course all copyright holders together can change the license if they want to.

Now to the completely separate point, the license: The original work is published under the GPL license. This license allows you to create a derived work, and it allows you to publish this work under certain conditions.

But as far as your question is concerned, the important fact is that there are two copyright holders now for the derived work, and you can only do what the original copyright holder allows, otherwise you commit copyright infringement.

  • Could you explain what you mean by and you can only do what the original copyright holder allows, otherwise you commit copyright infringement.
    – Pavel_K
    Nov 17, 2018 at 15:31
  • Since there are multiple copyright holders, anyone can only do what all of the copyright holders agree is allowed. Thus, you (and anyone else who wants to use your thing) are bound by the GPL licence the original author offered (and that, since GPL is copyleft, you are forced to also offer) unless you negotiate additional usage rights from the original author. Dec 5, 2018 at 16:27

There is definitively need for qualified legal advise here, since this is about business of your company, that money and reputation could be at stake, and that local laws and interpretation might apply. You should not rely on internet forum for this.

This being said, I'm not a lawyer, and here my understanding as a simple software practitioner:

  • If you rewrite existing software in another language, reusing the same algorithms and data structures, your code might be seen as a nonliteral copy, and therefore subject to the original copyright license. So original license conditions would apply, original company would still hold copyright on the software including your rewrite, but in addition, you'd hold a copyright on your rewriting work. So I think it would be:
    Copyright (c) CompanyX and OurCompany. All rights reserved.
  • If you reimplement the software from the scratch, reusing just the API, but having a different internal logic, your geographical location might play a role. In Europe, the API can't be copyrighted and you'd own your version. In US, it's more complex as the case of Oracle vs. Google has shown (endless litigations).
  • In the US, APIs can be copyrighted. They can also be used freely if the purpose is to operate with existing code. The Java APIs are (in the US) freely usable if you want to write libraries for existing applications, or applications for existing libraries. Google wanted to use it just because it was familiar to people, and got into trouble. Nov 16, 2018 at 21:23

Disclaimer: I am not a lawyer and this is not legal advice.

A port to another language is a translation, and, a translation is considered a derivative work, which means the original copyright (whatever it is) applies (e.g. if you have limited rights to the original so do you to the translation).

As GPL2 is copyleft license, you must reproduce the full CompanyX license text somewhere within your project.  Typically this would be placed at the top level of the project, e.g. perhaps alongside a README file.  (Reproduction of the CompanyX license is necessary in both source distributions and binary distributions.)

You / your company will also be copyright holders for the translation you have made.  Thus, you / your company will also provide a license.

In effect copyrights for the translation will be held by two (or more) parties.  (Here is where it is necessary that the various licenses are compatible, e.g. don't contradict each other.)

(If there are different licensing arrangements for different parts of the project (say you merged two license compatible (e.g. GPL) projects), this should be called out as such, and if there aren't then I would probably explicitly call it out that these licenses cover all files in the project.)

Without being a lawyer or giving legal advice: I personally believe that the above alone covers your legal obligations to CompanyX and your legal needs for OurCompany — so, what you put in the individual files (as a copyright line and licensing reminder) is more or less up to you.

As the proximal authors of the translation, I would suggest to put within each file of your work, a statement of copyright to your company (and date of the translated work), along with a statement referencing the complete & detailed licensing situation that can be found at the top level of the project — it might be polite to call out that this is a translated work and thus has multiple copyright holders.

As far as I know, I don't think there is any requirement to make an explicit copyright statement for ComanyX within each file that is translated.  (I'm not even sure if you have the moral authority to do so, as this might imply to others that the original authors were more involved in the translation.)

For original CompanyX files reproduced as is, I would just leave them alone, having already reproduced their license at the top-level of your project (and made clear which files/directories (e.g. all) are under which licenses).


First off all you are not violating copyright by making a copy of the API. The API and its description are licensed to you - and to the public in general, as far as I can tell* - under GLP2.

*: It is possible to sell these licenses. I only know your company has one.

Now, will your company be the copyright holder of the new project? Yes. Although, it is derivative work, this is allowed by your license, and given that you are reimplementing the API in a different language, your company work would be significantly different from the original.

Will your company be the copyright holder of the API? No. The devil is in the details... this is either because your company is not the author of the API, or because an API cannot be copyrighted (depending on the law of the country).

Being the API part of the software of which you are doing a derivative work, and having you a license that allows you to do so...

  • Can you modify the API (add, remove or replace parts of it)? Yes.
  • Can you sublicense the API? Yes.
  • Would you own your modifications of the API? Yes.

Addendum: You still need to respect the license.

Will there be any other legal obligations? Perhaps. There are trademarks and patents. I believe an API cannot be subject of these under any jurisdiction, however that is just my opinion.

Addendum: You might be interested in the Oracle-Google litigations over Java API for Android. Note that Java's license does did not grant such rights when the Android project started, however it is a precedent for an API being copyrightable.

  • Why do you say that Java's license does not grant such rights? As I know Java is also GPLv2.
    – Pavel_K
    Nov 11, 2018 at 17:43
  • @Pavel that was me not paying attention, I should go review Java history for my own good.
    – Theraot
    Nov 11, 2018 at 17:54
  • I'd be more prudent: the Oracle vs. Google is not over yet, but it clearly showed that the copyrightability of API could be different in the US and in EU (where it is not).
    – Christophe
    Nov 11, 2018 at 19:11

An answer depends mostly on country you are in, and the way you're about implementing this. Copyright applies only if you copy something that is under some copyright. If you copy an idea - library that solves particular problem, and if that is aspect that you copy, then under U.K. Copyright law, there is no copyright. You dont break the law, because ideas are not copyrighted.(But im still not sure...)

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.