GPL3 to Apache 2.0 for Neos

Hi Team ,

Recently came across an article about an open source database company that had changed from GPL3 to Apache 2.0 https://terminusdb.com/blog/2020/12/08/we-love-gplv3-but-are-switching-license-to-apache-2-0-terminusdb/ . I wanted to share this to see if it resinates with Neos team, I personally have experience the challenges that GPL3 imposes in enterprise companies and wish for more friendly open source license .

Take care

Emily

Hi Emily,

I do not know much (hardly anything) about licenses and stuff. But I do now that Neos Flow and Neos CMS is released with MIT License (https://github.com/neos/flow-development-collection/ - check License to the right) and IIRC it was due to “something” in GPL (historical thread might be avaialable somewhere)

Hi Emily,

thanks for the input but changing Licenses is always quite painful. A lot of things would have to be sorted and discussed.

The Flow Framework is already using the MIT License to be as open and permissive as possible but the Neos CMS Packages (Fusion, Media, CR etc) are GPL. When i personally publish packages i always decide wether they rely on Flow or Neos to pick the GPL or MIT for my code.

If you want to create code to be used in Neos that does not have to be GPL you can split the code into a library-package (any license you want) and a neos-connector-package (GPL). For anything worth thinking about licensing this would be good practice anyways.

Side note: I personally have not heard we “we like your product but cannot use GPL” in a while now. Today i would ask how such companies manage to not use Linux or Android those days.

Regards, Martin

1 Like

Our legal department makes us jump through too many legal barriers to adopt GPL3 , I think its also true with many enterprise companies . Here is a statement from our company legal site:

Use of AGPLv3, GPLv3 and LGPLv3 source code for internal use is highly discouraged, must be reviewed in each instance by company Legal and senior engineering management, and will only be approved for compelling reasons .

Also from your statement I was confused how to determine what can be flagged as GPL or my own license so Im sure trying to explain this to our legal team would not be easy . I think in the past it was easier to get GPL into companies.

Hello Emily,

only code that relies on Neos Features or extends them and cannot be used without is required to be GPL.

Also GPL does not require that you publish your code. You are only required to make the code accessible for the customers you give it to and allow them to change and republish it. Only when you publish the software to $anyone, $anyone becomes a customer that is granted the right to modify and republish.

If you build upon the Flow Framework you are extending MIT code which allows basically anything.

So putting the core your code into pure composer packages (that can be used in any php environment) is usually the way to go. Even if your core package relies on Flow Features like DI, AOP or ORM such packages can still be any license as the Flow(MIT) allows this. An adapter package that then connects such code to the CMS has to be GPL but this does not extend to the adapted package.

Dealing with licenses is always pita but if your legal department requires this you will have to do this anyways. With clean structure and a little planning i doubt the GPL is the real showstopper.

Regards Martin

Side Note: What we really should consider is wether it makes sense to move Neos.Fusion and AFX to the Framework(MIT) side one day as currently those are GPL.