What I learned from my first PR to Athens

Aravind Kp
Sep 27, 2018 · 2 min read

In this blog post, I’ll describe my experience and first thoughts on the Athens project. This project is written in Go and we’re building a proxy for go modules. Even though I don’t know much about go modules, I was able to make my first contribution to the project. I really like this community since it’s very welcoming and friendly.

Long story short,

  • You don’t have to be super knowledgeable about the project to make contributions.
  • You don’t have to be a Golang wizard.
  • People in the community are ready to help and collaborate.

I learned about vgo from Russ’s talk and I wanted to try it out. Since I was lazy and didn’t want to try it super early, I decided to try it after the Go 1.11 release. As I was learning about it, I came across Athens.

After getting a general understanding of what Athens does, I started thinking about scenarios such as GitHub or another VCS going down and its effect on our builds. What if we want to share a private module with many teams in our company, how can we achieve this?

Upon reading the documentation, I understood that Athens solves these and many other problems. Kudos to the people who put together this amazing documentation. I believe everyone reading the docs would feel the same.

Now I was really interested in the project and the idea. I also found some amazing people in the go community involved in Athens. The welcoming nature of folks gave a good reason to contribute to the community.

I started looking at some “good first issues” on GitHub. I took up an issue, thought about the ways to solve it. I read through the codebase and read the relevant documentation for setting up the development environment. In no time I submitted a PR, got it reviewed and merged it to master. If you have some free time and excited to write some Go, you should also give it a try.

I’ll keep everyone updated about the project and my experiences along the way. In the meantime, stay awesome folks.

Links

Project Athens

A distributed proxy server for Go (Golang) modules

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade