From 7f7e5098869e6d2bf87b312463959ea9fbbff80e Mon Sep 17 00:00:00 2001 From: Frederic Simard Date: Mon, 27 Jul 2026 12:55:26 -0400 Subject: [PATCH 1/3] chore: Split website from specs Remove CITATION, LICENSE, and LICENSE-APACHE-2.0 files. Restructure README to document the website and site building process rather than the specification itself. Update license to CC-BY-3.0. --- CITATION | 13 --- LICENSE | 14 ---- LICENSE-APACHE-2.0 | 195 --------------------------------------------- README.md | 24 +++--- 4 files changed, 11 insertions(+), 235 deletions(-) delete mode 100644 CITATION delete mode 100644 LICENSE delete mode 100644 LICENSE-APACHE-2.0 diff --git a/CITATION b/CITATION deleted file mode 100644 index 6398a274..00000000 --- a/CITATION +++ /dev/null @@ -1,13 +0,0 @@ -# Citation for Operational Data Standard - -## APA - -Operational Data Standard Working Group. (2022). Transit Operational Data Standard. Operational Data Standard Board of Directors. Retrieved from https://ods.calitp.org - -## MLA - -Operational Data Standard Working Group. Transit Operational Data Standard. Operational Data Standard Board of Directors, 2022, https://ods.calitp.org. - -## Chicago - -Operational Data Standard Working Group. 2022. Transit Operational Data Standard. Operational Data Standard Board of Directors. https://ods.calitp.org. diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 06f8ffbf..00000000 --- a/LICENSE +++ /dev/null @@ -1,14 +0,0 @@ -The contents of this repository are Copyright 2024 by ODS Board of Directors and licensed as follows: - -[Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) - -All code, its parameters and tests including the contents of: - -- `mkdocs.yml` - -[CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/) - -All documentation, sample data, and the ODS Specification itself including the contents of: - -- `/docs` -- `*README.md` diff --git a/LICENSE-APACHE-2.0 b/LICENSE-APACHE-2.0 deleted file mode 100644 index f5f4b8b5..00000000 --- a/LICENSE-APACHE-2.0 +++ /dev/null @@ -1,195 +0,0 @@ -Apache License -============== - -_Version 2.0, January 2004_ -_<>_ - -### Terms and Conditions for use, reproduction, and distribution - -#### 1. Definitions - -“License” shall mean the terms and conditions for use, reproduction, and -distribution as defined by Sections 1 through 9 of this document. - -“Licensor” shall mean the copyright owner or entity authorized by the copyright -owner that is granting the License. - -“Legal Entity” shall mean the union of the acting entity and all other entities -that control, are controlled by, or are under common control with that entity. -For the purposes of this definition, “control” means **(i)** the power, direct or -indirect, to cause the direction or management of such entity, whether by -contract or otherwise, or **(ii)** ownership of fifty percent (50%) or more of the -outstanding shares, or **(iii)** beneficial ownership of such entity. - -“You” (or “Your”) shall mean an individual or Legal Entity exercising -permissions granted by this License. - -“Source” form shall mean the preferred form for making modifications, including -but not limited to software source code, documentation source, and configuration -files. - -“Object” form shall mean any form resulting from mechanical transformation or -translation of a Source form, including but not limited to compiled object code, -generated documentation, and conversions to other media types. - -“Work” shall mean the work of authorship, whether in Source or Object form, made -available under the License, as indicated by a copyright notice that is included -in or attached to the work (an example is provided in the Appendix below). - -“Derivative Works” shall mean any work, whether in Source or Object form, that -is based on (or derived from) the Work and for which the editorial revisions, -annotations, elaborations, or other modifications represent, as a whole, an -original work of authorship. For the purposes of this License, Derivative Works -shall not include works that remain separable from, or merely link (or bind by -name) to the interfaces of, the Work and Derivative Works thereof. - -“Contribution” shall mean any work of authorship, including the original version -of the Work and any modifications or additions to that Work or Derivative Works -thereof, that is intentionally submitted to Licensor for inclusion in the Work -by the copyright owner or by an individual or Legal Entity authorized to submit -on behalf of the copyright owner. For the purposes of this definition, -“submitted” means any form of electronic, verbal, or written communication sent -to the Licensor or its representatives, including but not limited to -communication on electronic mailing lists, source code control systems, and -issue tracking systems that are managed by, or on behalf of, the Licensor for -the purpose of discussing and improving the Work, but excluding communication -that is conspicuously marked or otherwise designated in writing by the copyright -owner as “Not a Contribution.” - -“Contributor” shall mean Licensor and any individual or Legal Entity on behalf -of whom a Contribution has been received by Licensor and subsequently -incorporated within the Work. - -#### 2. Grant of Copyright License - -Subject to the terms and conditions of this License, each Contributor hereby -grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, -irrevocable copyright license to reproduce, prepare Derivative Works of, -publicly display, publicly perform, sublicense, and distribute the Work and such -Derivative Works in Source or Object form. - -#### 3. Grant of Patent License - -Subject to the terms and conditions of this License, each Contributor hereby -grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, -irrevocable (except as stated in this section) patent license to make, have -made, use, offer to sell, sell, import, and otherwise transfer the Work, where -such license applies only to those patent claims licensable by such Contributor -that are necessarily infringed by their Contribution(s) alone or by combination -of their Contribution(s) with the Work to which such Contribution(s) was -submitted. If You institute patent litigation against any entity (including a -cross-claim or counterclaim in a lawsuit) alleging that the Work or a -Contribution incorporated within the Work constitutes direct or contributory -patent infringement, then any patent licenses granted to You under this License -for that Work shall terminate as of the date such litigation is filed. - -#### 4. Redistribution - -You may reproduce and distribute copies of the Work or Derivative Works thereof -in any medium, with or without modifications, and in Source or Object form, -provided that You meet the following conditions: - -* **(a)** You must give any other recipients of the Work or Derivative Works a copy of -this License; and -* **(b)** You must cause any modified files to carry prominent notices stating that You -changed the files; and -* **(c)** You must retain, in the Source form of any Derivative Works that You distribute, -all copyright, patent, trademark, and attribution notices from the Source form -of the Work, excluding those notices that do not pertain to any part of the -Derivative Works; and -* **(d)** If the Work includes a “NOTICE” text file as part of its distribution, then any -Derivative Works that You distribute must include a readable copy of the -attribution notices contained within such NOTICE file, excluding those notices -that do not pertain to any part of the Derivative Works, in at least one of the -following places: within a NOTICE text file distributed as part of the -Derivative Works; within the Source form or documentation, if provided along -with the Derivative Works; or, within a display generated by the Derivative -Works, if and wherever such third-party notices normally appear. The contents of -the NOTICE file are for informational purposes only and do not modify the -License. You may add Your own attribution notices within Derivative Works that -You distribute, alongside or as an addendum to the NOTICE text from the Work, -provided that such additional attribution notices cannot be construed as -modifying the License. - -You may add Your own copyright statement to Your modifications and may provide -additional or different license terms and conditions for use, reproduction, or -distribution of Your modifications, or for any such Derivative Works as a whole, -provided Your use, reproduction, and distribution of the Work otherwise complies -with the conditions stated in this License. - -#### 5. Submission of Contributions - -Unless You explicitly state otherwise, any Contribution intentionally submitted -for inclusion in the Work by You to the Licensor shall be under the terms and -conditions of this License, without any additional terms or conditions. -Notwithstanding the above, nothing herein shall supersede or modify the terms of -any separate license agreement you may have executed with Licensor regarding -such Contributions. - -#### 6. Trademarks - -This License does not grant permission to use the trade names, trademarks, -service marks, or product names of the Licensor, except as required for -reasonable and customary use in describing the origin of the Work and -reproducing the content of the NOTICE file. - -#### 7. Disclaimer of Warranty - -Unless required by applicable law or agreed to in writing, Licensor provides the -Work (and each Contributor provides its Contributions) on an “AS IS” BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, -including, without limitation, any warranties or conditions of TITLE, -NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are -solely responsible for determining the appropriateness of using or -redistributing the Work and assume any risks associated with Your exercise of -permissions under this License. - -#### 8. Limitation of Liability - -In no event and under no legal theory, whether in tort (including negligence), -contract, or otherwise, unless required by applicable law (such as deliberate -and grossly negligent acts) or agreed to in writing, shall any Contributor be -liable to You for damages, including any direct, indirect, special, incidental, -or consequential damages of any character arising as a result of this License or -out of the use or inability to use the Work (including but not limited to -damages for loss of goodwill, work stoppage, computer failure or malfunction, or -any and all other commercial damages or losses), even if such Contributor has -been advised of the possibility of such damages. - -#### 9. Accepting Warranty or Additional Liability - -While redistributing the Work or Derivative Works thereof, You may choose to -offer, and charge a fee for, acceptance of support, warranty, indemnity, or -other liability obligations and/or rights consistent with this License. However, -in accepting such obligations, You may act only on Your own behalf and on Your -sole responsibility, not on behalf of any other Contributor, and only if You -agree to indemnify, defend, and hold each Contributor harmless for any liability -incurred by, or claims asserted against, such Contributor by reason of your -accepting any such warranty or additional liability. - -_END OF TERMS AND CONDITIONS_ - -### APPENDIX: How to apply the Apache License to your work - -To apply the Apache License to your work, attach the following boilerplate -notice, with the fields enclosed by brackets `[]` replaced with your own -identifying information. (Don't include the brackets!) The text should be -enclosed in the appropriate comment syntax for the file format. We also -recommend that a file or class name and description of purpose be included on -the same “printed page” as the copyright notice for easier identification within -third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - diff --git a/README.md b/README.md index 4ca6720e..d9fb9c1d 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,14 @@ -# Transit Operational Data Standard +# tods-transit.org -The Transit Operational Data Standard (TODS) is an open standard for describing how to operate scheduled transit operations which can be used to port scheduled operations between software products (e.g. scheduling systems and CAD/AVL systems), agencies, and more. TODS leverages the existing [General Transit Feed Specification](https://gtfs.org) (GTFS) and extends it to include information about personnel and non-revenue service. +Source code for [gbfs.org](https://tods-transit.org/). -Complete documentation published at: +This site was built using [MkDocs](https://www.mkdocs.org/), a static site generator, and [Material for MkDocs](https://squidfunk.github.io/mkdocs-material/), a technical documentation theme for MkDocs. -## License to Use - -The TODS Specification is licensed under the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) (code) and [Creative Commons Attribution 4.0](https://creativecommons.org/licenses/by/4.0/) (sample data, specification, and documentation) as defined in file. - -## Citation - -If you use the Transit Operational Data Standard in a report or article, please cite it as follows: +## Editing site -> Transit Operational Data Standard Working Group. 2022. Transit Operational Data Standard. Transit Operational Data Standard Board of Directors. https://tods.mobilitydata.org. +To edit the General Bikeshare Feed Specification reference, go to the [MobilityData/gbfs](https://github.com/MobilityData/TODS/) repository. -Additional citation styles can be found in [CITATION](CITATION). +To propose a feature, content addition, or UI/UX improvement, open an [issue](https://github.com/MobilityData/tods-transit.org/issues/new) or [pull request](https://github.com/MobilityData/tods-transit.org/pulls) on this repository. ## Building the site locally @@ -37,4 +31,8 @@ Additional citation styles can be found in [CITATION](CITATION). 1. To build the site locally only (command defined in `MakeFile`): - `make build` 1. Deactivate the Python virtual environment when done: - - `deactivate` \ No newline at end of file + - `deactivate` + +## License to Use + +Except as otherwise noted, the content of this site is licensed under the [Creative Commons Attribution 3.0 License](https://creativecommons.org/licenses/by/3.0/). \ No newline at end of file From bda0fc4eb319a62b1b71bb971a488b1b71c93841 Mon Sep 17 00:00:00 2001 From: Frederic Simard Date: Wed, 29 Jul 2026 14:32:09 -0400 Subject: [PATCH 2/3] Split specs and website --- CITATION | 13 + LICENSE | 14 + LICENSE-APACHE-2.0 | 195 +++++++++ Makefile | 23 -- README.md | 39 +- config/en/mkdocs.yml | 137 ------- docs/en/about/about.md | 16 - docs/en/about/attribution.md | 13 - docs/en/about/contributors.md | 63 --- docs/en/about/spec-development.md | 68 ---- docs/en/governance/actions.md | 24 -- .../MOU_ODS_and_Mobility_Data_signed.pdf | Bin 209706 -> 0 bytes docs/en/governance/board-meetings.md | 29 -- docs/en/governance/contributor-meetings.md | 29 -- docs/en/governance/governance.md | 180 -------- docs/en/governance/policies/CLA.md | 13 - .../governance/policies/board-composition.md | 17 - .../policies/board-decisionmaking.md | 26 -- .../policies/change-management-versioning.md | 205 ---------- .../en/governance/policies/code-of-conduct.md | 86 ---- .../repository-organization-access.md | 47 --- docs/en/index.md | 99 ----- ...eolis)_[P26-20294]_The_Journey_of_TODS.pdf | Bin 1013198 -> 0 bytes docs/en/resources/faq.md | 45 -- docs/en/resources/implementation-guide.md | 3 - docs/en/resources/resources.md | 13 - docs/en/resources/upcoming-engagements.md | 17 - docs/en/spec/examples.md | 384 ------------------ .../examples/different-runs-same-trips.png | Bin 131556 -> 0 bytes .../spec/examples/mid-trip-relief-diagram.png | Bin 97911 -> 0 bytes docs/en/spec/examples/single-run-diagram.png | Bin 131677 -> 0 bytes docs/en/spec/index.md | 209 ---------- docs/en/spec/revision-history.md | 24 -- mlc_config.json | 9 - ...eolis)_[P26-20294]_The_Journey_of_TODS.jpg | Bin 63888 -> 0 bytes .../MOU_ODS_and_Mobility_Data_signed.jpg | Bin 103721 -> 0 bytes overrides/assets/images/favicon.ico | Bin 318 -> 0 bytes overrides/assets/images/icon-pdf.png | Bin 45567 -> 0 bytes .../assets/images/ods-small-eggshell.png | Bin 20250 -> 0 bytes overrides/assets/javascript/fix-md-search.js | 28 -- overrides/assets/stylesheets/additional.css | 96 ----- requirements.txt | 7 - 42 files changed, 231 insertions(+), 1940 deletions(-) create mode 100644 CITATION create mode 100644 LICENSE create mode 100644 LICENSE-APACHE-2.0 delete mode 100644 Makefile delete mode 100644 config/en/mkdocs.yml delete mode 100644 docs/en/about/about.md delete mode 100644 docs/en/about/attribution.md delete mode 100644 docs/en/about/contributors.md delete mode 100644 docs/en/about/spec-development.md delete mode 100644 docs/en/governance/actions.md delete mode 100644 docs/en/governance/assets/MOU_ODS_and_Mobility_Data_signed.pdf delete mode 100644 docs/en/governance/board-meetings.md delete mode 100644 docs/en/governance/contributor-meetings.md delete mode 100644 docs/en/governance/governance.md delete mode 100644 docs/en/governance/policies/CLA.md delete mode 100644 docs/en/governance/policies/board-composition.md delete mode 100644 docs/en/governance/policies/board-decisionmaking.md delete mode 100644 docs/en/governance/policies/change-management-versioning.md delete mode 100644 docs/en/governance/policies/code-of-conduct.md delete mode 100644 docs/en/governance/policies/repository-organization-access.md delete mode 100644 docs/en/index.md delete mode 100644 docs/en/resources/assets/2026-01-12_KesslerJeff_(Keolis)_[P26-20294]_The_Journey_of_TODS.pdf delete mode 100644 docs/en/resources/faq.md delete mode 100644 docs/en/resources/implementation-guide.md delete mode 100644 docs/en/resources/resources.md delete mode 100644 docs/en/resources/upcoming-engagements.md delete mode 100644 docs/en/spec/examples.md delete mode 100644 docs/en/spec/examples/different-runs-same-trips.png delete mode 100644 docs/en/spec/examples/mid-trip-relief-diagram.png delete mode 100644 docs/en/spec/examples/single-run-diagram.png delete mode 100644 docs/en/spec/index.md delete mode 100644 docs/en/spec/revision-history.md delete mode 100644 mlc_config.json delete mode 100644 overrides/assets/images/2026-01-12_KesslerJeff_(Keolis)_[P26-20294]_The_Journey_of_TODS.jpg delete mode 100644 overrides/assets/images/MOU_ODS_and_Mobility_Data_signed.jpg delete mode 100644 overrides/assets/images/favicon.ico delete mode 100644 overrides/assets/images/icon-pdf.png delete mode 100644 overrides/assets/images/ods-small-eggshell.png delete mode 100644 overrides/assets/javascript/fix-md-search.js delete mode 100644 overrides/assets/stylesheets/additional.css delete mode 100644 requirements.txt diff --git a/CITATION b/CITATION new file mode 100644 index 00000000..3816403c --- /dev/null +++ b/CITATION @@ -0,0 +1,13 @@ +# Citation for Operational Data Standard + +## APA + +Operational Data Standard Working Group. (2022). Transit Operational Data Standard. Operational Data Standard Board of Directors. Retrieved from https://tods-transit.org. + +## MLA + +Operational Data Standard Working Group. Transit Operational Data Standard. Operational Data Standard Board of Directors, 2022, https://tods-transit.org. + +## Chicago + +Operational Data Standard Working Group. 2022. Transit Operational Data Standard. Operational Data Standard Board of Directors. https://tods-transit.org. diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..06f8ffbf --- /dev/null +++ b/LICENSE @@ -0,0 +1,14 @@ +The contents of this repository are Copyright 2024 by ODS Board of Directors and licensed as follows: + +[Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) + +All code, its parameters and tests including the contents of: + +- `mkdocs.yml` + +[CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/) + +All documentation, sample data, and the ODS Specification itself including the contents of: + +- `/docs` +- `*README.md` diff --git a/LICENSE-APACHE-2.0 b/LICENSE-APACHE-2.0 new file mode 100644 index 00000000..f5f4b8b5 --- /dev/null +++ b/LICENSE-APACHE-2.0 @@ -0,0 +1,195 @@ +Apache License +============== + +_Version 2.0, January 2004_ +_<>_ + +### Terms and Conditions for use, reproduction, and distribution + +#### 1. Definitions + +“License” shall mean the terms and conditions for use, reproduction, and +distribution as defined by Sections 1 through 9 of this document. + +“Licensor” shall mean the copyright owner or entity authorized by the copyright +owner that is granting the License. + +“Legal Entity” shall mean the union of the acting entity and all other entities +that control, are controlled by, or are under common control with that entity. +For the purposes of this definition, “control” means **(i)** the power, direct or +indirect, to cause the direction or management of such entity, whether by +contract or otherwise, or **(ii)** ownership of fifty percent (50%) or more of the +outstanding shares, or **(iii)** beneficial ownership of such entity. + +“You” (or “Your”) shall mean an individual or Legal Entity exercising +permissions granted by this License. + +“Source” form shall mean the preferred form for making modifications, including +but not limited to software source code, documentation source, and configuration +files. + +“Object” form shall mean any form resulting from mechanical transformation or +translation of a Source form, including but not limited to compiled object code, +generated documentation, and conversions to other media types. + +“Work” shall mean the work of authorship, whether in Source or Object form, made +available under the License, as indicated by a copyright notice that is included +in or attached to the work (an example is provided in the Appendix below). + +“Derivative Works” shall mean any work, whether in Source or Object form, that +is based on (or derived from) the Work and for which the editorial revisions, +annotations, elaborations, or other modifications represent, as a whole, an +original work of authorship. For the purposes of this License, Derivative Works +shall not include works that remain separable from, or merely link (or bind by +name) to the interfaces of, the Work and Derivative Works thereof. + +“Contribution” shall mean any work of authorship, including the original version +of the Work and any modifications or additions to that Work or Derivative Works +thereof, that is intentionally submitted to Licensor for inclusion in the Work +by the copyright owner or by an individual or Legal Entity authorized to submit +on behalf of the copyright owner. For the purposes of this definition, +“submitted” means any form of electronic, verbal, or written communication sent +to the Licensor or its representatives, including but not limited to +communication on electronic mailing lists, source code control systems, and +issue tracking systems that are managed by, or on behalf of, the Licensor for +the purpose of discussing and improving the Work, but excluding communication +that is conspicuously marked or otherwise designated in writing by the copyright +owner as “Not a Contribution.” + +“Contributor” shall mean Licensor and any individual or Legal Entity on behalf +of whom a Contribution has been received by Licensor and subsequently +incorporated within the Work. + +#### 2. Grant of Copyright License + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable copyright license to reproduce, prepare Derivative Works of, +publicly display, publicly perform, sublicense, and distribute the Work and such +Derivative Works in Source or Object form. + +#### 3. Grant of Patent License + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable (except as stated in this section) patent license to make, have +made, use, offer to sell, sell, import, and otherwise transfer the Work, where +such license applies only to those patent claims licensable by such Contributor +that are necessarily infringed by their Contribution(s) alone or by combination +of their Contribution(s) with the Work to which such Contribution(s) was +submitted. If You institute patent litigation against any entity (including a +cross-claim or counterclaim in a lawsuit) alleging that the Work or a +Contribution incorporated within the Work constitutes direct or contributory +patent infringement, then any patent licenses granted to You under this License +for that Work shall terminate as of the date such litigation is filed. + +#### 4. Redistribution + +You may reproduce and distribute copies of the Work or Derivative Works thereof +in any medium, with or without modifications, and in Source or Object form, +provided that You meet the following conditions: + +* **(a)** You must give any other recipients of the Work or Derivative Works a copy of +this License; and +* **(b)** You must cause any modified files to carry prominent notices stating that You +changed the files; and +* **(c)** You must retain, in the Source form of any Derivative Works that You distribute, +all copyright, patent, trademark, and attribution notices from the Source form +of the Work, excluding those notices that do not pertain to any part of the +Derivative Works; and +* **(d)** If the Work includes a “NOTICE” text file as part of its distribution, then any +Derivative Works that You distribute must include a readable copy of the +attribution notices contained within such NOTICE file, excluding those notices +that do not pertain to any part of the Derivative Works, in at least one of the +following places: within a NOTICE text file distributed as part of the +Derivative Works; within the Source form or documentation, if provided along +with the Derivative Works; or, within a display generated by the Derivative +Works, if and wherever such third-party notices normally appear. The contents of +the NOTICE file are for informational purposes only and do not modify the +License. You may add Your own attribution notices within Derivative Works that +You distribute, alongside or as an addendum to the NOTICE text from the Work, +provided that such additional attribution notices cannot be construed as +modifying the License. + +You may add Your own copyright statement to Your modifications and may provide +additional or different license terms and conditions for use, reproduction, or +distribution of Your modifications, or for any such Derivative Works as a whole, +provided Your use, reproduction, and distribution of the Work otherwise complies +with the conditions stated in this License. + +#### 5. Submission of Contributions + +Unless You explicitly state otherwise, any Contribution intentionally submitted +for inclusion in the Work by You to the Licensor shall be under the terms and +conditions of this License, without any additional terms or conditions. +Notwithstanding the above, nothing herein shall supersede or modify the terms of +any separate license agreement you may have executed with Licensor regarding +such Contributions. + +#### 6. Trademarks + +This License does not grant permission to use the trade names, trademarks, +service marks, or product names of the Licensor, except as required for +reasonable and customary use in describing the origin of the Work and +reproducing the content of the NOTICE file. + +#### 7. Disclaimer of Warranty + +Unless required by applicable law or agreed to in writing, Licensor provides the +Work (and each Contributor provides its Contributions) on an “AS IS” BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, +including, without limitation, any warranties or conditions of TITLE, +NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are +solely responsible for determining the appropriateness of using or +redistributing the Work and assume any risks associated with Your exercise of +permissions under this License. + +#### 8. Limitation of Liability + +In no event and under no legal theory, whether in tort (including negligence), +contract, or otherwise, unless required by applicable law (such as deliberate +and grossly negligent acts) or agreed to in writing, shall any Contributor be +liable to You for damages, including any direct, indirect, special, incidental, +or consequential damages of any character arising as a result of this License or +out of the use or inability to use the Work (including but not limited to +damages for loss of goodwill, work stoppage, computer failure or malfunction, or +any and all other commercial damages or losses), even if such Contributor has +been advised of the possibility of such damages. + +#### 9. Accepting Warranty or Additional Liability + +While redistributing the Work or Derivative Works thereof, You may choose to +offer, and charge a fee for, acceptance of support, warranty, indemnity, or +other liability obligations and/or rights consistent with this License. However, +in accepting such obligations, You may act only on Your own behalf and on Your +sole responsibility, not on behalf of any other Contributor, and only if You +agree to indemnify, defend, and hold each Contributor harmless for any liability +incurred by, or claims asserted against, such Contributor by reason of your +accepting any such warranty or additional liability. + +_END OF TERMS AND CONDITIONS_ + +### APPENDIX: How to apply the Apache License to your work + +To apply the Apache License to your work, attach the following boilerplate +notice, with the fields enclosed by brackets `[]` replaced with your own +identifying information. (Don't include the brackets!) The text should be +enclosed in the appropriate comment syntax for the file format. We also +recommend that a file or class name and description of purpose be included on +the same “printed page” as the copyright notice for easier identification within +third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + diff --git a/Makefile b/Makefile deleted file mode 100644 index 58c28809..00000000 --- a/Makefile +++ /dev/null @@ -1,23 +0,0 @@ -PHONY: help - -help: ## This help. - @awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z0-9_-]+:.*?## / {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST) - -clean: - rm -rf generated/ - -setup: - pip3 install --force-reinstall -r requirements.txt && \ - pip3 install --upgrade --force-reinstall mkdocs-material - -serve: clean - @echo "Starting MkDocs server..." - @trap 'echo "Stopping MkDocs server..."; pkill -f "mkdocs serve"' SIGINT SIGTERM; \ - mkdocs serve -f config/en/mkdocs.yml --dev-addr 127.0.0.1:8000 --livereload --watch overrides - -build: clean - mkdir -p generated # Ensure the folder exists - mkdocs build -f config/en/mkdocs.yml --clean - -killserve: - pkill -f "mkdocs serve" diff --git a/README.md b/README.md index d9fb9c1d..5204ca6a 100644 --- a/README.md +++ b/README.md @@ -1,38 +1,17 @@ -# tods-transit.org +# Transit Operational Data Standard -Source code for [gbfs.org](https://tods-transit.org/). +The Transit Operational Data Standard (TODS) is an open standard for describing how to operate scheduled transit operations which can be used to port scheduled operations between software products (e.g. scheduling systems and CAD/AVL systems), agencies, and more. TODS leverages the existing [General Transit Feed Specification](https://gtfs.org) (GTFS) and extends it to include information about personnel and non-revenue service. -This site was built using [MkDocs](https://www.mkdocs.org/), a static site generator, and [Material for MkDocs](https://squidfunk.github.io/mkdocs-material/), a technical documentation theme for MkDocs. +Complete documentation published at: [tods-transit.org](https://tods-transit.org) -## Editing site - -To edit the General Bikeshare Feed Specification reference, go to the [MobilityData/gbfs](https://github.com/MobilityData/TODS/) repository. +## License to Use -To propose a feature, content addition, or UI/UX improvement, open an [issue](https://github.com/MobilityData/tods-transit.org/issues/new) or [pull request](https://github.com/MobilityData/tods-transit.org/pulls) on this repository. +The TODS Specification is licensed under the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) (code) and [Creative Commons Attribution 4.0](https://creativecommons.org/licenses/by/4.0/) (sample data, specification, and documentation) as defined in file. -## Building the site locally +## Citation -1. In Terminal, change the directory to one where you wish to build the site. -1. Ensure you have an up-to-date version of pip: - - Linux: `pip install pip` or `pip install --upgrade pip` - - macOS: `pip3 install pip` or `pip3 install --upgrade pip` -1. Clone this repository: - - `git clone https://github.com/MobilityData/operational-data-standard` -1. Change the directory to the cloned repository, and create & enable a Python virtual environment: - - `python3 -m venv venv` - - `source venv/bin/activate` -1. Have [`requirements.txt`](requirements.txt) installed: - - Linux: `pip install --force-reinstall -r requirements.txt` - - macOS: `pip3 install --force-reinstall -r requirements.txt` -1. To run the site locally (command defined in `MakeFile`): - - `make serve` - - Then you can reach the site at this address: `http://127.0.0.1:8000/` - - To shut down MKdocs from serving the site: `make killserve` -1. To build the site locally only (command defined in `MakeFile`): - - `make build` -1. Deactivate the Python virtual environment when done: - - `deactivate` +If you use the Transit Operational Data Standard in a report or article, please cite it as follows: -## License to Use +> Transit Operational Data Standard Working Group. 2022. Transit Operational Data Standard. Transit Operational Data Standard Board of Directors. [tods-transit.org](https://tods-transit.org) -Except as otherwise noted, the content of this site is licensed under the [Creative Commons Attribution 3.0 License](https://creativecommons.org/licenses/by/3.0/). \ No newline at end of file +Additional citation styles can be found in [CITATION](CITATION). diff --git a/config/en/mkdocs.yml b/config/en/mkdocs.yml deleted file mode 100644 index eb396654..00000000 --- a/config/en/mkdocs.yml +++ /dev/null @@ -1,137 +0,0 @@ -site_name: "Transit Operational Data Standard" -site_url: https://tods.mobilitydata.org/ -repo_url: https://github.com/MobilityData/operational-data-standard -repo_name: TODS Specification -docs_dir: ../../docs/en # Where to find the English markdown files -site_dir: ../../generated/ # Where to put the English HTML files - -theme: - name: material - language: en - custom_dir: ../../overrides/ - features: - - navigation.expand - - navigation.tabs - - toc.integrate - palette: - primary: custom - accent: custom - text: custom - background: custom - highlight: custom - logo: assets/images/ods-small-eggshell.png - favicon: assets/images/favicon.ico - -plugins: - - search: - lang: - - en - - awesome-pages - -extra: - analytics: - provider: google - property: G-HKC18043J5 - consent: - title: Cookie Consent - description: >- - We use cookies to track visits, stored anonymously. With your consent, you're helping us to make our documentation better. See our Privacy Policy. - actions: - - accept - - reject - - manage - social: - - icon: fontawesome/brands/github - link: https://github.com/MobilityData - - icon: fontawesome/brands/linkedin - link: https://www.linkedin.com/company/mobilitydata - - icon: fontawesome/brands/slack - link: https://share.mobilitydata.org/slack - # alternate: - # - name: English - # link: / - # lang: en - -extra_javascript: - - https://unpkg.com/mermaid@8.5.0/dist/mermaid.min.js - - assets/javascript/fix-md-search.js - -extra_css: - - https://use.fontawesome.com/releases/v5.13.0/css/all.css - - assets/stylesheets/additional.css - -markdown_extensions: - - admonition - - codehilite: - linenums: true - - pymdownx.inlinehilite - - pymdownx.tasklist: - custom_checkbox: true - - pymdownx.tabbed - - pymdownx.superfences: - custom_fences: - - name: mermaid - class: mermaid - format: !!python/name:pymdownx.superfences.fence_div_format - - pymdownx.smartsymbols - - pymdownx.caret - - pymdownx.mark - - pymdownx.tilde - - meta - - toc: - # insert a blank space before the character - permalink: " ¶" - - smarty - - pymdownx.emoji: - emoji_index: !!python/name:material.extensions.emoji.twemoji - emoji_generator: !!python/name:material.extensions.emoji.to_svg - -nav: - - Home: index.md - - About: - - about/about.md - - Initial Specification Development Process: about/spec-development.md - - Contributors: about/contributors.md - - Attribution: about/attribution.md - - Specification: - - spec/index.md - - Revision History: spec/revision-history.md - - Examples: spec/examples.md - - Governance: - - governance/governance.md - - Board Actions: governance/actions.md - - Board Meetings: governance/board-meetings.md - - Contributor Meetings: governance/contributor-meetings.md - - Policies: - - Change Management: governance/policies/change-management-versioning.md - - Board Composition: governance/policies/board-composition.md - - Board Decision Making: governance/policies/board-decisionmaking.md - - Code of Conduct: governance/policies/code-of-conduct.md - - Contributor License Agreement: governance/policies/CLA.md - - Repository Access: governance/policies/repository-organization-access.md - - Resources: - - Handouts + Presentations: resources/resources.md - - Frequently Asked Questions: resources/faq.md - - Implementation Guide: resources/implementation-guide.md - - Upcoming Engagements: resources/upcoming-engagements.md - -copyright: | -
-
-
-

