License
The gapline workspace is dual-licensed:
gapline-core— the parsing, validation, and CRUD library — is published under the MIT License. You can embed it in any project, proprietary or open source, with minimal obligations.gapline— the CLI binary — is published under the GNU General Public License v3.0. Redistribution and forks of the CLI stay copyleft.
The rationale is straightforward: the foundation (parsing, rules, integrity) should be freely reusable by anyone building GTFS tooling, while the end-user tool that coordinates those primitives stays copyleft to keep the ecosystem honest.
What each license means for you
Section titled “What each license means for you”gapline-core (MIT)
Section titled “gapline-core (MIT)”- Use in commercial or proprietary projects without restriction.
- No obligation to release your modifications.
- Preserve the copyright notice and the MIT license text in any redistribution.
MIT is about as permissive as licenses get. If you want to build a closed-source GTFS product on top of gapline-core, the license does not stand in your way.
gapline CLI (GPL-3.0)
Section titled “gapline CLI (GPL-3.0)”- Use the binary for any purpose, commercial or otherwise.
- If you distribute a modified version — source or binary — distribute it under the GPL-3.0 and make the source available.
- Running gapline yourself, inside your company or inside a pipeline, is not distribution. Internal changes can stay internal.
- Linking the CLI crate’s code into another program triggers the GPL’s copyleft for that program.
If you are unsure whether a specific use case requires releasing your modifications, check with a lawyer who knows the GPL — the answer often depends on facts the license text does not spell out.
Where to find the license texts
Section titled “Where to find the license texts”Both license texts live in the GitHub repository. The MIT text covers everything under core/; the GPL-3.0 text covers everything under cli/ and the workspace as a whole where the two intersect.
Third-party code
Section titled “Third-party code”gapline depends on Rust crates licensed under MIT, Apache-2.0, and similar permissive licenses. Those licenses are compatible with both halves of the dual-licensing and stay in effect for the code paths they cover. The workspace’s Cargo.lock is the authoritative list of dependencies and their versions; individual licenses are inside each crate’s source.
Contributing
Section titled “Contributing”Opening a pull request against the repository is an implicit agreement that your contribution is offered under the same license as the crate it lands in — MIT for gapline-core, GPL-3.0 for the CLI. If that is not what you intended, say so on the PR and we will work it out before merging.
See also
Section titled “See also”- Contributing — how to build, test, and ship changes.
- GitHub repository — full license texts.