Skip to content

Conversation

@skalexch
Copy link
Collaborator

@skalexch skalexch commented Feb 3, 2026

Summary

This proposal allows for describing license information in GTFS feeds.

  1. It adds a field type, SPDX ID, that reference the SPDX identifier for standard licenses.
  2. It adds a file licenses.txt that describes the SPDX license or provides a custom license URL for the whole feed, with the possibility of specifying the license information for specific files in other rows.

Describe the Problem

There has been a lot of conversation in the community regarding license information. It seems like most people agree on adding license information, and the main discussion was around the scope, i.e. can some files have different terms?

Previous conversations about license information, and there were some previously suggested options, mainly:

  • A column in feed_info.txt that can be SPDX or URL if the license is custom.
  • Multiple columns that can be specified by operator (agency_id) and even entity (filename).
  • A column in feed_info.txt + a traditional LICENSE.txt file.

The full conversations can be found in the license proposal issue and a Google Groups thread.

Proposed Solution

The solution entails the addition of a file called licenses.txt, which lists the licenses for the whole feed as well as any specific files that might have a different license (e.g. shapes.txt). The license is specified either as an SPDX ID or as a custom URL.

The producer can choose to either:

  • Create rows that specify the license for a specific file each.
  • Create a row to specify the license for the whole feed, except for the files that were mentioned in other rows.

Type of change

GTFS Schedule

  • Functional Change
  • Non-Functional Change
  • Documentation Maintenance

GTFS Realtime

  • Specification Change
  • Specification Change (Experimental Field)

Proposed Discussion Period

To put more eyes on this proposal, we propose a discussion period of at least two weeks.

Testing Details

  • Consumer(s):
  • Producer(s):
  • Estimated Testing Period:

Proposal Update Tracker

Date Update Description
(2026-02-03) Discussion period opened

Checklist

Examples

Simple feed with one standard license:

license_for_whole_feed license_spdx_id custom_license_url
1 spdx_value

Simple feed with custom license:

license_for_whole_feed license_spdx_id custom_license_url
1 custom_license_url

Feed with a standard license, shapes.txt has a custom license:

license_for_whole_feed licensed_table_name license_spdx_id custom_license_url
1 spdx_value
shapes.txt custom_license_url_for_shapes

In this case,

  • The license for shapes.txt is custom_license_for_shapes
  • The rest of the feed has spdx_value

@google-cla
Copy link

google-cla bot commented Feb 3, 2026

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@skalexch skalexch changed the title Add license information Add license information in the GTFS schedule feed Feb 3, 2026
@etienne0101 etienne0101 added GTFS Schedule Issues and Pull Requests that focus on GTFS Schedule Discussion Period The community engages in conversations to help refine and develop the proposal. Change type: Functional Refers to modifications that significantly affect specification functionalities. labels Feb 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Change type: Functional Refers to modifications that significantly affect specification functionalities. Discussion Period The community engages in conversations to help refine and develop the proposal. GTFS Schedule Issues and Pull Requests that focus on GTFS Schedule

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants