7 ms·
What does this practically mean? One can still write a closed source application and link to Qt right?
by JupiterMoon 11y ago
What does this practically mean? One can still write a closed source application and link to Qt right?
- baldfat 11y agoYes Dual License means Open Source and Commercial License. > At the same time, this allows us to open up the parts of Qt for application development that have previously only been available under commercial terms to the Free Software community, unifying the product.
- r24y 11y agoYeah. The two differences seem to be that end-users are guaranteed to be able to use their own version of Qt (because Qt is LGPL and the user should be able to modify it) and that now there's more protection against patent claims. Somebody correct me if I'm wrong or missed something. EDIT: oh, and I forgot the GPLv2 -> v3 bit, but that doesn't affect your use case.
- bryanlarsen 11y agoThis might make it more difficult to ship on locked down platforms like iOS -- LGPLv3 means that the end user must be able to install new versions of QT into your closed source app.
- carussell 11y agoLGPL version 2.1 is no different. There's no change here in that regard. Locked down platforms are inherently incompatible with the LGPL, whether it's version 2.1 or version 3.
- joosters 11y agoIs that really true? As I understand it, anyone can build and put an app on their phone using Xcode, without needing any permissions from Apple. So if an app on the store is LGPL'd, the publisher can make the source available and I can build it and place it on my own phone.
- carussell 11y ago(It's not the main point behind your question, but even if you're sideloading through Xcode, you need an Apple ID. AFAIK, jailbreaking remains the only option to install an app without getting Apple's permission.) In response to your question: Yes. But, again, the same was true of LGPL version 2.1.
- joosters 11y agoAh, I didn't know that. I had heard that Apple had relaxed their restrictions a little, but have not tried it myself yet. When you speak of an Apple ID, do you mean a free one, or the $99 publish-to-the-appstore type? The difference doesn't matter to the LGPL question, of course... There's some good discussion about LGPL and app stores at https://lwn.net/Articles/526355/ https://lwn.net/Articles/526355/ - the comments give a good explanation about why you could get away with a LGPL app, even though there's no free way to re-link the program. Now, if you could use Xcode to install an app on your own phone, without any other account or gatekeeper, then presumably (I guess), GPL'd apps could also be allowed on the store?
- carussell 11y ago> When you speak of an Apple ID, do you mean a free one, or the $99 publish-to-the-appstore type? I don't know. Is that something you're interested in? Why not look into it? > Now, if you could use Xcode to install an app on your own phone, without any other account or gatekeeper, then presumably (I guess), GPL'd apps could also be allowed on the store? Again, the problems with the App Store are specific to the terms, conditions, and restrictions that Apple chooses for it. Whether or not you can side load your own apps using Xcode doesn't change that. Problematic App Store terms are still problematic. "Yes, you can build an app under <license> for your own device in Xcode" does not automatically mean, "Yes, you can distribute apps with <license> on the App Store."
- rdsnsca 11y agoYou only need a free Apple ID.
- 11y ago
- tzs 11y agoWith regard to distribution on the app store for iOS, neither GPLv3 nor LGPLv3 change anything compared to GPLv2 or LGPLv2. It is a very common misconception that GPLv3 and LGPLv3 would require that code covered by them on the app store include the necessary signing keys or whatever else is needed to make a modified app work with Apple's DRM so it could be installed. People think this because GPLv3 includes an "anti-Tivoization" section meant to stop people from doing what Tivo does, which is ship a locked down device full of GPL code that you cannot replace even though they give you the source code. Here is the relevant part from GPLv3 section 6 (which is incorporated into LGPLv3 by reference from LGPLv3 section 4(e)): If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. "Installation Information" is defined thusly: “Installation Information” for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. For the requirement to provide "Installation Information" to apply, there are two conditions that must be met. First, the code has to be conveyed in, with, or for use in a "User Product". The term "User Product" is defined a couple paragraphs earlier: A “User Product” is either (1) a “consumer product”, which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, “normally used” refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. iOS devices, and Macs for that matter, are clearly "User Products", and so no problem here. Software sold through either the iOS or the OS X app store is being sold for use in a "User Product". The second condition is that the software conveyance occurs "as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized)". When you go to the app store and buy and download some random app for your iPhone (the "User Product") that conveyance is NOT part of a transaction where the right of possession and use of the "User Product" (your iPhone) was transferred, and so the anti-Tivoization provision does not apply. If Apple were to use GPLv3 or LGPLv3 software in the iOS software, or in any of the bundled apps they ship with the phone, then the anti-Tivoization provision would apply to them, and they would have to give you the "Installation Information". In short, the (L)GPLv3 anti-Tivoization provisions are narrowly written to only apply to Tivo-like situations: hardware vendors shipping locked down GPL code with their hardware. There is a problem with distributing GPL (any version) or LGPL (any version) on the app store, but it has nothing to do with DRM or ensuring that users have the technical ability to install modified versions. The problem is with the app store TOS, which users must agree to in order to be allowed to use the app store. The TOS prohibits sharing and reverse engineering. These terms are incompatible with GPL. If the app store was just a marketplace that allowed sellers and buyers to match up and exchange payment, and the actual software download came from the developer's servers this might be OK, since Apple would not actually be involved in the copying and distribution of the software so nothing they do would matter from a GPL standpoint. Unfortunately, that's not how the app store works. The developer uploads one copy of the app, and then it is Apple that makes and distributes a copy every time someone downloads. That means that Apple has to be in compliance with the license in order to legally distribute the software. The developer who uploaded the software has almost certainly given Apple an implicit license to do this, regardless of what the license the developer purports to distribute under says. It's been a long time since I've read the Apple developer agreement, but I'd expect there is also something explicit in there that you give such a license to Apple. So, as long as all the GPL code is owned by that developer, then the developer is really distributing on the app store with GPL + an exception to allow Apple to distribute. If the developer incorporates any GPL code from others, though, then unless those others have also granted Apple a GPL exception it will not be legal for Apple to distribute that app.