How to Succeed as an Open Source Developer: From Education to Contributor
Working in the open source industry is a very rewarding career move, especially since the future of it looks bright. With statistics showing more companies are going to rely on open source applications in the future to save money buying commercial products, job openings will become tremendous.
What’s important is to find a strategy to get yourself involved in this rewarding career and community. It’s really more the latter since you’ll be working with fellow developers to create top-notch software. At the same time, you’ll be working together to improve your software and other applications through open-source forums.
Finding the Right Education for Open Source Development
The Open Source Initiative is a great organization to get involved with to help you gain the education needed. They offer presentations at conferences across the world to help bring more awareness and educational tools.
Plus, they offer workshops at many of those conferences, giving hands-on training to prepare for open-source jobs.
Another good source is The International Network of Free/Libre/Open Source Software Competence Centers, otherwise known as FLOSSCC. You’ll find a lot of educational centers (or Competence Centers as they call them) in many local universities to guide new open-source developers.
When seeking education on your own, getting a degree in application development is essential first. Since open-source is so inclusive, though, you’ll want to look into marketing your skills directly into these communities.
Gaining Immediate Experience
To find an outlet where you can practice your open-source developing skills, it pays to choose wisely on which project to focus on.
As all open-source experts note, whatever project you choose to do, always make sure it’s an application you fully understand. In fact, you should use the program yourself to help you comprehend how it works.
Since open-source developing is going to involve considerable time working on code, you’ll want to focus on just one program you know the best.
While working with any code, you’ll want to compile it, test it, and debug it on your computer. For a first-time project, you might want to start with something small to gain experience gradually. The more experience you have with experimentation on the code, the more you’ll be able to understand what’s possible.
Communicating With Fellow Developers
To work well in the open-source community, start communicating with fellow developers. Really, this is what open-source developing is all about: Working as an online community to solve problems and help bring safe software to companies around the world.
One of the best ways is to join IRC networks (short for Internet Relay Chat) where you’ll find countless channels to communicate. When communicating with fellow developers there, you’ll have to go by a specific nickname for continual identification.
Regular email mailing lists are also important, though you might get inundated with emails every day eventually. Many of those could prove invaluable to helping you solve a security issue.
Choosing the Right Project to Work On
Finding the right open-source project to focus your time on can sometimes become a challenge. Starting small is good, but you may want to take on something more significant later. As a newcomer, make sure the project you choose is apropos to your level.
Some things to look out for include making sure the open source software has a license. If they don’t have an open source license, stay away. Anyone can say something is open-source without having proper identification as proof.
Common licenses out there include everything from Apache License 2.0 to Eclipse Public License.
Always look at the README section of your project page. This is going to give you a lot of documentation on how the software works. Sometimes this means connecting to other webpages to read more information. As tedious as it might be reading these, you need to know before becoming an official developer contributor.
Also look out for labels providing info on any known issues with the software. These labels should determine whether it’s a project best suited for a newcomer like you.
Becoming Familiar With GitHub
Usually known in the open-source community as git, GitHub is a must to know before working on any project in the pipeline. Git provides a bevy of tools you’ll want to learn about and use as part of your developer skills.
Once you start tracking a project, many git commands are going to become a big part of developer best practices. Every project you work on lists what those guidelines are.
Before you start working on a project, make sure you have git installed on your local computer. It’s also recommendable you clone your project’s repository into a directory of your choosing on your local machine.
To avoid synchronization issues when changes occur in the main repository, don’t develop on git’s master branch.
Honing in On an Open-Source Issue
Just like all industries, it’s best to have a niche to become truly successful and differentiate yourself from the pack.
To grow in stature and become more successful as an open-source developer, focus on one issue (no matter how simple) and work on that until you’ve found a solution. Placing these pull requests on a resume can help showcase your experience if being hired as a developer for a company.
GitHub always provides a list of issues and whether someone else has already taken them. For neophytes, it might be something as simple as spelling errors, or renaming variables for more readability.
No matter what it is, it’s likely you’ll make a few mistakes as a beginner. By continuing discussions and taking feedback from other open-source developers, you’ll continue to learn and advance yourself.
Here at Kiuwan, we’re a leader in helping to provide end-to-end application security in the open-source world. Visit our website to learn about how we give wider visibility on applications to help IT executives make smarter decisions.