The last weekend, March 13, 2021, as a member of Google developer, I have been invited to the event IWD North America Summit 2021. So I would like to highlight one of the talks do by the speaker, Cat Allman who is a Program Manager and Developer Ecosystems Google having three decades of experience with open source, about Involvement in free and open source development or how you get started with open source.
What open source is:
It is software code that is freely available for you, to look at, build upon, extend and use.
There is an organization called the open source initiative https://opensource.com/ that maintains approved open source licenses. You can learn a lot about open source at this site. And you can also look at Wikipedia articles about open source. https://en.wikipedia.org/wiki/Open_source
Why you should want to be involved with:
The reasons for contributing to open source can be:
-
To gain new skills and experience in programming technology and working collaboratively. Programming training is a theoretical background, so it not brings you the experience needed, and this kind of environment give you this leg up.
-
Professional tech networking.
-
Personal gratification, a lot of open source started because of what we call “scratching your own itch”, which means if people have a technical problem that they wanted to solve, open source allow them to dive in, and to create solutions to their problems.
-
And lastly, it’s a way to contribute to something, to be a part of something bigger than yourself, and there are a lot of open source projects that are for social benefit, so you may find that an appealing reason and a good way to give back to your community and to the world.
How to get involved:
You need to be a self-starter, and also to do your research, thinking about what is important to you. There is maybe a million open source projects to choose from.
There are ways to find projects that are a good fit for you.
You can look at the Google summer of code website which is a program running for more than 15 years, and where they connect people with open-source projects for mutual benefit. What is cool for you is that they maintain an archive of all the open source projects, so if you go to the site and look at the archives you can find a snapshot description of what the project is about, the kind of technical underpinnings you need, and links to the site. Also, most of the projects that have been through the program, already understand the value of newcomers, and new contributors, so they already welcome people that are new to open source. So Google Sumer it is a great resource for you. Also,, you can filter by topic areas, whether you want to work on an operating system or graphics there are all different kinds of things, and that will help you narrow it down from the hundreds of choices in addition.
There are sites like GitHub and GitLab which are repositories and version control systems that have hundreds of thousands of projects to choose from.
How do you choose if you have got a million choices? How do you narrow it down? First and foremost, think about what matters to you, maybe it is a technical challenge that you want to solve, maybe you have a social or political concern, or maybe it is just a personal interest. For example, there is a program that combines artificial intelligence and knitting that you ca keep an eye on, there really is something for everyone. So think about what gets you excited narrowing down your focus on those things. Moreover, you have to look for a codebase that you know and enjoy. For example, if you are a python programmer, it makes total sense to look for projects written in python, and then once you have narrowed it down, a bit kind of take a look under the hood. Maybe if there is a hackathon, you can check that out, or maybe there is a sample code, so just open up the code and take a look at it as that is the beauty of open-source that you can check it out.
When you had narrowed down the project, you should examine the past of the project selected. You have to check if the project is active and alive, and they are searching for contributors or not. Next, you have to find if they have a volunteer page to help, maybe you can answer a question on the list, or point out typos on site. If you are a coder and you have found a bug (a file bug report: HOW-TO:Submit a bug report https://kodi.wiki/view/HOW-TO:Submit_a_bug_report ), I recommend you to submit a bug report because you will gain respect.
A few of many resources to help:
Internships and training:
-
Google Summer of Code – https://summerofcode.withgoogle.com/ There is a period of time when you can apply as a student and you do not have to pay for the course, but it is very competitive.
-
Outreachy – https://www.outreachy.org/ This site is for everybody, not just for students.
-
Best Open Source Programs For Students to Participate – https://www.geeksforgeeks.org/best-open-source-programs-for-students-to-participate/
-
RailsBridge – http://railsbridge.org/ An organization that have courses to learn open source.
-
The carpentries – https://carpentries.org/ An organization that have courses to learn open source.
There are organizations specific for women:
-
Linux Chix – https://www.linuxchix.org/
-
Women in Drupal – https://groups.drupal.org/women-drupal
-
PyLadies – https://pyladies.com/
And there is a book Producing Open Source Software by Karl Fogel, totally free that you can download in the website https://producingoss.com/
So with this information you can start to learn Code in Open Source. I encourage you to do this because code is the background of all the innovation and even help to solve problems.