TL;DR
Your App is Safe
Your application code is NOT subject to copyleft. Build freely.
Modifications Must Share
If you modify TrailBase itself, share those changes.
Clients are Permissive
Client libraries use Apache-2.0 (no copyleft).
Commercial Use OK
Use TrailBase in commercial projects freely.
We’re not lawyers and this is not legal advice. If you have concerns, please reach out or consult legal counsel.
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?
OSL-3.0 defines derivative work as only modifications to TrailBase itself.Not considered derivative:
- 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
Deploy TrailBase for your applications (commercial or non-commercial)
Build Applications
Create apps connecting to TrailBase APIs
Serve Assets
Use TrailBase to serve your frontend code
WASM Components
Write custom server-side logic in WASM
Internal Use
Use within your organization
Client Libraries
Use client libraries in any project (Apache-2.0)
📝 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
If you’re improving TrailBase, we encourage you to contribute upstream! See contributing.
Common Scenarios
Building a SaaS Application
Building a SaaS Application
Scenario: You’re building a SaaS product that uses TrailBase as its backend.Answer: ✅ Freely allowed!
- 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
Scenario: You write custom WASM components for server-side logic.Answer: ✅ Your WASM code is not affected!
- 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
Scenario: You need to modify TrailBase’s Rust code to add a feature.Answer: 📝 Must share modifications
- 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
Scenario: You want to embed TrailBase in your commercial product.Answer: ✅ Allowed!
- 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
Scenario: You want to create a public fork of TrailBase.Answer: 📝 Fork must be OSL-3.0
- 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
Scenario: You’re using TrailBase client libraries in your app.Answer: ✅ Completely free!
- 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?
The CLA:✅ You retain copyright: Contributions remain yours✅ Forever open source: Ensures OSI-approved copyleft license✅ Flexibility: Allows some sub-licensing (like Grafana/Element)✅ Legal clarity: Protects contributors and usersWe’re still refining the exact licensing model for compatibility between OSL-3.0 and more popular licenses. The CLA provides flexibility while guaranteeing open source forever.
What You're Agreeing To
What You're Agreeing To
By signing the CLA, you agree:
- 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
If you distribute unmodified TrailBase:
- Link to the official GitHub repository
- Or include the source code
- Include the LICENSE file
- Preserve copyright notices
Modified TrailBase
Modified TrailBase
If you distribute modifications:
- 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
Read the complete license
OSL-3.0 Explained
Author’s explanation of OSL-3.0
Apache-2.0
Client library license
GitHub License
LICENSE file in repository
Frequently Asked Questions
Can I use TrailBase commercially?
Can I use TrailBase commercially?
✅ Yes! Commercial use is explicitly allowed. Your commercial application using TrailBase is not affected by copyleft.
Do I need to open source my application?
Do I need to open source my application?
❌ No! Your application code is not a derivative work. Only modifications to TrailBase itself are subject to copyleft.
Can I sell a product that includes TrailBase?
Can I sell a product that includes TrailBase?
✅ Yes! You can distribute TrailBase with your product. Just include the license and provide source code (or link to it).
What if I make a small change to TrailBase?
What if I make a small change to TrailBase?
📝 All modifications must be shared, regardless of size. Consider contributing it upstream!
Are WASM components considered modifications?
Are WASM components considered modifications?
❌ No! WASM components are not derivative works. Your WASM code is not affected by OSL-3.0.
Can I use a different license for my WASM components?
Can I use a different license for my WASM components?
✅ Yes! WASM components are your code and can use any license you choose.
What about the client libraries?
What about the client libraries?
Client libraries use Apache-2.0 (permissive, no copyleft). Use them in any project without restrictions.
Do I need permission to use TrailBase?
Do I need permission to use TrailBase?
❌ No permission needed! The license grants you all necessary rights.
Can I remove copyright notices?
Can I remove copyright notices?
❌ No. You must preserve copyright and attribution notices.
What if I'm still unsure?
What if I'm still unsure?
Reach out! We’re happy to clarify. Email with questions or concerns.
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
Questions?
Contact us if you have licensing questions or need clarification