SlideShare a Scribd company logo
1 of 11
Download to read offline
Using Qt under
LGPL-3.0
Burkhard Stubert
The Specialist in Smart User Interfaces
for Industrial Machinery
Qt Greece, 2023-11-24, Athens
§§§
Many Good Questions – No Good Answers
2
Can I keep my code closed?
How many products use Qt
LGPL-3.0
Do I have to satisfy the anti-
tivoisation clause?
What are the implications on
the system architecture?
Can I void warranty for
system with modified Qt?
Can I link Qt statically? Can I charge for installing
modified Qt?
Convey Combined Work:
Product + Physical Medium
3
Source code of Qt libs
Text of LGPLv3 and GPLv3
Copyright notices
Modifications
Installation information (B2C only)
+
Qt libraries:
Object code
Application:
Object code
GPLv3 (6a)
LGPLv3 (4)
Display in GUI
Can use web
server instead
Treat every package
as if under (L)GPLv3
Convey Combined Work:
Product + Written Offer
4
Source code of Qt libs
Text of LGPLv3 and GPLv3
Copyright notices
Modifications
Installation information (B2C)
Qt libraries:
Object code
Application:
Object code
GPLv3 (6b)
LGPLv3 (4)
Display in GUI
+ Written offer:
Valid for max(3y, support)
Offer unknown
to licenses other
than LGPL
When to Provide Installation Information
• User Product =
• [tangible] “consumer product” [...]
normally used for personal, family,
or household purposes, or
• anything designed or sold for
incorporation into a dwelling
• In doubt: it’s a User Product!
• Examples: phones, TVs, STBs, home
appliances, cars, medical devices,
security cameras
• Commercial Product:
• Examples: tractors, harvesters,
trucks, professional appliances,
medical devices, heavy-duty
cameras, vending machines
5
User
Product?
No
Yes
Installation
Information
Installation
Information
B2C B2B
• Installation Information =
• Anything required to build a modified
Qt version, install and execute it on the
User Product (e.g., Yocto build scripts)
LGPL-3.0 + Proprietary
6
Lib/App
Proprietary
.h/.c
LGPL-3.0
Lib/App
Proprietary
Combined
Proprietary
lib.a
LGPL-3.0
Lib/App
Proprietary
Combined
Proprietary
lib.so
LGPL-3.0
(4d1) (4d0)
Convey *.o
No combined
work
Used for Qt apps on iOS
Lib/App
Any
executable
LGPL-3.0
Lib/App
Proprietary
Calls
IPC
Combined
LGPLv3
Essential, Free Add-On, Paid Add-On Modules
7
Core
D-Bus
Gui
Network
Qml
Quick
Quick Controls
Quick Dialogs
Quick Layouts
Quick Test
Test
Widgets
3D Serial Bus
Bluetooth Serial Port
Concurrent Shader Tools
Help Spatial Audio
Image Formats SQL
Multimedia State Machine
NFC SVG
OPC UA TextToSpeech
OpenGL UI Tools
PDF Wayland Client
Positioning WebChannel
Print Support WebEngine
Quick Widgets WebView
Remote Objects XML
SCXML
Charts
CoAP
Data Visualization 3D
Http Server
Lottie Animation
MQTT
Network Authorization
Quick 3D
Quick 3D Physics
Quick Timeline
Virtual Keyboard
Wayland Compositor
Essential Modules Free Add-On Modules Paid Add-On Modules
Many Good Questions – Many Good Answers
8
Can I keep my code closed?
How many products use Qt
LGPL-3.0
Do I have to satisfy the anti-
tivoisation clause?
What are the implications on
the system architecture?
Can I void warranty for
system with modified Qt?
Can I link Qt statically? Can I charge for installing
modified Qt?
Yes: object files
The vast majority!
B2C: yes – B2B: no Yes, within reason
Yes!
Yes!
Decide early & consciously!
Compatibility of FOSS-Licenses
GPL-2.0 GPL-3.0 LGPL-2.1 LGPL-3.0 Apache-2.0 MIT, BSD-3 MPL -2.0 EPL
GPLv2 GPL-2.0 XXX GPLv2 XXX XXX GPL-2.0 GPL-2.0 XXX
GPLv3 XXX GPL-3.0 GPL-3.0 GPL-3.0 GPL-3.0 GPL-3.0 GPL-3.0 XXX
LGPLv2.1 GPL-2.0 GPL-3.0 LGPL-2.1 LGPL-3.0 XXX LGPL-2.1 LGPL-2.1 XXX
LGPLv3 XXX GPL-3.0 LGPL-3.0 LGPL-3.0 LGPL-3.0 LGPL-3.0 LGPL-3.0 XXX
Apache 2.0 XXX GPL-3.0 XXX LGPL-3.0 Apache-2.0 Apache 2.0 XXX XXX
MIT, BSD-3 GPL-2.0 GPL-3.0 LGPL-2.1 LGPL-3.0 Apache-2.0 MIT, BSD-3 MPL-2.0 EPL
MPL 2.0 GPL-2.0 GPL-3.0 LGPL-2.1 LGPL-3.0 XXX MPL-2.0 MPL-2.0 XXX
EPL XXX XXX XXX XXX XXX EPL XXX EPL
9
Do Not Mix Qt LGPL and Qt for Device Creation
• If company C builds proprietary
software SW with Qt4DC license,
• all developers working on SW must
have Qt4DC licenses (incl.
contractors)
• developers must not use Qt tools
from Qt4DC to build SW using Qt
LGPL
• Qt4DC SW must not link Qt LGPL
libraries
• Qt4DC SW must not even call Qt LGPL
SW
• If C builds SW with Qt LGPL,
• flip Qt4DC and Qt LGPL above
• Recommendation:
• Either build product completely with
Qt4DC or completely with Qt LGPL.
• Do not mix Qt4DC and Qt LGPL during
development and deployment.
• Changing from Qt4DC to Qt LGPL
or from Qt LGPL to Qt4DC
• Possible with every release
• Qt4DC license period cannot be
cancelled early
• Follow recommendation above
10
🙏 Thank You 🙏
Mail: burkhard.stubert@embeddeduse.com
Web: https://embeddeduse.com
Newsletter : https://burkhardstubert.substack.com

