7

We are using Qt(5.3.2 - opensource) for one of our applications that we are going to be distributing (closed-source). We dynamically link to Qt and have made no modifications to Qt.

At Qt's Legal FAQ, they list the necessary obligations for using Qt under the LGPL. We understand and agree with their interpretation of the LGPL for all of their points except the first one,

... You will need to deliver the complete source code of Qt (including all modifications you did or applied) to your users/customers. Alternatively you need to provide a written offer with instructions on how to get the source code. Please also note that this has to be under your control, so a link to the source code provided by the Qt Project or Qt Company is not sufficient...

(my emphasis)

Is this correct by LGPLv3 standards? I need to have my own host of the library's code even when there are no modifications? I cannot just point my license statement to an already hosted location?

Every single application that has ever used Qt, dynamically linked without modifications, has to have a separate storage/distribution of the libraries source code?

If this is truly necessary, Is my assumption that pointing to a clone of their git repository (hosted on Github/Bitbucket/etc...) would be enough to satisfy this requirement?

EDIT 1:

Lets say I do self-host my applications code (open-source for this clarification) and my LGPL dependencies (as said in the FAQ). If someone else wanted to now use my code and redistribute their modifications, they wouldn't know that they needed to self-host the dependencies as it's not written in the license but only on the dependencies websites FAQ which isn't being distributed with their source!

Yes, you might fall victim to an issue of the original source location being removed, but the GPL states that you must make it available upon written request, which you should be able to do if/when the original location no longer hosts it and someone wants it specifically from you.

The title might have Qt in it, but the question is broader. The license doesn't require self-hosting and as a result most (prove me wrong, please!) projects do not self-host.

9
  • There are several good answers already. Why the bounty?
    – vonbrand
    Commented Feb 16, 2016 at 13:06
  • I added the bounty because, at the time, the answers did not answer my questions. Even now, the questions only answer parts of my question. When I can point to multiple examples of projects not self-hosting qt source (KDiff3, sourceforge.net/p/kdiff3/code/ci/master/tree/kdiff3 and openscad, github.com/openscad/openscad as very quick examples...) but obviously are still very popular, I question the answers provided.
    – g19fanatic
    Commented Feb 16, 2016 at 15:34
  • What they do is convenient, and nobody from Qt has complained (as far as we know). That does not make it legal.
    – vonbrand
    Commented Feb 16, 2016 at 16:40
  • Again, answer the questions (with valid references as is customary on stackexchange sites) and I'll be satisfied. In my reason for setting a bounty, I say, "...Pointing to other libraries...would certainly count as a proper reference for an answer..." This is still true. I've included some examples of projects that use LGPLv3 libraries but do not self-host. Can you point to anything that uses large LGPLv3 libraries and self-hosts those libraries when they're only dynamically linked and non-modified?
    – g19fanatic
    Commented Feb 16, 2016 at 17:50
  • To me it sounds like you are shopping for somebody here to tell you it is OK. I believe it is not, as it doesn't really comply with the letter of the license. Again, "others have done it, and didn't get sued" might just be that Qt (for whatever reason) did elect not to enforce their license rigourously in those cases. They might change their mind, or just have it in for you. In case of doubt, you should ask the copyright holder for a binding statement.
    – vonbrand
    Commented Feb 16, 2016 at 17:56

3 Answers 3

4
+50

In this case, you are making what the LGPL calls a "Combined Work". Section 4 of the LGPLv3 says that you may distribute Combined Works if you "convey the Minimal Corresponding Source under the terms of this License... in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source." Thus, distribution of a library as part of a combined work is covered by the source-distribution requirements in section 6 of the GPLv3.

The only section 6 distribution rule that applies to your case is 6(d). (The others deal with code in a physical embedded system, or on a peer-to-peer network.)

d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. [...] If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements.

