This page looks best with JavaScript enabled

Why I contributed to DigitalOcean's OSS

· ☕ 3 min read


In the Engineering field, there are many Open Source Software(OSS)s.
It is “open sourced” to gather contributions and great ideas all over the world more than just developing in a company. OSS has a power to create a nice product that a company can’t.

Moreover, not only gathering contribution it also helps developers all over the world.
Many company uses OSS to build their product(s), accerating the agility.

I sometimes contributes to OSSs but I really wanted to contribue to DigitalOcean’s product and write a post about it.
In this post, I will explain my motivation and what & how I contributed.


In last November, I joined HacktoberFest 2019 and I got a really nice swag.

Awesome swags that DigitalOcean gave me

Even this festival held by DigitalOcean, any OSS contribution is accepted as a contribution.

I thought this mindset of DigitalOcean is cool because they are truely trying to make the world better.
DigitalOcean is not a not-profit organization, it is a company just like yours. They have to earn money at the same time they gave us swags.

I want to say huge thanks to this wonderful festival. Thank you very much DigitalOcean.

At the same time, I felt I am just a free rider of DigitalOcean’s product. So I decided to make a contribution to say thank you.


Contribute to DigitalOcean’s OSS.
Any contribution is great.


I’ll explain the process how I contributed to DigitalOcean’s OSS.

1. Choose the OSS

I went to DigitalOcean, Github organization and browse the OSSs.

The reasons I choose these products was bellow:

  • I can use the product
  • There are some issues

After I chose the products, I started to find “How I can contribute this?”

2. Read the Contributing Guideline

I have to follow the community rule so I read the contributing guildline
After reading the guildline, I am readly to contribute!

3. Contributing to doctl

Usally, you find a bug first and send a pull request. That is the easiest way to find out what you should do. But in this case, I wanted to contribute in any way so I had to find some bugs or feature requests that I can work on.

I found that the fish completion was wanted.

I made a pull request adding the doctl command completion for fish shell.
There was bash and zsh completion but the fish was missing.

So the PR is this one Add fish completions.

Since I never created a completion before, I had to study how the completion works and what I haved to do. Now, I can easy find the commands and the flags I can use by pressing [TAB] like below:

$ doctl kube[TAB]
kuberenetes (Manage Kubernetes)

I added to the source code and sent a pull request. For fish completions, the evanlucas/fish-kubectl-completions gave me a big insight on how to develop a completion. Nice work!

What’s next

Continuously contribute to OSS! Let’s hard work!
This is a message to myself, “Don’t be a free rider, contribute to the world as much as you can!".

I truly love the Sammy the Shark ❤. So cute …

Share on

Keisuke Yamashita
Keisuke Yamashita
Site Reliability Engineer