On my YouTube channel, I have recently launched a new series called “Observable Lightning Talks”, where I invite three observability experts to share their knowledge with us.
In my first episode, I invited Steve McGhee, Aolita Sharma, and Michael Hausenblas to share their remarkable stories and takeaways from their work.
I already summarized my talk with Steve McGhee in a previous blog post (Non-standard SLOs: beyond availability) and the one with Aolita Sharma (Open Source Observability and OpenTelemetry - A win-win for users). Today, I’ll share the key takeaways from Micheal Hausenblas’ talk.
Michael Hausenblas is a Solution Engineering Lead and OpenTelemetry Product Manager in AWS's open source observability service team. He explains why open standards are needed and gives examples of projects you can contribute to.
Why open standards?
Open standards are important in software engineering for three reasons in particular:
1
Interoperability
2
Enable users to swap implementations
3
Mitigate lock-in
Specifications usually describe a system’s behavior. However, that doesn’t automatically make them a standard. You can turn a specification into a standard with consensus, meaning different vendors agree upon using the same specifications for their products.
Consequently, systems become interoperable, and users can swap out implementations. It also helps mitigate vendor lock-in, which is good from a user’s perspective. You're safe from being locked in if you have an API or an SDK.
Some basic requirements to create open standards are
1
Access to specification
2
Process
Bodies (IETF, W3C, CNCF) (Organizations that allow competitors to come together and write these specifications in a formal process)
Greenfield vs. after the fact (should you write the specification first or do it after the implementation?)
Dependencies
3
Adoption (At the end of the day, adoption counts. Just because something is a standard, it doesn’t necessarily mean it will be used.)