I would say being verbose is a positive thing. It removes the need of having additional (and usually out-of-sync) documentation. Plus all the tooling around it that allows you to keep public Dev documentation in sync with min effort.
You still need to write a spec with protobufs. It's just that the spec is much more succinct and easy to read. And you can generate docs from it. E.g.:
No, it's not. A description of a single method can often span a couple of screens, and still not cover everything.
In addition, YAML is not easily composable, so you end up with files that are megabytes in size. This is completely useless for humans, unless you start using third-party tools to split the file into parts.
Protobuf-based protocols are also much better specified, and they don't have multiple ways to pass in data. Meanwhile, OpenAPI supports: headers, path queries, multiparts, forms with various encodings, uploads, etc.
So, we ended up by using https://rubygems.org/gems/oas_rails which does the heavy work and generates almost everything. We only had to document the endpoints.
Not sure about the corporate advertising tone of the article, but I love OpenAPI. Having to work with various third party HTTP/JSON APIs all the time, I know I would rather deal with imperfect rigid generated client code than half-assed specs and shoddy examples. As a bonus, you can also generate your own server emulation for local testing, which is worth gold when dealing with real hardware.
Protobuf-based APIs are much nicer to work with. Either via gRPC, or via ConnectRPC.
If you don't want things like client/server generators and documentation, then sure it's not great
https://cloud.google.com/appengine/docs/admin-api/reference/...
Do an experiment, take a Protobuf spec for some Google API and convert it into OpenAPI.
No, it's not. A description of a single method can often span a couple of screens, and still not cover everything.
In addition, YAML is not easily composable, so you end up with files that are megabytes in size. This is completely useless for humans, unless you start using third-party tools to split the file into parts.
Protobuf-based protocols are also much better specified, and they don't have multiple ways to pass in data. Meanwhile, OpenAPI supports: headers, path queries, multiparts, forms with various encodings, uploads, etc.