-
Notifications
You must be signed in to change notification settings - Fork 53
Dependency PyQt5 uses GPL3 license #30
Comments
Unfortunately, it seems to be so. So far I see the following solutions:
|
Would it be a possibility to migrate to some other UI framework (wxPython or something)? |
I don't think so. We must stay with Qt lest we end up redoing the entire application from scratch. Too many things are dependent on Qt, the plotting engine is one of the most critical ones. |
Sorry, I didn't see your third bullet point above for some reason. Ignore me :-$ |
It looks like PySide also uses GPL v3. |
PySide 2 is LGPL according to their website. |
Let me reply to OpenCyphal/pycyphal#38 (comment) here:
Will there be much objection to a web-based GUI? Does anybody have experience with Kivy? |
Kivy looks slick but what graphing widgets does it provide? |
Disclaimers: IANAL I think an acceptable solution would be to get permission from all 6 pyuavcan contributors to dual license their contributions under both MIT and Apache2. (This is required as an MIT dep cannot go into a GPLv3 project). This is actually the preferred licensing option in the Rust community, meaning there should be no unexpected problems doing so. Then get permission from all 6 uavcan_gui_tool contributor to license their contribution under GPLv3. Using the pyuavcan apache 2 license this can be included as a dependency without any problems. What I have seen been done in similar situation is that an issue is created under the relevant repos. In this issue, all relevant persons are listed and they are encouraged to comment with a pre-written statement consenting to license their contributions under this and that license. As long as uavcan_gui_tool is mostly about gui code, and all reusable (non-gui) components live inside pyuavcan (or another seperate repo) this should not be a problem. If we want to create a new uavcan_gui_tool without the GPLv3 lisence we will have to write most of the gui code from scratch anyway. Since the uavcan_gui_tool isn't used as a dependency but instead as a free standing tool i don't think it will be any problems at all having it under the GPLv3 lisence. |
Are you sure about that? The hivemind seems to disagree: https://opensource.stackexchange.com/questions/5477/release-code-with-mit-dependencies-under-gpl Also if the following statement from the linked above page is true, we can add new licensing options without asking anybody:
We can easily relicense the tool under GPL v3, but that'll make it impossible for some developers to contribute. Although, as is stands, they can't do it currently either, so we're not losing anything. |
I do not understand how MIT can work with GPL as the MIT license give "the right without limitations to modify the software". Although if the hivemind thinks I'm wrong, I probably am.
I'm pretty sure this is impossible. Dual licensing means that you can obtain a copy either following the MIT license or Apache2 license. Sub-license means that you can append the new license requirements on top of the original one. Even if it was possible to do so, it would be much nicer just to ask :), and in my experience people mainly want their code to be usable and would say yes without hesitation.
How I see it, they would only be unable to contribute to the parts that are already closely tied together with the GPL licensed library. To break free of the GPL license we will have to rewrite these parts anyway (since they're somewhat closely tied to the library). If we license this tool under GPLv3 now it's probably not going to cause us much extra work rewriting with a new gui library later compared to doing it without licensing. It is going to allow us to use the tool as is. In my opinion we gain significantly more than we lose. |
When are we going to start writing new GUI programs and I'm interested in that and I want to get involved in code development. @pavel-kirienko |
@Linjieqiang Right now the best way to get involved is to stay up to date on things. We may or may not be able to secure some dev workforce with the help from @thirtytwobits and/or Iain Galloway. Please follow things on the forum at http://forum.uavcan.org and consider joining the next weekly dev call on Wed Dec 19. |
I've been unsuccessful in recruiting additional help, unfortunately. @Linjieqiang, do you have experience developing javascript user interfaces? |
@thirtytwobits I will have a try. I have a little experience. |
@pavel-kirienko I couldn't sign up the https://forum.uavcan.org/. Could you help me check the my accout. My email is [email protected]. But I couldn't receive the email from the website. |
@Linjieqiang I see that your user account is already created, so I just activated it manually: https://forum.uavcan.org/admin/users/181/linjieqiang. The confirmation email probably got into your spam folder, please check that. |
PyQt5 uses a more restrictive license (GPLv3) that requires developers share any source code for derivative works, under the same license.
gui_tool uses the MIT license, which does not impose the open-source restriction.
These licenses seem incompatible, since they both require that derivative works use the same license (MIT and GPL3 simultaneously), and my concern is that development projects that rely on gui_tool may be unaware that they are required by transitive license to open-source their code.
Off the top of my head, gui_tool should either remove the dependency on PyQt5, or else move to a GPL3 license, but both of these seem either burdensome technically, or problematic legally.
Is this a real problem? Is there a real solution?
The text was updated successfully, but these errors were encountered: