Package management in Go is an evolving space. Compared to other languages, there is room for improvement. And as Matt Butcher recently pointed out, with Go package management we can learn from others successes and mistakes.
The package manager space has become cluttered with options. The wiki page listing them has over 20 different tools. As someone working on one of the tools (Glide) and trying to work out compatibility with some of the other popular tools data formats I see an opportunity that we can all share in. That is a shared specification formation and surrounding functionality to work with them.
To that end I started a project to capture requirements and details for that. The first step, I believe, is to capture the requirements. I’ve started by capturing an initial set of use cases with some base details around the kinds of information that needs to be captured to solve them.
This is where those of you who are interested can help. What do you think of these use cases? Is the data right? How could these be improved and why? This is my open call asking for feedback.
You may be wondering, what about the vendor-spec effort someone else already started? I asked the same thing and decided to see if I could use it to meet my needs. When I found gaps I tried to see if alterations could be incorporated to meet my needs. When they couldn’t I decided, in open source tradition, to try and craft something that would. A little healthy cooperition.
At the end of the day what I’d ideally like is for the Go developers life to be a little easier. If you have feedback I’d love to hear it.