If you’re a new open source contributor, the process can be intimidating. How do you find the right project? What if you don’t know how to code? What if something goes wrong? Contributing to open source can be a rewarding way to learn, teach, and build experience in just about any skill you can imagine.
The benefits can include:
- Improve your skills
- Meet people interested in similar things
- Find a mentor and help others
- Building a public thing that you can use to grow your reputation or get hired
- Learn how to work collaboratively with others
- Empowerment to make real, impactful decisions
What is Open Source?
A general definition is to make something publicly accessible so that people can see, use, distribute and modify in a decentralized and collaborative way. In reality there is a lot of details to what that actually can mean…
What is Open Science/Research?
Open science is the movement to make scientific research (including publications, data, physical samples, and software) and its dissemination accessible to all levels of society, amateur or professional.
What is a License
Open source licenses grant permission for anybody to use, modify, and share licensed software for any purpose, subject to conditions preserving the provenance and openness of the software.
What makes up an Open Source Project
Every project is unique but there is often a similar organizational structure. Understanding of terms and roles will help you get quickly oriented to any new project.
A typical open source project has the following types of people:
- Author: The person/s or organization that created the project
- Owner: The person/s who has administrative ownership over the organization or repository (not always the same as the original author)
- Maintainers: Contributors who are responsible for driving the vision and managing the organizational aspects of the project (They may also be authors or owners of the project.)
- Contributors: Everyone who has contributed something back to the project
- Community Members: People who use the project. They might be active in conversations or express their opinion on the project’s direction
Bigger projects may also have subcommittees or working groups focused on different tasks, such as tooling, triage, community moderation, and event organizing. Look on a project’s website for a “team” page, or in the repository for governance documentation, to find this information.
A project also has documentation. These files are usually listed in the top level of a repository.
- LICENSE: By definition, every open source project must have an open source license. If the project does not have a license, it is not open source.
- README: The README is the instruction manual that welcomes new community members to the project. It explains why the project is useful and how to get started.
- CONTRIBUTING: Whereas READMEs help people use the project, contributing docs help people contribute to the project. It explains what types of contributions are needed and how the process works. While not every project has a CONTRIBUTING file, its presence signals that this is a welcoming project to contribute to.
- CODE_OF_CONDUCT: The code of conduct sets ground rules for participants’ behavior associated and helps to facilitate a friendly, welcoming environment. While not every project has a CODE_OF_CONDUCT file, its presence signals that this is a welcoming project to contribute to.
- Other documentation: There might be additional documentation, such as tutorials, walkthroughs, or governance policies, especially on bigger projects.
Finally, open source projects use the following tools to organize discussion. Reading through the archives will give you a good picture of how the community thinks and works.
Frequently Asked Questions
A common misconception about contributing to open source is that you need to contribute code. In fact, it’s often the other parts of a project that are most neglected or overlooked, like project management, design, marketing, etc. and having contributors to them can make a major difference
You don’t need to overthink what exactly your first contribution will be, or how it will look. Instead, start by thinking about the projects you already use, or want to use. The projects you’ll actively contribute to are the ones you find yourself coming back to. Within those projects, whenever you catch yourself thinking that something could be better or different, act on your instinct.
Git is free and open source software for distributed version control: tracking changes in any set of files, usually used for coordinating work among programmers collaboratively developing source code during software development.
An open-source license is a type of license for computer software and other products that allows the source code, blueprint or design to be used, modified and/or shared under defined terms and conditions.
FOSS stands for Free and open-source software. It is a subset of Open Sources that refers to groups of software consisting of both free software and open-source software where anyone is freely licensed to use, copy, study, and change the software in any way, and the source code is openly shared so that people are encouraged to voluntarily improve the design of the software
An OSPO is a cross-functional team embedded in your organization that helps dictate the open-source strategy and policies and is a key element in ensuring your company is prepared for future evolutions. In academia it also includes supporting research, education of students/staff/faculty and sponsoring projects that impact open source. VERSO is the OSPO for UVM.
What are examples of commonly used Open Source Software?
- Mozilla Firefox
- VLC media player
- Apache web server