Whether the license allows you to piggyback on someone else's source repository seem to hinge on the semantics of the verb "offer". If you have absolutely no control over the server where the source is being hosted, but you do dutifully point it out to users of your object code, does that constitute "offer[ing] equivalent access to the Corresponding Source"? Answering this question is probably outside of the scope of the license and would be interpreted by a judge (assuming you're bold enough and rich enough to go to court for the privilege of not hosting your own copy of the source).

The Qt Company has licensed the Qt library to you with the express instructions that their understanding of what constitutes "offering" the source code does not include merely referring to the Qt Company's own network copy of the source. Possibly a court could find that interpretation incorrect, but I am not optimistic.

Additionally, by hosting the source yourself, you eliminate the risk of falling out of compliance if the Qt Company suddenly eliminates its public source offering or changes how it offers the source.

4
  • Just pointing at some random third party site that could be taken down on the drop of a hat, or just change the exact version you build on to the next one, isn't complying with making sure it stays available. At least in my non-lawyer opinion.
    – vonbrand
    Commented Feb 15, 2016 at 18:37
  • 1
    @vonbrand Yeah, I want to add another paragraph about that, but I wasn't sure how valuable it would be without actual legal experience. Do you break compliance with the license whenever the source goes offline, or do you break compliance with the license whenever you are not actively responsible (or some degree or another) for the source's availability? It is indeed not perfectly clear to me.
    – apsillers
    Commented Feb 15, 2016 at 18:44
  • You are probably right, you can't be held legally responsible because of the actions of others, but you are responsible to make sure (as far as you can) that the correct version is accessible. That is probably much easier by having the tarball at hand than anything else.
    – vonbrand
    Commented Feb 15, 2016 at 19:11
  • This answer is the closest one to actually trying to answer my questions. "...Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities..." Specifically says that a third party location is acceptable. Since this is the license that the software is being released in (without specifics added to qualify that it must be a separate server, as added in my edit above), it would seem that you 'should' be in the clear at first blush by pointing to the original libraries location (as most if not all projects currently do)
    – g19fanatic
    Commented Feb 19, 2016 at 15:15
3

Qt is large, long-lived, and at one time was a propietary product that got opened up as open source. I'd take their statements on what the license requires very seriously, they had expert lawyers retained during the opening of the source code.

Even if it was not required legally, it is the courteous thing to do. Your project presumably wouldn't haven gotten off the ground without Qt.

4
  • 1
    Even though having expert lawyers doesn't entirely preclude mistakes or creative adaptations of the license for ones own purpose, the second paragraph is spot on. You should do it because they asked you to.
    – ArtOfCode
    Commented Feb 12, 2016 at 11:46
  • So is it required by the license? Must every project that uses qt comply? Would hosting as suggested be sufficient? Just telling me that qt lawyers say so and thus it should be is in the exact opposite spirit of the license. If they ask me too and it's not required by the license, sure it might be the nice thing to do but if it puts a burden on developers, it won't happen.
    – g19fanatic
    Commented Feb 13, 2016 at 4:30
  • @g19fanatic the license specifies so.
    – vonbrand
    Commented Feb 14, 2016 at 1:44
  • The qt legal faq does which isn't the same as the license. I do not see where the LGPLv3 does. I also do not see every single project that uses LGPL software doing so for their sources (actually most do not and point to the original provider in most cases, strictly talking dynamically linked and non-modified source)
    – g19fanatic
    Commented Feb 14, 2016 at 19:42
2

It is cheap to host source code, and probably you need such repository in future. So do it, instead of discussing it with lawyers.

Note: Apple, Samsung, Sony etc. do so. There is no "shame" on doing so, also for companies living with proprietary code.

2
  • I'm not asking about shame or cost or anything of the sort. Its about responsibility and necessity
    – g19fanatic
    Commented Feb 14, 2016 at 19:42
  • It is a practical answer, and judges will evaluate also practical alternatives you had, to weight the fact the you didn't follow the copyright holder advice. Their interpretation is well definite and it is what it does matter. Note: If you have some copyrighted code in Qt, the way to evaluate the case would be totally different, although the problem in the license is the same. Commented Feb 14, 2016 at 21:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.