6

If, I port Ruby on Rails (licensed under MIT) from Ruby to Java what license options do I have? Would I have to use MIT or a compatible license?

7

The conservative position is to assume that your port is a derived work of the original. If you consult a lawyer, you might be offered a more-or-less 'clean room' procedure to try to avoid this, but since you've already read the Rails code, it's probably too late for that unless you want to hire other people.

So you must choose a license that satisfies your obligations under the MIT license.

The good news is that the MIT license is extremely permissive. I believe that you have complete freedom to choose a license for your derived work.

The license includes:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

So, even if you choose a more restrictive license, you must give notice that the original was MIT-licensed.

  • For what it's worth, this "conservative" position is an extremely tentative one. Copyright law is not clear at all on this topic and a lawyer/judge can only give you their opinion. If you ask a different one, you'll get a different opinion. Taking it to court would be like flipping a coin. – Abhi Beckert Sep 14 '15 at 0:56
  • @AbhiBeckert, the intent of MIT is that you can do what you want, as long as the notice is preserved. I don't see how a court court disagree/overrule that, your work on top of the base is yours alone. On the other hand, running Ruby on top of a JVM pulls (at least some aspects of) the JVM into the equation, and there it gets murky. – vonbrand Sep 20 '15 at 18:25
  • @vonbrand it's not clear that you would be infringing on copyright if you re-implement someone's product in a different language. If you are not infringing copyright, then you are not required to comply with the license. You would be infringing on patents, but maybe not copyright. And I don't think the Ruby on Rails project has any patents. – Abhi Beckert Sep 20 '15 at 20:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy