Skip to content

Commit e73b827

Browse files
jfh01hunterowens
authored andcommitted
Updates to various documentation to support code transfer from LADOT to OMF (#391)
* Updated license to CC BY 4.0 for OMF transition * Removed LADOT as 'AUTHOR' as part of transfer to OMF * Removed LA-specific list of API URLs * initial rewrite for code transfer to OMF * revisions to contributing guidelines for OMF transfer * revisions to contributing guidelines for OMF transfer * revisions to contributing guidelines for OMF transfer * typo fix * Tweaked OMF references * language tweaks * updated repo links to point to OMF instead of LA * Revert "Removed LA-specific list of API URLs" This reverts commit 2a72c6a. * clarified how different APIs are implemented and consumed * Revert "Updated license to CC BY 4.0 for OMF transition" This reverts commit 8b8c92d. * Clarified repo ownership transfer and auto-redirect * tweaks to improve readability for non-technical people * Update urls for CLEVR * fixed documentation ambiguity * clarified which WG is responsible for policy API * grammar * more clarity on stewardship of policy * corrected release date of policy API
1 parent ca388bf commit e73b827

4 files changed

Lines changed: 65 additions & 46 deletions

File tree

CODE_OF_CONDUCT.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Code of Conduct
2+
3+
To encourage participation by any and all interested people, we aim to create an open and welcoming environment for contributors. We pledge to make participation in this project a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
4+
5+
**Examples of behavior that contributes to creating a positive environment include:**
6+
7+
* Using welcoming and inclusive language
8+
* Being respectful of differing viewpoints and experiences
9+
* Gracefully accepting constructive criticism
10+
* Focusing on what is best for the community
11+
* Showing empathy towards other community members
12+
13+
Please review the [OMF's Participation Policies](https://members.openmobilityfoundation.org/wp-content/uploads/2019/06/OMFParticipationPolicies.pdf) for more details.

CONTRIBUTING.md

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,12 @@ Contributions should be offered through GitHub issues and pull requests. Please
1515

1616
In general, you may open an issue or make a pull request at any time. Once the issue or pull request is associated with a particular Milestone, it will be included for review within the process for that release.
1717

18+
All contributors must agree to the Open Mobility Foundation's [Individual Contributor License Agreement](http://members.openmobilityfoundation.org/wp-content/uploads/2019/06/Individual-CLA.pdf) (ICLA) and [Participation Policies](https://members.openmobilityfoundation.org/wp-content/uploads/2019/06/OMFParticipationPolicies.pdf). Pull requests will not be merged without a signed ICLA. If a contributor is working on behalf of a company or other organization, that organization must also agree to the [Entity Contributor License Agreement](https://members.openmobilityfoundation.org/wp-content/uploads/2019/06/Entity-CLA.pdf) (ECLA). These agreements clarify the intellectual property status of work that is contributed to OMF projects. They apply to all contributions, including source code, documentation, and comments.
19+
1820
## What belongs in MDS
1921
MDS is a tool to facilitate data exchange between mobility service providers, public agencies, and public agency software partners. Although providers are often required to support MDS as part of mobility permits or policies, MDS is intended as a neutral mechanism for information exchange. It is not intended to force or foreclose any specific policy options that a public agency may choose to pursue.
2022

21-
## Code of Conduct
22-
To encourage participation by any and all interested people, we aim to create an open and welcoming environment for contributors. We pledge to make participation in this project a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
23-
24-
**Examples of behavior that contributes to creating a positive environment include:**
23+
MDS is built as an interface between local governments and mobility service providers. Access to MDS APIs should be restricted, and is not intended to directly support public consumption or consumer-facing applications.
2524

26-
* Using welcoming and inclusive language
27-
* Being respectful of differing viewpoints and experiences
28-
* Gracefully accepting constructive criticism
29-
* Focusing on what is best for the community
30-
* Showing empathy towards other community members
25+
## Participation Policies and Code of Conduct
26+
See our [CODE OF CONDUCT page](CODE_OF_CONDUCT.md).

README.md

Lines changed: 41 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,73 +1,84 @@
11
# Mobility Data Specification
22

3-
The Mobility Data Specification (**MDS**) is a set of data specifications and data sharing requirements focused on dockless e-scooters, bicycles and carshare. Inspired by [GTFS](https://developers.google.com/transit/gtfs/reference/) and [GBFS](https://github.com/NABSA/gbfs) the goals of the MDS are to provide API and data standards for municipalities to help ingest, compare and analyze *mobility as a service* provider data.
3+
The Mobility Data Specification (**MDS**), a project of the [Open Mobility Foundation](http://www.openmobilityfoundation.org) (OMF), is a set of Application Programming Interfaces (APIs) focused on dockless e-scooters, bicycles and carshare. Inspired by projects like [GTFS](https://developers.google.com/transit/gtfs/reference/) and [GBFS](https://github.com/NABSA/gbfs), the goals of MDS are to provide a standardized way for municipalities or other regulatory agencies to ingest, compare and analyze data from mobility service providers, and to give municipalities the ability to express regulation in machine-readable formats.
44

5-
The **MDS** helps the City ingest and analyze information from for-profit companies who operate dockless scooters, bicycles and carshare in the public right-of-way. MDS is a key piece of digital infrastructure that helps cities and regulators such as Los Angeles Department of Transportation (LADOT) understand how dockless mobility operate.
5+
**MDS** helps cities interact with companies who operate dockless scooters, bicycles and carshare in the public right-of-way. MDS is a key piece of digital infrastructure that supports the effective implementation of mobility policies in cities around the world.
66

7-
Mobility providers are required to share data with LADOT as part of the City of Los Angeles' Dockless Mobility Permit. Standardizing data collection between different providers improves cooperation, innovation, and efficiency of the City's transportation network.
7+
**MDS** is an open-source project. It was originally created by the [Los Angeles Department of Transportation](http://ladot.io) (LADOT). In November 2019, stewardship of MDS and the ownership of this repository was transferred to the Open Mobility Foundation. GitHub automatically redirects any links to this repository in the `CityOfLosAngeles` organization to the `openmobilityfoundation` instead. MDS continues to be used by LADOT and many other municipalities.
88

99
**MDS** is currently comprised of three distinct components:
1010

11-
* The [`provider`][provider] Application Program Interface (API) was first released May 2018 to be implemented by mobility providers. When a municipality queries information from a mobility provider, the Provider API has a historical view of operations in a standard format.
11+
* The [`provider`][provider] API endpoints are intended to be implemented by mobility providers and consumed by regulatory agencies. When a municipality queries information from a mobility provider, the Provider API has a historical view of operations in a standard format. It was first released in June 2018. Development takes place under the guidance of the OMF's Provider Services Working Group.
1212

13-
* The [`agency`][agency] API was first released in April 2019 to be implemented by regulatory agencies. The first implementation went live in Febuary 2019. Providers query the Agency API when an event occurs, like a trip starting or ending.
13+
* The [`agency`][agency] API endpoints are intended to be implemented by regulatory agencies and consumed by mobility providers. Providers query the Agency API when events (such as a trip start or vehicle status change) occur in their systems. It was first released in April 2019. Development takes place under the guidance of the OMF's City Services Working Group.
1414

15-
* The [`policy`][policy] specification was first released in October 2019 to be implemented by regulatory agencies. Providers query Policy endpoints to obtain machine-readable regulatory rules that can be used to evaluate compliance with Agency policy.
15+
* The [`policy`][policy] API endpoints are intended to be implemented by regulatory agencies and consumed by mobility providers. Providers query the Policy API to get information about local rules that may affect the operation of their mobility service or which may be used to determine compliance. It was first released in October 2019. Development takes place under the guidance of the OMF's City Services Working Group.
1616

17-
Cities and regulators can choose how best to implement *Agency*, *Provider*, and/or *Policy* either separately, concurrently, or by endpoint.
17+
MDS 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`, or `policy`. Or they may select specific elements (endpoints) from each to help them implement their goals.
1818

1919
## Learn More / Get Involved / Contributing
20+
To stay up to date on MDS releases, meetings, and events, please **subscribe to the [mds-announce](https://groups.google.com/a/groups.openmobilityfoundation.org/forum/#!forum/mds-announce) mailing list.**
2021

21-
* To stay up to date on MDS releases and planning calls, please subscribe to the [MDS-Announce](https://groups.google.com/forum/#!forum/mds-announce) mailing list.
22-
* You can view info about past releases and planning calls in the [wiki](https://github.com/CityOfLosAngeles/mobility-data-specification/wiki).
23-
* To understand the contributing guidelines review the [CONTRIBUTING page.](CONTRIBUTING.md)
24-
* To learn more about MDS and other related projects, including LADOT's Technology Action Plan, visit [ladot.io.](https://ladot.io/)
22+
The Mobility Data Specification is an open source project with all development taking place on GitHub. Comments and ideas can be shared by [creating an issue](https://github.com/openmobilityfoundation/mobility-data-specification/issues), and specific changes can be suggested by [opening a pull request](https://github.com/openmobilityfoundation/mobility-data-specification/pulls). Before contributing, please review our [CONTRIBUTING page](CONTRIBUTING.md) to understand guidelines and policies for participation and our [CODE OF CONDUCT page](CODE_OF_CONDUCT.md).
2523

26-
For questions about MDS please contact [ladot.innovation@lacity.org](mailto:ladot.innovation@lacity.org).
24+
You can also get involved in development by joining an OMF working group. The working groups maintain the OMF GitHub repositories and work through issues and pull requests. Each working group has its own mailing list for non-technical discussion and planning:
25+
26+
Working Group | Mailing List | Description
27+
--- | --- | ---
28+
Provider Services | [mds-provider-services](https://groups.google.com/a/groups.openmobilityfoundation.org/forum/#!forum/mds-provider-services) | Manages the [`provider`][provider] API within MDS.
29+
City Services | [mds-city-services](https://groups.google.com/a/groups.openmobilityfoundation.org/forum/#!forum/mds-city-services) | Manages the [`agency`][agency] and [`policy`][policy] APIs within MDS, as well as the [`mds-core`](https://github.com/openmobilityfoundation/mds-core) reference implementation.
30+
31+
You can view info about past releases and planning calls in the [wiki](https://github.com/openmobilityfoundation/mobility-data-specification/wiki).
32+
33+
34+
For questions about MDS please contact [info@openmobilityfoundation.org](mailto:info@openmobilityfoundation.org). Media inquiries to [media@openmobilityfoundation.org](mailto:media@openmobilityfoundation.org)
2735

2836
## Versions
2937

30-
The specification will be versioned using Git tags and [semantic versioning](https://semver.org/). See prior [releases](https://github.com/CityOfLosAngeles/mobility-data-specification/releases) and the [Release Guidelines](ReleaseGuidelines.md) for more information.
38+
The specification will be 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](ReleaseGuidelines.md) for more information.
3139

3240
Information about the latest release and all releases are below. Please note, you may be viewing a development copy of the Mobility Data Specification based on the current branch. Info about the latest release and all releases is below.
3341

34-
* [Latest Release](https://github.com/CityOfLosAngeles/mobility-data-specification/tree/master)
42+
* [Latest Release](https://github.com/openmobilityfoundation/mobility-data-specification/tree/master)
3543

36-
* [All Releases](https://github.com/CityOfLosAngeles/mobility-data-specification/releases)
44+
* [All Releases](https://github.com/openmobilityfoundation/mobility-data-specification/releases)
3745

38-
## Cities Using MDS
46+
## Cities Using MDS
3947

40-
The Mobility Data Specification is an Open Source project. Comments can be made by making an Github Issue, while suggested changes can be made using a pull request. Many cities and operators have implemented MDS, more details about their specific programs can be found below.
48+
More than 80 cities and public agencies around the world use MDS, and it has been implemented by most major mobility providers. Below are links to some specific agency programs/policies:
4149

4250
* Los Angeles: The rules and guidelines for the Los Angeles Dockless Bikeshare Systems / Pilot Program can be found on [Council Clerk Connect](https://cityclerk.lacity.org/lacityclerkconnect/index.cfm?fa=ccfi.viewrecord&cfnumber=17-1125) along with supporting info on [ladot.io](https://ladot.io/programs/dockless/).
4351
* Santa Monica: The rules and guidelines for the Santa Monica Shared Mobility Pilot Program can be found at https://www.smgov.net/sharedmobility.
4452
* Austin: The rules and guidelines for Austin's Micromobility Program can be found at https://austintexas.gov/micromobility.
4553
* Ulm: A draft of the guidelines can be found at [the city's GitHub presence](https://github.com/stadtulm/mds-zonen).
46-
47-
[Add your City here by opening a pull request](https://github.com/CityofLosAngeles/mobility-data-specification/compare)
54+
* _[add your City here by opening a pull request](https://github.com/openmobilityfoundation/mobility-data-specification/compare)_
4855

4956
## Use Cases
50-
MDS enables cities to:
57+
Some examples of how cities are using MDS in practice:
5158

5259
- Verify how many scooters are operating.
53-
- Verify whether scooters are being deployed equitably across neighborhoods.
54-
- Determine whether scooters are dropped off outside of a service area.
60+
- Verify whether scooters are being deployed equitably across neighborhoods.
61+
- Determine whether scooters are dropped off outside of a service area.
5562
- Determine whether scooters are being parked in safe and appropriate parking areas.
56-
- Ensure compliance with Device Caps, Operating Regulations.
57-
- Ensure inform and help manage 311 / Service Request style operations.
63+
- Ensure compliance with device caps and operating regulations.
64+
- Ensure inform and help manage 311 / Service Request style operations.
5865
- Inform future capital investments such as dockless vehicle drop zones or furniture zones.
59-
- Inform policy making – number of scooters, distribution, etc.
66+
- Inform infrastructure planning efforts such as the addition of bike lanes or street redesigns.
67+
- Provide visibility into the relationship between micromobility and other modes, such as public transit
68+
- Inform micromobility policy making – number of scooters, distribution, etc.
6069
- Develop ways to communicate dynamic information on unplanned events, such as emergency road closures, water main breaks, etc. to mobility providers to help them keep their users and contractors informed for better route planning and re-balancing efforts.
61-
- Much More!
6270

6371
## Related Projects
6472

73+
### Open Mobility Foundation
74+
* [`mds-core`](https://github.com/openmobilityfoundation/mds-core) - A reference implementation of an MDS Agency Server, built using PostgresQL, TypeScript, NodeJS.
75+
* [`mds-compliance-mobile`](`https://github.com/openmobilityfoundation/mds-compliance-mobile`) - A mobile app for performing in-the-field data validation and compliance monitoring.
76+
6577
### City of Los Angeles
66-
* [`mds-dev`](https://github.com/cityoflosangeles/mds-dev) - Code to do cap checking, fake data generation and more with provider data.
67-
* [`mds-validator`](https://github.com/cityoflosangeles/mds-validator) - Code to validate MDS APIs using JSONSchema.
68-
* [`aqueduct`](https://github.com/cityoflosangeles/aqueduct) - ETL, Data Warehousing, and Machine Learning Platform for LA City Data Science team. Handles extracting MDS provider APIs and storing in data warehouse.
78+
* [`mds-dev`](https://github.com/cityoflosangeles/mds-dev) - Code to do cap checking, fake data generation and more with provider data.
79+
* [`mds-validator`](https://github.com/cityoflosangeles/mds-validator) - Code to validate MDS APIs using JSONSchema.
80+
* [`aqueduct`](https://github.com/cityoflosangeles/aqueduct) - ETL, Data Warehousing, and Machine Learning Platform for LA City Data Science team. Handles extracting MDS provider APIs and storing in data warehouse.
6981
* [`mds-agency-cli`](https://github.com/cityoflosangeles/mds-agency-cli) - Nodejs-based command-line interface to exercise the Agency API in the LADOT sandbox
70-
* [`mds-core`](https://github.com/CityOfLosAngeles/mds-core) - An MDS Agency Server, built using PostgresQL, TypeScript, NodeJS.
7182

7283
### City of Santa Monica
7384
* [`mds-provider`](https://github.com/cityofsantamonica/mds-provider) - Python package implementing a provider API client, validation using JSONSchema, data loading to multiple targets, and fake provider data generation.

agency/README.md

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@
22

33
This specification contains a collection of RESTful APIs used to specify the digital relationship between *mobility as a service* Providers and the Agencies that regulate them.
44

5-
* Authors: LADOT
6-
* Date: 19 Sep 2019
5+
* Date: 19 Sep 2019
76
* Version: BETA
87

98
## Table of Contents
@@ -25,7 +24,7 @@ When making requests, the Agency API expects `provider_id` to be part of the cla
2524

2625
## Timestamps
2726

28-
As with the Provider API, `timestamp` refers to integer milliseconds since Unix epoch.
27+
As with the Provider API, `timestamp` refers to integer milliseconds since Unix epoch.
2928

3029
## Strings
3130

@@ -58,8 +57,8 @@ If `device_id` is specified, `GET` will return a single vehicle record, otherwis
5857
"next": "https://..."
5958
}
6059
}
61-
```
62-
60+
```
61+
6362
A vehicle record is as follows:
6463

6564
| Field | Type | Field Description |
@@ -82,7 +81,7 @@ _No content returned on vehicle not found._
8281

8382
## Vehicle - Register
8483

85-
The `/vehicles` registration endpoint is used to register a vehicle for use in the Agency jurisdiction.
84+
The `/vehicles` registration endpoint is used to register a vehicle for use in the Agency jurisdiction.
8685

8786
Endpoint: `/vehicles`
8887
Method: `POST`
@@ -118,7 +117,7 @@ _No content returned on success._
118117

119118
## Vehicle - Update
120119

121-
The `/vehicles` update endpoint is used to update some mutable aspect of a vehicle. For now, only `vehicle_id`.
120+
The `/vehicles` update endpoint is used to update some mutable aspect of a vehicle. For now, only `vehicle_id`.
122121

123122
Endpoint: `/vehicles/{device_id}`
124123
Method: `PUT`

0 commit comments

Comments
 (0)