Telegram has provided API, through which programmers can connect to telegram servers, enabling them to implement clients for the messaging system.

They also have released some open source client implementations, licensed under GPL.

It is apparent to me that any software, reusing the code, must release the new source code under the GPL too.

Now the question is if one does not reuse the open source client implementations and only uses the provided API to connect to the Telegram servers with new code, are they mandated to release the new code under GPL too? Or could one implement a closed-source client for Telegram?

  • 1
    What are the terms of use of the API? – mattnz Apr 21 '15 at 9:41
  • 1
    core.telegram.org/api/terms-of-use The terms of use sound quite vague to me. It says you can take money for delivery in the 7th clause, but in 6th it says you cannot use it in a commercial structure to maximize shareholder value. It sounds more emotional than logical. They also say that their "real terms of use, with lawyer speak and all" is not ready yet! so should I wait for the clarification? – Hossein Apr 21 '15 at 10:02
  • 1
    Thanks for the recommended reading. I hadn't seen it before. Anyway, correct me if I'm wrong, but I don't think my question can be considered secifically as customer support question. Although I can ask the company to answer this question for me, I think the question is more generic and about the tags I used: open-source, GPL and free-software. – Hossein Apr 21 '15 at 11:20
  • 3
    I'm voting to close this question as off-topic because it is about interpreting a third-party software license. – Kilian Foth Apr 21 '15 at 13:53
  • 1
    @Hossein Licensing is an awkward subject here, and many times its a judgment call of "can this be answered based on a programmer's knowledge, or does it require knowledge of law". There are many licensing questions on either side of that judgment call, and many of the most interesting ones for us straddle it and therein lines the problem. While we (as individuals) may have the experience and knowledge to answer, we (as programmers) aren't qualified to give an expert answer on it... and this question seems to fall on the other side of that very hazy distinction. – user40980 Apr 21 '15 at 21:30

I am not a lawyer. If you want a lawyer's answer, you should probably ask one. The FSF is particularly helpful in providing guidance in understanding of the aspects of various free licenses, in particular the GPL.

The GPL is a license based on copyright. The rights that copyright grant the copyright holder allow them to enforce the license.

An API is a interface - a contract. It says nothing about the code used to contact it.

Most relevant to this is Oracle vs. Google over the use of Java.

"So long as the specific code used to implement a method is different, anyone is free under the Copyright Act to write his or her own code to carry out exactly the same function or specification of any methods used in the Java API. It does not matter that the declaration or method header lines are identical."

It found that the API Oracle was claiming to be copyrighted wasn't copyrightable under section 102 of the Copyright Act.

(Yes, that's about reimplementing the Java API - but its still the most relevant thing I could find and speaks to the ability to copyright an API which is needed for a license based on copyright.)

That the company has released clients under GPL is great - it lets others use that code. If one makes use of the copyrighted code that is released under the GPL in their product, it is also GPL'ed.

The APIs remain APIs and are not (cannot be) copyrighted and thus there is no way to put them under the GPL.

  • Thank you very much! Very informing and useful. Such answers are the building blocks that make this site a great place. – Hossein Apr 21 '15 at 15:20

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