0% found this document useful (0 votes)
2 views

Lesson 2 - Open Source Contributions

The document provides an overview of how to contribute to open source projects, emphasizing that contributions can extend beyond code to include documentation, mentoring, and community support. It outlines the roles within an open source community, essential project elements, and tools for collaboration. Additionally, it offers guidance on selecting suitable projects and considerations for programming languages and project types.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

Lesson 2 - Open Source Contributions

The document provides an overview of how to contribute to open source projects, emphasizing that contributions can extend beyond code to include documentation, mentoring, and community support. It outlines the roles within an open source community, essential project elements, and tools for collaboration. Additionally, it offers guidance on selecting suitable projects and considerations for programming languages and project types.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

OPEN SOURCE CONTRIBUTIONS:

Contributing to open source


software.
Open Source.
INTRODUCTION:

• Though Open source refers to source code that is made available to


the public to view, use, modify, and distribute under a permissive
license, Contributing to an open source project does not necessarily
mean that you have to contribute to the codebase. You can
contribute to open source in many different ways as we are going to
explore in this class/presentation.
WAYS TO CONTRIBUTE:

• You can add a description to a project's documentation to elaborate


on a certain point

• You can give guidance on a specific project

• You can add examples to show how the code works

• You can write tutorials for the project

• You can add a translation for a project


CONTN:

• You can answer questions about a project (like on Stack Overflow or


Reddit)

• You can offer to mentor another contributor

• You can fix typos and arrange the project's work folder correctly

All of these ways and more count towards contributing to an open-


source project.
WHAT TO KNOW:
• Every open source community is different. Each community has different people in it
with different roles and rewards offered. They also each have their own rules and
expectations for contributing.

A typical open source project will have these people:

• Author - This is the person who created the project. They have the power to assign new
roles to other members to help with the project's maintenance.

• Owner - The owner has administrative ownership of the project (and can be the same
person as the author)
CONTN:
• Maintainers - These people are responsible for driving the vision and goals of the
project. They're usually people who feel responsible for the direction of the
project and who are committed to improving it
• Contributors - Contributors add to the project in one way or another. They follow
the same code review process, are subject to the same requirements on code
style, and so on.
• Community Members/Users - These valuable members of the community can
provide feedback about features, bug reports, and more.
ELEMENTS OF AN OPEN SOURCE PROJECT:
• Every open source project should have the following guidelines and information:

• License - If a project does not have an open source license, then it is not open
source. The license helps protect contributors and users. Businesses and savvy
developers usually won't touch a project without this protection.

• README - This is a manual that explains how to get started with the project. A
good README should contain different everything a potential contributor would
want to know about the project.
• How to Contribute - These guidelines help people contribute and
show what type of contributors are needed (this file is not a must)

• CODE_OF_CONDUCT - A code of conduct is a document that


establishes your expectations for how your contributors and
participants behave. Adopting and enforcing a code of conduct can
help create a positive environment for your community.
TOOLS TO HAVE AT HAND:
• To create an open-source project you will want to create an environment
where people can share their challenges and have in-depth discussions.
This is made possible by the following tools:
• Issue Tracker - This is where people discuss issues related to the project
• Pull Requests - This is where people review changes in progress
• Synchronous Chat Channel - This is specifically meant for people to share
their ideas and have conversations (like Slack, Discord, and so on)
How to find a project:
• Now that you know how an open-source project works, it's time to find a
project to contribute to.

• Contributing works on all levels – don't over think how you're going to do
it. Instead think of some of the projects you already use and how you can
make a change to them or improve on them.

• Research has shown that around 30% of casual contributions are


documentation, typo fixes, or even translations.
Project finder links:

• If you are a first-time contributor – which everybody was at some point –


here are some links that will get you started in the open source world:

• https://www.codetriage.com/

• https://24pullrequests.com/

• https://github.com/larymak/Python-project-Scripts

• https://www.firsttimersonly.com/
How to Choose an Open Source Project:
• After you have found the project you want to help out, make sure it meets the following criteria to be sure
it's a good candidate:

• First, you will have to check:

• Does it have a license file?

• When was the latest commit done? Was it recent? (That is, is the project actively maintained/worked on?)

• How many contributions does it have?

• How often do people make commits?

• If you see lots of recent activity, that's good – it means it has an active community maintaining it.
Project checks:

• How many open issues are there?

• How long does it take for maintainers to respond? Are they prompt?

• Is there an active discussion on an issue?

• Are the issues getting closed regularly?

• How many open pull requests are there?


Contn:

• How recently were the latest pull requests merged? Recently?

• Do the pull requests get reviewed first? (They should be.)

• Do the maintainers thank people for contributing?

If all the above conditions satisfy your needs then go for it and start
contributing to those projects.
What to consider before going Open:
What Programming Language Does the Project Use?
• The most fundamental technology behind any application is the programming
language it uses. Some of the most popular languages on GitHub are JavaScript,
Python, Java, Ruby, and PHP – but there are many more.
Type of project
• After you've chosen the language you want to work in, you need to choose the
type of project you prefer. Just have a look around and pick a project on a topic
that interests you.

You might also like