I know that source code can have a license. For example, if my code is released under GPL(e.g. v2), there are some restrictions that say what anyone who wants to use my code must do.

I've found a tutorial for SDL(lazyfoo). There's FAQ.

One of the points mentions "translating the code to the other programming languages". The author strictly prohibits this. Is this backed up by law? Can an author of the code forbid me from rewriting his code into other lanuage, and if yes, what are limitations of what can I (re)write?

  • 2
    No no no. GPL license doesn't add any restrictions to the code. It allows you to do things that you wouldn't be allowed to do without the license.
    – gnasher729
    Commented Dec 23, 2016 at 8:56
  • You may want to ask opensource.SE and look into "clean room rewrite"
    – user4460
    Commented Dec 23, 2016 at 18:08

2 Answers 2


A prohibition on "translating the code to the other programming languages" is a prohibition on creating a particular type of derivative work. The right to create any derivative work is an exclusive right of the copyright owner. 17 USC 106(2) They can licence or give that right to you in part, and with limitations.

You are limited from taking what would amount to a "substantial similarity" compared to the copyrightable elements of the original. For computer programs, US courts use the abstraction-filtration-comparison test.


The author doesn't forbid you to translate the code to a different programming language, the author just doesn't allow it. And since there is nothing else that allows you to create derivatives of a copyrighted work, you don't have the right to translate it.

You are looking at this from the wrong point of view. The author of a copyrighted work cannot tell you what to do whatsoever. However, copyright law gives you very little rights, and if the copyright owner doesn't give you more rights, then you don't have those rights. So if you do translate to a different programming language, then it will turn out that you don't have the right to do so through copyright law, nor through a license from the copyright holder, therefore no rights, therefore you can be successfully sued for copyright infringement.

  • Thanks. But how far does this go? I assume that if I were to go through each point of the tutorial(e.g. "printing different picture for each key pressed"), then, since I'm teaching the same tool, similarity would count as "derivative"? What if I wanted to create my own tutorial - some of the points might be similar(to use framework X, you need to learn how to do Y and Z); both tutorials would cover the same functions. Does this mean that I could be successfully sued? Commented Dec 24, 2016 at 12:43

You must log in to answer this question.

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