Is it legal when i download a software under AGPL-3, modify it, put it on a vending machine and place the vending machine in a public place, where everybody can use it, without publishing the modifications i made?

Also, do i have to inform the customers about the AGPL-3 software i use in the vending machine?

I read that i need to provide the source when i run it on a server and let users communicate with it. But does this count as a server? Is it different when i run only the GUI and the ejection controller in the vending machine but do everything else on my server that is connected via a network? Do the customers legally count as users of the software? Does it make a difference if it is the GUI or some background program?


Elegant and interesting question. My read of the AGPL is that you are fine to build your own terminal containing third-party GPL/AGPL software, put it in a public place, and allow the public to interact with it, all without triggering either AGPL or GPL source distribution obligations. I note that you have stipulated that you will retain ownership of the device, and this is important: once ownership passes to another, software has been conveyed.

If, however, your terminal is a device which allows users to interact with third-party software on a remote server via a network, and that software (on the remote server) was received by you under AGPL, at that point it seems to me that you trigger AGPL s13 obligations.

Do the customers legally count as users of the software?

I'm not sure what you're asking. If you mean do customers using your point-of-sale device to interact with remote server software over a network count as "users interacting with [the server software] remotely through a computer network" for the purposes of AGPL s13, then yes, it's pretty clear to me that they do.

| improve this answer | |
  • Thank you for your answer. "... to interact with remote server ..." From the point of view of the customer he only interacts with the vending machine. But my GUI software may communicate with a remote server in somewhat real time, for example to check if a employee RFID-tag is valid. The customers can only use my software to buy stuff. Not sure if this counts as "interact". – 12431234123412341234123 Aug 31 at 9:15

If you sell any device which uses GPL-licensed software, you are required to make the software available in the form the devices uses it. The same principle applies to AGPL software - with the added requirement that the software is also made available when the users interact with the software via a network interface, thus the software works server-side.

As such, if you use GPL or AGPL software on a machine, you are required to make an offer to provide the full sources to the code on that device. It doesn't matter wheter GUI or backend. The simple fact is: you convey the software, thus you are bound by the license:

$4: You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice (...) and give all recipients a copy of this License along with the Program

§5 You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that (...)

§6: You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License: (...)

And if the software is AGPL, you are required to publish it also, if the software runs anywhere, on that device or a remote server and is used for the functionality of the service in any way. And it doesn't matter wheter it's GUI or backend.

Customers who buy the vending machine fall under both GPL and AGPL.

But your question seems about users of the vending machines who just interact with it to purchase something... tricky. I still feel that an offer needs to be made for the AGPL case - the vending machine is in that case the client which interacts with the server - and then the offer has to be made and the user has to be made aware of the fact; it's just an uncommon, custom client, but that does not mean the AGPL license has no effect - it works just the same.

Quote from AGPL license:

  1. Remote Network Interaction; Use with the GNU General Public License.

Notwithstanding any other provision of this License, if you modify the Program, your modified version must prominently offer all users interacting with it remotely through a computer network (...)

| improve this answer | |
  • 3
    I think you misunderstood my question. It is not about selling a vending machine with the software but placing my vending machine, that i made and own, in a public place where customers can use it and if i need to give the source code to this customers. Not the clients that buy vending machines. – 12431234123412341234123 Aug 28 at 16:52
  • "Your customers are legally the users of the software, of course. Who else?" The owner of the vending machine? If it would be GPL i would not be required to make the source code public since i do not distribute or convey the software. – 12431234123412341234123 Aug 28 at 16:53
  • I amended a last paragraph dealing with users who use the vending machine to buy sth – planetmaker Aug 28 at 17:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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