We are analyzing the possibility of using JRuby library for some maintenance tasks in a private closed-source application that we are selling to a customer.

According to the license information on their site https://github.com/jruby/jruby they use a triple license:

JRuby is licensed under a tri EPL/GPL/LGPL license. You can use it, redistribute it and/or modify it under the terms of the:

Eclipse Public License version 2.0 OR GNU General Public License version 2 OR GNU Lesser General Public License version 2.1

We are not modifying this library, and we only use it to run some maintenance scripts, so we do not think we should be considered a derivative project of any kind. As far as I know, if the license is LGPL we probably could use this library without providing the source code of our application (there would still be other obligations, such as mentioning this dependency, etc.).

But what does a triple-license mean? That I can choose which license I will be using? If so, can I use this library without opening our source code? Our customer strictly forbids this.

  • 6
    Which bit of "OR" is not clear to you? Apr 12, 2023 at 14:40
  • 2
    I just adore licensing decisions that suggest that people haven't thought things through. They don't need to add GPLv2 as an option, because LGPLv2.1 already gives that as an alternative, in s3. Moreover, it's pointless them specifying the version of the GPL, because LGPLv2.1 s3 also offers GPLv3 as a permissible alternative. So it's arguably a bi/tri/quad licence.
    – MadHatter
    Apr 12, 2023 at 14:45
  • The way I understand OR is that I can choose whichever of the three libraries I want. In which case I would use LGPL, which means I can use it because it is a library. Ordinarily I have no issues with this, but in this case it is confusing enough that I thought it was best to ask
    – Calabacin
    Apr 12, 2023 at 15:56
  • 3
    If you need legal advice, ask a lawyer, not the Internet. Apr 12, 2023 at 17:19

1 Answer 1


The "or" means that it is your choice which license you want to comply with. So you can pick any of those three licenses, follow its conditions and ignore any divergent conditions from the other two licenses.

Note that you can not mix and match conditions from multiple licenses. You have to follow at least one of the licenses completely.

  • 3
    "You have to pick one license" - However, wouldn't it still be possible to re-release a modification under the same verbatim "OR" license as stated here? For example, if I fork the Github repo and just leave my modified version with the same conditions as stated (License A OR License B OR License C).
    – Brandin
    Apr 13, 2023 at 12:45
  • 1
    @Brandin OK, that part of my answer might have been a bit confusing. No, when you fork the project, then you can of course leave the multi-licensing in place.
    – Philipp
    Apr 13, 2023 at 12:57
  • @Brandin I think you have to ensure you can provide all three separate licenses if you do this. In practice, that is quite trivial for most sane licenses and therefore I suspect that few people bother to ensure they actually did it right.
    – user253751
    Apr 14, 2023 at 9:30

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.