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

Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
(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
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
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
 
Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....ShaimaaMohamedGalal
 
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 Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
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
 
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
 

Recently uploaded (20)

Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
(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...
 
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...
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.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 ☂️
 
Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....
 
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
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
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
 
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
 

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”.