2

we are using an opensource web application for front end UI of our software which is AGPLv3 based. The software also has middleware and back end data base as well The modified software will be sold commercially as a whole package.

Question : Should we expose the modified front end source code only to our customers/users or to anyone ? if so how ? should we include source code along with binary distribution or put it on github or somewhere to download ? Should we expose the middleware and back end also ? or only front end derivative of the work ?

thanks Manju

2 Answers 2

2

You have to make the offer for the actual source code used, clearly and available at no additional charge to all users of your software (you are not required to make it generally available, but if it is a public server, everyone visiting it, needs to get the offer, thus the offer has to be identically public, made on the place users interact with your software):

§6 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. You need not require recipients to copy the Corresponding Source along with the object code. 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 this requirement only affects the front-end or whether it also encompasses the middleware and the backend, or any combination thereof is hard to tell in this generality; the answer depends on whether these parts form one programme (then AGPL applies) or stand on their own and only interact via standard APIs (then individual licensing applies).

1
  • the software will be used by users in their own companies for their internal purpose, we dont have a general saas model where all customers login into one server. in case of cloud also we will host single tenant per customer not all customers will login to same server, the software ships as a whole package frontend+middleware+backend
    – Manju
    Commented Jul 15, 2022 at 15:23
0

What you are doing, in terms of the license, is:

  1. You are modifying the software. Then you must comply with section 13 of the AGPL.
  2. You are "conveying" the modified version. Then you must comply with section 5 and/or the following section (6) depending on whether you're "conveying" source or binaries.

Let's start with sections 5 and 6. Basically, these sections say that, for each person or organization who receives the modified software from you, you have to do all of the following:

  • License the software to them under the terms of the AGPL, and tell the recipient that you have done so.
  • Provide source code, either because you're only conveying source code in the first place, or in addition to binaries/object code.
  • Tell the recipient that you modified it, and provide a copy of the original copyright notice as well as any similar legal notices that were present in the original.
  • If the original has a UI, and the UI can display a notice telling the user about the copyright status of the software, you must not remove or disable access to that UI element. You may modify or rearrange the UI, but the element must still be accessible somewhere, unless you have completely removed the UI altogether (e.g. because you turned a complete program into a library).
  • If the software is intended for use in a particular piece of consumer hardware, and sold together with that hardware as a single transaction, then you must provide the recipient with the practical ability to run modified versions of the software on the hardware, unless the hardware is designed in such a way that nobody could possibly run modified software on that hardware (e.g. because it's physically burned into ROM).
  • You can't charge an additional fee for any of the above as separate add-ons, but you may charge a base fee for the entire transaction as a whole. In practice, this is rarely commercially feasible because your clients can immediately turn around and give your software away for free, but if you can find a way to make it work, the license allows you to charge such a fee, as long as you don't charge extra for exercising the rights listed above.

These conditions are more or less the same as those of the regular GPL. Note that the above is a simplification of the actual legal requirements. You should read the license for a full understanding of exactly what these terms mean, or consult a copyright attorney.

Importantly, none of these requirements apply to anyone other than you and the recipient. If some third party wants access to the source code, for example, that's their problem (but see below!).

Now, let's move on to section 13, which has no GPL equivalent. Section 13 is short enough that we can quote the relevant paragraph in its entirety:

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 (if your version supports such interaction) an opportunity to receive the Corresponding Source of your version by providing access to the Corresponding Source from a network server at no charge, through some standard or customary means of facilitating copying of software. This Corresponding Source shall include the Corresponding Source for any work covered by version 3 of the GNU General Public License that is incorporated pursuant to the following paragraph.

In English, this is saying that, if your software has the ability to be remotely used over a network (e.g. a web application, a server, etc.), then your modified version of the software must make it practically possible for the client (the person at the other end of the network) to receive a copy of the modified source code, for free.

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.