Amarachi Emmanuela Azubuike
30 Nov 2021
4 min read
The definition of open source has continued to evolve over the years, and several organizations are adopting open-source software.
For someone pretty new to the world of open source, you are bound to come across some novel concepts in the community, and they are nothing to get frisky about. In this article, we’ll be taking a shallow dive into what open source is, and some important concepts you’ll come across as you dabble more into this field.
Open-source software is one whose codebase is free and open for everyone to use, modify, contribute or distribute. Some popular open-source projects you may have come across are Linux, Mozilla, VideoLAN (VLC), ReactJs, Firefox, Android, and many more.
Open source has become very essential to organizations and individuals. Here are some advantages of open source software:
Source Code: Source code is the fundamental component of a computer program that is created by a programmer. It can be read and easily understood by a human being. When a programmer types a sequence of C programming language statements into Windows Notepad, for example, and saves the sequence as a text file, the text file is said to contain the source code.
FOSS: Free and open-source software (FOSS) allows users and programmers to edit, modify or reuse the software's source code. This gives developers the opportunity to improve program functionality by modifying it. The term “free” indicates that the software does not have constraints on copyrights. The term “open source” indicates the software is in its project form, enabling easy software development from expert developers collaborating worldwide without any need for reverse engineering. Free and open-source software may also be referred to as free/libre open-source software (FLOSS) or free/open-source software (F/OSS).
Open Source License: Open source licenses are licenses that comply with the Open Source Definition — in brief, they allow the software to be freely used, modified, and shared. To be approved by the Open Source Initiative (also known as the OSI), a license must go through the Open Source Initiative's license review process.
Maintainers: In free and open-source software, a software maintainer or package maintainer is usually one or more people who build source code into a binary package for distribution, commit patches, or organize code in a source repository.
Contributors: Everyone who has contributed something back to the project.
OSI: The Open Source Initiative (OSI) is a California public benefit corporation, with 501(c)(3) tax-exempt status, founded in 1998. It promotes the usage of open-source software. The organization was founded in late February 1998 by Bruce Perens and Eric S. Raymond, part of a group inspired by the Netscape Communications Corporation publishing the source code for its flagship Netscape Communicator product. Later, in August 1998, the organization added a board of directors.
GPL: The GNU General Public License (GNU GPL or simply GPL) is a series of widely used free software licenses that guarantee end-users the freedom to run, study, share, and modify the software. The licenses were originally written by Richard Stallman, founder of the Free Software Foundation (FSF), for the GNU Project, and grant the recipients of a computer program the rights of the Free Software Definition.
Propriety software: Proprietary software is any software that is copyrighted and bears limits against use, distribution, and modification imposed by its publisher, vendor, or developer. Proprietary software remains the property of its owner/creator and is used by end-users/organizations under predefined conditions. Proprietary software may also be called closed-source software or commercial software.
Pull Request: A pull request is an event in Git where a contributor asks a maintainer of a Git repository to review code they want to merge into a project.
ReadMe: The Readme file is often the first file users read. It is a text file that contains the information for the user about the software, project, code, game, or it might contain instructions, help, or details about the patches or updates.
IDE: An IDE, or Integrated Development Environment, enables programmers to consolidate the different aspects of writing a computer program. IDEs increase programmer productivity by combining common activities of writing software into a single application: editing source code, building executables, and debugging.
Markdown: Markdown is a lightweight markup language for creating formatted text using a plain-text editor. John Gruber and Aaron Swartz created Markdown in 2004 as a markup language that is appealing to human readers in its source code form. Markdown is widely used in blogging, instant messaging, online forums, collaborative software, documentation pages, and readme files.
Fork: Forking is to take the source code from an open-source software program and develop an entirely new program. A project fork happens when developers take a copy of source code from one software package and start independent development on it, creating a distinct and separate piece of software. On Github, you can fork an open-source project, by clicking on the ‘fork’ button on the right part of the navigation bar.
Community members: These are the people who use the project, contribute to it or are interested in the software. They might be active in conversations or express their opinion on the project's direction.
Git/Github: Git is a version control system that lets you manage and keep track of your source code history. GitHub is a cloud-based hosting service that lets you manage Git repositories. There are other cloud-hosting services asides from Github, like Gitlab, Bit Bucket, etc.
Now you’ve known these concepts, you can go ahead to check out this beginner-friendly article on contributing to open-source projects. You can also start exploring and contributing to our open-source issues.
I hope you found this useful, if so, you can follow me on Twitter, and don't forget to sign up to WorksHub for more content like this!
Amarachi Emmanuela Azubuike
I am Amarachi Emmanuela Azubuike. I am a front-end web developer and technical writer.
See other articles by Amarachi
Ground Floor, Verse Building, 18 Brunswick Place, London, N1 6DZ
108 E 16th Street, New York, NY 10003
Join over 111,000 others and get access to exclusive content, job opportunities and more!