Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. can we use Qt lgpl in android and ios ?
Qt 6.11 is out! See what's new in the release blog

can we use Qt lgpl in android and ios ?

Scheduled Pinned Locked Moved Unsolved Mobile and Embedded
10 Posts 6 Posters 1.5k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    mouhamed
    wrote on last edited by
    #1

    is there is any way to use LGPL in android and ios?

    jsulmJ 1 Reply Last reply
    0
    • M mouhamed

      is there is any way to use LGPL in android and ios?

      jsulmJ Offline
      jsulmJ Offline
      jsulm
      Lifetime Qt Champion
      wrote on last edited by
      #2

      @mouhamed LGPL should not be an issue. You just need to make sure you do not violate it. Most of Qt is licensed under LGPL3 now, also for Android/iOS.

      https://forum.qt.io/topic/113070/qt-code-of-conduct

      1 Reply Last reply
      0
      • M Offline
        M Offline
        mouhamed
        wrote on last edited by
        #3

        @jsulm said in can we use Qt lgpl in android and ios ?:

        LGPL3

        how to not violate LGPL, should I only mention that I am using Qt and provide LGPL license link

        jsulmJ 1 Reply Last reply
        0
        • M mouhamed

          @jsulm said in can we use Qt lgpl in android and ios ?:

          LGPL3

          how to not violate LGPL, should I only mention that I am using Qt and provide LGPL license link

          jsulmJ Offline
          jsulmJ Offline
          jsulm
          Lifetime Qt Champion
          wrote on last edited by
          #4

          @mouhamed said in can we use Qt lgpl in android and ios ?:

          should I only mention that I am using Qt and provide LGPL license link

          You also have to give the user the possibility to replace Qt libraries with their own versions. And at this points it gets tricky for Android/iOS apps.
          Take a look at https://www.qt.io/licensing/open-source-lgpl-obligations

          And keep in mind: I'm not a lawyer :-)

          https://forum.qt.io/topic/113070/qt-code-of-conduct

          1 Reply Last reply
          0
          • A Offline
            A Offline
            aziesemer
            wrote last edited by
            #5

            With Qt 6.10.3 we were able to built Qt as dynamic frameworks instead (which may make it compatible with LGPLv3), and our prototype works: it runs on the arm64 simulator and links for devices.
            Anyone has been down this road?

            Nils SjobergN 1 Reply Last reply
            0
            • SGaistS Offline
              SGaistS Offline
              SGaist
              Lifetime Qt Champion
              wrote last edited by SGaist
              #6

              WARNING: I am NOT a lawyer.
              Technically, static builds are allowed with LGPL but you have to provide the build artifacts so other people can redo the linking with their own static version of the library. That's the very tricky part.

              Interested in AI ? www.idiap.ch
              Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

              1 Reply Last reply
              1
              • S Offline
                S Offline
                SimonSchroeder
                wrote last edited by
                #7

                Furthermore, for iOS even dynamic linking might not be sufficient to fulfill the LGPL. How is a user of your app supposed to replace Qt on an iPhone? It is totally locked down and the app is signed. It is near impossible to switch out the .dylib files. In this context there might be not much of a difference between static and dynamic linking.

                I haven't used Qt in this context. So, I'm just trying to analyze the situation: You might have to provide the app as separate download on a computer with instructions how to replace the .dylib files inside the app folder, register a develop account, resigning the app, and loading it onto the device.

                SGaistS 1 Reply Last reply
                0
                • S SimonSchroeder

                  Furthermore, for iOS even dynamic linking might not be sufficient to fulfill the LGPL. How is a user of your app supposed to replace Qt on an iPhone? It is totally locked down and the app is signed. It is near impossible to switch out the .dylib files. In this context there might be not much of a difference between static and dynamic linking.

                  I haven't used Qt in this context. So, I'm just trying to analyze the situation: You might have to provide the app as separate download on a computer with instructions how to replace the .dylib files inside the app folder, register a develop account, resigning the app, and loading it onto the device.

                  SGaistS Offline
                  SGaistS Offline
                  SGaist
                  Lifetime Qt Champion
                  wrote last edited by
                  #8

                  @SimonSchroeder AFAIK, you don't need to provide the app itself but the build artifacts so that the user who wants to link its own libraries can do so.

                  Or did you mean provide the .ipa just to swap the libraries themselves ?

                  Interested in AI ? www.idiap.ch
                  Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                  S 1 Reply Last reply
                  1
                  • A aziesemer

                    With Qt 6.10.3 we were able to built Qt as dynamic frameworks instead (which may make it compatible with LGPLv3), and our prototype works: it runs on the arm64 simulator and links for devices.
                    Anyone has been down this road?

                    Nils SjobergN Offline
                    Nils SjobergN Offline
                    Nils Sjoberg
                    wrote last edited by
                    #9

                    @aziesemer said in can we use Qt lgpl in android and ios ?:

                    With Qt 6.10.3 we were able to built Qt as dynamic frameworks instead (which may make it compatible with LGPLv3), and our prototype works: it runs on the arm64 simulator and links for devices.
                    Anyone has been down this road?

                    You replied a bit late... buddy.

                    "What's up, Doc?"

                    1 Reply Last reply
                    0
                    • SGaistS SGaist

                      @SimonSchroeder AFAIK, you don't need to provide the app itself but the build artifacts so that the user who wants to link its own libraries can do so.

                      Or did you mean provide the .ipa just to swap the libraries themselves ?

                      S Offline
                      S Offline
                      SimonSchroeder
                      wrote last edited by
                      #10

                      @SGaist said in can we use Qt lgpl in android and ios ?:

                      Or did you mean provide the .ipa just to swap the libraries themselves ?

                      I'm not sure what those are called. But in the case of dynamic libraries you don't need to provide the build artifacts. However, to be able to replace the libraries on an iPhone or iPad it might be a lot more complicated to switch out libraries than on a desktop computer.

                      1 Reply Last reply
                      0

                      • Login

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • Users
                      • Groups
                      • Search
                      • Get Qt
                      • Unsolved