HACKER Q&A
📣 weitzj

Why is there protobuf,Avro,JSON Schema,etc. instead of ASN.1?


I am searching for a nice serialization format which offers a binary and plaintext representation and which allows to specify validation rules.

It seems like reinventing a wheel. And the wheel seems to be ASN.1 as far as I understood.

Could you maybe guide me from your experience why many other serialization formats were invented and why not everybody uses ASN.1 where you already get all kinds of RFCs (e.g 5280) or ISO standards on how to define for example a representation of a TLS certificate and and such.


  👤 dekhn Accepted Answer ✓
I tried to use ASN.1 and there were no libraries to use at the time. Protocol buffers exist to product compact messages where varint encoding can shine, and to produce forward-compatible messages when server schemas get updated (I don't know how ASN.1 handles that).

👤 ptramo
There's little to no tooling for most languages.