Welcome!
Thanks for your interest and for taking the time to come here! ❤️
This standard describes a structure for a data contract. It's current version is v2.2.2. It is available for you as an Apache 2.0 license. Contributions are welcome!
Discover the Open Data Contract Standard. This file contains some explanations and several examples. More examples can be found here.
A data contract defines the agreement between a data producer and consumers. A data contract contains several sections:
- Fundamentals.
- Schema.
- Data quality.
- Service-level agreement (SLA).
- Security & stakeholders.
- Custom properties.
Figure 1: illustration of a data contract, its principal contributors, sections, and usage.
JSON Schema for ODCS can be found here. You can import this schema into your IDE for validation of your YAML files. Links below show how you can import the schema:
Check out the CONTRIBUTING file.
- 2024-02-06 - Getting started with ODCS
- 2023-12-08 - Why the Need for Standardizing Data Contracts?
- 2023-11-30 - Linux Foundation AI & Data - Bitol Joins LF AI & Data as New Sandbox Project
- 2023-11-30 - AIDAUG - Bitol Joins LF AI & Data as New Sandbox Project
- 2023-10-01 - Data Contracts: A Bridge Connecting Two Worlds
- 2023-09-10 - Data Contracts 101
- 2023-08-10 - Welcome to the Open Data Contract Standard
- 2023-05-11 - Data Contracts – Everything You Need to Know
- 2023-05-07 - Data Engineering Weekly #130 - Data Contract in the Wild with PayPal’s Data Contract Template
- 2023-05-06 - PayPal เปิด Data Contract เป็น Open Source Template ให้ไปใช้งานกัน
- 2023-05-05 - Jonathan Neo (j__neo ) on Reddit
- 2023-05-01 - PayPal open sources its data contract template
If you spot an article about the Open Data Contract Standard, make a pull request!
Vendors who natively support the Open Data Contract Standard.
A non-exhaustive list of organizations offering solutions natively compatible with ODCS, such as data catalogs, and data quality platforms.
Formerly known as the data contract template, this standard is used to implement Data Mesh at PayPal. Starting with v2.2.0, it is maintained by a 501c6 non-profit organization called AIDA User Group (Artificial Intelligence, Data, and Analytics User Group). On November 30th, 2023, AIDA User Group and the Linux Foundation AI & Data joined forces to create Bitol. Bitol englobes ODCS and future standards & tools.
PayPal uses data contracts in many ways, but this article from the PayPal Technology blog gives a good introduction.
To start with using mike as a tool for versioning the documentation, the following was run:
pip install mike
cd open-data-contract-standard #ensure you are inside the repo
mike deploy --push --update-aliases v2.2.1 latest #set latest version to v2.2.1
mike set-default --push latest #by default, users will go to latest
Given that the Github action here it set to trigger when a new tag version is created, all that is required is to:
- Create a new release
- Put in new tag version for release (follows pattern v*)
- Once release is created with new tag version, the Github action gets kicked off and mike will deploy the latest documentation linked to latest version tag
If a version tag was pushed that was incorrect, it can be deleted via:
mike deploy --push --update-aliases <previous tag version> latest #set latest version to previous tag version
mike delete <incorrect tag> --push