I have developed a software and I will publish it for free. But this software includes the following programs:

  1. The app is developed using Electron (License: MIT)
  2. Electron uses Chromium (It is combined with different licenses) NOTE: Once the application is packaged, automatically Electron and Chromium license files are included in the root folder.
  3. node.js (License)
  4. nginx (License) - Also there other license files (zlib, openssl etc) in the downloaded package
  5. PHP (License: PHP License) - Also it includes other license files of other apps it includes.
  6. Fet Scheduler (License: GNU AGPL v3)
  7. Laravel (License: MIT)

My files are "Laravel" Controllers, Models and Views. Once the app is started, first nginx and PHP start and then my PHP website is displayed in a chromium browser.

All of these apps included in one setup file.

What can be the correct license for this app? A single license file or multiple license files in their folders (PHP, nginx etc.)?


2 Answers 2


First all the licenses apply. So you can create a massive top level aggregated license or just use the ones provided by each package.

Second, the questions is what would be the resulting overall licensing?

Are the various package licenses are eventually compatible and how the packages interact together?

This is a complex question with no simple answer that may need some deep technical and legal review.

In particular in general the strongest copyleft licenses may apply depending on how packages and code is combined, which could be the AGPL for Fet Scheduler.

As a side note, there are many more subtleties to the licenses of Electron and Chromium than just the MIT license.

And a follow up question is:

"Can I create my own license for the Controllers, Models and Views I created in Laravel"?


My general understanding of fet is that this a standalone application. It would impact the overall licensing if you link to it

  • Let me explain how the project is working. You know electron. I have compiled my electron app, so the exe file is starting Chromium browser. Once the chromium browser is started, nginx server and php are run in the background. Only configuration files of php and nginx are modified. And so the main.js file of electron. Once the nginx and php is started, chromium displays the website developed on Laravel. So I have my own Controllers, Views and Models in Laravel. Commented Oct 15, 2017 at 9:26
  • Of course there are also third party apps like bootstrap and jquery. Fet is run if the user wants to create a lesson schedule. Parameters are sent to the fet, fet creates the schedule and sends back. So the question is "Can I create my own license for the Controllers, Models and Views I created in Laravel"? Commented Oct 15, 2017 at 9:26
  • @HüseyinDursun how do you call fet from your code? Commented Oct 16, 2017 at 3:13
  • There is fet-cl.exe version in fet package. You need to send parameters to this file through cmd. I am using php "exec" or "shell_exec". Commented Oct 16, 2017 at 19:26

Given you plan to publish your software for free and unless you expect it to become wildly popular I wouldn't stress too much about the details. Liscenses are created for lawyers, not people. If you feel licenses are holding you back from creating something innovative that's a problem.

The thing is, you need to be aware of the Berne Convention and do the best you can to respect the existing authors' wishes. It's unlikely you will ever have a problem, but if you feel like you may then it's a good time to go back and revisit the license files—and hire an attorney or use an organization like Black Duck to help you figure it all out.

TBH, sometimes ignorance is bliss. And if you don't have a malicious intent you shouldn't let the complexities of licenses hold you back unless you know what you're doing is wrong.


  • 3
    Following this advice is a really good way to find yourself head-to-head with gpl-violations.org, or the SFC, or the authors of FET Scheduler or perhaps one of the other component packages, or just the community in general. Licences are important, and in free software, strong copyleft licences are especially important. You ignore the details at your peril.
    – MadHatter
    Commented Oct 11, 2017 at 9:12
  • Licenses are too complicated—especially GPL, which is terrible—and they're stymying software innovation. If you want anyone to pay attention to them you're going to have to incentivize FOSS developers with something like the BTC License so it's not just the attorneys and organizations like the FSF who understand and use licenses. I rest my case.
    – vhs
    Commented Oct 12, 2017 at 10:27
  • 1
    Yes, the almost-complete absence of GPLed software from the world at large does rather argue in favour of your point. Look, if you don't like free software licences, don't work on other people's stuff, and release your stuff into the public domain. Then you'll never have to care. But don't get in the way of other people who do care, and are prepared to work with the complexities of free software licences in order to collaborate with others to some common end.
    – MadHatter
    Commented Oct 12, 2017 at 12:26

Your Answer

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

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