While you can inspect the code of almost any website using the ‘Inspect’ element on your web browser and temporarily modify the web content just for laughs, you can’t change the source code on proprietary software. By contrast, open-source software is designed to be studied, modified and distributed any way the user sees fit. The point of making the source code available to all and sundry is to invite collaboration and diverse perspectives.
Open-source software isn’t just someone’s labor of love on GitHub or an over-ambitious Kickstarter project. In fact, companies like Microsoft, IBM, Oracle, Google and State Farm have a stake in today’s competitive open-source market. In 2018, IBM bought open-source specialist Red Hat, known for its Enterprise Linux operating system, for $34 billion.
Each time you view a web page, check email, chat with friends, play a multiplayer video game, or stream music, you are connecting to a global network of computers using open source software.
Studying open-source software can help you become a better programmer. Not only can you view the source code for applications you use on a daily basis and learn how to replicate certain functions, but you can build upon it and share your work, inviting feedback from others as you develop your skills.
Here are four ways to get started with open-source:
1. Create a profile on GitHub
While there are many open-source software development systems online — Code Triage, Sourceforge, BitBucket and so on — GitHub is probably the most well-known. If you don’t know how to start contributing to open-source projects, start with the tutorial on FirstProjects hosted on GitHub. The tutorial is designed for first-timers who have never used open-source before.
Once you’re ready, head over to the First Projects website and choose a project. To contribute to an open-source project, you don’t even need to know how to code. One way to partake is to suggest a new feature or raise an issue about a bug just to get your feet wet — all of which are helpful to the coder who owns the project and is actively seeking feedback and advice from other programmers.
Once you’ve reached a more advanced level, you can search fortrending projects on GitHub for inspiration to start your own from scratch.
2. Watch a training documentary on Get Involved in Tech
This feature-length documentary by Scott Hanselman and Rob Conery explains everything you need to know about becoming what they call a “social developer”—someone who helps their peers and, in so doing, enhances their career. From blogging to Twitter, GitHub, StackOverflow and user groups and conferences, there are so many different ways to get involved.
For a quicker introduction to the world of open-source, check out this podcast from Code Newbie on ‘Getting started on open source when you don’t know where to start’ hosted by Richard Schneeman, founder of Code Triage, a free community tool for contributing to open-source.
Sign up with CodeTriage to get targeted emails once a day on open-source projects seeking contributors in your preferred programming language. The emails also come with instructions on how you can help, whether it’s a bug report, code snippet or something else. You’ll need an existing GitHub account to sign up.
4. Ruby on Rails
A rapid web application development tool, Ruby on Rails has been used to create many other well-known applications that have become household names, including Airbnb, Twitch, Shopify, Zendesk and GitHub. In fact, Ruby on Rails even lists open-source projects that are looking for contributors. If you’re looking to dive into one yourself, you can find lists of projects with calls for coders in places like Redditand Up for Grabs.
Ready to kickstart your software engineering career? Check out University of South Florida's Software Engineering Bootcamp, designed to bring you from beginner to full-stack developer in 9 months.