3

I wish to create an AGPLv3 project which uses an underlying framework which is MIT-licensed.

The framework offers some source code which needs to/can be modified to make the framework bend to the users' needs. When I modify those files, can I convert them to AGPLv3 (while keeping required copyright notices of course) or should they stay under the MIT license?

Or am I just overthinking this and a simple notice such as "This project uses the FooBar v1.2.3 framework which is MIT-licensed" in a README would be enough?

EDIT: For clarifications, I'll describe the project structure.

The project and all libraries are written in the PHP language. I have the framework installed via a package manager (Composer), which creates a vendor directory where the framework's "core" is available.

The installation also creates some bootstrapping for me to use (config files, application bootstrap sequence, some baseline MVC pattern goodies). These will be the base of my project.

The things that are installed into the vendor directory are not shipped with the project source but are required for operation and are installable via the package manager. Files and other components are linked from the vendor area by using a simple file include feature of the language, and are not modified in any part of the project.

Can I convert the bootstrapping code to AGPLv3 while the contents that are living under the vendor directory stay as MIT?

Most PHP frameworks operate on this principle and 99% of projects are done this way. I just want to be sure that I'm legally on the right grounds when licensing the project itself and writing about copyrights.

2

@ojrask It's not clear what the relationship is between the framework and the AGPLv3 project.

I am not a lawyer, but here's my understanding.

If the AGPLv3 project is linking (either dynamically or statically) against the MIT-licensed framework, then both the project and the framework will need to be licensed under AGPLv3. The source for both the framework and the project will need to be distributed. This is true regardless of whether or not you modify the MIT framework.

If there is no linking involved between the framework and the project, then you are allowed to license them independently (MIT framework and AGPLv3 project).

Here are some links showing the X11 (MIT) license is compatible with the AGPLv3: https://www.gnu.org/licenses/license-list.html#GPLCompatibleLicenses http://www.dwheeler.com/essays/floss-license-slide.html

EDIT: The requirements for the MIT license are a subset of the AGPLv3 requirements. Assuming that the bootstrapping code that you mention is also is MIT-licensed, then I believe as long as you keep all of the copyright notices, you should be okay to "convert" (as you call it) to AGPLv3

From https://opensource.org/licenses/MIT:

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

  • I see. When I "link" ("include" is perhaps more applicable in the PHP world) the MIT framework, the MIT license permits converting required parts of the code to AGPLv3? All the source code will be shared so no issue there. All this assuming keeping copyright notices intact. I'll edit the question to make the framework-project relationship clearer. – ojrask Jan 26 '17 at 19:15
  • Yes, I believe the MIT license requirements are a subset of the AGPLv3 requirements. As long as you keep the copyright notices, you should be okay. I've updated my answer to include this information. – airfishey Jan 26 '17 at 23:27
  • Yes, I guess this is the proper way to go. Thanks for your answer! :) – ojrask Jan 27 '17 at 7:48

Your Answer

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

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