Keeping Important Go Packages Alive

One of the biggest benefits of using the Go programming language has to be the number of third-party packages available for different things. When needing to find a package for doing something like generating UUIDs, you head on over to https://godoc.org/ and use the search function to look for a package that contains a keyword of what you’re looking to do:

Image for post
Image for post

A Quality Package

Over the past two years I’ve become more involved with certain areas of the Go community, specifically with the Slack workspace. One of the biggest types of questions we field in the main channels are people asking for recommendations on which packages to use in certain situations. They have a problem they want to solve, and want to make sure they using something they can rely on.

The Gofrs

To help pick up the maintenance of packages that are heavily relied on by the Go community, a few of us in the Slack workspace have banded together to start a group we’re calling The Gofrs (pronounced like gophers). One of the challenges we’ve seen in finding maintainers for projects, is that one individual is generally not going to take-on the full project from another person. If they do, it doesn’t reduce the risk of the project becoming unmaintained again were they to become unavailable.

Our First Project

The conversation around creating The Gofrs was started after some issues were reported with the most popular UUID generation package in Go, https://github.com/satori/go.uuid. Specifically, the library was not generating unique UUIDs and had some breaking API changes that had not been included in a tagged release. Based on the open issues, pull requests, and current state of the repository, it did not appear that the original author was actively engaged. With this we decided to fork the project together, and to bring it back in to a good state.

What’s Next?

We’ve not discussed this much as a group as we’ve been focused on getting our UUID package in to a good state. I think one of the first things we should do is get a simple static site set up on https://gof.rs. The domain has been reserved, but it’s currently not serving content.

How Can I Help?

If you know of a project that’s pretty widely used in the community in need of maintainers, please open an issue on this repository so that we can evaluate whether we’re a good fit to adopt it:

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store