Getting Started Contributing to Nextcloud
I'm a web-focused developer with a passion for exploring new ideas and hopefully sharing more of them through this blog ๐
Search for a command to run...
I'm a web-focused developer with a passion for exploring new ideas and hopefully sharing more of them through this blog ๐
No comments yet. Be the first to comment.
When to use for, map, doseq, and run!

Property based testing leading to unexpected URL discoveries

Some Takeaways from AI-assisted Rescript Exploration

Do you believe your job can be done by AI? Up until very recently I believed this was all hype. No way this could happen. There have always been proclamations of new technologies like AI taking jobs. Most of the time dismissed as fantasy, most takes ...

Return the most frequently used terminal commands

In August 2018, I had the pleasure of speaking at the Nextcloud Conference held at the Technical University Berlin. It was my first time giving a talk at a conference and I gave a lightning talk (5 minutes) about getting started contributing to Nextcloud. This is a blog post version of the talk I gave and hopefully it motivates you to get started contributing too!
Nextcloud is a set of technologies that enables file sharing and collaboration. I like to think of it as a self-hosted version of Google Drive or Dropbox. It enables its users to self-host and manage their files on their own servers, and offers lots of collaboration options. It also has apps that add more functionality such as calendar and email management, chat and video conferencing. A great place to learn more about the company is the Nextcloud website.
An interesting thing is that the software that powers all of this is entirely open source. Anyone can contribute to it, and this is where I come in. Contributing to open source software has always been one of my best learning avenues, and so I wanted to help others to get started contributing as well. I started contributing code to Nextcloud around 2 months ago and found that it's a very welcoming community of people that would benefit from having even more contributors joining in.
Now that we know what Nextcloud is and why you would want to join as a contributor, let's get to the actual process!
The core idea I follow when contributing to open source is building trust between myself as a developer and the maintainers of the software. Beyond just contributing code, I find that maintainers appreciate developers who help make their job easier. This involves things like working on the right stuff and proactive communication. This eventually leads to a build-up of trust over time and this process of earning this trust is what I will focus on in this post. I will go over it using practical examples from my experiences contributing to Nextcloud.
Nextcloud has a good first issues label on their issue tracker to identify issues that are best suited for first time contributors. In my experience, this is the best place to get started if you're contributing for the first time. At the time of writing this, there are 76 issues with this label so there's lots of opportunities to contribute ๐
As a contributor, working on good first issues has quite some advantages:
For the maintainers, a new contributor is able to help them in the following ways:
At this point, you're a new contributor who has worked on a good first issue and hopefully got your contribution merged. To continue finding new opportunities to contribute, you have to actively use the software to get a feel of an end-user's perspective. For example, once I got started using Nextcloud, I noticed it could have better support for keyboard navigation. I reported the issues I found on GitHub and eventually contributed fixes for them.
Once again, this has some benefits for you as the contributor, such as:
For the maintainers, when you use the software, report issues and fix them, it benefits them by:
Most open source software projects usually have an ecosystem around them. In our case, Nextcloud has the concept of apps through which developers can add new functionalities beyond the main purpose of file-sharing and collaboration. Additionally, the officially supported Nextcloud apps are also open source too.
The apps offer a new place to build out a new set of skills by working on more diverse things. I chose to contribute to the Mail app which is an e-mail client built inside Nextcloud.
The advantages of working on the apps in the ecosystem are:
Having gone through all these steps above, and applied them while contributing to Nextcloud, here's some of the things I've learnt:
If you've ever wanted to get started contributing to open source, and not sure on how to get started, I hope these pointers help. Everyone started somewhere.
Finally, I'd love to give a shout-out the Nextcloud team for their Contributor Travel Support Program, which enabled me to attend the conference this year ๐
Update:
The video of the talk is now available. You can watch it on YouTube