Workshop: Your first Open Source Contribution

files

Open Source is a great phenomen in which tens of thousands of people contribute, mostly as volunteers, to improve the world by creating freely available software. Contributing to an Open Source project can give you great satisfaction and it is also a little contribution to the world.

At first it might sound that you need to be an experienced programmer in order to contribute, however this is not really the case.

Let's examine what and how else can you contribute.

Before that, however, let us ask the question:

Why would you want to contribute to an Open Source project?

Why is it good for you and/or for the company you work for?

  • You use the project, found a bug, fixed it for your purposes, but you don't want to maintain your in-house fork.
  • Your company needed a feature to be added to the library and you don't want to maintain a fork inside the company.
  • You finally understood how to use an Open Source library and would like to help the next person by providing a small example and including it in the official documentation.
  • You found a typo in the documentation that annoys you.
  • You just feel it is fair to give something back to the community that gave you all the nice and free libraries and tools.
  • You understand that many companies will look at your Open Source contribution and it will be an advantage for you in the job market.
  • You'd like to show it on your CV.
  • ...

What is your reason?

Have you ever wanted to contribute to an Open Source project but did not know how to do it? At this meeting we'll have a mix of presentation, hands-on exercise, and mentoring to bring you to your first Open Source contribution. You don't even need to know how to program. At this event you'll learn the mechanics behind Git and GitHub and we'll get you to first contribution.

If you are a programmer you can then go on and also contribute code, but if you are not a programmer, or if you don't feel comfortable with contributing code, we'll show you what else can you do.

You'll need to bring your own computer and plenty of energy.

A software project has lots of elements. The code used by the end-user is just one part of it. It also has graphics, documentation, tests, packaging, marketing material, configuration files.

In order to contribute to these, you don't need to know how the application is built. In most of the cases you don't even need to know how to program at all.

What you probably need is to know the technique of contribution. That's a large part of what we have been doing at our tech meeting in my home. I even started to write a book that covers this subject. The book is available via LeanPub. See Collaborative Development using Git and GitHub.

Next week the First Open Source contribution - Workshop is going to take place in Tel Aviv as well, and later on I am probably going to offer it in other places as well. Maybe even in the 2-day version of the workshop in which I also include test-writing and setting up Continuous Integration in a number of programming languages.

GitHub in companies

In his post Dan Palmer explains how and why they teach non-engineers to use GitHub at Thread. This is an excellent explanation on why someone inside a company might wanr

See Collaborative Development using Git and GitHub.

Author

Gabor Szabo (szabgab) Gabor Szabo