Why?
- Why would you as a company want your employees to contribute to open source projects?
- Why would you as an individual want to contribute to Open Source?
As a company
-
You use probably hundreds if not thousands of open source libraries. Most of them have bugs. Most of them lack some documentation. You certainly would want to make sure the longevity of the libraries you rely on.
-
You encounter a problem with one of the 3rd party libraries. You can create an in-house fix for it, but that will have trouble upgrading to newer versions of the open source library and maintaining your local fix. Better to contribute your fix back to the open source project so you’ll be able to just keep using the official open source version of the projects.
-
You would like your employees to lear new technologies and techniques. One of the best way to practice and to get feedback is to contribute to open source projects. e.g. you’d like your emloyees to learn about type-annotation in Python. Instead of experiementing on your code-base, they could send pull-requests to open source projects. Thereby learning while enhancing the ecosystem.
-
If nothing else, providing an opportunity to your employees to learn new things, specifially to learn why and how the open source projects are built is a nice bonus.
As an individual
-
You can learn a lot while practicing techniques and technologies you are not yet familiar with.
-
It gives you an extremly positive feeling to know that you contributed to the greater good of the world.
-
Learn the social norms and the human interactions required in a distributed development project where you probably don’t know any of the other participants.
-
For the non-English speakers this is also an excellent opportunity to practice communicating in English.