Open source software (sometimes called Free and Open Source Software or FOSS) is the practice of sharing how a computer program was made and allowing anyone to customize the program as they see fit.
Computer programs are made up of code, which could look something like:
In Ruby we say…
puts "Hi there"
We call this the source code, or source. When a user runs the program above, they would see:
For most programs that exist, we only have access to the output, not the code. Open source changes that.
When you have a program on your computer like Adobe Photoshop, it’s been converted from the source into a form that only the computer can understand. This means if there’s a misspelling or a feature missing, not even a programmer could fix it.
For an open source program, though, you have both the version the computer can understand AND the source code. This lets you look at how the program is put together and edit it as you see fit.
If Adobe released the source to Photoshop, we would be able to make our own version. Our new version might have extra menus, or a button that automatically puts kittens in a picture. Once we had the source, though, we wouldn’t need to pay Adobe for Photoshop, and they would lose control over their products. This is why most private software companies don’t open source their code.
Some open source organizations are not-for-profits that give away the software program for free and don’t look to make money off it. These organizations rely on a community of people who work on the software out of the good of their hearts and the desire to contribute to a meaningful product. The Mozilla Foundation, which creates the open source Firefox browser, is a prominent example of this type of open source, non-profit community.
On the other hand, the blogging platform WordPress is free and open source, but Automattic, the parent company, makes money by selling users services associated with the platform such as blog hosting and custom blog templates. Automattic benefits from WordPress being open source because users often create useful updates to the WordPress platform and Automattic gets to reap the rewards without having to spend time or money on a new feature!
This sort of community-built or community-added product is becoming more and more popular.
Cocktail Party Fact
Social coding is a new phenomenon powered by sites like GitHub. It combines features of the worlds of open source and social networking.
Developers put their source code up on GitHub, and allow anyone to copy it, make changes, and attempt to persuade the original developer to use those changes. Users have Facebook-like profiles that just happen to be centered on coding. You can also work together on the same code with different people and watch the activity of other members or projects.