-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Description
Hi,
This morning I stumble upon a tweet linking to the golang blog's entry announcing the release of APIv2 of this project.
On a strict naming and versioning level I'd like to express my personal thought which tells me it would have been very hard to do things more wrong.
First of all you have chosen to release a new NON backward compatible version of your project, that you don't hesitate to name APIv2
, with the tag v1.20.0
although the last tag of the previous line was v1.3.4
. How could you not see how this is highly confusing ?
I can't understand why you chose to do that instead of tagging your new API v2.0.0
.
Changing the import path from github.com/golang/protobuf
to google.golang.org/protobuf
does not make it right. It should have been a v2.0.0
tag.
And what about that change of import path ? Why ? How is that a good idea to have two different import path for the same project for two different branches ? How does one tell which is the new one from the old one from those import paths ?
Why was it wrong to have github.com/golang/protobuf
and github.com/golang/protobuf/v2
, which, by the way, is the convention enforced by go mod ...
And if the change of import path was mandatory (I don't want to assume why), then it should have been google.golang.org/protobuf/v2
.
Also what about https://github.com/protocolbuffers/protobuf-go vs https://github.com/golang/protobuf ? Which one is supposed to be the good one ? At this time you cannot post issues to the first one but you can open PRs on both ...
So, to summarize, you decided to ignore of both SEMVER and go mod conventions resulting with a high level of confusion.
I really hope that no one will take example on what you've done here for their own projects.
Regards.