Skip to main content

Control and ownership

·1 min

You can’t use data contracts - or anything - to try to gain control over something owned by someone else.

You can only use it as part of a process that encourages the behaviours you want, and discourages the behaviours you don’t.

It’s the same as any API or interface.

Stripe could change their API tomorrow, breaking everyone who has integrated with it. They won’t, because they know stability it’s important to their consumers. In fact, they invest in a lot of tooling and reviewing to prevent this happening, deliberately or otherwise. But it’s in their control, and no one else has that control over their API.

Similarly, the authors of Pandas could change the dataframe interface and release it as a patch release, which would break lots of things for their consumers. There’s an implicit agreement they won’t, and would create a new major version with a migration path. But again, only they have the control here.

That’s why data contracts must be owned by the producer. Only they have control over the data, and it’s quality.


Want great, practical advice on implementing data mesh, data products and data contracts?

In my weekly newsletter I share with you an original post and links to what's new and cool in the world of data mesh, data products, and data contracts.

I also include a little pun, because why not? 😅

Enter your best email here:

    (Don’t worry—I hate spam, too, and I’ll NEVER share your email address with anyone!)

    Andrew Jones
    Author
    Andrew Jones
    I build data platforms that reduce risk and drive revenue.