Open-Source Software
Tags: opensource, github, programming, development
Published: 2021-05-03 08:18:41

# The power of contributing to OSS 🖥

## What is Open-Source Software (OSS)? 🤔

OSS shares similarities with free software but it’s not the same. Free software is a form of OSS, but that doesn’t necessarily mean that it has to be free. For example:

- [PHPUnit](https://github.com/sebastianbergmann/phpunit/blob/master/LICENSE) is an example of OSS which is free.
- [Spryker](https://github.com/spryker/spryker-core/blob/master/LICENSE) is an example of OSS which is not free.

> OSS is basically software that is public, open to the world.

## Benefits — for a company 🛕

- Adoption: the easier the access, the easier the adoption.
- Training and tutorials help the system to grow.
- Tech: often on the cutting edge of technology.
Tech moves fast. They will get obsolete if they don’t.
- Community: the people around want to improve as it grows.
Public channels enable easy access and community building.
- Trust: the software is public and accessible.
Everyone can check the quality of the software anytime.

## Benefits — for you, as a single contributor 🤓

- Flexibility: decide on what you want to work on.
- Self-confidence: the experience improves your skills.
- Training: without the pressure of a PROD environment.
- Tech: play with the latest features of your tech.
Try upcoming versions of your coding lang, or even try new ones!
- Soft skills: improve your communication skills.
Good communication in the project is important.
Especially when you face disagreements.

> TL;DR: It can be a “constant kata” if you want to.

## Github to the rescue 😃

Nowadays, it’s really trivial to start contributing to OSS:
- You can start your own project. A pet project fits here perfectly!
- You can contribute to an existing OSS project.

## Pet projects 🐘

A pet project is a playground to create software and train your professional skills. Creating pet projects in your public Github profile has all the benefits of contributing to OSS, plus you’re your own boss:
- You dictate the roadmap.
- You decide what to do and how.
- You’re your own boss.

> The project is there for you.
> You are responsible to play, explore and pass your limits.


## Some Chema’s Pet Projects 🦣

#### Active
- [php-best-practices](https://github.com/Chemaclass/php-best-practices): what I consider best practices for web-dev.
- [php-scaffolding](https://github.com/Chemaclass/php-scaffolding): a basic PHP scaffolding with Docker.
- [typed-arrays](https://github.com/Chemaclass/typed-arrays): generics replacement for PHP.

#### Inactive

- stock-ticker: get a notification with the news from your favorites Tickers.
- jira-status-notifier: Notify when the JIRA tickets don’t move along.
- edifact-parser: a parser for a UN/EDIFACT file format in PHP.

#### Abandoned

- knob-mvc: a framework to create WordPress templates (2015/2017).

## Some of Chema’s OSS org contributions 🌚

#### Active

- [phel-lang](https://github.com/phel-lang/phel-lang): Phel is a functional programming language that compiles to PHP. It is a dialect of Lisp inspired by Clojure and Janet.
I already wrote a post about phel-lang: [Phel: A Lisp that compiles to PHP](https://chemaclass.medium.com/phel-the-lisp-that-compiles-to-php-544980605ebe)
- [gacela-project](https://github.com/gacela-project/gacela): Gacela is a PHP framework that helps you to improve the design of your application by splitting the logic into different modules.

#### Abandoned

- nm_template: The base template for NuevaMetal (2013–2016).

## Knowledge sharing ✍🏼

- [Pull Requests vs Pair Programming](https://chemaclass.medium.com/pull-requests-vs-pair-programming-77be022c10c3)
- [The process itself is the goal](https://chemaclass.medium.com/the-process-itself-is-the-goal-a7dd17b80bae)
- [The art of refactoring; When, How, and Why](https://medium.com/swlh/the-art-of-refactoring-cb079353d8df)
- [The art of testing: Where design meets quality](https://medium.com/swlh/the-art-of-testing-39c6af8c9076)

> ... and many more on https://medium.com/@Chemaclass

## The beauty of this 🧑‍🎓

- Seeing the corrections that you constantly keep doing
- Seeing how your own code gets old with time
- Seeing the many mistakes that you have done
- Seeing how you are getting better at coding over time

Developing a sixth sense to smell patterns which you have already done and their positive & negative experiences.

**Showing your skills and helping the community around you.**

> Open-Source Software offers you one of the best opportunities to start building your career path towards continuous improvement.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hujicoui8y426z7qxmyu.png)

### References

- [Getting started with Open Source Software](https://jesusvalerareales.medium.com/getting-started-with-open-source-software-e6c177b68b39)

Originally written in https://chemaclass.es/blog/the-process-itself-is-the-goal/