More Related Content

Similar to Using Qt under LGPL-3.0

Functioning incessantly of Data Science Platform with Kubeflow - Albert Lewan...
Functioning incessantly of Data Science Platform with Kubeflow - Albert Lewan...Functioning incessantly of Data Science Platform with Kubeflow - Albert Lewan...
Functioning incessantly of Data Science Platform with Kubeflow - Albert Lewan...GetInData
 
Functioning incessantly of Data Science Platform with Kubeflow - Albert Lewan...
Functioning incessantly of Data Science Platform with Kubeflow - Albert Lewan...Functioning incessantly of Data Science Platform with Kubeflow - Albert Lewan...
Functioning incessantly of Data Science Platform with Kubeflow - Albert Lewan...GetInData
 
Speeding up your team with GitOps
Speeding up your team with GitOpsSpeeding up your team with GitOps
Speeding up your team with GitOpsBrice Fernandes
 
Speeding up your team with GitOps
Speeding up your team with GitOpsSpeeding up your team with GitOps
Speeding up your team with GitOpsBrice Fernandes
 
Introduction to Git for Network Engineers (Lab Guide)
Introduction to Git for Network Engineers (Lab Guide)Introduction to Git for Network Engineers (Lab Guide)
Introduction to Git for Network Engineers (Lab Guide)Joel W. King
 
Introduction to Git for Network Engineers (Lab Guide)
Introduction to Git for Network Engineers (Lab Guide)Introduction to Git for Network Engineers (Lab Guide)
Introduction to Git for Network Engineers (Lab Guide)Joel W. King
 
How to Use Telegraf and Its Plugin Ecosystem
How to Use Telegraf and Its Plugin EcosystemHow to Use Telegraf and Its Plugin Ecosystem
How to Use Telegraf and Its Plugin EcosystemInfluxData
 
How to Use Telegraf and Its Plugin Ecosystem
How to Use Telegraf and Its Plugin EcosystemHow to Use Telegraf and Its Plugin Ecosystem
How to Use Telegraf and Its Plugin EcosystemInfluxData
 
KubeCon EU 2022 Istio, Flux & Flagger.pdf
KubeCon EU 2022 Istio, Flux & Flagger.pdfKubeCon EU 2022 Istio, Flux & Flagger.pdf
KubeCon EU 2022 Istio, Flux & Flagger.pdfWeaveworks
 
