4

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?

2
  • 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 Oct 4, 2018 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? Oct 4, 2018 at 6:49

3 Answers 3

8

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 GoJS.

1
  • 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, 2018 at 11:20
3

Yes that statement is true. (I am one of the developers of GoJS)

The other answerer seems to be conflating open source with free. You are allowed to bundle the GoJS evaluation version for free with your free (and open source) software. But you don't have to bundle it, either. You can leave it as a dependency that is up to others to download (either they download the evaluation, or buy a license, etc).

A project still remains open source even if it has a dependency that is not open source. This is very common, think of all the open source projects that run on (closed source) Windows. Open source projects do not need to distribute all their dependencies, either.

6
  • Interesting point of view! Thank you for joining the conversation. Would you mind providing examples of software projects that are widely recognized as open source (for instance Firefox or GIMP) but "include the evaluation version of" a non-open source library? Thanks! Jan 12, 2019 at 4:05
  • 2
    Hi Simon, let's say I use GoJS to build a VS Code extension, as a dependency, and distribute it so others can download and use. In such case, for users to use my extension, they would have to pay to buy GoJS. Is it correct?
    – laike9m
    Jul 27, 2020 at 1:34
  • 1
    @laike9m Normally yes, but if this is a hobby project or for public benefit we may be able to do something else. Can you tell me a bit about it, email simon [at]nwoods.com ? Jul 27, 2020 at 16:11
  • Curious enough that happens to be the same situation as @laike9m where I'm building a vscode extension MIT licensed and planning to use gojs to show some diagrams. How is the case for those scenarios?
    – Sebastian
    Jul 27, 2020 at 22:02
  • 1
    I contacted the GoJS team and was told there's no free version. My project is indeed a hobby project, but I don't want to take the risk of it not being able to use by others, say companies, as it can make adoption hard. Thanks Simon for taking a look, to be safe, I'll just pick another library.
    – laike9m
    Jul 28, 2020 at 2:33
-3

Essentially if a project does not have MIT or Apache 2 license it probably best not be called open source. If you have to ask about if you can use an open source project means it’s plain old money grab project pretending to be open source. It’s time wasting, disingenuous and disrespectful to whole open source community.

5
  • 2
    There are plenty of definitely open source licenses which are not MIT or Apache. Jun 13, 2022 at 2:56
  • Happy to discuss any examples you have? Keep in mind that Apache and MIT is “definitively” open source, without restrictions and confusions. Jun 14, 2022 at 22:38
  • If you're trying to argue GPL isn't open source, that is not the definition this site uses and most definitely not a productive line to take. Jun 14, 2022 at 23:31
  • Open source does not equal GPL communism... but yeah I see how everyone is confused. Jun 25, 2022 at 13:19
  • @PhilipKendall you are right it is open source, as in its open to be seen, and its open until someone wants your money. Here is good Copyleft quote "GPL work is copyrighted, a licensee has no right to redistribute it, not even in modified form". Open Source license should be about protecting the author and users from being sued. If you have some small print gotchas that normal people can't understand, its not realy open then is it. Sep 6 at 4:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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