undefined

Coding for Open Source

By Feross Aboukhadijeh

I’m Feross and I write open source software.

What is open source?

The term “open source” refers to code that other people can modify and share because the source code is publicly accessible.

Why is open source cool?

Open source software has brought enormous amounts of good to the world.

Open source is everywhere today. The majority of servers on the Internet are powered by Apache (an open source web server) and Linux (an open source operating system). Most networks in large corporations are powered by Linux, and even 95% of the desktops and servers at major Hollywood movie studios like Disney, Pixar, DreamWorks, and Sony run Linux.

Nearly everyone in the world directly benefits from open source software, whether they’ve heard of it or not.

How do I get involved in open source?

There’s an enormous trove of open source software on GitHub. You can learn a ton about coding just from reading code that’s been written by better programmers in the past.

Try searching for some of your favorite projects, for example: jQuery, Node.js, Python, or Linux. You’ll find all the code that was written to make these projects work!

Whenever you find a bug or problem in one of these projects, you can go to GitHub to “file an issue” which is how you let the developers know about the problem.

If you’re feeling really brave and want to take your involvement to the next level, you can try fixing issues that have already been filed by downloading the code to your computer, fixing the problem, and sending your changes back to the project for inclusion. This is called “sending a pull request”.

If you want to get involved but aren’t sure where to start, check out My First PR which highlights good issues for first-timers to tackle!

Why do I write open source software?

I work on projects like WebTorrent, Standard JS, and Study Notes which are entirely open source.

Not everything I’ve worked on in my career has been open source, but most of it has been. I have over 100 open source projects on GitHub and npm. I am able to create lots of value in the world when I don’t restrict how people can use my work. Publishing things under an open source license lets anyone use my code however they like.

For example, my business Study Notes is doing extremely well in terms of making money, even while the code is available for free.

It’s possible to make a profit and share your code with the world :)

What tools do I use?

Some of my favorite tools at the moment are:

Happy hacking!