Can you please clarify my doubt after LVGL version 9.5 whether it is free or commercial? Also if it is now commercial licensed then what are pricing for XML engine?
LVGL library itself including version 9.5 is still fully open source, free to use even for commercial products. It’s still under MIT license.
The only thing that changed is that now the lv_xml module has gone out of the main library source and will continue development under closed source.
If you wish to use LVGL XML capabilities in your application, then you would need to contact LVGL so we can provide further guidance. Please contact us at lvgl@lvgl.io
the wording using in the documentation is misleading…
1. Overview
The LVGL XML Specification (the "Specification") defines an XML-based language for describing user interfaces within the LVGL ecosystem.
This Specification is protected by copyright. It is provided with limited rights of use as outlined below.
The purpose of this license is to ensure that the Specification remains freely usable for application developers working with LVGL, while restricting its use in third-party UI editors or design tools. This protects the long-term integrity and sustainability of the LVGL ecosystem by preventing unlicensed tools from reusing or replicating the Specification in ways that compete with official LVGL offerings.
specifically this line…
The purpose of this license is to ensure that the Specification remains freely usable for application developers working with LVGL
because the XML reader portion of the code has been removed from LVGL it is no longer “Freely” usable by application developers. Remember this is LVGL which is available for both the DIY’er and commercial users. Unless that reader code is included in LVGL the user will not be able to compile LVGL with the ability to read any XML projects they have created…
See the issue. You can allow the user to create an XML project for free but if there is no way for them to be able to run it on their MCU there is no point to creating the XML using the free online editor to generate the XML code.
If LVGL only has the ability to read XML files for commercial use then it is not “freely” available for developers using LVGL. The statement above inherently means free to use for both commercial and private developers and if the reader is only available for commercial developers then it is not freely available, there is a cost involved to being able to use it.
Someone didn’t think through the removal of the XML reader code when it was done.
Now you can copyright the specification and still have the XML reader code added to LVGL. those are 2 completely different things. If you copywrite the specification it’s not going to stop someone from being able to read the code included in the XML reader portion of LVGL for the purposes of creating some other application that uses it for the purposes of creating a different type of editor or a converter. Copyrighting the specification when done correctly will allow you to have a legal path to force them to stop or to collect damages. The ONLY way you can keep the code hidden to prevent it from being a path to see what the specification is would require LVGL to compile the XML reader into a library so they can be linked to and providing the header files to that so it can be used. The licensing for that library would need to be written in a manner that allows it to be used in this manner and limits the ability to distribute the library to only people that have been granted permission to do so. The library would need to be able to be compile standalone so it would not be able to reference LVGL in any manner.
How you would go about handling this is very tricky and and I do not believe there is going to be a way to completely hide what is going on if XML is going to be able to be used in LVGL for private/corporate use.
You guys really need to secure a patent and copyright lawyer that specifically handles software. They are the only ones that are going to be able to walk you through what can and cannot be done. What further complicates the problems are the laws vary based on the country the user is located in. so the lawyer you get needs to have specific knowledge of the laws in other countries.
This is going to be an extremely expensive thing to do I can tell you that much because it usually requires a team of lawyers to handle this kind of a complex scenario.
It is a legal snafu to deal with. So you may as well take down the online XML editor as well because providing users the ability to create UI’s using that editor for free and then no way to actually run the UI they made is a rather pointless thing to have.
it might also me a smart thing to move all of the information about the editor to it’s own website because it is technically a different product at this point. You can link to the new website that has information for it on the LVGL website but having information about the editor mixed in with the LVGL information is going to be misleading to people as well.
We have announced before and it will soon be available the possibility to commit back the changes made in the online preview. Things take time and don’t happen over night
As for the separate website, as it was previously said:
We are working on decoupling the XML docs from the LVGL docs but this is not yet ready.
I am saying to take it down because people will spend a great deal of time making a UI ultimately to find out in the end there is no way for them to use that UI unless they are a commercial developer and they are paying. That’s going to rub people the wrong way once they find out that they just wasted a great deal of their time and not have the ability to use what they created.
At the very least some kind of a notice should be added that make it clear that they will not be able to use what they are making… I am not trying to be negative, I am trying to prevent having users get mad and walk away from LVGL. It’s not a good business practice to do that.
You guy can do what you want as you already know and what I am saying is a suggestion. I know it takes time to figure things out. It could be days, weeks or months before that occurs and during that time the number of users that end up getting stung by this is only going to grow.
But you can create an LVGL UI in the online Editor version and run the UI in a hardware. The lv_conf of the hardware will not have LV_USE_XML or XML features. It is just generated C code that does not use XML features. So there would not be an issue there. Is that correct @AndreCostaaa?
At the moment, the online editor has the button “Generate Code” greyed… not available. Maybe in the future, may be dependent on the commit files part is working.
So (at the moment) the online IDE, seems to be useful to thinker with a GUI and eventually save the resulting “xml” manually, cannot use the online version to create a UI (C Code files) to use the UI created.
If the online editor allows that, it seems (for my use case) the license cost (3000€ per Year) is basically so I can use “private” repo, since for my use case, don’t have interest in the “XML”, only going to use the C Code…
The XML Specification was developed following my suggestion and extensive input, reflecting my decades of commercial experience in the domain of text-based languages for UI design, as is still demonstrated in the GitHub issue thread: Markup Language for LVGL · Issue #2428 · lvgl/lvgl · GitHub
At no point did I give permission for my intellectual property to become property of the LVGL company. I do not give permission for this property to become closed source.
The LVGL toolkit features which you have implemented to my design specifications may not become closed-source in the way you seek to do it. I do not give permission for LVGL to attempt to restrict or prevent development of third-party design tools which make use of the metadata-based XML API. This API is closely based on my property, and I grant use of that property only in open source implementations, as was clearly and repeatedly stated throughout the Github issue thread. The whole concept was proposed to allow new design tools and approaches to be used by many parties using many different approaches. Not just by LVGL for close-source commercial gain.