TL;DR
Your App is Safe
Modifications Must Share
Clients are Permissive
Commercial Use OK
License Overview
Server: OSL-3.0
The TrailBase server is licensed under the Open Software License 3.0 (OSL-3.0), an OSI-approved copyleft license. What this means: ✅ Freely use TrailBase for any purpose (personal, commercial, etc.) ✅ Modify TrailBase and use your modifications ✅ Deploy TrailBase on your infrastructure ✅ Your application code is NOT affected by copyleft ❌ Modifications to TrailBase must be shared under OSL-3.0Clients: Apache-2.0
All TrailBase client libraries are dual-licensed under the permissive Apache-2.0 license. Client libraries:- JavaScript/TypeScript
- Dart/Flutter
- Rust
- C#/.NET
- Swift
- Kotlin
- Go
- Python
Why OSL-3.0?
TrailBase uses OSL-3.0 instead of more common copyleft licenses (like GPL or AGPL) due to its narrower definition of “derivative work”.What is a Derivative Work?
What is a Derivative Work?
- Your application connecting to TrailBase over the network
- Static assets served by TrailBase
- WASM components running in TrailBase’s runtime
- Using TrailBase as a framework or library
Comparison with Other Licenses
Comparison with Other Licenses
| License | Your App Affected? | Network Use Triggers Copyleft? |
|---|---|---|
| OSL-3.0 | ❌ No | ✅ Yes (for TrailBase modifications) |
| GPL-3.0 | ⚠️ Maybe (if linked) | ❌ No |
| AGPL-3.0 | ⚠️ Maybe (if linked) | ✅ Yes |
| MIT/Apache-2.0 | ❌ No | ❌ No (permissive) |
- Strong copyleft for TrailBase itself (like AGPL)
- Freedom for applications using it (like LGPL)
- Network use transparency (like AGPL)
Goals of OSL-3.0 for TrailBase
- Your freedom: Build on and around TrailBase without restrictions
- Community benefits: Improvements to TrailBase are shared back
- Horizontal mobility: Reduce lock-in through open source
- Sustainability: Allow some flexibility for project sustainability
What You Can Do
✅ Allowed Without Restrictions
Use in Production
Build Applications
Serve Assets
WASM Components
Internal Use
Client Libraries
📝 Requires Sharing (Copyleft)
If you modify TrailBase itself, you must:- Make source available: Provide source code to users
- Use OSL-3.0: License modifications under OSL-3.0
- Preserve notices: Keep copyright and attribution notices
- Document changes: Note your modifications
- Changing TrailBase’s Rust code
- Modifying the admin UI
- Altering API behavior
- Custom builds with different features
- Configuration changes
- SQL migrations
- WASM components
- Your application code
- Using TrailBase as-is
Common Scenarios
Building a SaaS Application
Building a SaaS Application
- Your application code is not affected
- No need to open source your app
- Commercial use is permitted
- If you modify TrailBase itself, share those modifications
Using WASM Components
Using WASM Components
- WASM components are not derivative works
- Keep your components private if desired
- Commercial use is fine
- Client libraries use Apache-2.0 (permissive)
Modifying TrailBase Core
Modifying TrailBase Core
- Your modifications to TrailBase must be OSL-3.0
- Provide source to users of your modified version
- Your application using it is still safe
- Consider contributing upstream!
Embedding in a Product
Embedding in a Product
- Include TrailBase as-is in your product
- Commercial distribution is fine
- Include OSL-3.0 license text
- Provide TrailBase source code (or link to GitHub)
- Your product code remains private
Creating a Fork
Creating a Fork
- Your fork must use OSL-3.0
- Make source available
- Cannot claim to be “official” TrailBase
- Consider contributing to upstream instead
Using Client Libraries
Using Client Libraries
- Client libraries are Apache-2.0
- Use in any project (open or closed)
- No copyleft requirements
- Commercial use is fine
Contributor License Agreement
Contributors to TrailBase are asked to sign a simple CLA:Why a CLA?
Why a CLA?
What You're Agreeing To
What You're Agreeing To
- You have the right to contribute the code
- Your contribution can be licensed under OSL-3.0
- You retain your copyright
- TrailBase can sub-license with restrictions (remains copyleft)
- The project will remain open source
Source Code Availability
OSL-3.0 requires source code availability:Unmodified TrailBase
Unmodified TrailBase
- Link to the official GitHub repository
- Or include the source code
- Include the LICENSE file
- Preserve copyright notices
Modified TrailBase
Modified TrailBase
- Provide your modified source code
- License under OSL-3.0
- Document your changes
- Make it reasonably accessible
- Include the LICENSE file
License Exceptions
If the OSL-3.0 license doesn’t work for your use case, exceptions may be available. When you might need an exception:- You need to modify TrailBase but cannot share changes
- Your legal team has specific license requirements
- Special commercial arrangements
Additional Resources
OSL-3.0 Full Text
OSL-3.0 Explained
Apache-2.0
GitHub License
Frequently Asked Questions
Can I use TrailBase commercially?
Can I use TrailBase commercially?
Do I need to open source my application?
Do I need to open source my application?
Can I sell a product that includes TrailBase?
Can I sell a product that includes TrailBase?
What if I make a small change to TrailBase?
What if I make a small change to TrailBase?
Are WASM components considered modifications?
Are WASM components considered modifications?
Can I use a different license for my WASM components?
Can I use a different license for my WASM components?
What about the client libraries?
What about the client libraries?
Do I need permission to use TrailBase?
Do I need permission to use TrailBase?
Can I remove copyright notices?
Can I remove copyright notices?
What if I'm still unsure?
What if I'm still unsure?
Summary
TrailBase’s licensing is designed to be fair and clear:- Use freely: Build applications without restrictions
- Share improvements: Modifications to TrailBase are shared with the community
- Permissive clients: Client libraries have no copyleft
- Commercial friendly: Use in commercial projects
- Open forever: TrailBase will always be open source