{"id":369,"name":"mobility-data-specification","description":"A data standard to enable communication between mobility companies and local governments.","url":"https://github.com/openmobilityfoundation/mobility-data-specification","last_synced_at":"2026-08-18T16:31:36.938Z","repository":{"id":38790281,"uuid":"132033870","full_name":"openmobilityfoundation/mobility-data-specification","owner":"openmobilityfoundation","description":"A data specification to enable right-of-way regulation, digital policy, geofencing, and two-way communication between mobility companies and public agencies worldwide for any regulated, shared, or agency vehicle.","archived":false,"fork":false,"pushed_at":"2026-07-09T03:03:08.000Z","size":4679,"stargazers_count":747,"open_issues_count":23,"forks_count":250,"subscribers_count":88,"default_branch":"main","last_synced_at":"2026-08-05T13:48:42.119Z","etag":null,"topics":["autonomous-vehicles","bike-share","carshare","delivery","delivery-robot","fixed-route","geofencing","mds","micromobility","mobility","mobility-as-a-service","mobility-data","open-source","passenger-services","policy-as-code","right-of-way","robotaxi","scooter-share","scooters","taxi"],"latest_commit_sha":null,"homepage":"https://www.openmobilityfoundation.org/about-mds/","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openmobilityfoundation.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2018-05-03T18:21:02.000Z","updated_at":"2026-08-04T08:29:10.000Z","dependencies_parsed_at":"2023-09-21T19:08:07.295Z","dependency_job_id":"bb8eaa63-0cb2-4bc7-9e84-6555cba693f1","html_url":"https://github.com/openmobilityfoundation/mobility-data-specification","commit_stats":{"total_commits":1719,"total_committers":114,"mean_commits":"15.078947368421053","dds":0.552065154159395,"last_synced_commit":"ec4f0107fad8e03b48d3d5ef1ac65e2e41a89b44"},"previous_names":["cityoflosangeles/mobility-data-specification"],"tags_count":25,"template":false,"template_full_name":null,"purl":"pkg:github/openmobilityfoundation/mobility-data-specification","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openmobilityfoundation%2Fmobility-data-specification","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openmobilityfoundation%2Fmobility-data-specification/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openmobilityfoundation%2Fmobility-data-specification/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openmobilityfoundation%2Fmobility-data-specification/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openmobilityfoundation","download_url":"https://codeload.github.com/openmobilityfoundation/mobility-data-specification/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openmobilityfoundation%2Fmobility-data-specification/sbom","scorecard":{"id":443677,"data":{"date":"2025-08-11","repo":{"name":"github.com/openmobilityfoundation/mobility-data-specification","commit":"fb4d24e19066a41c091cea8d5a5f76a864263f69"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5,"checks":[{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 22 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":0,"reason":"Found 0/3 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-19T06:10:45.066Z","repository_id":38790281,"created_at":"2025-08-19T06:10:45.066Z","updated_at":"2025-08-19T06:10:45.066Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36312989,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-08-05T02:00:06.619Z","response_time":104,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"openmobilityfoundation","name":"Open Mobility Foundation","uuid":"52187191","kind":"organization","description":"Open-source foundation with a mission to transform the way cities manage transportation in the modern era using open-source data standards and software.","email":null,"website":"http://www.openmobilityfoundation.org/","location":null,"twitter":"OpenMobilityFnd","company":null,"icon_url":"https://avatars.githubusercontent.com/u/52187191?v=4","repositories_count":8,"last_synced_at":"2023-03-05T07:27:55.814Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/openmobilityfoundation","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-15T08:22:01.329Z","updated_at":"2023-03-05T07:27:55.853Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openmobilityfoundation","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openmobilityfoundation/repositories"},"packages":[],"commits":{"id":1254115,"full_name":"openmobilityfoundation/mobility-data-specification","default_branch":"main","total_commits":2001,"total_committers":131,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":15.274809160305344,"dds":0.4972513743128436,"past_year_total_commits":155,"past_year_total_committers":10,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":15.5,"past_year_dds":0.10322580645161294,"last_synced_at":"2026-08-17T16:07:12.443Z","last_synced_commit":"40c4bcdabe8c66890811ce4d16ac756df98ac36e","created_at":"2023-03-27T10:58:32.897Z","updated_at":"2026-08-17T16:07:11.160Z","committers":[{"name":"Michael Schnuerle","email":"1285077+schnuerle","login":"schnuerle","count":1006},{"name":"Kegan Maher","email":"kegan.maher@smgov.net","login":"thekaveman","count":195},{"name":"Hunter Owens","email":"owens.hunter@gmail.com","login":"hunterowens","count":112},{"name":"Neil Goldader","email":"neilgoldader@gmail.com","login":"avatarneil","count":110},{"name":"Marie Maxham","email":"marie.maxham@gmail.com","login":"marie-x","count":61},{"name":"William Henderson","email":"william.c.henderson@gmail.com","login":"quicklywilliam","count":47},{"name":"Jane Huang","email":"jane.x.huang@gmail.com","login":"janedotx","count":38},{"name":"movementai","email":"39197888+movementai","login":"movementai","count":28},{"name":"Mark Maxham","email":"max@ellis-and-associates.com","login":null,"count":27},{"name":"Todd Petersen","email":"34557622+toddapetersen","login":"toddapetersen","count":20},{"name":"jyeo17","email":"jyeo17@gmail.com","login":"jyeo17","count":18},{"name":"Sean Holman","email":"whereissean@gmail.com","login":"whereissean","count":18},{"name":"Tristan Charreton","email":"67949048+tristan-charreton","login":"tristan-charreton","count":16},{"name":"Matt Davis","email":"jiffyclub@gmail.com","login":"jiffyclub","count":15},{"name":"Ian Rose","email":"ian.r.rose@gmail.com","login":"ian-r-rose","count":13},{"name":"Jascha Franklin-Hodge","email":"jascha@gmail.com","login":"jfh01","count":12},{"name":"Jascha Franklin-Hodge","email":"jascha@Jaschas-MacBook-Pro.local","login":null,"count":10},{"name":"Owen Derby","email":"owen@remix.com","login":"oderby","count":10},{"name":"Tim Black","email":"timothy.c.black@gmail.com","login":"black-tea","count":10},{"name":"Jean Kao","email":"58531352+jean-populus","login":"jean-populus","count":10},{"name":"Matthew Marwedel","email":"105882144+matthewmarwedel","login":"matthewmarwedel","count":10},{"name":"Retzoh","email":"comptes.hb+github@gmail.com","login":"Retzoh","count":8},{"name":"Alex Demisch","email":"43214557+alexdemisch","login":"alexdemisch","count":7},{"name":"Jay Williams","email":"jay.williams@bird.co","login":"wellorder","count":7},{"name":"sean roberts","email":"seanroberts66@gmail.com","login":"sarob","count":7},{"name":"Michael Schwartz","email":"michael@ridereportapp.com","login":"mschwartzie","count":6},{"name":"Ryan Fitzgerald","email":"fitzgerald@remix.com","login":"rf-","count":6},{"name":"jannasmith","email":"37844599+jannasmith","login":"jannasmith","count":6},{"name":"joanathan","email":"joanathan","login":"joanathan","count":5},{"name":"Nik Patel","email":"12193963+yoimnik","login":"yoimnik","count":5},{"name":"Marcus V","email":"marcus.verdoza@sfmta.com","login":"MarcusVerdoza","count":5},{"name":"Asa Downs","email":"adowns@bird.co","login":"adownsbird","count":5},{"name":"Mitch Vars","email":"mplsmitch@gmail.com","login":"mplsmitch","count":4},{"name":"John Clary","email":"john.clary@austintexas.gov","login":"johnclary","count":4},{"name":"Todd Petersen","email":"todd@ellis-and-associates.com","login":null,"count":4},{"name":"Antoine Garcia","email":"a.garcia.walecha@gmail.com","login":"antoinewg","count":3},{"name":"Asa Downs","email":"asadowns@gmail.com","login":"asadowns","count":3},{"name":"Brady Law","email":"bradyl16@gmail.com","login":"babldev","count":3},{"name":"Damien Baty","email":"damien.baty@polyconseil.fr","login":"dbaty","count":3},{"name":"Pierre Bouffort","email":"116758761+pierre-bouffort","login":"pierre-bouffort","count":3},{"name":"Thomas Pouillevet","email":"thomas.pouillevet@gmail.com","login":"ThomPouillevet","count":3},{"name":"Vladinthecity","email":"39097462+Vladinthecity","login":"Vladinthecity","count":3},{"name":"Adam Kidder","email":"kidder@uber.com","login":"thekidder","count":3},{"name":"bill dirks","email":"bill@ridereportapp.com","login":null,"count":3},{"name":"jpayne00","email":"50932523+jpayne00","login":"jpayne00","count":3},{"name":"Mateo Clarke","email":"mateo.clarke@austintexas.gov","login":"mateoclarke","count":2},{"name":"LADOTBikeshare","email":"39132204+LADOTBikeshare","login":"LADOTBikeshare","count":2},{"name":"Jérémi KURZANSKI","email":"64907801+jkurzanski","login":"jkurzanski","count":2},{"name":"Guillaume","email":"guillaume.sander@rideyego.com","login":"guiguille","count":2},{"name":"Philip Rose","email":"philip.rose@lacuna.ai","login":"philipjrose","count":2},{"name":"Seth Herr","email":"seth.william.herr@gmail.com","login":"sethherr","count":2},{"name":"bergenklem","email":"134277360+bergenklem","login":"bergenklem","count":2},{"name":"bhandzo","email":"ben.handzo@gmail.com","login":"bhandzo","count":2},{"name":"pcrane-zag","email":"47325388+pcrane-zag","login":"pcrane-zag","count":2},{"name":"Egor","email":"egor-bayandin","login":"egor-bayandin","count":2},{"name":"Brian Ng","email":"53451916+brianngca","login":"brianngca","count":2},{"name":"Brian Grass","email":"brian.grass@ridereport.com","login":"bGrass","count":2},{"name":"Brady Law","email":"brady@lyft.com","login":null,"count":2},{"name":"Dirk De Kok","email":"dirk@spin.pm","login":null,"count":2},{"name":"Jascha Franklin-Hodge","email":"jascha@Jaschas-MBP.fios-router.home","login":null,"count":2},{"name":"Jose Quinteiro","email":"jose.quinteiro@sfmta.com","login":null,"count":2},{"name":"Antoine LAURENT","email":"antoine.laurent@polyconseil.fr","login":null,"count":2},{"name":"trantom","email":"39502483+trantom","login":"trantom","count":2},{"name":"valclevrmobility","email":"55110178+valclevrmobility","login":"valclevrmobility","count":2},{"name":"Lionel Panhaleux","email":"lionel.panhaleux@gmail.com","login":"lionel-panhaleux","count":2},{"name":"franping","email":"165175043+franping","login":"franping","count":1},{"name":"fractalf","email":"alfm@rius.in","login":"fractalf","count":1},{"name":"dmklinger","email":"dmklinger@comcast.net","login":"dmklinger","count":1},{"name":"cheong-tseng eng","email":"cttengsfmta","login":"cttengsfmta","count":1},{"name":"chanderramesh","email":"42150827+chanderramesh","login":"chanderramesh","count":1},{"name":"c-fang","email":"08charlief@gmail.com","login":"c-fang","count":1},{"name":"Fabien Richard-Allouard","email":"fabien@mobilitydata.org","login":"richfab","count":1},{"name":"amurray-01","email":"104013468+amurray-01","login":"amurray-01","count":1},{"name":"Zsolt Ero","email":"zsolt.ero@gmail.com","login":"hyperknot","count":1},{"name":"Zak Auerbach","email":"zak.auerbach@remix.com","login":"zaksoup","count":1},{"name":"Xiaozheng Ma","email":"mxz710@gmail.com","login":"subaru710","count":1},{"name":"Thibaut Nguyen","email":"thibaut@poppy.be","login":"teebot","count":1},{"name":"Steve Weis","email":"steveweis@gmail.com","login":"sweis","count":1},{"name":"Sim-Sam","email":"55800361+Sim-Sam","login":"Sim-Sam","count":1},{"name":"Sasha Aickin","email":"xander76@yahoo.com","login":"aickin","count":1},{"name":"Phil Teigne","email":"philippe.teigne@gmail.com","login":"philteigne","count":1},{"name":"avigmati","email":"avigmati@gmail.com","login":"avigmati","count":1},{"name":"vilesa1","email":"lesaux.victor@gmail.com","login":"vilesa1","count":1},{"name":"tomsant","email":"54832590+tomsant","login":"tomsant","count":1},{"name":"selcuk-karanuh-alg","email":"126650435+selcuk-karanuh-alg","login":"selcuk-karanuh-alg","count":1},{"name":"pvanliefland","email":"pierre.vanliefland@gmail.com","login":"pvanliefland","count":1},{"name":"magnushub-ltd","email":"hello@otoride.co","login":"magnushub-ltd","count":1},{"name":"hannah-ross","email":"hannahross33@gmail.com","login":"hannah-ross","count":1},{"name":"gbir","email":"bir.geoffrey@gmail.com","login":"geobir","count":1},{"name":"garteli","email":"eli3046@gmail.com","login":"garteli","count":1},{"name":"Andrew Noonan","email":"noonan@uber.com","login":null,"count":1},{"name":"Alejandro Medrano","email":"alejandro@getwheelsapp.com","login":null,"count":1},{"name":"Guillaume Attia","email":"guillaume@sparkhorizon.com","login":null,"count":1},{"name":"Jascha Franklin-Hodge","email":"jascha.franklin-hodge@boston.gov","login":null,"count":1},{"name":"Ken Miller","email":"ken@TheFlash.local","login":null,"count":1},{"name":"William Henderson","email":"william@ridereport.com","login":null,"count":1},{"name":"milos-ljubinkovic","email":"milos.ljubinkovic@sbgenomics.com","login":null,"count":1},{"name":"schnuerle","email":"github@yourmapper.com","login":null,"count":1},{"name":"Gray Bright","email":"3675482+graybright","login":"graybright","count":1},{"name":"Evan Siroky","email":"evan.siroky@yahoo.com","login":"evansiroky","count":1},{"name":"Emmett McKinney","email":"47829330+ezmckinn","login":"ezmckinn","count":1},{"name":"Dmitriy Yakovlev","email":"dmitriy.yakovlev@gmail.com","login":"dyakovlev","count":1},{"name":"Darren Osadchuk","email":"darren@divertica.com","login":"osadchuk","count":1},{"name":"Dan Getelman","email":"dgetelman@gmail.com","login":"dget","count":1},{"name":"Chris Raastad","email":"craastad@gmail.com","login":"craastad","count":1},{"name":"Bruno Cardenas","email":"62057961+bruno-cardenas","login":"bruno-cardenas","count":1},{"name":"Brian Ellin","email":"brianellin","login":"brianellin","count":1},{"name":"Astronautandall","email":"piantagrane@protonmail.com","login":"Astronautandall","count":1},{"name":"AssafRideCell","email":"assaf@ridecell.com","login":"AssafRideCell","count":1},{"name":"Artem Vereschaka","email":"artem.andzen@gmail.com","login":"artem-vereshchaka","count":1},{"name":"Andrés C. Viesca Ruiz","email":"andres.viescar@gmail.com","login":"viestat","count":1},{"name":"Andrew Noonan","email":"942363+noonhub","login":"noonhub","count":1},{"name":"Alfonso Ruzafa","email":"alfonso.ruzafa@movo.me","login":"superruzafa","count":1},{"name":"Alexandra Santiago","email":"santiagoralexandra@gmail.com","login":"alesantiago98","count":1},{"name":"Nicolai Heilbuth","email":"nicolai.heilbuth@eksponent.com","login":"nheilbuth","count":1},{"name":"Muyi Zhou","email":"141460500+Mu-yi-Zhou","login":"Mu-yi-Zhou","count":1},{"name":"Morgan Herlocker","email":"morgan.herlocker@gmail.com","login":"morganherlocker","count":1},{"name":"Mike Guida","email":"mike@mguida.com","login":"mguida22","count":1},{"name":"Mikael Rapp","email":"micke.rapp@gmail.com","login":"Zatte","count":1},{"name":"zhaoshuci","email":"67790346+zhaoshuci","login":"zhaoshuci","count":1},{"name":"Matthias Laug","email":"matthias.laug@gmail.com","login":"mlaug","count":1},{"name":"Marcin Wójcik","email":"marcin@nivel.no","login":"zeulus","count":1},{"name":"Loc Le","email":"lle@isbx.com","login":"locqle","count":1},{"name":"Krithin Sitaram","email":"krithin.sitaram@remix.com","login":"krithin","count":1},{"name":"Juan Carlos","email":"juancarlostiquerangel@gmail.com","login":"JuanCarlos-TiqueRangel","count":1},{"name":"José B. Neto","email":"75389432+josebsneto","login":"josebsneto","count":1},{"name":"Joshua Sierles","email":"joshua@joshua.si","login":"jsierles","count":1},{"name":"Joseph Lai","email":"90877795+josephlaidoordash","login":"josephlaidoordash","count":1},{"name":"John Adali","email":"john.adali@gmail.com","login":"johnadali","count":1},{"name":"JR Heard","email":"jrheard@cs.stanford.edu","login":"jrheard","count":1},{"name":"Michele Sonnessa","email":"sonnessa@gmail.com","login":"sonnessa","count":1}],"past_year_committers":[{"name":"Michael Schnuerle","email":"1285077+schnuerle","login":"schnuerle","count":139},{"name":"Marcus V","email":"marcus.verdoza@sfmta.com","login":"MarcusVerdoza","count":4},{"name":"Thomas Pouillevet","email":"thomas.pouillevet@gmail.com","login":"ThomPouillevet","count":3},{"name":"Michael Schwartz","email":"michael@ridereportapp.com","login":"mschwartzie","count":3},{"name":"amurray-01","email":"104013468+amurray-01","login":"amurray-01","count":1},{"name":"Phil Teigne","email":"philippe.teigne@gmail.com","login":"philteigne","count":1},{"name":"Matt Davis","email":"jiffyclub@gmail.com","login":"jiffyclub","count":1},{"name":"Marcin Wójcik","email":"marcin@nivel.no","login":"zeulus","count":1},{"name":"Joseph Lai","email":"90877795+josephlaidoordash","login":"josephlaidoordash","count":1},{"name":"Bruno Cardenas","email":"62057961+bruno-cardenas","login":"bruno-cardenas","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/openmobilityfoundation%2Fmobility-data-specification/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-08-18T00:00:10.481Z","repositories_count":6705338,"commits_count":969755395,"contributors_count":40918842,"owners_count":1348057,"committers_count":3335870,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"openmobilityfoundation/mobility-data-specification","html_url":"https://github.com/openmobilityfoundation/mobility-data-specification","last_synced_at":"2026-08-17T16:04:21.684Z","status":null,"issues_count":401,"pull_requests_count":565,"avg_time_to_close_issue":26631203.013927575,"avg_time_to_close_pull_request":5219664.781420765,"issues_closed_count":359,"pull_requests_closed_count":549,"pull_request_authors_count":123,"issue_authors_count":142,"avg_comments_per_issue":5.219451371571072,"avg_comments_per_pull_request":2.4460176991150444,"merged_pull_requests_count":445,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":6,"past_year_pull_requests_count":19,"past_year_avg_time_to_close_issue":2129291.25,"past_year_avg_time_to_close_pull_request":1118907.2307692308,"past_year_issues_closed_count":4,"past_year_pull_requests_closed_count":13,"past_year_pull_request_authors_count":9,"past_year_issue_authors_count":6,"past_year_avg_comments_per_issue":4.5,"past_year_avg_comments_per_pull_request":0.631578947368421,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":13,"created_at":"2023-05-09T10:38:28.574Z","updated_at":"2026-08-17T16:04:21.684Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/openmobilityfoundation%2Fmobility-data-specification","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/openmobilityfoundation%2Fmobility-data-specification/issues","issue_labels_count":{"Provider":94,"Policy":85,"Agency":82,"enhancement":48,"Schema":43,"admin":33,"State Machine":29,"question":25,"documentation":24,"discussion":18,"identifier change":16,"Modes":15,"Geography":14,"minor update":12,"privacy":10,"bug":10,"beta":8,"Metrics":7,"Requirements":7,"duplicate":7,"Passenger Services":6,"Car Share":5,"Working Group":5,"Reports":4,"Delivery Robots":4,"Jurisdiction":4,"Micromobility":4,"Unification":3,"Fleet":3,"security":2,"Data Types":2,"Passenger":2,"wontfix":1,"OMF transfer":1},"pull_request_labels_count":{"Provider":97,"identifier change":62,"Agency":61,"Policy":54,"Schema":54,"minor update":46,"documentation":45,"admin":44,"enhancement":26,"Geography":14,"State Machine":14,"privacy":13,"Modes":12,"Metrics":7,"Requirements":7,"OMF transfer":6,"bug":6,"Reports":6,"Delivery Robots":5,"Data Types":5,"Micromobility":4,"Fleet":4,"Passenger":4,"Passenger Services":4,"discussion":4,"Car Share":3,"Delivery":3,"Unification":2,"security":1,"Jurisdiction":1,"Working Group":1},"issue_author_associations_count":{"NONE":139,"CONTRIBUTOR":138,"COLLABORATOR":87,"MEMBER":37},"pull_request_author_associations_count":{"CONTRIBUTOR":240,"COLLABORATOR":156,"MEMBER":102,"NONE":67},"issue_authors":{"schnuerle":37,"hunterowens":28,"thekaveman":26,"jfh01":14,"jean-populus":13,"marie-x":7,"toddapetersen":7,"ezheidtmann":7,"lionel-panhaleux":7,"asadowns":7,"billdirks":7,"S-eb":6,"janedotx":6,"patata3000":6,"jiffyclub":6,"quicklywilliam":6,"aickin":6,"cttengsfmta":5,"pierre-bouffort":5,"bhargav-lime":5,"Retzoh":5,"Mu-yi-Zhou":5,"bergenklem":4,"yoimnik":4,"lastalfriday":4,"dirkdk":4,"noonhub":4,"black-tea":4,"sven4all":4,"dmklinger":3,"robinef":3,"sleibman":3,"jrheard":3,"ascherkus":3,"brianellin":3,"fractalf":3,"tybaltspark":3,"johnpena":3,"HenriJ":3,"mrsimpson":3,"mschwartzie":3,"dbaty":2,"oderby":2,"ccolgrove":2,"HiGregory":2,"nelsonsantryl":2,"johnclary":2,"tonial":2,"avatarneil":2,"hynick4":2,"edwinvandenbelt":2,"whereissean":2,"kheraankit":2,"rf-":2,"geobir":2,"sebdiem":2,"ian-r-rose":1,"SamerAtawna":1,"clarityflowers":1,"tadam313":1,"f3d0r":1,"krithin":1,"eclewlow":1,"Glutamat42":1,"amalakar":1,"manassra":1,"benwedge":1,"saurabh-ecsion":1,"annachristinanz":1,"pxlrbt":1,"thekidder":1,"patwater":1,"brylie":1,"lucitez":1,"pomgod":1,"droverai":1,"carlfredl":1,"d-koppenhagen":1,"concept47":1,"sarob":1,"Igors5":1,"vilesa1":1,"rustam-starship":1,"zhakhalov":1,"viestat":1,"davenguyen":1,"chennney":1,"bhandzo":1,"bostonsam617":1,"Robinlovelace":1,"joecastiglione":1,"gbike-charles":1,"charleREN":1,"AndrewBlinnikov":1,"jackdreillyvia":1,"johnzuk":1,"joanathan":1,"kulovan":1,"mateoclarke":1,"ezmckinn":1,"alexdemisch":1,"grushhour":1,"rgangopadhya":1,"paultbeck":1,"nheilbuth":1,"JulianMiamiDade":1,"tomsant":1,"craastad":1,"margodawes":1,"rwdbrooks":1,"nshi":1,"ecsion":1,"emreisler-hop":1,"matthewmarwedel":1,"morganherlocker":1,"monolyst":1,"ericyco":1,"brianngca":1,"itnextbike":1,"Sharnam220":1,"jyeo17":1,"saharald":1,"FordSmartMobility":1,"sdrewc":1,"rlucas7":1,"gtfs0":1,"robertaq1998":1,"eldadberko":1,"kevinnio":1,"jschirrmacher":1,"cartograham":1,"bennywrong":1,"mattwigway":1,"jgravois":1,"dyakovlev":1,"samlimebike":1,"MarcusVerdoza":1,"np00":1,"eironside":1,"chloerevery":1,"ghost":1,"michalnaka":1},"pull_request_authors":{"schnuerle":102,"thekaveman":59,"hunterowens":54,"marie-x":26,"jiffyclub":16,"toddapetersen":14,"jfh01":13,"janedotx":13,"black-tea":8,"avatarneil":8,"mplsmitch":8,"lionel-panhaleux":8,"yoimnik":7,"sarob":7,"quicklywilliam":7,"alexdemisch":6,"asadowns":6,"Retzoh":6,"rf-":6,"whereissean":6,"cttengsfmta":6,"oderby":6,"jannasmith":5,"MarcusVerdoza":5,"johnclary":5,"bhandzo":5,"ian-r-rose":4,"valclevrmobility":4,"danielbynight":4,"babldev":4,"wellorder":4,"avigmati":3,"pierre-bouffort":3,"dirkdk":3,"mschwartzie":3,"dbaty":3,"antoinewg":3,"tristan-charreton":3,"thekidder":3,"egor-bayandin":3,"richfab":2,"wbohlken":2,"sethherr":2,"vilesa1":2,"franping":2,"noonhub":2,"jean-populus":2,"jrheard":2,"vperron":2,"ezmckinn":2,"magnushub-ltd":2,"selcuk-karanuh-alg":2,"tonial":2,"tomsant":2,"jpayne00":2,"ThomPouillevet":2,"Mu-yi-Zhou":2,"zhaoshuci":2,"jkurzanski":2,"billdirks":2,"aickin":2,"jyeo17":2,"matthewmarwedel":2,"johnadali":1,"hyperknot":1,"kemiller":1,"bruno-cardenas":1,"mguida22":1,"AssafRideCell":1,"mikey186":1,"zeulus":1,"HenriJ":1,"guiguille":1,"josebsneto":1,"avmedrano":1,"dget":1,"dmklinger":1,"cemsiyok":1,"pcrane-zag":1,"zaksoup":1,"mattwigway":1,"Vladinthecity":1,"fractalf":1,"jeespers":1,"pvanliefland":1,"josephlaidoordash":1,"teebot":1,"Astronautandall":1,"Sim-Sam":1,"patata3000":1,"graybright":1,"c-fang":1,"krithin":1,"alexaagreen":1,"jsierles":1,"sonnessa":1,"irockafe":1,"cmdoptesc":1,"dyakovlev":1,"artem-vereshchaka":1,"sweis":1,"mlaug":1,"LADOTBikeshare":1,"morganherlocker":1,"superruzafa":1,"milos-ljubinkovic":1,"locqle":1,"mateoclarke":1,"nheilbuth":1,"geobir":1,"osadchuk":1,"amurray-01":1,"craastad":1,"garteli":1,"bartwr":1,"JuanCarlos-TiqueRangel":1,"viestat":1,"bergenklem":1,"subaru710":1,"ezheidtmann":1,"ascherkus":1,"chanderramesh":1,"rowillia":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-08-18T00:00:06.948Z","repositories_count":16110115,"issues_count":41089189,"pull_requests_count":131906817,"authors_count":11467189,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{"minor update":3,"Provider":2,"Delivery Robots":1,"admin":1,"Passenger Services":1,"Micromobility":1,"Agency":1},"past_year_pull_request_labels_count":{"identifier change":8,"admin":4,"discussion":2,"minor update":2,"Delivery Robots":1,"Modes":1,"Working Group":1,"Micromobility":1,"enhancement":1},"past_year_issue_author_associations_count":{"NONE":5,"COLLABORATOR":1},"past_year_pull_request_author_associations_count":{"MEMBER":7,"CONTRIBUTOR":6,"NONE":5,"COLLABORATOR":1},"past_year_issue_authors":{"bostonsam617":1,"carlfredl":1,"emreisler-hop":1,"grushhour":1,"mschwartzie":1,"sven4all":1},"past_year_pull_request_authors":{"schnuerle":7,"MarcusVerdoza":3,"jiffyclub":2,"ThomPouillevet":2,"amurray-01":1,"bruno-cardenas":1,"josephlaidoordash":1,"mschwartzie":1,"zeulus":1},"maintainers":[{"login":"schnuerle","count":139,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/schnuerle"},{"login":"thekaveman","count":85,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/thekaveman"},{"login":"hunterowens","count":82,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hunterowens"},{"login":"marie-x","count":33,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/marie-x"},{"login":"jean-populus","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jean-populus"},{"login":"pierre-bouffort","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/pierre-bouffort"},{"login":"alexdemisch","count":7,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/alexdemisch"},{"login":"S-eb","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/S-eb"},{"login":"mplsmitch","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mplsmitch"},{"login":"mschwartzie","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mschwartzie"}],"active_maintainers":[{"login":"schnuerle","count":7,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/schnuerle"},{"login":"mschwartzie","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mschwartzie"}]},"events":{"total":{"ReleaseEvent":1,"DeleteEvent":8,"PullRequestEvent":49,"ForkEvent":18,"IssuesEvent":26,"WatchEvent":38,"IssueCommentEvent":146,"PushEvent":132,"PullRequestReviewCommentEvent":20,"PullRequestReviewEvent":20,"GollumEvent":139,"CreateEvent":14},"last_year":{"DeleteEvent":7,"PullRequestEvent":17,"ForkEvent":2,"IssuesEvent":11,"WatchEvent":8,"IssueCommentEvent":30,"PushEvent":64,"PullRequestReviewEvent":1,"GollumEvent":28,"CreateEvent":5}},"keywords":["autonomous-vehicles","bike-share","carshare","delivery","delivery-robot","fixed-route","geofencing","mds","micromobility","mobility","mobility-as-a-service","mobility-data","open-source","passenger-services","policy-as-code","right-of-way","robotaxi","scooter-share","scooters","taxi"],"dependencies":[],"score":11.52158783804888,"created_at":"2023-09-11T11:54:34.436Z","updated_at":"2026-08-18T16:31:36.944Z","avatar_url":"https://github.com/openmobilityfoundation.png","language":null,"category":"Consumption","sub_category":"Mobility and Transportation","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"# Mobility Data Specification\n\n![MDS Banner](https://i.imgur.com/pQzLDhx.png)\n\n## Table of Contents\n\n- [About](#about)\n- [Endpoints](#endpoints)\n  - [Modularity](#modularity)\n  - [Public Data Feed Requirements](#public-data-feed-requirements)\n- [Modes](#modes)\n  - [Future Modes](#future-modes)\n- [Versions](#versions)\n  - [Technical Information](#technical-information)\n  - [Data Validation](#data-validation)\n- [Get Involved](#get-involved)\n  - [Membership](#membership)\n- [Cities Using MDS](#cities-using-mds)\n- [Providers Using MDS](#providers-using-mds)\n- [Software Companies Using MDS](#software-companies-using-mds)\n- [Data Privacy](#data-privacy)\n- [Use Cases](#use-cases)\n- [Related Projects](#related-projects)\n\n# About\n\nThe Mobility Data Specification (**MDS**), a project of the [Open Mobility Foundation](http://www.openmobilityfoundation.org) (**OMF**), is a set of Application Programming Interfaces (APIs) that helps cities better manage transportation in the public right of way, standardizing communication and data-sharing between cities and mobility providers, allowing cities to share and validate policy digitally, and enabling vehicle management and better outcomes for residents. Inspired in part by projects like [GTFS](https://developers.google.com/transit/gtfs/reference/) and [GBFS](https://github.com/MobilityData/gbfs), MDS is focused on managing mobility services such as dockless scooters, bicycles, mopeds, car share, food and goods delivery, sidewalk robots, fixed route services and shuttles, fleets, busses, and passenger services like taxis, TNCs, and for-hire AVs.\n\n![MDS Main Logo](https://i.imgur.com/AiUedl3.png)\n\n**MDS** is a key piece of digital infrastructure that supports the effective implementation of mobility policies in cities around the world. For a high level overview and visuals, see the [About MDS](https://www.openmobilityfoundation.org/about-mds/) page on the OMF website.\n\n![MDS Overview Diagram](https://i.imgur.com/YsrCHPX.png)\n\n### History\n\n**MDS** is an open-source project originally created by the [Los Angeles Department of Transportation](http://ladot.io) (LADOT) in 2018. In November 2019, stewardship of MDS and the ownership of this repository were transferred to the [Open Mobility Foundation](http://www.openmobilityfoundation.org). GitHub automatically redirects any links to this repository from the `CityOfLosAngeles` organization to the `openmobilityfoundation` instead. MDS continues to be used by LADOT and [many other municipalities](#cities-using-mds) and companies (confirmed over 200 mobility operators, operating in over 1,200 cities globally, and over 2 billion trips sent) as a global standard.\n\n![MDS Global Map](https://i.imgur.com/Mx8qHwz.png)\n\n[Top][toc]\n\n# Endpoints\n\n**MDS** is comprised of six distinct APIs, with multiple endpoints under each API:\n\n\u003ca href=\"/provider/\"\u003e\u003cimg src=\"https://i.imgur.com/yzXrKpo.png\" width=\"80\" align=\"left\" alt=\"MDS Provider Icon\" border=\"0\"\u003e\u003c/a\u003e\n\nThe [`provider`][provider] API endpoints are intended to be implemented by mobility providers and consumed by regulatory agencies. Data is **pulled** from _providers_ by agencies. When a municipality queries information from a mobility provider, the Provider API provides historical and recent views of operations. First released in June 2018.\n\n---\n\n\u003ca href=\"/agency/\"\u003e\u003cimg src=\"https://i.imgur.com/HzMWtaI.png\" width=\"80\" align=\"left\" alt=\"MDS Agency Icon\" border=\"0\"\u003e\u003c/a\u003e\n\nThe [`agency`][agency] API endpoints are intended to be implemented by regulatory agencies and consumed by mobility providers. Data is **pushed** to _agencies_ by providers. Agencies use the Agency API to see when events (such as a trip start or vehicle status change) occur in provider systems in real-time. First released in April 2019.\n\n---\n\n\u003ca href=\"/policy/\"\u003e\u003cimg src=\"https://i.imgur.com/66QXveN.png\" width=\"80\" align=\"left\" alt=\"MDS Policy Icon\" border=\"0\"\u003e\u003c/a\u003e\n\nThe [`policy`][policy] API endpoints are intended to be implemented by regulatory agencies and consumed by mobility providers. Data is **pulled** from agencies or **pushed** to providers via the Policy API to get information about local rules, events, or emergencies that may affect the operation of mobility services or which may be used to determine compliance. First released in October 2019.\n\n---\n\n\u003ca href=\"/geography/\"\u003e\u003cimg src=\"https://i.imgur.com/JJdKX8b.png\" width=\"80\" align=\"left\" alt=\"MDS Geography Icon\" border=\"0\"\u003e\u003c/a\u003e\n\nThe [`geography`][geography] API endpoints are intended to be implemented by regulatory agencies and consumed by mobility providers. Providers query the Geography API to get information about geographical regions for regulatory and other purposes. First released in October 2019, as part of the Policy specification.\n\n---\n\n\u003ca href=\"/jurisdiction/\"\u003e\u003cimg src=\"https://i.imgur.com/tCRCfxT.png\" width=\"80\" align=\"left\" alt=\"MDS Jurisdiction Icon\" border=\"0\"\u003e\u003c/a\u003e\n\nThe [`jurisdiction`][jurisdiction] API endpoints are intended to be implemented by regulatory agencies that have a need to coordinate with each other. The Jurisdiction API endpoints allow cities to communicate boundaries between one another and to mobility providers. First released in March 2021.\n\n---\n\n\u003ca href=\"/metrics/\"\u003e\u003cimg src=\"https://i.imgur.com/ouijHLj.png\" width=\"80\" align=\"left\" alt=\"MDS Metrics Icon\" border=\"0\"\u003e\u003c/a\u003e\n\nThe [`metrics`](/metrics) API endpoints are intended to be implemented by regulatory agencies or their appointed third-party representatives to have a standard way to consistently describe available metrics, and create an extensible interface for querying MDS metrics. First released in March 2021.\n\n---\n\n## Modularity\n\nMDS is designed to be a modular kit-of-parts. Regulatory agencies can use the components of the API that are appropriate for their needs. An agency may choose to use only `agency`, `provider`, and/or `policy`. Other APIs like `geography`, `jurisdiction`, and/or `metrics` can be used in coordination as described with these APIs or sometimes on their own. Or agencies may select specific elements (endpoints) from each API to help them implement their goals. Development of the APIs takes place under the guidance of the OMF's [MDS Working Group](https://github.com/openmobilityfoundation/mobility-data-specification/wiki/MDS-Working-Group).\n\nMany parts of the MDS definitions and APIs align across each other. In these cases, consolidated information can be found on the [General Information](/general-information.md) page.\n\nYou can read more in our **[Understanding the different MDS APIs](https://github.com/openmobilityfoundation/governance/blob/main/technical/Understanding-MDS-APIs.md)** guide. \n\n![MDS APIs and Endpoints](https://i.imgur.com/4xVWwbj.png)\n\n## Public Data Feed Requirements\n\nAll MDS compatible Provider and/or Agency feeds must also expose a public [GBFS](https://github.com/MobilityData/gbfs) feed for the _micromobility_ and _fleet_ [modes](/modes), and [GOFS](https://gofs.org/) for _passenger_ mode. A public feed may be provided at the discretion of the agency running a _delivery_ mode program. Compatibility with the latest release recommended per MobilityData's [supported releases](https://github.com/MobilityData/gbfs?tab=readme-ov-file#current-version-recommended) guidance is recommended. Read MobilityData's RFP recommendations and required files list in their [GBFS and Shared Mobility Data Policy guide](https://gbfs.org/documentation/data-policy/).\n\nSee our [MDS Vehicles Guide](https://github.com/openmobilityfoundation/mobility-data-specification/wiki/MDS-Vehicles) for how MDS Provider/Agency `/vehicles` can be used by regulators to provide operational information, instead of using the public-facing GBFS `/vehicle_status` (formerly `/free_bike_status`). Additional information on MDS and GBFS can be found in this [guidance document](https://github.com/openmobilityfoundation/governance/blob/main/technical/GBFS_and_MDS.md).\n\n[Top][toc]\n\n# Modes\n\nMDS supports multiple \"modes\", defined as a distinct regulatory framework for a type of mobility service. See the [modes overview](/modes) or get started with a specific mode:\n\n- **[Micromobility](/modes/micromobility.md)** - customer operated dockless or docked small devices moving customers and goods, such as scooters, bikeshare, cargo bikes, adaptive scooters, docked bikes, mopeds, trikes, and quadracycles.\n- **[Passenger](/modes/passenger-services.md)** - employees and contractors, autonomous, and remotely operated transporting individuals or goods with a vehicle driven by another entity, including taxis, for-hire AVs, robotaxis, busses, transportation network companies (TNCs), commercial transport apps (CTAs), and private hire vehicles (PHVs), shuttles, paratransit, on demand vehicles, limosines, and microtransit.\n- **[Fleet](/modes/car-share.md)** - customer, employees and contractors, autonomous, and remotely operated shared point-to-point, station-based, or free-floating multi-passenger or cargo vehicles like consumer car share, sanitation vehicles (garbage, recycling), city fleets, vehicle rentals, street sweepers, snow plows, utility services, construction, emergency response (police, fire, ambulance), tree maintenance, inspection and permitting vehicles, mobile health clinics, and heavy maintenance vehicles.\n- **[Delivery](/modes/delivery-robots.md)** - employees and contractors, autonomous, and remotely operated sidewalk robots, app delivery, packages, freight, goods, food, private hire vehicles, electric cargo bikes and trikes, mopeds and motorcycles, box trucks, bike and scooter couriers, cargo vans, semi-trucks and tractor-trailers, postal service, medicine, and other delivery services.\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"/modes/micromobility.md\"\u003e\u003cimg src=\"https://i.imgur.com/bKGsiXz.png\" alt=\"MDS Mode - Micromobility\" style=\"float: left; border: 0; width: 170px;\"\u003e\u003c/a\u003e \u0026nbsp; \u0026nbsp; \u0026nbsp;\n\u003ca href=\"/modes/passenger-services.md\"\u003e\u003cimg src=\"https://i.imgur.com/beefGup.png\" alt=\"MDS Mode - Passenger\" style=\"float: left; border: 0; width: 170px;\"\u003e\u003c/a\u003e \u0026nbsp; \u0026nbsp; \u0026nbsp; \n\u003ca href=\"/modes/car-share.md\"\u003e\u003cimg src=\"https://i.imgur.com/OTl1hIv.png\" alt=\"MDS Mode - Fleet\" style=\"float: left; border: 0; width: 170px;\"\u003e\u003c/a\u003e \u0026nbsp; \u0026nbsp; \u0026nbsp;\n\u003ca href=\"/modes/delivery-robots.md\"\u003e\u003cimg src=\"https://i.imgur.com/bw2O9t8.png\" alt=\"MDS Mode - Delivery\" style=\"float: left; border: 0; width: 170px;\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\u003cbr clear=\"both\"/\u003e\n\n## Future Modes \n\nSupport for other shared modes, services, programs, and vehicles has been discussed for MDS, and could be created by public agencies and company requests in the future with non-breaking modifications in new MDS versions, for drone delivery, EVTOL air taxis, ferries, gondolas, subway, trolleys, trains, water taxis, helicopters, and planes. If interested, browse our [current conversations](https://github.com/openmobilityfoundation/mobility-data-specification/issues) or [start your own](https://github.com/openmobilityfoundation/mobility-data-specification/issues/new?template=feature-request---proposal.md).\n\n[Top][toc]\n\n# Versions\n\nMDS has a **current release** (version 2.1.0), **previous releases** (both recommended and no longer recommended for use), and **upcoming releases** in development. For a full list of releases, their status, recommended versions, and timelines, see the [Official MDS Releases](https://github.com/openmobilityfoundation/governance/wiki/Releases) page.\n\nThe OMF provides guidance on upgrading for cities, providers, and software companies, and sample permit language for cities. See our [MDS Version Guidance](https://github.com/openmobilityfoundation/governance/blob/main/technical/OMF-MDS-Version-Guidance.md) for best practices on how and when to upgrade MDS as new versions become available. Our complimentary [MDS Policy Language Guidance](https://github.com/openmobilityfoundation/governance/blob/main/technical/OMF-MDS-Policy-Language-Guidance.md) document is for cities writing MDS into their operating policy and includes sample policy language.\n\n## Technical Information\n\nThe latest MDS release is in the [`main`](https://github.com/openmobilityfoundation/mobility-data-specification/tree/main) branch, and development for the next release occurs in the [`dev`](https://github.com/openmobilityfoundation/mobility-data-specification/tree/dev) branch.\n\nThe MDS specification is versioned using Git tags and [semantic versioning](https://semver.org/). See prior [releases](https://github.com/openmobilityfoundation/mobility-data-specification/releases) and the [Release Guidelines](https://github.com/openmobilityfoundation/governance/blob/main/technical/ReleaseGuidelines.md) for more information and [version support](https://github.com/openmobilityfoundation/governance/blob/main/technical/ReleaseGuidelines.md#ongoing-version-support).\n\n* [Latest Release Branch](https://github.com/openmobilityfoundation/mobility-data-specification/tree/main) (main)\n* [Development Branch](https://github.com/openmobilityfoundation/mobility-data-specification/tree/dev) (dev)\n* [All GitHub Releases](https://github.com/openmobilityfoundation/mobility-data-specification/releases)\n* [MDS Releases](https://github.com/openmobilityfoundation/governance/wiki/Releases) - current/recommended versions, timeline\n* [Release Guidelines](https://github.com/openmobilityfoundation/governance/blob/main/technical/ReleaseGuidelines.md)\n\n## Data Validation\n\nTo help with MDS data and feed validation, please see our OpenAPI schema description in the OMF [mds-openapi](https://github.com/openmobilityfoundation/mds-openapi) repository. Browsable interactive documentation is also linked to in that repository.\n\nStarting with MDS 2.0, OpenAPI documents describe MDS endpoints and allow for [schema](/schema) validation, expanding on the JSON Schemas formerly housed in this repository.\n\n[Top][toc]\n\n# Get Involved\n\nTo stay up to date on MDS, please **subscribe the [wg-mds](https://groups.google.com/a/groups.openmobilityfoundation.org/g/wg-mds) mailing list** for general updates, Working Group details and meetings, and read our **[Community Wiki](https://github.com/openmobilityfoundation/mobility-data-specification/wiki)**.\n\nThe Mobility Data Specification is an open source project with all development taking place on GitHub and public meetings through our [MDS Working Group](https://github.com/openmobilityfoundation/mobility-data-specification/wiki/MDS-Working-Group). Comments and ideas can be shared by [starting a discussion](https://github.com/openmobilityfoundation/mobility-data-specification/discussions), [creating an issue](https://github.com/openmobilityfoundation/mobility-data-specification/issues), suggesting changes with [a pull request](https://github.com/openmobilityfoundation/mobility-data-specification/pulls), and attending meetings. Before contributing, please review our OMF [CONTRIBUTING](https://github.com/openmobilityfoundation/governance/blob/main/CONTRIBUTING.md) and [CODE OF CONDUCT](https://github.com/openmobilityfoundation/governance/blob/main/CODE_OF_CONDUCT.md) pages to understand guidelines and policies for participation.\n\n**Read our [How to Get Involved in the Open Mobility Foundation](https://www.openmobilityfoundation.org/how-to-get-involved-in-the-open-mobility-foundation/) blog post for more detail and an overview of how the OMF is organized.**\n\nFor other questions about MDS or media inquiries please contact the OMF directly [on our website](https://www.openmobilityfoundation.org/get-in-touch/). \n\n## Membership\n\nOMF Members (public agencies and commercial companies) have additional participation opportunities with leadership roles within our OMF [governance](https://github.com/openmobilityfoundation/governance#omf-scope-of-work):\n\n- [Board of Directors](https://www.openmobilityfoundation.org/about/)\n- [Privacy, Security, and Transparency Committee](https://github.com/openmobilityfoundation/privacy-committee)\n- [Technology Council](https://github.com/openmobilityfoundation/governance/wiki/Technology-Council)\n- [Strategy Committee](https://github.com/openmobilityfoundation/governance/wiki/Strategy-Committee)\n- [Advisory Committee](https://github.com/openmobilityfoundation/governance/wiki/Advisory-Committee)\n- Steering committees of all [Working Groups](https://github.com/openmobilityfoundation/mobility-data-specification/wiki#omf-meetings), currently:\n  - [MDS Working Group](https://github.com/openmobilityfoundation/mobility-data-specification/wiki/MDS-Working-Group)\n  - [Curb Working Group](https://github.com/openmobilityfoundation/curb-data-specification/wiki)\n\nRead about [how to become an OMF member](https://www.openmobilityfoundation.org/participate/), [how to get involved and our governance model](https://www.openmobilityfoundation.org/how-to-get-involved-in-the-open-mobility-foundation/), and [contact us](https://mailchi.mp/openmobilityfoundation/membership) for more details. \n\n[Top][toc]\n\n![MDS Banner](https://i.imgur.com/pQzLDhx.png)\n\n# Cities Using MDS\n\nMore than 1,200 cities and public agencies across 76 countries around the world are known to use MDS, and it has been implemented by over 200 major [mobility service providers](#providers-using-mds).  \n- See our **[list of cities using MDS](https://www.openmobilityfoundation.org/mds-users/#cities-using-mds)** with links to public mobility websites and policy/permit documents.\n\nPlease let us know [via our website](https://www.openmobilityfoundation.org/get-in-touch/) or in the [public discussion area](https://github.com/openmobilityfoundation/mobility-data-specification/discussions) if you are an agency using MDS so we can add you to the city resource list, especially if you have published your policies or documents publicly.\n\nTo add yourself to the [agency list](/agencies.csv) for your Agency ID, and add your [Policy Requirement link](/provider.md#requirements), please let us know [via our website](https://www.openmobilityfoundation.org/get-in-touch/) or open an [Issue](https://github.com/openmobilityfoundation/mobility-data-specification/issues) or [Pull Request](https://github.com/openmobilityfoundation/mobility-data-specification/pulls). Find out how in our [Adding an Agency ID](https://github.com/openmobilityfoundation/mobility-data-specification/wiki/Adding-an-MDS-Agency-ID) help document.\n\n[Top][toc]\n\n# Providers Using MDS\n\nOver 200 mobility service providers (MSPs) and operators around the world use MDS, allowing them to create tools around a single data standard for multiple cities globally. \n\n- See our **[list of providers using MDS](https://www.openmobilityfoundation.org/mds-users/#mobility-providers-using-mds)**. For a table list with unique IDs, see the MDS [provider list](/providers.csv) which includes both service operators and data solution providers.\n- A provider needs a unique ID for each [mode](#modes) they operate under.\n\nIf you use MDS, you are required to have a Provider ID to be spec compliant. To add yourself to the provider list, please let us know [via our website](https://www.openmobilityfoundation.org/get-in-touch/) or open an [Issue](https://github.com/openmobilityfoundation/mobility-data-specification/issues) or preferably a [Pull Request](https://github.com/openmobilityfoundation/mobility-data-specification/pulls). Find out how in our [Adding an Provider ID](https://github.com/openmobilityfoundation/mobility-data-specification/wiki/Adding-an-MDS-Provider-ID) help document.\n\n[Top][toc]\n\n# Software Companies Using MDS\n\nAn open source approach to data specifications benefits cities and companies by creating a space for collaborative development, reducing costs, and nurturing a healthy, competitive ecosystem for mobility services and software tools. The open model promotes a competitive ecosystem for software tools built by dozens of software companies and vendors providing their services to cities, agencies, and providers.\n\n- See our **[list of third party software companies using MDS](https://www.openmobilityfoundation.org/mds-users/#software-companies-using-mds)** and an article about the [benefits of an open approach](https://www.openmobilityfoundation.org/why-open-behind-omfs-unique-open-source-model/).  \n- For a table list with unique IDs, see the MDS [provider list](/providers.csv) which includes both service operators and data solution providers.\n\nTo add yourself to the provider list (required as a data solution provider), please let us know [via our website](https://www.openmobilityfoundation.org/get-in-touch/) or open an [Issue](https://github.com/openmobilityfoundation/mobility-data-specification/issues) or preferably a [Pull Request](https://github.com/openmobilityfoundation/mobility-data-specification/pulls). Find out how in our [Adding an Provider ID](https://github.com/openmobilityfoundation/mobility-data-specification/wiki/Adding-an-MDS-Provider-ID) help document.\n\nPlease [let us know](https://www.openmobilityfoundation.org/get-in-touch/) if you are using MDS in your company so we can add you to the list.\n\n[Top][toc]\n\n# Data Privacy\n\nMDS includes information about vehicles, their location, and trips taken on those vehicles to allow agencies to regulate their use in the public right of way and to conduct transportation planning and analysis. While MDS is not designed to convey personal information about the users of shared mobility services, data collected about mobility can be sensitive. The OMF and MDS community have created a number of resources to help cities, mobility providers, and software companies handle vehicle data safely:\n\n* [MDS Privacy Guide for Cities](https://github.com/openmobilityfoundation/governance/raw/main/documents/OMF-MDS-Privacy-Guide-for-Cities.pdf) - guide that covers essential privacy topics and best practices\n* [The Privacy Principles for Mobility Data](https://www.mobilitydataprivacyprinciples.org/) - principles endorsed by the OMF and other mobility organizations to guide the mobility ecosystem in the responsible use of data and the protection of individual privacy\n* [Mobility Data State of Practice](https://github.com/openmobilityfoundation/privacy-committee/blob/main/products/state-of-the-practice.md) -  real-world examples related to the handling and protection of MDS and other types of mobility data\n* [Understanding the Data in MDS](https://github.com/openmobilityfoundation/mobility-data-specification/wiki/Understanding-the-Data-in-MDS) - technical document outlining what data is (and is not) in MDS\n* [Use Case Database](https://www.openmobilityfoundation.org/whats-possible-with-mds/) - a starting point for understanding how MDS can be used, and what parts of MDS is required to meet those use cases\n* [Policy Requirements](https://github.com/openmobilityfoundation/mobility-data-specification/tree/main/policy#requirement) - built into MDS, allowing agencies to specify only the endpoints and fields needed for program regulation\n* [Using MDS Under GDPR](https://www.openmobilityfoundation.org/using-mds-under-gdpr/) - how to use MDS in the context of GDPR in Europe\n\nThe OMF’s [Privacy, Security, and Transparency Committee](https://github.com/openmobilityfoundation/privacy-committee#welcome-to-the-privacy-security-and-transparency-committee) creates many of these resources, and advises the OMF on principles and practices that ensure the secure handling of mobility data. The committee – which is composed of both private and public sector OMF members – also holds regular public meetings, which provide additional resources and an opportunity to discuss issues related to privacy and mobility data. Learn more [here](https://github.com/openmobilityfoundation/privacy-committee#welcome-to-the-privacy-security-and-transparency-committee).\n\n[Top][toc]\n\n# Use Cases\n\nHow cities use MDS depends on a variety of factors: their transportation goals, existing services and infrastructure, and the unique needs of their communities. Cities are using MDS to create policy, enforce rules, manage hundreds of devices, and ensure the safe operation of vehicles in the public right of way. Some examples of how cities are using MDS in practice are:\n\n- **Vehicle Caps:** Determine total number of vehicles per operator in the right of way\n- **Distribution Requirements:** Ensure vehicles are distributed according to equity requirements\n- **Injury Investigation:** Investigate injuries and collisions with other objects and cars to determine roadway accident causes\n- **Restricted Area Rides:** Find locations where vehicles are operating or passing through restricted areas\n- **Resident Complaints:** Investigate and validate complaints from residents about operations, parking, riding, speed, etc, usually reported through 311\n- **Infrastructure Planning:** Determine where to place new bike/scooter lanes and drop zones based on usage and demand, start and end points, and trips taken\n\nA list of more than 60 use cases is useful to show what's possible with MDS, to list what other cities are accomplishing with the data, to see many use cases up front for privacy considerations, and to use for policy discussions and policy language. More details and examples can be seen on the [OMF website](https://www.openmobilityfoundation.org/whats-possible-with-mds/) and our [Wiki Database](https://github.com/openmobilityfoundation/governance/wiki/MDS-Use-Cases). An agency may align their program to specific use cases by publishing [Policy Requirement use cases](/policy#requirement-apis).\n\nPlease [let us know](https://docs.google.com/forms/d/e/1FAIpQLScrMPgeb1TKMYCjjKsJh3y1TPTJO8HR_y1NByrf1rDmTEJS7Q/viewform) if you have recommended updates or use cases to add.\n\n[Top][toc]\n\n# Related Projects\n\nCommunity projects are those efforts by individual contributors or informal groups that take place outside Open Mobility Foundation’s formalized process, complementing MDS. These related projects often push new ideas forward through experimental or locally-focused development, and are an important part of a thriving open source community. Some of these projects may eventually be contributed to and managed by the Open Mobility Foundation.\n\nThe OMF's [Community Projects](https://www.openmobilityfoundation.org/community-projects/) page has an every growing list of projects related to MDS, and see our [Privacy Committee's State of Practice](https://github.com/openmobilityfoundation/privacy-committee/blob/main/products/state-of-the-practice.md) for more examples.\n\nPlease [let us know](https://www.openmobilityfoundation.org/get-in-touch/) if you create open source or private tools for implementing or working with MDS data.\n\n[Top][toc]\n\n[agency]: /agency/README.md\n[provider]: /provider/README.md\n[policy]: /policy/README.md\n[geography]: /geography/README.md\n[jurisdiction]: /jurisdiction/README.md\n[metrics]: /metrics/README.md\n[modes]: /modes/README.md\n[toc]: #table-of-contents\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["bikesharing","bike-sharing","cities","scooter-sharing","civic-tech","urban-mobility","shared-mobility","mobilitydata","gbfs-documentation","gbfs"],"project_url":"https://ost.ecosyste.ms/api/v1/projects/369","html_url":"https://ost.ecosyste.ms/projects/369"}