The Five Ws of Free and Open-Source Software (FOSS)

Danny Lee
4 min readOct 4, 2019

--

Who uses FOSS (Free and Open-Source Software)?

You do.

MacOS, Visual Studio Code, Atom, Ruby, SQLite3, React, Android, Apache, Wordpress, the list goes on and on.

Everyday we get to enjoy a vastly more amazing world because of the generous contributions of countless professional and non-professional programming enthusiasts who donated their time and effort to build free software.

What is FOSS (Free and Open-Source Software)?

From the GNU website, the four essential freedoms, they are, from 0 -3:

A program is free software if the program’s users have the four essential freedoms:

The freedom to run the program as you wish, for any purpose (freedom 0).

The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1). Access to the source code is a precondition for this.

The freedom to redistribute copies so you can help others (freedom 2).

The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.

The core idea behind free software isn’t just something that you can get for free, but the free access to a tool that helps you develop and build applications with freedom and without being beholden to a particular organization for financial or legal reasons. It is basically letting you take the ideas of those great minds before and build on them for the betterment of mankind.

Beyond the software that you encounter during your coding bootcamp journey, there is a plethora of software that has been developed for years and provides free (both in cost and liberty) software to all, demanding in return, nothing, but asking for your help, support and sometimes, meager financial contributions.

Some of the amazing software packages you can find in the FOSS world will do the job of many of the commercial packages, albeit sometimes with glitches, lacking documentation or a need to roll up your sleeves and get things working through determination, a persistent nature and the inclination to read and learn more and dig deeper than just the surface of a software package.

Some of these categories include:

Programming

Visual Studio Code / Atom — source code editor

Office/Productivity

Libre Office / Open Office — office software packages

Dia — structured diagram editor

Graphics

Gimp / Inkscape — photo editor and vector drawing

Audio / Video / 3D

Audacity / Handbrake / Shotcut / Blender — audio editor, video editors, 3D

Operating Systems

Fedora / and many others.

Where are these amazing people who develop these applications?

They are located all over the world, speaking every variety of language and spanning every culture. They work in offices with you and study in schools with you. You pass by them everyday and perhaps, you even see them in the mirror. They are you, and we are they.

The amazing thing about FOSS software is that the barrier to entry is low. An enthusiastic spirit, a patient and persistent spirit, along with a willingness to learn and contribute is all that is required.

More information for getting started in FOSS development and volunteering is available on the web. I’ve collected a few good tutorials and links here:

How to contribute to Open Source

Welcome Newbie Open Source Contributors

FreeCodeCamp’s Guide to Contributing to Open Source

Hackerearth’s Guide to Getting Started in Open Source

When is a good time to get involved with FOSS?

There is no better time than now! October is known as HACKTOBERFEST and you can find coding opportunities all across the country. One particular project of interest to me is:

NASA’s International Space Apps Challenge 2019 taking place in cities around the world on October 18–20, 2019.

I’m also involved with the NeuroFedora project which is building an archive of Computational Neuroscience software for researchers and enthusiasts on the free volunteer developed and supported Fedora Operating System, owned by the Redhat/IBM company.

How do I get involved? (And how do I get rich?)

Visit a projects GitHub, join a developer’s mailing list, start following the bulletin boards and answering questions, there’s so many ways. Every time you upload a piece of code that helps an Open-Source project its like sending a little part of yourself out into the world to make it a better place. Its an amazing thing.

Finally, how do you get rich off of Free and Open-Source Software? Welp, every time you help the community of users, you grow rich with a sense of fulfillment and giving back to the community and society in general, and frankly, isn’t that riches enough? Happy coding!

--

--

Danny Lee

a nyc based coding enthusiast, handyman, farmer at-heart, artist and future surfer