3

Let's say there is a hardware appliance which a company would like to rent out to customers for use e.g. during trade fairs. The appliance is fed image data, analyses it and displays the results on-screen. Some GPL-licensed libraries are being used, without any modifications to them, to do image transforms etc. (think VIPS or lightgallery, not the actual libraries we are using). The source code of the software running on the appliance cannot be accessed, copied or viewed by the customers. There are no pre-compiled binaries which might contain any of the libraries' code, as only interpreted languages are used.

Given that the appliance is not sold, the GPL-licensed libraries are not compiled as part of the product and are not modified, it is not possible for anyone who is not company-internal to access the software source-code nor any binaries, does this constitute distribution in terms of the GPL?

Would a list of used GPL-licensed libraries contained in the appliance need to be contained in the software or manual?

Are there any other considerations to take into account before offering such a product to be rented out by potential customers?

Edit: We are talking about LGPL and GPL-2.0.

0

3 Answers 3

2

First, if I were you, I would not take the chance of getting the definition of distribution wrong and possibly violating the license, when it is actually quite easy to follow.

These two answers from the GNU FAQ should be of interest to you:

I downloaded just the binary from the net. If I distribute copies, do I have to get the source and distribute that too? (#UnchangedJustBinary)

Yes. The general rule is, if you distribute binaries, you must distribute the complete corresponding source code too. The exception for the case where you received a written offer for source code is quite limited.

I want to distribute binaries via physical media without accompanying sources. Can I provide source code by FTP? (#DistributeWithSourceOnInternet)

Version 3 of the GPL allows this; see option 6(b) for the full details. Under version 2, you're certainly free to offer source via FTP, and most users will get it from there. However, if any of them would rather get the source on physical media by mail, you are required to provide that.

So what this all means is this: you can distribute the appliance without accompanying source; you should have a notice which explains that the appliance contains this and that software from this and that author, under GPL/LGPL, with a copy of the license; additionally, this notice could contain a link to the original source (and to most users it will be sufficient) but the notice must also contain a written offer to get the source on physical media (possibly, for a fee covering the costs of burning the DVD and shipping it). It won't cost you anything to add this offer and it won't probably be used. If it were used it still wouldn't cost you anything because you could charge the user for that. Just to be on the safe side, download and save the source of the software you distribute in case they were subsequently withdrawn from the internet (which I must admit is completely unlikely).

2
  • 1
    Thank you for this, this is essentially what I was trying to get at with probably not the right questions. I might have misunderstood how python libraries are distributed, I assumed that they were plain source files and therefore might not fall in the binaries category. This is a good answer, thank you!
    – Riley
    Oct 20, 2016 at 9:12
  • Right I missed that you were specifically asking about interpreted languages. Still, the source cannot be viewed by the user because they have no access to it. So it does not count as a source, which is defined as the preferred means of making modifications to the software.
    – Zimm i48
    Oct 20, 2016 at 9:16
1

I don't think you need to dive deep into any legal quagmires to find an answer. Consider this: The company is making money by renting out a device. The device contains GPL licensed libraries. The device wouldn't function for this purpose without the libraries. The GPL doesn't allow any special exception for a time limited distribution, such as a rental. The company is making a binary distribution of GPL licensed software to its customers and needs to follow the license requirements for that situation. How the device is then used by the customers is not relevant.

5
  • All very true, for the LGPL. But I believe "Some GPL-licensed libraries are being used", would refer to GPL, rather than LGPL. Oct 17, 2016 at 10:39
  • 1
    @Tersosauros: LGPL or GPL, it does not matter much in this case. LGPL is GPL + a special exception which has nothing to do with the situation described.
    – Zimm i48
    Oct 18, 2016 at 9:04
  • @Mans: Thank you for your comment. Does this actually resemble binary distribution? Neither the user nor the customer use any binaries, the libraries are on the hard-drive in the same format as they are available to download from their respective project websites. If there is any doubt, we see no issue with giving credit, distributing the list of libraries used, pointing to the sources etc. We just would like to know as much as possible about how to comply with the license whilst avoiding unnecessary efforts.
    – Riley
    Oct 19, 2016 at 16:27
  • @Riley: The libraries are loaded in some executable format on the device that you hand to your customers, right? Oct 19, 2016 at 17:59
  • I assumed that python libraries were available as plain source on the system on which they are installed and interpreted upon calling it. This assumption seems to be wrong, as e.g. pip would compile them on installation and therefore I get your point about distribution now. Thanks!
    – Riley
    Oct 20, 2016 at 9:17
-2

Interesting situation, I will admit. Certainly anything LGPL'd would be fine to run on your appliance.

Looking at the GPLv3 (which removed the term distribute, in favor of Propagate and Convey), it states:

To “propagate” a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. [emphasis added]

So, if you stick to your "libraries being used, without any modifications to them", then you are NOT propagating them.

 

To “convey” a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. [again, emphasis added]

Now, I'm sure you could get a shill lawyer and argue the HDMI interface between your appliance and the tradeshow flatscreen constitutes a network, or a myriad of other legal trickery. But I doubt you'd need to, as there's a lovely section (section 6 is his name) which grants you the right to convey "non-source forms":

Specifically, section 6 a states: (that you may...)

a) 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.

--

So, just include a CD/DVD, etc with the appliance rental contract, it only needs to have the source code of the GPL libraries on it, nothing else.

--

Usual disclaimer, I am not a lawyer, this is not legal advice, pay a real lawyer if you really care, yada yada

1
  • 1
    Hi Tersosaurus, thanks for your answer. As we do indeed use an LGPL library-sorry about not mentioning it earlier- and a GPLv2 licensed library, while not GPLv3, this gave me a better understanding of how to read the GPLv2. I had not thought of checking GPLv3 to try to understand some of the concepts behind e.g. distribution better.
    – Riley
    Oct 19, 2016 at 16:30

Your Answer

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

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