KubeCon EU 2022 Istio, Flux & Flagger.pdf
KubeCon EU 2022 Istio, Flux & Flagger.pdfKubeCon EU 2022 Istio, Flux & Flagger.pdf
KubeCon EU 2022 Istio, Flux & Flagger.pdfWeaveworks
 
MQTT and SensorThings API MQTT Extension
MQTT and SensorThings API MQTT ExtensionMQTT and SensorThings API MQTT Extension
MQTT and SensorThings API MQTT ExtensionSensorUp
 
MQTT and SensorThings API MQTT Extension
MQTT and SensorThings API MQTT ExtensionMQTT and SensorThings API MQTT Extension
MQTT and SensorThings API MQTT ExtensionSensorUp
 
Inria Tech Talk : RIOT, l'OS libre pour vos objets connectés #IoT
Inria Tech Talk : RIOT, l'OS libre pour vos objets connectés #IoTInria Tech Talk : RIOT, l'OS libre pour vos objets connectés #IoT
Inria Tech Talk : RIOT, l'OS libre pour vos objets connectés #IoTStéphanie Roger
 
Inria Tech Talk : RIOT, l'OS libre pour vos objets connectés #IoT
Inria Tech Talk : RIOT, l'OS libre pour vos objets connectés #IoTInria Tech Talk : RIOT, l'OS libre pour vos objets connectés #IoT
Inria Tech Talk : RIOT, l'OS libre pour vos objets connectés #IoTStéphanie Roger
 
Delivering Quality at Speed with GitOps
Delivering Quality at Speed with GitOpsDelivering Quality at Speed with GitOps
Delivering Quality at Speed with GitOpsWeaveworks
 
Delivering Quality at Speed with GitOps
Delivering Quality at Speed with GitOpsDelivering Quality at Speed with GitOps
Delivering Quality at Speed with GitOpsWeaveworks
 
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCD
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCDKubernetes GitOps featuring GitHub, Kustomize and ArgoCD
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCDSunnyvale
 
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCD
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCDKubernetes GitOps featuring GitHub, Kustomize and ArgoCD
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCDSunnyvale
 

Similar to Using Qt under LGPL-3.0 (20)

Functioning incessantly of Data Science Platform with Kubeflow - Albert Lewan...
Functioning incessantly of Data Science Platform with Kubeflow - Albert Lewan...Functioning incessantly of Data Science Platform with Kubeflow - Albert Lewan...
Functioning incessantly of Data Science Platform with Kubeflow - Albert Lewan...
 
Functioning incessantly of Data Science Platform with Kubeflow - Albert Lewan...
Functioning incessantly of Data Science Platform with Kubeflow - Albert Lewan...Functioning incessantly of Data Science Platform with Kubeflow - Albert Lewan...
Functioning incessantly of Data Science Platform with Kubeflow - Albert Lewan...
 
Speeding up your team with GitOps
Speeding up your team with GitOpsSpeeding up your team with GitOps
Speeding up your team with GitOps
 
Speeding up your team with GitOps
Speeding up your team with GitOpsSpeeding up your team with GitOps
Speeding up your team with GitOps
 
Introduction to Git for Network Engineers (Lab Guide)
Introduction to Git for Network Engineers (Lab Guide)Introduction to Git for Network Engineers (Lab Guide)
Introduction to Git for Network Engineers (Lab Guide)
 
Introduction to Git for Network Engineers (Lab Guide)
Introduction to Git for Network Engineers (Lab Guide)Introduction to Git for Network Engineers (Lab Guide)
Introduction to Git for Network Engineers (Lab Guide)
 
How to Use Telegraf and Its Plugin Ecosystem
How to Use Telegraf and Its Plugin EcosystemHow to Use Telegraf and Its Plugin Ecosystem
How to Use Telegraf and Its Plugin Ecosystem
 
How to Use Telegraf and Its Plugin Ecosystem
How to Use Telegraf and Its Plugin EcosystemHow to Use Telegraf and Its Plugin Ecosystem
How to Use Telegraf and Its Plugin Ecosystem
 
