-
Notifications
You must be signed in to change notification settings - Fork 18k
cmd/go: Converting projects to semver? #26870
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
@gopherbot, please add labels modules |
I am also interested in this question as a consumer of non-semver compliant packages, which is causing my builds to break. In my case, I am dealing with the docker project. If for business, political or some other non-technological reason, a project won't do semver, is there a recommendation for what I, as a consumer of that library, should do? Forking the project, adding a go.mod, and adding appropriate semver git tags would "fix" the problem of not being able to build my code but I am not sure it addresses the political question and of course that has a variety of unfortunate costs and side effects. Alternatively, maybe the go community would quickly just refuse to consume libraries that don't use go modules. In which case, its a non-issue. |
Fundamentally, modules require consistent, predictable tagging. For cases like For cases like The latter cases may require more API stability than a project is used to, or may require moving to an explicitly-unstable tagging scheme (such as |
It's really up to you to decide what libraries to use and how to deal with unstable APIs. If you don't mind dealing with churn, you can always leave your own project in an unstable ( |
According to the docs modules must be semantically versioned. There is a problem in that many existing codebases and packages do not use proper semantic versioning as of today.
Some examples, meant to illustrate some various ways semver is intentionally not followed, include:
kubernetes-
instead ofv
Notes:
For projects like these, with existing processes and behaviors, what is the direction for them? How can that direction be communicated in mass or automated with guidance?
The text was updated successfully, but these errors were encountered: