Getting started with ODCS
Like every new technology or concept, Open Data Contract Standard (ODCS) may require a quick getting started page. In this article, I detail how you can get started and contribute.
What is ODCS?
If you are not familiar with data contracts, I would suggest reading this article. You can also get Data Contracts for all ages or Andrew Jones' Driving Data Quality with Data Contracts.
ODCS was born from my team's work at PayPal around Data Mesh. The team needed a flexible resource descriptor; later, it became open source as the Data Contract Template. To gain more traction and popularity, AIDA User Group (AIDA) took over and partnered with the Linux Foundation AI & Data. to create the Bitol project. Now, ODCS is growing in popularity as an open standard on GitHub.
Contributing to ODCS and Bitol
You can get involved in many ways; I summarized most of them here.
Getting in touch
Whatever you are doing, the first thing is to get in touch with the people in the group. Even if the Linux Foundation is working with email forums, all the participants are on Slack, which is hosted by AIDA. To access Slack, become a member of AIDA (it's free), and then you will have access to the Slack channels (and other benefits).
If you need the Slack URL, it is https://aidaug.slack.com.
Curious adopters
If you are here to understand how ODCS is used and what people are doing with it (and there's some real innovation and value there), start with #introduce-yourself and follow the discussions in #odcs-data-contract.
Active participants
As your participation grows, you will either be invited to a working group, create a group for your specific issues, or participate actively in various features.
Committers
ODCS lives in its repo on GitHub. Only committers can modify the code and the examples. As for any current software project, we have a system of pull requests (PR).
Technical Steering Committee (TSC)
Very active participants and committers will be invited to the steering committee. Only la crème de la crème have a seat. The TSC is motivated by balancing users, service providers, and software vendors strictly.
TSC' operations are described on GitHub. They meet monthly, and their meeting is recorded and shared on YouTube.
Tools we avoid
We stay on Slack for communication and Zoom for only meetings. We avoid e-mails, e-mail chains, and forums (including the ones provided by the Linux Foundation). We also do not use the issues mechanism in GitHub.
Best methods for contributing
Check out a few ways to help, but if you have any ideas, reach out!
Adding some examples
People love examples. Feel free to add any examples to the repo via a PR, whether you are a committer or not. Make sure your example is validated against the JSON schema; the team has not set up a GitHub action to ensure that yet, but if you feel like volunteering, reach out!
Extensions & modifications to the standard
Keep it short and simple (KISS) and discuss it before. Many contributors are excited and submit massive suggestions right from the get-go. Although their enthusiasm is genuine and exciting to see and feel, large contributions are very difficult to get through.
Create a request for comment (RFC)
In the TSC repo, you can create a request for comment (RFC). We do not have a formal process yet, but you can get some inspiration from the ones that are already there.
Create cool content
If you create cool content, ping us, and we will add it to the growing list in the README.md. You can use any of the artwork you find on the repo, including the ones in the ODCS repo or the artwork repo.
Thank you
Thanks for your interest, passion, and love for this project. You can make a difference; the entire team is grateful for your help. It all starts by joining AIDA and introducing yourself in Slack! See you there!
Photo by SevenStorm Juhaszimrus.