I'm writing a library and I want to license it so that if you modify and use it, even at a network service, you will need to disclose the modified source code of the library (as in the AGPL) but it would only apply to the library itself (like the LGPL). Is there any way to do this, preferably retaining compatibility with AGPL?

I am the sole copyright owner.

1 Answer 1


If you're the sole copyright owner, you can write an exception text, to be attached to the AGPLv3, similar to the GPL-3.0 Interface Exception, and it may look like this:

Linking [name of library] statically or dynamically with other modules is making a combined work based on [name of library]. Thus, the terms and conditions of the GNU Affero General Public License, version 3 ("AGPLv3") cover the whole combination.

As a special exception, the copyright holders of [name of library] give you permission to combine [name of library] with independent modules that communicate with [name of library] solely through the [name of library's interface] interface, and exclude the source code of those independent modules from the Corresponding Source of section 13 of the AGPLv3, provided that you do not modify the [name of library's interface] interface and provided that those independent modules are themselves not licensed under the AGPLv3.

Note that people who make modified versions of [name of library] are not obligated to grant this special exception for their modified versions; it is their choice whether to do so. The AGPLv3 gives permission to release a modified version without this exception; this exception also makes it possible to release a modified version which carries forward this exception. If you modify the [name of library's interface] interface, this exception does not apply to your modified version of [name of library], and you must remove this exception when you distribute your modified version.

This exception is an additional permission under section 7 of the AGPLv3.

I am not a lawyer and this is not legal advice.

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.