Why contribute to open source?

Maria Kucharczyk
SoftwareMill Tech Blog
4 min readJun 3, 2019

--

Do you actively push code to open source repositories? If you’re wondering why 75% of developers are contributing to OSS (open-source software) in their free time — the main reason is that they can make useful and awesome things.

Open source projects are a great way of developing quality products by working together with other developers. You create code that benefits the community. That feature you need so much in your project, fork the repository and add the code yourself to enable it. It’s an amazing feeling! We all want better tools and better features. Often the best way to get them is to put our hands into starting new projects or contributing to existing ones.

Why should you contribute to open source projects?

Code more, learn more!

The best way to learn programming is to do more programming! The second best way is to watch how others do it. GitHub and OSS is a great place to combine both. All code is available publicly, so everybody can fetch it, read it, change it and learn from each other.

Pay back to the community

By working on a project used by your community you’re improving the quality of work for everyone. The added value of creating a new tool or a library grants you the acquired knowledge. Nevertheless, the coolest aspects of open-source involvement is certainly making things for others.

Build an outstanding portfolio

It doesn’t matter if you have commercial experience or not, your GitHub is your business card and the most important highlight in your resume. It shows your interests, skills and motivation. Your contributions don’t have to be tip-top perfect, sole fact that you’re actively involved is great.

Meet great people

Meet the community, exchange ideas, grow as a developer. Setting aside free time to work on OSS can spark plenty of quality discussions, even end up in starting friendships, or finding a mentor.

Turn your ideas into life

Do you have your own ideas? What would you improve? If you are passionate about what you’re building, it probably will succeed.

Why do we contribute to OSS?

We primarily contribute to our own projects and collaborate on existing ones. We also donate to some — take a look at our open-source showpage. You can find us involved in many open source activities, mostly because we want to give back to the community. These are always projects that we use every day or used to rely on. Quite a few are related to Scala language and functional programming, as these are our favourite tools.

Here comes the second major reason why OSS matters to us so much. For some time already we are committed to building a “Simple Scala Stack” — a step toward a better Scala ecosystem that could use simpler or better thought-through APIs.

It’d be great to get more people involved!

Do you know use cases for which you think a simpler approach should exist in Scala? Let us know. And of course join us and contribute to the following projects (solve issues, fork and prepare pull requests, all suggestions welcome):

  • tAPIr — typed API descRiptions, with tapir you can describe HTTP API endpoints as immutable Scala values. It supports input, output, error handling, encoding, etc.
  • sttp — The Scala HTTP client you always wanted! sttp is an open-source library which provides a clean, programmer-friendly API to define HTTP requests and execute them using one of the wrapped backends, such as akka-http, async-http-client or OkHttp.
  • MacWire — Lightweight and Nonintrusive Scala Dependency Injection Library
  • ElasticMQ — Message queueing system with an actor-based Scala and Amazon SQS-compatible interfaces. Runs stand-alone or embedded.
  • Scala common — Tiny independent libraries with a single purpose, often a single class.
  • Reactive Kafka — Akka Streams (reactive!) connector for Apache Kafka.

Wrap up

Today, open source is the default. Every major technology gravitates there. Once it was the Linux, not so long time ago: TensorFlow and Hyperledger Fabric. OSS help us create better technology, nicer tools and user-friendly work environments.

What are your reasons to contribute to open source? Do you need help with any of your projects? Tell us in the comments! And star our projects repositories if you found them interesting. Happy coding!

Want to discuss open source and coding? We are attending Scala Days on 11–13 of June in Lausanne. Let’s meet there!

Conferences are busy, to make sure we can meet at your convenience, write us at: scala-days@softwaremill.com to schedule a meeting in Lausanne!

--

--