Live data from Hacker News

Protobuf Editions are here: don't panic

buf.build

31–40 of 58 posts

Re: Protobuf Editions are here: don't panic

#31
post #25

Oh look, Google is shipping their org chart again. > What problems are Editions solving? > > In short, nothing really (for end users). The introduction of Editions > is the result of major Google-internal refactoring of how protoc and its > plugin architecture implements and observes feature checks when generating > code. This isn’t intended to force breaking changes to existing projects, > nor is it designed to impa…

I don't understand why this is a problem. It's not uncommon to see multi-decade old systems refactored for extensibility and maintainability every once in a while. What worked when it was initially designed won't work forever, and it's hard to make users lives better if the maintainers can't make their own lives better.

(BTW, this isn't "shipping their org chart.")

Re: Protobuf Editions are here: don't panic

#32
post #3

> It’s unclear what an edition's official support lifetime will be today, although Google has suggested it might be “like 10 years.” ambiguous timeline? sounds right for google.

The timeline depends on when the project will stop being useful to generate promotions.

Thanks Sundar for great org incentive structure!

Re: Protobuf Editions are here: don't panic

#33
post #28
post #18

As if I couldn’t hate protobufs any more. They go and layer on yet more complexity. These sorts of things need to be as simple as humanly possibly and get out of your way so you can actually do some programming. Instead protobufs are the opposite. Full of backwards compat issues, footguns, and needless complexity that make them an absolute horror to work with.

Do you have a preferred message protocol?

JSON with a good schema if you're doing it across languages?

Re: Protobuf Editions are here: don't panic

#34
post #31
post #25

Oh look, Google is shipping their org chart again. > What problems are Editions solving? > > In short, nothing really (for end users). The introduction of Editions > is the result of major Google-internal refactoring of how protoc and its > plugin architecture implements and observes feature checks when generating > code. This isn’t intended to force breaking changes to existing projects, > nor is it designed to impa…

I don't understand why this is a problem. It's not uncommon to see multi-decade old systems refactored for extensibility and maintainability every once in a while. What worked when it was initially designed won't work forever, and it's hard to make users lives better if the maintainers can't make their own lives better. (BTW, this isn't "shipping their org chart.")

I thought Conway's law was fairly prolific.

Though, the closer it is to a true a "law", then the closer GP's comment approaches a tautology.

https://wikipedia.org/wiki/Conway%27s_law

Re: Protobuf Editions are here: don't panic

#35

I've always liked the simplicity of protobuf, and this change seems to add unnecessary complexity. And: "What problems are Editions solving? In short, nothing really (for end users). The introduction of Editions is the result of major Google-internal refactoring[...]"

Design by promo.

Promobuf

Re: Protobuf Editions are here: don't panic

#36
post #28

Earlier quoted context omitted.

Do you have a preferred message protocol?

JSON with a good schema if you're doing it across languages?

XML, JSON, and YAML belong to a totally diffent class of use than protobuf, flatbuffers, capnproto, etc

It's like comparing apples and screwdrivers.

Re: Protobuf Editions are here: don't panic

#38

Earlier quoted context omitted.

JSON with a good schema if you're doing it across languages?

XML, JSON, and YAML belong to a totally diffent class of use than protobuf, flatbuffers, capnproto, etc It's like comparing apples and screwdrivers.

They're comparable for a lot of use cases. In fact many protobuf-based APIs will also have a JSON mode.

Re: Protobuf Editions are here: don't panic

#39
post #37

Earlier quoted context omitted.

JSON with a good schema if you're doing it across languages?

JSON is the serialization format. What's the IDL?

I've seen OpenAPI/Swagger in the wild a few times. It's a good way to specify the API for an HTTP server, whether it's JSON or something else. Biggest downside is the confusing name change.

Re: Protobuf Editions are here: don't panic

#40
post #28

Earlier quoted context omitted.

Do you have a preferred message protocol?

JSON with a good schema if you're doing it across languages?

I'm sure there's some great schema implementation that you can bolt onto JSON, but personally I have never seen anyone actually using one in the wild.

With protobuf the schema is essential, it is the foundation. I feel this is a huge advantage especially for communication protocols.

Post reply on HN