-
Notifications
You must be signed in to change notification settings - Fork 341
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
License and source code ? #35
Comments
Excellent questions! |
Maybe you should think about open source and put a "donate" button. |
When certain items are closed source implies that it is difficult to perform a security audit on this. The firmware could effectively be leaking your application code and keys to an off-site server. (Mind you, I am not saying this is the case!) The lack of proper licensing terms at the root level of loboris' repository could imply that you could be sued in court when you use this software in a commercial setting. However, this has not kept the company M5Stack from using it. I am confident that loboris will resolve both of these issues one way or another. The official MicroPython ESP32 port might have less features, but it is completely open source and it is fully licensed under MIT terms which allows for commercial exploitation. |
Interestingly, M5Stack is offering an MIT license on the whole firmware repository —for not writing its firmware—. Go figure! |
You might want to familiarize yourself with the project before you start spreading FUD and attacking people who give their software to the world. The module that started this issue, the FTP server, is split between modnetwork.c for the micropython interface into the library itself in ftp.c. Both of these have comments giving them the MIT license. The only part of this build that I'm able to find that isn't open source is the ESP IDF binary blobs. There is a config option to exclude these from your builds, but then you'll lose the functionality they support (Bluetooth and WiFi). |
Ok, thank you icb for this information. Thus it is merely a problem of communication about licenses. |
@icb- Point well taken! I redacted my initial comments to remove the unintentional FUD factor, now that you pointed us to the source, which admittedly was buried quite deep. |
As far as I know, all the code used in this repository is open source, and there are no binary blobs without the source code. No code which needs paid (commercial) licensing is used. Some parts of the code uses different licensing than MIT. Most of the libraries/code using different licensing can be excluded from build (and final firmware) via menuconfig. I'll try to make it more clear. I'll make all the licensing information available in a separete directory and on the Wiki pages. |
@loboris |
I would get rid of all GPL licensed code and stay with permissive licenses only. Due it's viral nature my understanding is GPL requires changing the license from MIT to GPL for the whole project. |
Loboris : thank you for all your work. Clear licensing is not fun to do, bit is critical for a community project. For binary blob, I think that maybe Espressif couldn't do otherway because of last FCC laws about WIFI (disallowing open source code for WIFI controllers). For information, why did you began to build your own MicroPython for ESP32 ? You made a very well work of integration and development ! |
I'll try to update all the licensing information in the following days (weeks), so I'll close this issue for now.
I think it's obvious, MicroPython is great programming environment, and the ESP32 is in many ways different than other platforms for which MicroPython exists, so I wanted to build it a different way. It does not mean that my approach is better, it is just better suited for my needs. |
Ok, nice, thank you Loboris !
No intention for me for criticisms :-). Personally I think that your firmware is well integrated, well configurable, with a lot of integrated interesting functionalities :-) Thus I go for it :-) |
I'm designing the hardware and software for various measurement stations (mostly in meteorogy/hydrology) of which some are using ESP32/MicroPython. |
Ok great :-) |
Oh, this is great the way you can combine your daytime job with your hobby, whilst sharing your excellent firmware with the world. Bless you! |
Why was this closed? Obviously licensing issues have not been fixed. Quickly browsing more GPL code can be found. For example which seems to be taken from https://github.com/Wei1234c/SX127x_driver_for_MicroPython_on_ESP8266 which is GPL licensed. |
Thanks. I've removed That should leave only MIT and Apache licensing in the project. |
Thank you very much Boris ! |
Thanks @loboris! Updating your port to be fully MIT licensed is hugely beneficial. (For reference, this was also discussed in the MicroPython forum, across pages 31-32) |
Huge beneficial professional uses... |
@loboris This firmware is firstly an integration of several codes, mostly:
|
I'll try to keep only two licenses: MIT & Apache License 2.0 (esp-idf). If any part of the code is licensed under other license (GPL) it will be clearly indicated, and this part of the code will be integrated in a way that it can be excluded from the build via menuconfig in case someone does not want to have a GPL licensed code in the final firmware. @Liberasys Thanks for the help offer. You can help by testing the code, reporting the issues, making suggestions ... |
IANAL but I am under the impression that even the presence of GPL code in the repository will present problems to some... |
RQ : be careful to not mixing your personal interest and your company interest. If you want to receive donations, be clear with your employer on the rules to apply (I don't want that you get problems while putting your firmware in open source !). Furthermore be clear of who has the copyright (you or your company, be clear with your employer... In France developers that works for an employer and at the same time at home have a deal, or it often leads to further problems ) |
@mattytrentini |
@Liberasys |
@loboris |
I'll close the issue. |
I don't want to be that guy ;) but wouldn't it make sense to keep this ticket open until you've at least followed through on your proposal? At least machine_hw_i2c.c is still GPL. I personally would be happier if this were kept open until all GPL code is removed and there was a My understanding is also in-line with @tuupola : You can't apply a MIT/Apache license to this repo if there is any GPL code present... Sorry to be pedantic. But one day, hopefully soon!, I want to use MicroPython at work but I won't be allowed to touch it if it contains GPL code. |
I've had to do some testing for I2C module, it will be committed soon. Related to the remaining GPL licensed code, I can only quote myself:
I'm sorry but I can't consider having GPL licensed code in the repository an issue, especially if you can build the firmware without it. We can discuss it on the forum, but it is not an issue. I've often heard "many avoid GPL licensed code like plague", and mostly the reasoning behind that is: "We want to use someone else's sources to make a profitable product, and we can't do it because there is GPL license". You are right about the missing |
I understand your position and thanks for clarifying @loboris. I still have concerns; it seems possible that the presence of the GPL code mixed in the repository means that the whole codebase must be GPL (as @tuupola alluded to above). To be nitpicky it seems clear that the code comprising a release that contains any GPL code must be entirely released as GPL but it's not clear to me if this requires the whole repo to be implicitly GPL too. Forever (?). IANAL and this all seems tricky even by legal standards. This is discussed a lot but this is quite a readable discussion on the topic. This concern would mean that there'd be a very grey area if someone were to fork and remove the GPL code; the viral nature of the GPL may mean that this is not legally possible since the whole codebase is implicitly GPL. I may be wrong and overly worried. In any case, if you add a |
I think you are "overly worried". If your compiled firmware (binary) does not contain a single byte compiled from GPL licensed source (and it can be easily proved) it cannot be in violation of GPL license. I'm shure it is as simple as that. |
Hello Loboris and congratulations for your work !
I have a question concerning your work. Do you provide the source code ? On which license do you produce your code ? For example for uftpserver, I didn't found the source.
Thank you,
BR
The text was updated successfully, but these errors were encountered: