Comments (18)
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
from gui_tool.
Is this a real problem?
Unfortunately, it seems to be so. So far I see the following solutions:
- Relicense the tool under GPLv3.
- Ask Dronecode to purchase a commercial PyQt5 license for €450. @LorenzMeier is it even a viable option?
- Migrate away from PyQt5 to https://wiki.qt.io/Qt_for_Python (any volunteers out there?)
from gui_tool.
Would it be a possibility to migrate to some other UI framework (wxPython or something)?
from gui_tool.
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.
from gui_tool.
Sorry, I didn't see your third bullet point above for some reason. Ignore me :-$
from gui_tool.
It looks like PySide also uses GPL v3.
from gui_tool.
PySide 2 is LGPL according to their website.
from gui_tool.
Let me reply to OpenCyphal/pycyphal#38 (comment) here:
Any chance we can switch to wxwidgets or some other more liberally licensed GUI toolkit?
Will there be much objection to a web-based GUI? Does anybody have experience with Kivy?
from gui_tool.
Kivy looks slick but what graphing widgets does it provide?
from gui_tool.
So there are ugly widgets like Graph, Matplot lib integrations (which are definitely not good enough), and then there's Vispy which is OpenGL based and completely independent of Kivy.
from gui_tool.
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.
from gui_tool.
This is required as an MIT dep cannot go into a GPLv3 project
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:
the MIT license explicitly allows you to sublicense the code (i.e. republish with a completely different license), and only requires you to keep the copyright and license notice intact.
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.
from gui_tool.
Are you sure about that?
I'm absolutely not in any way sure about any of the licensing related stuff.
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.
Also if the following statement from the linked above page is true, we can add new licensing options without asking anybody:
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.
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.
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.
from gui_tool.
@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.
from gui_tool.
I've been unsuccessful in recruiting additional help, unfortunately. @Linjieqiang, do you have experience developing javascript user interfaces?
from gui_tool.
@thirtytwobits I will have a try. I have a little experience.
from gui_tool.
@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.
from gui_tool.
@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.
from gui_tool.
Related Issues (20)
- Integrate Sentry
- Plotter time axis issue HOT 7
- CAN serial ports are renamed to "n/a" (by Qt?!) HOT 2
- Add some documentation about plotter widgets HOT 1
- Plotter HIDE-SHOW button HOT 1
- Plotter filter for uavcan.protocol.debug.KeyValue HOT 1
- Custom DSDL types are not shown in the data type selection menus HOT 3
- Launch GUI tool macOS HOT 2
- PyQt5/QtCore.so: undefined symbol: “PySlice_AdjustIndices” HOT 4
- Vendor-specific data types are not accessible from the bus monitor and plotter processes
- Add support to select Socket can interfaces HOT 2
- Any new function update for this gui? HOT 1
- Creating panels with package that is not in gui tool python environment HOT 1
- Certificate error HOT 10
- Not compatible with KDE Breeze dark theme HOT 1
- uavcan V1 compatible ? HOT 1
- Error with switching to a new library name HOT 4
- Logger illumination HOT 2
- v0 REPO has moved... https://github.com/dronecan/gui_tool and is now called DroneCan! HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gui_tool.