CodeIgniter Forums
The MIT License - Printable Version

+- CodeIgniter Forums (https://forum.codeigniter.com)
+-- Forum: General (https://forum.codeigniter.com/forumdisplay.php?fid=1)
+--- Forum: Lounge (https://forum.codeigniter.com/forumdisplay.php?fid=3)
+--- Thread: The MIT License (/showthread.php?tid=71478)



The MIT License - ChicagoPhil - 08-17-2018

A simple inquiry about the License and use of the Codeigniter framework.

I thought I go right to the source for this question. What limitations exactly apply to the reuse of the framework? Could a person strip parts out and reuse the code in a new framework? Are there any limitations other than keeping the copyright notice in the code?

Can we rip it apart change it and do whatever we like and then offer it to the public?

Does it all have to stay open source?

Thank You to anyone who can clear this matter up for me.


RE: The MIT License - ciadmin - 08-17-2018

I can answer your questions/concerns once I return from vacation, at the end of August. It is awkward until then.


RE: The MIT License - skunkbad - 08-17-2018

It could be argued that the MIT license is one of the most free licenses. It's not wordy, and pretty clear that you can do nearly anything you want, as long as the copyright notices and permission notices are retained. See it:

Quote:The MIT License (MIT)

Copyright © 2014 - 2018, British Columbia Institute of Technology

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:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

Notice the words "without restriction", but then it is quite clear that the copyright notice and permission notice shall be included in all copies ... blah blah blah.


RE: The MIT License - ciadmin - 09-03-2018

A more complete answer, addressing different possible strategies...

Skunkbad is correct - the MIT license is pretty open, just insisting that you keep the license file, with the copyright and permissions.

You can copy/modify it, but only the license/copyright holder can change the license to make the framework code more open or to change subsequent versions to closed-source.

Two different strategies:
- Build your app or framework on top of CodeIgniter, with everything of yours inside "application", and touching nothing inside "system". You can change behavior by providing replacements or enhancements for CI components, inside your "application/core" or "application/library" folders. The MIT license still applies to the framework, i.e. everything in "system", but you can use the license of your choice for everything of yours, and charge what you will for it. CI can be bundled in what you sell.
- Rip apart CI, modifying core functionality; basically make changes inside "system". Any components you keep that come from CI need to retain the license/copyright. If they include changes from your company, then you would add a second copyright line to the license block, but you would not be able to change the license for such components. Any that are only from your company can have the license of your choice.

With the second strategy, it is common practice to "dual license" a product, eg. "Some portions released under the MIT license, and some under the (proprietary?) XYZ license.

If you can keep changes inside "application", then you reap the benefit of being able to easily update the CI core with new releases. If you "rip it apart", then you would have to manually integrate or refit any CI release changes that suited your revised framework.

Several of the other web frameworks have come about by forking CodeIgniter, and then taking "their" framework in different directions. These include Kohana & FuelPHP. They have likely been rewritten from sratch by now, eliminating any CI code, but they started out from our base.

There are lots of possibilities Undecided


RE: The MIT License - ignitedcms - 09-06-2018

Thank you for that explanation.


RE: The MIT License - ChicagoPhil - 09-07-2018

(09-03-2018, 10:52 PM)ciadmin Wrote: A more complete answer, addressing different possible strategies...

Skunkbad is correct - the MIT license is pretty open, just insisting that you keep the license file, with the copyright and permissions.

You can copy/modify it, but only the license/copyright holder can change the license to make the framework code more open or to change subsequent versions to closed-source.

Two different strategies:
- Build your app or framework on top of CodeIgniter, with everything of yours inside "application", and touching nothing inside "system". You can change behavior by providing replacements or enhancements for CI components, inside your "application/core" or "application/library" folders. The MIT license still applies to the framework, i.e. everything in "system", but you can use the license of your choice for everything of yours, and charge what you will for it. CI can be bundled in what you sell.
- Rip apart CI, modifying core functionality; basically make changes inside "system". Any components you keep that come from CI need to retain the license/copyright. If they include changes from your company, then you would add a second copyright line to the license block, but you would not be able to change the license for such components. Any that are only from your company can have the license of your choice.

With the second strategy, it is common practice to "dual license" a product, eg. "Some portions released under the MIT license, and some under the (proprietary?) XYZ license.

If you can keep changes inside "application", then you reap the benefit of being able to easily update the CI core with new releases. If you "rip it apart", then you would have to manually integrate or refit any CI release changes that suited your revised framework.

Several of the other web frameworks have come about by forking CodeIgniter, and then taking "their" framework in different directions. These include Kohana & FuelPHP. They have likely been rewritten from sratch by now, eliminating any CI code, but they started out from our base.

There are lots of possibilities Undecided

Perfect Answer. Thank You for taking the time. That makes things much more clear. Loving Codeigniter over all others still.