Skip to content

Latest commit

 

History

History
39 lines (22 loc) · 4.21 KB

what_is_open_source_and_why_contribute.md

File metadata and controls

39 lines (22 loc) · 4.21 KB

What is Open Source?

Open source software is software with source code that anyone can inspect, modify, and enhance.

Some software has source code that only the person, team, or organization who created it—and maintains exclusive control over it—can modify. People call this kind of software "proprietary" or "closed source" software.

Only the original authors of proprietary software can legally copy, inspect, and alter that software. And in order to use proprietary software, computer users must agree (usually by signing a license displayed the first time they run this software) that they will not do anything with the software that the software's authors have not expressly permitted. Microsoft Office and Adobe Photoshop are examples of proprietary software.

Open source software is different. Its authors make its source code available to others who would like to view that code, copy it, learn from it, alter it, or share it. LibreOffice and the GNU Image Manipulation Program are examples of open source software.

Why do people prefer using open source software?

  • Control. Many people prefer open source software because they have more control over that kind of software. They can examine the code to make sure it's not doing anything they don't want it to do, and they can change parts of it they don't like.

  • Training. Other people like open source software because it helps them become better programmers. Because open source code is publicly accessible, students can easily study it as they learn to make better software. Students can also share their work with others, inviting comment and critique, as they develop their skills. When people discover mistakes in programs' source code, they can share those mistakes with others to help them avoid making those same mistakes themselves.

  • Security. Some people prefer open source software because they consider it more secure and stable than proprietary software. Because anyone can view and modify open source software, someone might spot and correct errors or omissions that a program's original authors might have missed. And because so many programmers can work on a piece of open source software without asking for permission from original authors, they can fix, update, and upgrade open source software more quickly than they can proprietary software.

  • Stability. Many users prefer open source software to proprietary software for important, long-term projects. Because programmers publicly distribute the source code for open source software, users relying on that software for critical tasks can be sure their tools won't disappear or fall into disrepair if their original creators stop working on them. Additionally, open source software tends to both incorporate and operate according to open standards.

Open-source software also allows developers to “stand on the shoulders of giants” and create their own software. Witness Android and Chrome OS, which are operating systems built on Linux and other open-source software.

Sources: What is Open Source and Why You Should Care What is Open Source?

Why Should I Contribute to Open Source?

  • Learn by doing - get to see the inside of a real live large project and help develop it.
  • Do work that matters - practice coding on software that will be used by others, not toy examples
  • Employability - looks great on a resume! Peer-interviewers often take (varying degrees of) stock in a fellow programmer's contribution to open source projects, especially if you're at a junior level. It shows self-motivation, proactive-ness, ability to work in distributed teams, proof that you've actually used some sort of version control, etc.
  • Get great freebies - open source contributors often get access to free software
  • Meet new coders - collaborate with other coders who may have more experience than you

What are the Benefits of Contributing to Open Source Projects?

Contribute to Open Source Projects