KubeCon EU 2022 Istio, Flux & Flagger.pdf
KubeCon EU 2022 Istio, Flux & Flagger.pdfKubeCon EU 2022 Istio, Flux & Flagger.pdf
KubeCon EU 2022 Istio, Flux & Flagger.pdf
 
KubeCon EU 2022 Istio, Flux & Flagger.pdf
KubeCon EU 2022 Istio, Flux & Flagger.pdfKubeCon EU 2022 Istio, Flux & Flagger.pdf
KubeCon EU 2022 Istio, Flux & Flagger.pdf
 
MQTT and SensorThings API MQTT Extension
MQTT and SensorThings API MQTT ExtensionMQTT and SensorThings API MQTT Extension
MQTT and SensorThings API MQTT Extension
 
MQTT and SensorThings API MQTT Extension
MQTT and SensorThings API MQTT ExtensionMQTT and SensorThings API MQTT Extension
MQTT and SensorThings API MQTT Extension
 
Meet Qt
Meet QtMeet Qt
Meet Qt
 
Meet Qt
Meet QtMeet Qt
Meet Qt
 
Inria Tech Talk : RIOT, l'OS libre pour vos objets connectés #IoT
Inria Tech Talk : RIOT, l'OS libre pour vos objets connectés #IoTInria Tech Talk : RIOT, l'OS libre pour vos objets connectés #IoT
Inria Tech Talk : RIOT, l'OS libre pour vos objets connectés #IoT
 
Inria Tech Talk : RIOT, l'OS libre pour vos objets connectés #IoT
Inria Tech Talk : RIOT, l'OS libre pour vos objets connectés #IoTInria Tech Talk : RIOT, l'OS libre pour vos objets connectés #IoT
Inria Tech Talk : RIOT, l'OS libre pour vos objets connectés #IoT
 
Delivering Quality at Speed with GitOps
Delivering Quality at Speed with GitOpsDelivering Quality at Speed with GitOps
Delivering Quality at Speed with GitOps
 
Delivering Quality at Speed with GitOps
Delivering Quality at Speed with GitOpsDelivering Quality at Speed with GitOps
Delivering Quality at Speed with GitOps
 
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCD
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCDKubernetes GitOps featuring GitHub, Kustomize and ArgoCD
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCD
 
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCD
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCDKubernetes GitOps featuring GitHub, Kustomize and ArgoCD
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCD
 

Recently uploaded

Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 

Recently uploaded (20)

Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 

