We think that a lot of developers want to contribute to open source, but don't do it for various reasons. We want to gather more insights about it and try to improve it.
We made a small survey with questions about open source. Would mean a lot to us if you take part. It should take only a couple of minutes.
Link: https://fdier.co/mm23y7
Why do we do this?
* It's a great perk for engineers. They contribute under their "personal" profiles, improving their own karma.
* Growth of the community we come from lifts everyone, including the company as a whole.
* We are grateful for what we get for free, and want to contribute back.
* It's a nice argument when hiring.
* It's a great way to skill up in the underlying technology.
* It teaches about collaboration and the softer skills needed to get PRs merged.
* It gives people to touch technologies they wouldn't learn on the job itself.
Yes, I do.
I have been contributing to the open-source community for ±10 years.
Many of my personal projects pass years unnoticed, but once in a while I receive an email from a stranger on the Internet saying “Thank you” for building a tool they found useful one way or another. Some times students, some times people without programming skills, some times IT professionals.
To answer your second question: “Why?” I make contributions to the open-source community as a way to pay back the solutions they have provided in the past. Nowadays I spend much less time building my own tools and more time searching online for open-source solutions, and fortunately I often find good ones, then I say “thank you” by reporting issues, giving feedback, implementing features, fixing bugs, etc.
I think that that FOSS is fueling the technology monopolies, despite originally aiming at the exact opposite. I think it has driven many software markets in the ground like for example tooling. I cannot believe that we use absolutely horrible software like GDB in 2020.
I think there is a lot of left learning ideology behind hte FOSS development and also these types of products have a limited way in which they can be monetized.
P.S. I know I'm gonna get a lot of hate, but I think that as a developer you can spend your time better elsewhere :)
If you mean "write code for", then honestly I make very few code contributions. In the 00s, my employer was suspicious of developers contributing to open source, to the point of banning it contractually. I've since changed employer, but I have a legacy of that early experience.
On the other hand, I contribute to open source projects in many ways - I give money to many projects I use, attend meetups, give presentations at conferences, coach people, write answers on StackOverflow.
I rarely program outside of work. And if I do, I just want toy with some ideas, not to actually build something. Most of my learning is done on work time.
It certainly feels nice to take regular breaks from screens, bugs, things not working because the stars aren't aligned just the right way and solving abstract problems. Enjoying the simple tings.
The main reason is that it's important for me to contribute to the common good regardless of monetary reasons, if I can afford to do so. This is true both at a moral/political level, and at a personal level (feeling useful).
It's also a way to give back to projects I use, as I can't donate money to all of them as much as they are worth.
I also like to program just for fun (ie. not useful stuff), and today it's as easy to make my useless stuff open source rather than keeping it private; so I might as well make it open source, because sometimes other people actually find it useful.
Seldom (<10 PRs merged)
Why?
- When I discover issues in an otherwise active library or starter, I fix them and submit a PR
- When I need a minor feature in a library and the codebase is readable
- When I study online courses, I submit PRs with notes and solutions to help others (and myself with motivation)
Why not?
- Because it's a thankless job (not getting paid for contributions)
- Because of lack of expertise
I created an open source developer tool (https://mockoon.com). And I can see the amount of time it takes for other people to contribute. On my side, reviewing or correcting other people contribution is already a lot of work. I think open source is fantastic but can really become a full time job. :) I really believe companies using open source libraries and software should start contributing financially or by dedicating employee's time to contribute. We are in 2019 and this must be seen as an investment.
I have gained tons of things from contributing (experience and knowledge, connections) even if I don't expect to get anything from it. I have also faced the darker side of OSS: the angry users who haven't spent a dime, the "go kill yourself" messages, the dislikes, the time spent wasting time on things that wouldn't happen. At times like that I just remind myself: I am doing this for fun and I can stop when it's not fun anymore.
Reasons for me:
* I like building things
* I feel like we are relying on OSS a lot, this only works if we contribute back, too
* It's a great way to improve (workflow, coding, communication)
* So far it was mostly a nice experience - I've got the pleasure to get to know some awesome folks
I do it for two reasons, first the enjoyment. I really like working on problems of a smaller scope, without a full business around it. I love being able to think of something and knock out some code for it and share it, rather than the code coming last.
The second reason I try and contribute is because I generally believe it contributes positively to the world. I'm sure those who've read my code might disagree, but on the whole I think offering free tools to tackle common problems helps everyone. Even if it's not "exactly" how you want it to work, it's at least prior art to inspire new solutions.
Why?
Some of them tell me that this helps them improve their skills and allows transparency in the project which helps their project in being trustworthy than the alternatives. Promoting more FLOSS-based software.
Why not?
While for many years, it has been a voluntary endeavour for devs and they take donations or sponsorship to fund their development. On Github, unless you are lucky enough to be a celebrity programmer of a famous project, this is difficult for many to build such a reputation and release a useful project for free to get paid for it. Thus, GitHub has accelerated this entitlement and only the famous programmers with a solid fanbase will reap its benefits.
I think it would be better to donate to an OSS org for more devs to get paid rather than to a specific individual/developer, unless they are the sole owner of the project.
I do it mostly because it's fun, and I learn some new stuff. Not much is applicable on my day-to-day job though.
[0] https://git.sr.ht/~moviuro
[1] https://community.openvpn.net/openvpn/ticket/580
[2] https://marc.info/?l=postfix-users&m=157324715117972&w=2
As a developer I struggled writing functional tests. So my company sponsors a team to build and maintain two OSS projects https://gauge.org and https://taiko.dev that makes testing reliable and simple.
We are trying our best to listen to users and help them out. It's been the most rewarding part of my career.
There is already more than enough social posturing and chest-thumping involved in getting through a work day and I'm not interested in having that be a part of my private life.
Still, I guess there is one project (a video game level editor/modding tool) which I indirectly contribute to, in the sense of coding the website and working to get the web APIs working. Just haven't found many others in that situation.
I have the feeling it's similar for UX people.
This way I stick to good bug reports and some small suggestions.
To be sure that my work won't go unnoticed, I file the issue first and ask maintainers if they'd be open for the pull request. If they respond within a reasonable time frame, I start working on it.
But even if it wasn't part of my job, I'd want to be part of it. It's the best model for software development. (Lots of brains contributing.)