Getting Started With Open Source

Matt Caswell presenting at the OpenSSL Conference 2025
Matt Caswell, President of OpenSSL Foundation presents at the OpenSSL Conference 2025

Back in October we held the inagural OpenSSL Conference in Prague. During my keynote talk I shared the story of my beginnings with OpenSSL. This was a story of small steps. OpenSSL is large and complicated and can be quite overwhelming for the newcomer wanting to make their first contribution. Where do you even start?

When I first started my involvement with OpenSSL one of the first things I did was join the mailing list which, back then, was where most of the project communication was taking place. These days most dicussions go on in github or on our OpenSSL Communities Forums. By taking this step I was joining the OpenSSL Community. I started to learn how the project operated; who the most active people were; and how contributions and bug reports were handled. The Project has been a community project since its launch back in 1998. Formed by the community, and built by the community. Community is still at the heart of everything that we do.

My first interactions with OpenSSL were inspired by a personal project where I needed to use some elliptic curve crypto. At the time I knew nothing about the topic. I had a lot to learn. I downloaded OpenSSL and started playing around with it. It is a complex piece of software, but I zoned in on the one piece which was of most interest to me (the elliptic curve code) and began to learn how it worked. Of course all during this time I was still on the mailing lists, and picking up all sorts of valuable information from there.

I still remember the time where I saw a question pop up on the mailing list and, for the first time, I felt myself capable of actually speaking up and answering that question. I knew the answer and I could help someone else in the community! This gave me a buzz, and helped someone else. In my opinion, it is these kind of interactions that are the basis of any healthy open source community. By working together on a common goal we can achieve so much.

Over time I wanted to be more active. I remember making my first ever patch submission. Back then we had to email our changes in as patch files. These days of course we have pull requests via github. My submission was about as small as you can get. I had stumbled across a minor bug in the documentation build system. I carefully crafted my solution to the problem and sent it in. It was a one line change that added 9 characters! Unfortunately my change was not accepted! But this was ok. It is a fact that not every patch sent to an open source project will be accepted. But hopefully you will learn from the experience. I know I certainly did. For me this was a journey. Over time I started to make more contributions. I remember that thrill of the first time I had a contribution actually accepted!

Eventually of course I went all out with my OpenSSL journery and ended up working full time on the project (this was not on my career plan!!). Everyone’s journey with open source will be different. Every open source project is different. There are different sizes, complexity, approaches, styles, and cultures. But community is a common theme. A collection of diverse people from many different backgrounds and experiences collaborating together to produce something amazing.

So, to the answer the question of where do you start, my recommendation is to start small. Joining the community is the very first essential step. After that find the next small step (e.g. dowload the source code; read the manual; play with the demos). Keep finding the next small step. Eventually you will find that you have built your knowledge to be able to make bigger contributions. By joining and engaging with the community you will be able to maximise those contributions and make them effective. You will learn the culture and values of the project, as well as what is considered important and what is not.

You can watch my talk at the OpenSSL Conference here.

For more information on how to get involved with OpenSSL checkout our Get Involved Page.