Using Qt under LGPL-3.0

  • 1. Using Qt under LGPL-3.0 Burkhard Stubert The Specialist in Smart User Interfaces for Industrial Machinery Qt Greece, 2023-11-24, Athens §§§
  • 2. Many Good Questions – No Good Answers 2 Can I keep my code closed? How many products use Qt LGPL-3.0 Do I have to satisfy the anti- tivoisation clause? What are the implications on the system architecture? Can I void warranty for system with modified Qt? Can I link Qt statically? Can I charge for installing modified Qt?
  • 3. Convey Combined Work: Product + Physical Medium 3 Source code of Qt libs Text of LGPLv3 and GPLv3 Copyright notices Modifications Installation information (B2C only) + Qt libraries: Object code Application: Object code GPLv3 (6a) LGPLv3 (4) Display in GUI Can use web server instead Treat every package as if under (L)GPLv3
  • 4. Convey Combined Work: Product + Written Offer 4 Source code of Qt libs Text of LGPLv3 and GPLv3 Copyright notices Modifications Installation information (B2C) Qt libraries: Object code Application: Object code GPLv3 (6b) LGPLv3 (4) Display in GUI + Written offer: Valid for max(3y, support) Offer unknown to licenses other than LGPL
  • 5. When to Provide Installation Information • User Product = • [tangible] “consumer product” [...] normally used for personal, family, or household purposes, or • anything designed or sold for incorporation into a dwelling • In doubt: it’s a User Product! • Examples: phones, TVs, STBs, home appliances, cars, medical devices, security cameras • Commercial Product: • Examples: tractors, harvesters, trucks, professional appliances, medical devices, heavy-duty cameras, vending machines 5 User Product? No Yes Installation Information Installation Information B2C B2B • Installation Information = • Anything required to build a modified Qt version, install and execute it on the User Product (e.g., Yocto build scripts)
  • 6. LGPL-3.0 + Proprietary 6 Lib/App Proprietary .h/.c LGPL-3.0 Lib/App Proprietary Combined Proprietary lib.a LGPL-3.0 Lib/App Proprietary Combined Proprietary lib.so LGPL-3.0 (4d1) (4d0) Convey *.o No combined work Used for Qt apps on iOS Lib/App Any executable LGPL-3.0 Lib/App Proprietary Calls IPC Combined LGPLv3
  • 7. Essential, Free Add-On, Paid Add-On Modules 7 Core D-Bus Gui Network Qml Quick Quick Controls Quick Dialogs Quick Layouts Quick Test Test Widgets 3D Serial Bus Bluetooth Serial Port Concurrent Shader Tools Help Spatial Audio Image Formats SQL Multimedia State Machine NFC SVG OPC UA TextToSpeech OpenGL UI Tools PDF Wayland Client Positioning WebChannel Print Support WebEngine Quick Widgets WebView Remote Objects XML SCXML Charts CoAP Data Visualization 3D Http Server Lottie Animation MQTT Network Authorization Quick 3D Quick 3D Physics Quick Timeline Virtual Keyboard Wayland Compositor Essential Modules Free Add-On Modules Paid Add-On Modules
  • 8. Many Good Questions – Many Good Answers 8 Can I keep my code closed? How many products use Qt LGPL-3.0 Do I have to satisfy the anti- tivoisation clause? What are the implications on the system architecture? Can I void warranty for system with modified Qt? Can I link Qt statically? Can I charge for installing modified Qt? Yes: object files The vast majority! B2C: yes – B2B: no Yes, within reason Yes! Yes! Decide early & consciously!
  • 9. Compatibility of FOSS-Licenses GPL-2.0 GPL-3.0 LGPL-2.1 LGPL-3.0 Apache-2.0 MIT, BSD-3 MPL -2.0 EPL GPLv2 GPL-2.0 XXX GPLv2 XXX XXX GPL-2.0 GPL-2.0 XXX GPLv3 XXX GPL-3.0 GPL-3.0 GPL-3.0 GPL-3.0 GPL-3.0 GPL-3.0 XXX LGPLv2.1 GPL-2.0 GPL-3.0 LGPL-2.1 LGPL-3.0 XXX LGPL-2.1 LGPL-2.1 XXX LGPLv3 XXX GPL-3.0 LGPL-3.0 LGPL-3.0 LGPL-3.0 LGPL-3.0 LGPL-3.0 XXX Apache 2.0 XXX GPL-3.0 XXX LGPL-3.0 Apache-2.0 Apache 2.0 XXX XXX MIT, BSD-3 GPL-2.0 GPL-3.0 LGPL-2.1 LGPL-3.0 Apache-2.0 MIT, BSD-3 MPL-2.0 EPL MPL 2.0 GPL-2.0 GPL-3.0 LGPL-2.1 LGPL-3.0 XXX MPL-2.0 MPL-2.0 XXX EPL XXX XXX XXX XXX XXX EPL XXX EPL 9
  • 10. Do Not Mix Qt LGPL and Qt for Device Creation • If company C builds proprietary software SW with Qt4DC license, • all developers working on SW must have Qt4DC licenses (incl. contractors) • developers must not use Qt tools from Qt4DC to build SW using Qt LGPL • Qt4DC SW must not link Qt LGPL libraries • Qt4DC SW must not even call Qt LGPL SW • If C builds SW with Qt LGPL, • flip Qt4DC and Qt LGPL above • Recommendation: • Either build product completely with Qt4DC or completely with Qt LGPL. • Do not mix Qt4DC and Qt LGPL during development and deployment. • Changing from Qt4DC to Qt LGPL or from Qt LGPL to Qt4DC • Possible with every release • Qt4DC license period cannot be cancelled early • Follow recommendation above 10
  • 11. 🙏 Thank You 🙏 Mail: burkhard.stubert@embeddeduse.com Web: https://embeddeduse.com Newsletter : https://burkhardstubert.substack.com

Editor's Notes

  1. “may” refers to ”under your terms”, not to “convey”.
  2. (GPL 6a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange.
  3. (GPL 6b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge.
  4. “may” refers to ”under your terms”, not to “convey”.