Skip to content

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.

  • 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.

  • 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.

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.

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.

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.