SpaceAge Csound and JUCE Licensing Guide
SpaceAge Csound and JUCE Licensing Guide
Status: implementation guidance reviewed 2026-08-27. This document is not legal advice and does not replace the applicable license text or review by qualified counsel.
Current SpaceAge Position
- SpaceAge currently builds against JUCE 8.0.8.
- SpaceAge does not currently embed or distribute Csound.
- Existing Csound references in the repository are research and architectural inspiration, not evidence of a shipped Csound dependency.
- Any future Csound integration requires a fresh dependency, packaging, notice, source-offer, and release-signoff review before implementation is accepted.
Executive Decision
For a closed-source commercial SpaceAge release:
- Use JUCE under an applicable commercial JUCE license rather than AGPLv3.
- If Csound is added, prefer a replaceable shared library:
.dllon Windows,.dylibon macOS, or.soon Linux. - Ship the required Csound copyright notice, LGPL license, source or valid source-access mechanism, and modification/relinking information.
- Do not statically link Csound without a project-specific legal and packaging plan for LGPL relinking obligations.
Dynamic linking is the recommended compliance path, but it is not by itself the entire compliance package.
Csound License
The official Csound repository identifies Csound as LGPL-2.1-or-later. The LGPL permits use with proprietary applications, subject to its conditions.
Recommended Shared-Library Model
A future SpaceAge integration should keep Csound in a distinct runtime library and avoid technical measures that prevent a user from substituting an interface-compatible modified build. The distribution should also:
- identify Csound and its applicable license prominently;
- include a copy of the LGPL;
- preserve Csound copyright and attribution notices;
- provide the corresponding Csound source, or a license-compliant way to obtain the exact source for the distributed binary;
- provide source for any modifications made to the LGPL-covered Csound code;
- permit reverse engineering for debugging user modifications where required;
- document where the shared library is installed and how it may be replaced;
- retain build/version records sufficient to reproduce the distributed library.
Static Linking Is Not Automatically Forbidden
The source guide supplied to the project said static linking would force release of the entire JUCE project's source. That is too broad. LGPL 2.1 can permit a proprietary application to be statically linked, but the distributor normally must provide application object files or another compliant relinking mechanism so recipients can relink the application with a modified Csound library. The complete LGPL conditions still apply.
This is materially more complicated than shipping a replaceable shared library. SpaceAge policy is therefore to avoid static Csound linkage unless counsel and release engineering approve a documented compliance design.
JUCE License
JUCE is dual-licensed under AGPLv3 and the commercial JUCE license. Distribution of closed-source software should use a commercial JUCE path unless the shipping entity has deliberately chosen and can satisfy AGPLv3.
SpaceAge pins JUCE 8.0.8, so the release must be checked against the license and commercial entitlement applicable to that version. JUCE's current public plan page, reviewed 2026-08-27, lists:
| Tier | Current listed price | Revenue or funding limit | Notes |
|---|---|---|---|
| Starter | Free | Up to USD 20,000 | Commercial terms and current branding requirements must be checked before release. |
| Indie | USD 40 per user/month or USD 800 perpetual | Up to USD 300,000 | Current page lists a one-month minimum commitment. |
| Pro | USD 175 per user/month or USD 3,500 perpetual | No listed revenue limit | Current page lists a twelve-month minimum commitment for subscriptions. |
Prices, thresholds, branding rules, and EULA terms can change. This table is a dated planning aid, not proof of entitlement. The shipping entity must retain purchase records and confirm the applicable JUCE agreement at release signoff.
Architecture and Packaging Checklist
Before introducing Csound:
- Record the exact Csound version, commit, license, and download/build source.
- Confirm that every bundled opcode and optional dependency has compatible redistribution terms.
- Use runtime dynamic loading or a normal replaceable shared-library link.
- Keep proprietary SpaceAge code outside the Csound library binary.
- Define behavior when the shared library is missing, incompatible, or replaced.
- Keep library loading, file access, and compilation off the real-time audio thread.
- Add the LGPL text, notices, source materials or offer, and replacement instructions to the release package.
- Add Csound to
THIRD_PARTY_NOTICES.mdand the release dependency inventory. - Run a clean-machine package test, including replacement-library behavior.
- Complete the existing release legal signoff before public distribution.
Sources
- Csound repository and license declaration: https://github.com/csound/csound
- GNU LGPL 2.1 text, especially Sections 5 and 6: https://www.gnu.org/licenses/old-licenses/lgpl-2.1
- GNU license FAQ on static and dynamic LGPL linking: https://www.gnu.org/licenses/gpl-faq.html
- Current JUCE plans and licensing FAQ: https://juce.com/get-juce/
- JUCE legal agreements: https://juce.com/category/legal/
Source Note
This document reformats and corrects the project-supplied
Csound_JUCE_Licensing_Guide.pdf. The PDF's core recommendation - commercial
JUCE licensing plus dynamically linked Csound for a proprietary application - is
retained. Its statement that static linking necessarily forces publication of
the entire application's source has been replaced with the more precise LGPL
relinking analysis above.