Context: GoJS is not open source, its license stating in particular that modification is forbidden (though the fact that its source code is hosted on GitHub seems to confuse some people).

The maintainer of GoJS wrote:

You may include the evaluation version of GoJS in open source projects, but people who use your project and want to use GoJS with it will have to purchase a license.

Is this statement true?

  • Are there any particular open source licenses you are interested in here? There's going to be a difference between a permissive license like MIT and a Free Software license like the GPL – Philip Kendall Oct 4 at 6:01
  • @PhilipKendall: I am particularly interested in MIT/Apache 2/GPLv3, but answers about other OSI licenses are welcome too. The most important being, can an open source project include the library and still stay open source? – Nicolas Raoul Oct 4 at 6:49
up vote 4 down vote accepted

You say the most important question is

can an open source project include the library and still stay open source?

IANAL/IANYL, but as I read it, no. Firstly, section 2.1.4(b) of the licence specifies that

Customer may not ... modify any Licensed Product, or create any derivative work of any Licensed Product

s2.1.5(a) allows you to modify it under certain circumstances, but then says you can't redistribute the modified version. Since our accepted definition of open source says in s3 that

The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software.

You could not combine GoJS and any piece of free software into a derivative work, and redistribute it as a free project. I can't square the maintainer's words quoted above with the licence text, and the licence text is likely to have the final word on the subject, but even if we take his/her words at face value, your combined project would be non-free as users would be required to buy a licence for GoSJ.

  • While I think it is possible to create permissively-licensed open source projects that have non-free dependencies, the result would still be a non-free software system and would be of little use to other open source projects (as your answer explains). This equivalent to the “free plugin in non-free application” problem. – amon Oct 4 at 11:20

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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