I've always felt a little uncomfortable how many open source projects README files they've edited to recommend their product. You read it thinking it's mandatory, then you realize it's just an ad (see "PRICING") and that you can continue to use "go generate" like you always have.<p>(Example: <a href="https://github.com/grpc-ecosystem/grpc-gateway/pull/1971" rel="nofollow">https://github.com/grpc-ecosystem/grpc-gateway/pull/1971</a>)
> <i>To us, the CLI isn't an ancillary tool or a sideshow; we treat it like a full-fledged product. Our policy is to never make breaking changes within a version of the CLI. Now that buf has reached a stable 1.0, you can expect no breaking changes until v2.0—and we have no plans to ever release a v2.0. While we do intend to release new features in the buf CLI, you can expect total stability for all of the functionality that you rely on.</i><p>> <i>Reference:</i> <a href="https://buf.build/blog/buf-cli-v1#meaning" rel="nofollow">https://buf.build/blog/buf-cli-v1#meaning</a><p>That is an interesting promise, a bit similar to Go’s v1 compatibility — <a href="https://go.dev/doc/go1compat" rel="nofollow">https://go.dev/doc/go1compat</a><p>However, I think using the word <i>“[n]ever”</i> is too strong here. No one can predict the future, so the chances of this being a false statement are high. They could have removed that paragraph and the general message would have been okay. Do not over-promise, instead, over-deliver. If they want to make backward compatible changes to the code, they can do so without promising to never release a v2.0, that is just silly.
I am very excited to try this out.<p>One day we are going to reach a convergence of really expressive typing tools (for interface description languages [IDL] and downstream consumers) that realizes the dream of effortless interop.<p>I bring up using protobufs everywhere Ive worked since 2014 when I learned much about them from a xoogler but so few people see the benefits.<p>I think tooling like Buf should help reduce the friction (and fear) I just need to carve out time to try it.