diff --git a/LICENSE b/LICENSE index be3f7b28..cf1b387f 100644 --- a/LICENSE +++ b/LICENSE @@ -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 diff --git a/README.md b/README.md index 60d9e8df..18da5a31 100644 --- a/README.md +++ b/README.md @@ -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.