- TODS Project - by TODS Board of Directors is licensed under - - CC BY 4.0 - Creative Commons - Attribution - -

-
-
-
diff --git a/docs/en/about/about.md b/docs/en/about/about.md deleted file mode 100644 index d23ae74b..00000000 --- a/docs/en/about/about.md +++ /dev/null @@ -1,16 +0,0 @@ -# About TODS - -The Transit Operational Data Standard ("TODS") is managed by [MobilityData](https://mobilitydata.org) serving as the [TODS Manager](../governance/governance.md#tods-manager) under the authority of the [TODS Board](../governance/governance.md#tods-board-of-directors) with basic monetary support through 2025 from the [California Integrated Travel Project (Cal-ITP)](https://cal-itp.org). - -TODS was [initially developed](spec-development.md) in 2021-2022 by the [TODS Working Group](contributors.md) (now known as *contributors*) using resources from the [California Integrated Travel Project (Cal-ITP)](https://cal-itp.org) in order to: - -1. Create a common standard for transit operational data -2. Improve efficiency in dispatching, planning, scheduling, driver shift management, and other back-end transit operations -3. Reduce the burden of generating data for reporting (FTA and other) - -As of 2024: - -* TODS v1.0 is leveraged by several software vendors and transit agencies, -* TODS v2.0 has been adopted and is ready for implementation, -* [Independent governance and ownership](../governance/governance.md) has been established in order to meet the [Mobility Data Interoperability Principles'](https://interoperablemobility.org) definition of an **Open Standard**. -* TODS is specified as a suggested requirement for Scheduling and CAD/AVL systems in the Mobility Data Interoperability Principles' [Procurement Resource](https://interoperablemobility.org/procurement) diff --git a/docs/en/about/attribution.md b/docs/en/about/attribution.md deleted file mode 100644 index b79c1ed2..00000000 --- a/docs/en/about/attribution.md +++ /dev/null @@ -1,13 +0,0 @@ -# Attribution - -The project was initiated by the [California Integrated Travel Project](https://calitp.org), a project of the California Department of Transportation. - -The project has been resourced by the [California Integrated Travel Project](https://calitp.org) and the [TODS Working Group](../resources/faq.md#what-is-the-tods-working-group). - -The Transit Operational Data Standard (TODS) project is the property of the TODS Board. As of January 2024, the TODS Project is managed by [MobilityData](https://mobilitydata.org) under the authority of the TODS Board. - -## Citation - -If you use the Transit Operational Data Standard in a report or article, please cite it as follows: - -> Transit Operational Data Standard Working Group. 2022. Transit Operational Data Standard. Transit Operational Data Standard Board of Directors. https://ods.calitp.org. diff --git a/docs/en/about/contributors.md b/docs/en/about/contributors.md deleted file mode 100644 index f536a7a1..00000000 --- a/docs/en/about/contributors.md +++ /dev/null @@ -1,63 +0,0 @@ -# Contributors - -The Transit Operational Data Standard Contributors Group (formerly known as the TODS Working Group) is convened by [TODS Board](../governance/governance.md#tods-board-of-directors) as part of its goal to provide complete, accurate, and up-to-date transit data to customers and respective agencies. - -Contributors are expected to commit to supporting the adopted TODS v1 specification. Depending on the organization,supporting the TODS v1 specification may entail developing software to produce or consume the specification, or, for transit agencies, encouraging vendors to support the specification. - -## Membership - -### Transit Agencies - -[AC Transit, CA](https://www.actransit.org/) -[Clovis Transit, CA](https://cityofclovis.com/general-services/transit/) -[Community Transit, WA](https://www.communitytransit.org/) -[Foothill Transit, CA](http://foothilltransit.org/) -[Golden Empire Transit, CA](https://www.getbus.org/) -[Kings Area Rural Transit (KART), CA](https://www.kartbus.org/) -[Los Angeles DOT, CA](https://www.ladottransit.com/dash/) -[Marin Transit, CA](https://marintransit.org/) -[Massachussets Bay Transit Authority (MBTA), MA](http://mbta.com) :material-check-circle-outline: -[Metrolink, CA](https://metrolinktrains.com/) -[Metro Transit, MN](https://www.metrotransit.org) -[Nevada County Connects, CA](https://www.mynevadacounty.com/2257/Transit-Services) -[OmniTrans, CA](https://omnitrans.org/) -[Pasadena Transit, CA](https://www.cityofpasadena.net/pasadena-transit/) -[SamTrans, CA](https://www.samtrans.com/) -[Sound Transit, WA](https://www.soundtransit.org/) -[Stanislaus Regional Transit Authority, CA](https://www.srt.org/) -[TriMet, OR](https://trimet.org/) - -### Companies - -[Avail](https://availtec.com/) -[Clever Devices](https://www.cleverdevices.com/) -[Connexionz](https://www.connexionz.com/) -[Cubic](https://www.cubic.com/) -[Dilax](https://www.dilax.com/) -[Engie](https://www.engie.com/en) -[Giro](https://www.giro.com/) :material-check-circle: (on-request) -[GMV Syncromatics](https://gmvsyncromatics.com/) -[Init](https://www.initse.com/enus/start/) -[Keolis](https://www.keolisna.com/) -[MV Transit](https://www.mvtransit.com/) -[Optibus](https://www.optibus.com/) :material-check-circle: -[Passio](https://passiotech.com/) -[Remix by Via](https://www.remix.com/) :material-check-circle: -[Routematch / Uber](https://www.routematch.com/) -[Swiftly](https://www.goswift.ly/) :material-check-circle: -[The Master Scheduler](https://themasterscheduler.com/) :material-check-circle: -[Trapeze](https://www.trapezegroup.com/) -[Trillium Solutions](https://trilliumtransit.com/) - -### Other - -[Amalgamated Transit Union](https://www.atu.org/) -[California Association for Community Transportation (CALACT)](http://calact.org) -[California Integrated Travel Project (Cal-ITP)](http://calitp.org) -[Metropolitan Transportation Commission/511.org](http://mtc.ca.gov) - -!!! Note "Implementers" - - :material-check-circle: denotes an organization who has implemented TODS - - :material-check-circle-outline: denotes an organization in the process of implementing TODS diff --git a/docs/en/about/spec-development.md b/docs/en/about/spec-development.md deleted file mode 100644 index e98ddc91..00000000 --- a/docs/en/about/spec-development.md +++ /dev/null @@ -1,68 +0,0 @@ -# History + Initial Specification Development Process - -The California Integrated Travel Project (Cal-ITP) developed the TODS initiative in response to feedback from local transit providers and vendors. As Cal-ITP has as its core a mission to improve the quality of mobility data and increase the efficiency of transportation service delivery in the state of California, Cal-ITP conducted research and conversations with an eye toward identifying existing pain points. Many tranit agencies identified the lack of a standard format between scheduling and CAD/AVL software as a major source of friction. - -## Establishing Feasibility + Need - -In 2020, Cal-ITP studied the feasibility and documented the product requirements of a data standard that would reduce the friction between scheduling and operating transit service. The friction between these two activities was particuarlly acute during the height of the COVID Pandemic when transit agency schedules were in a constant state of change due to labor availability and safety precautions. - -### Landscape Analysis - -We analyzed the current landscape of systems and connections involved in transit operations. The primary focus was on the various interfaces and touchpoints between the Scheduling and CAD/AVL systems. The landscape analysis concluded that a data standard that connected scheduling and CAD-AVL systems was both feasible and not duplicative of any existing standardization efforts. - -:material-chevron-right: [Data Flow Diagrams](https://docs.google.com/document/d/1nNnVgmk29ExZU7_bkoawkpvP_gtn3DSR9eV8BugUY14/edit?usp=sharing) - -:material-chevron-right: [Field Mapping](https://docs.google.com/spreadsheets/d/1P7jLcp9BDx2Q-FVVR0fdc_eH5cEVxXjA1tdpID_uoTM/edit?usp=sharing) - -### Document Product Requirements - -The Product Requirements Document synthesized the landscape analysis into a realistic set of use cases with associated data model requirements. - -:material-chevron-right: [Product Requirement Document](https://docs.google.com/document/d/1KFLoMAj-XmNrn0MbCVB_IwlK2bILvuVImkjxXrZ9AXk/edit?usp=sharing) - -### Consulted organizations - -The following organizations were consulted as a part of the feasibility analysis: - -- LADOT -- Santa Barbara MTD -- Santa Rosa: -- Marin Transit -- Golden Empire Transit (GET Bus) -- Chicago Transit Authority -- Massachusetts Bay Transportation Authority -- IBI Group -- GMV Synchromatics -- Optibus -- Clever Devices -- Swiftly -- The Master Scheduler -- Trillium - -## Initial Development - -In 2021, Cal-ITP convened the [TODS Working Group](../resources/faq.md#what-is-the-tods-working-group), composed of stakeholders throughout the mobility industry, for the purpose of developing and adopting a first version of a Transit Operational Data Standard (TODS). These stakeholders included transit schedule firms, CAD/AVL firms, public transit providers, private transit providers, local governments and metropolitan planning organizations (MPOs), labor unions, and manufacturers of integrated on-vehicle hardware solutions (such as Automated Passenger Counting devices or LED signage). - -Meetings began in Summer of 2021 and continued through the end of 2021, at which point a framework for v1.0.0 had been reached. After spending several months resolving minor issues with the framework, the TODS Working Group approved v1.0.0 on May 3rd, 2022. -For a full list of past meetings and videos, go to the [Contributor Meetings page](../governance/contributor-meetings.md). - -## Implementation v1.0 - -2022 and 2023 saw the first implementations of TODS at agencies and vendors alike in the wild, including the first implementation by [WETA](https://weta.sanfranciscobayferry.com/) and [Swiftly](https://www.goswift.ly/). - -## Continued Improvement - -Implementation activities yielded a great deal of excitement about the TODS standard, but also a long wish-list for v2.0. v2.0 is [currently in the works.](https://github.com/cal-itp/operational-data-standard/issues/49). - -## Evolution of Management - -Recognizing that a State DOT is not the ideal place to manage a data standard, in 2023 Cal-ITP looked outside its walls to identify: - -1. an organization to assume day-to-day management of TODS; and -2. a governance and management model which would rest key decisions with the major TODS stakeholders. - -In January 2024: - -- the day-to-day management of the TODS standard will be assumed by [MobilityData](https://mobilitydata.org), the same organization that manages [GTFS](https://gtfs.org) (upon which TODS relies); and -- the ownership and key decisions about TODS will be transfered from Cal-ITP to an [independent board](../governance/governance.md#tods-board-of-directors) composed of transit agencies, and both schedule and CAD/AVL vendors. -- future spec development will be governed by the [change management and versioning policy](../governance/policies/change-management-versioning.md) diff --git a/docs/en/governance/actions.md b/docs/en/governance/actions.md deleted file mode 100644 index 8b589c34..00000000 --- a/docs/en/governance/actions.md +++ /dev/null @@ -1,24 +0,0 @@ -# TODS Board Actions - -Record of actions taken by the TODS Board. - -*Note that routine actions such as approval of meeting minutes are not listed here* - -| **Date** | **Action** | **Record (Yes - No - Abstain)** | -| -------- | ---------- | ---------- | -| 2026-03-23 | Board approval to recognize Board Chair as a named role on the TODS Governance page. | (5 - 0 - 0) | -| 2025-09-25 | Joshua Fabian elected to replace Scott Frazier as Board Coordinator. | (5 - 0 - 0) | -| 2025-04-23 | Board approval of TODS Change Management and Versioning Policy amendment regarding development cycles. | (5 - 0 - 0) | -| 2025-03-26 | Direct TODS Program Manager to amend the TODS Change Management and Versioning Policy to stipulate that the TODS Manager will lead at least 1 development cycle annually. | (4 - 0 - 0) | -| 2025-01-22 | Member Tollison's resignation from the Board sparks a proposal to follow up with individuals previously expressing interest in serving on the Board as an immediate next step and following up with the Board with additional proposals to expand the pool of Board Member candidates in the future | (3 - 0 - 0) | -| 2025-01-22 | Chair Jensen's employment was transfered without issue from his previous employement, to his new. Both positions were in public transit, not private enterprise. | (3 - 0 - 0) | -| 2024-09-18 | Board voted to readd TODS 1.0 definitions back to site, with indication that updates were no longer being made based on TODS 1.0 and that all future updates would be based on TODS 2.0| (5 - 0 - 0) | -| 2024-09-18 | Board supported a proposal to offer assistance/advice to the development teams for Giro and to collaborate on their implementation of TODS in Hastus and eventual TODS 2.0 based integration.| (5 - 0 - 0) | -| 2024-09-18 | Board supported a proposal to offer assistance/advice to the development teams for Optibus and GMV and to collaborate on their TODS 2.0 based integration.| (5 - 0 - 0) | -| 2024-07-24 | TODS 2.0 is adopted, now to be implemented. | (5 - 0 - 0) | -| 2024-06-26 | ODS Program Manager granted authority to make non-substantive changes to TODS governance to fix typos and change spec branding from ODS to TODS. | (5 - 0 - 0) | -| 2024-06-26 | Direct TODS Program Manager to transition TODS versioning to semantic versioning in the format X.X.X representing [breaking change].[non breaking change].[patch]. | (5 - 0 - 0) | -| 2024-06-26 | Direct TODS Program Manager to release all adopted proposals for a given development cycle under a single "bundled" version, rather than issuing a version for each adopted proposal individually. | (5 - 0 - 0) | -| 2024-03-11 | Erik Jansen elected as Board Chair. | (5 - 0 - 0) | -| 2024-03-11 | Scott Frazier elected as Board Coordinator. | (5 - 0 - 0) | -| 2024-03-11 | TODS Program Manager granted authority to move TODS repo out of Cal-ITP organization. | (5 - 0 - 0) | diff --git a/docs/en/governance/assets/MOU_ODS_and_Mobility_Data_signed.pdf b/docs/en/governance/assets/MOU_ODS_and_Mobility_Data_signed.pdf deleted file mode 100644 index 48d6a8162351da9dd32e3e5199fd593e597da549..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 209706 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