docs: add AGPL extension exception for third-party plugins (#6)
* docs: add AGPL extension exception for third-party plugins Extensions that interact solely through the documented Extension API (Extension interface, ExtensionContext, event bus) are not considered derivative works and may be licensed under any terms, including proprietary. Core modifications remain fully AGPL-3.0. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * docs: address review — explicit route path, precise irrevocability, revert security email - Name the catch-all route file explicitly in the extension exception - Clarify that irrevocability binds the copyright holder, not downstream redistributors (per AGPL section 7 removal rights) - Revert SECURITY.md to role-based security@arcim.io alias Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,3 +1,55 @@
|
||||
gnubok - Swedish bookkeeping software
|
||||
Copyright (C) 2025-2026 Jakob Wennberg
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
EXTENSION EXCEPTION
|
||||
|
||||
Additional Permission under GNU AGPL version 3 section 7
|
||||
|
||||
As a special exception, the copyright holder of gnubok gives you
|
||||
permission to create extensions ("plugins") that interact with gnubok
|
||||
solely through the documented Extension API — defined in
|
||||
lib/extensions/types.ts (the Extension interface, ExtensionContext,
|
||||
and related types), lib/events/types.ts (the event bus), and the
|
||||
extension catch-all API route (app/api/extensions/ext/[...path]/route.ts)
|
||||
— without those extensions being
|
||||
considered derivative works of gnubok under the terms of this License.
|
||||
|
||||
This means you may license your extensions under any terms you choose,
|
||||
including proprietary licenses, provided that:
|
||||
|
||||
1. Your extension interacts with gnubok only through the documented
|
||||
Extension API and does not modify gnubok's own source code.
|
||||
|
||||
2. Your extension is clearly separable from gnubok (e.g., in its own
|
||||
directory under extensions/, with its own manifest.json).
|
||||
|
||||
3. You do not copy substantial portions of gnubok's source code into
|
||||
your extension.
|
||||
|
||||
If you modify gnubok itself — including its core libraries, database
|
||||
migrations, API routes, or UI components — the modified version remains
|
||||
subject to the full terms of the GNU Affero General Public License.
|
||||
|
||||
The copyright holder will not revoke this exception in any future
|
||||
release of gnubok. Note that under AGPL version 3 section 7, any party
|
||||
who redistributes gnubok may remove additional permissions from their
|
||||
copy; however, the original grant from the copyright holder remains
|
||||
in effect for copies obtained directly or indirectly from this source.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
GNU AFFERO GENERAL PUBLIC LICENSE
|
||||
Version 3, 19 November 2007
|
||||
|
||||
|
||||
@@ -65,4 +65,4 @@ All commits require a [DCO sign-off](DCO) (`git commit -s`).
|
||||
|
||||
## License
|
||||
|
||||
[AGPL-3.0-or-later](LICENSE). See [NOTICE](NOTICE) for third-party attributions.
|
||||
[AGPL-3.0-or-later](LICENSE) with an **extension exception**: third-party extensions that interact solely through the documented Extension API may be licensed under any terms, including proprietary. See [LICENSE](LICENSE) for details and [NOTICE](NOTICE) for third-party attributions.
|
||||
|
||||
Reference in New Issue
Block a user