HACKER Q&A
📣 nprateem

Open-source software authors – why do you do it?


If you've written or maintain open source software, why do you do it? What's your motivation? And would you be more motivated if you got paid for it?


  👤 capableweb Accepted Answer ✓
I write code for a living and for my own projects, and I open source the code I write because it costs me nothing extra to do so, and I learned a lot from open source when I started programming so I want to give that back to others too.

Some of my libraries gets used by others, most do not. For the ones that do, I get some bugs reported and if it impacts my own projects, I try to work in fixes. For the ones that don't impact me, I reply to them that a PR is welcome, otherwise it's unlikely it'll get fixed. For the PRs I receive, I mainly look at the code quality and understanding if I can maintain that feature in the future. If it's too big feature, I ask them to fork instead, otherwise I try to merge it.

In the end, the toll for me is nothing of concern, so why wouldn't I open source it? Money has nothing to do with it.


👤 OkayPhysicist
As someone who's written a handful of projects that have caught moderate use, I write code because it's fun, and I open source it under some GPL-family license because I believe that should be the default state of all software.

The marginal cost of software is basically zero, software that does exactly what you want is extremely valuable. So I'd need to be paid if someone had a feature request that I had no interest in completing, but that's my day job.


👤 kgodey
I think intellectual property doesn't make any sense as a concept and software should be open source by default. I also think anyone who owns a computer has the right to modify the software that runs on it.

My last two jobs have been maintaining open source software at nonprofits[1], which is great. Regardless, I would open source anything I write that I think would be useful for other people.

[1] My current project is https://github.com/centerofci/mathesar


👤 mikewarot
I wrote a Forth for OS/2 long long ago out of spite. I was told that you absolutely could not write assembler programs for OS/2. So, direct threaded native code forth is what I did. I open sourced it because that was the social norm back then, Brian Matthewson came along and wrote a great Manual for it, and all was well. I got some nice feedback, and it felt good to help out others.

Why wouldn't you share something cool? I know that there are some people who have the wrong attitude, in extreme, about opens source... and I'm glad I haven't encountered them.

I've set limits in the past. Forth/2 never dealt with GUI stuff. I didn't want to go there, so it didn't. I have no problem making arbitrary decisions like that in the future. However... if someone else wants to write that code, why not? Forks are easy these days in the world of Git.


👤 rg111
I personally write and maintain OSS primarily because it is the greatest form of track-record.

Open Source code speaks volume about your code quality, design decisions, regularity, resourcefulness, and such qualities.

I have gotten interviews in the past due to my OSS code.

I also write OSS to learn and practice new language, frameworks, etc.

These are my primary reasons.

Secondarily, I solve problems I face with tiny programs. I put them up online.


👤 majora2007
I build and maintain one larger open source application currently, although am pretty adamant on releasing my side projects under an open source license.

For me, I spend copious time working on it or engaging with my users purely to improve the app, which adds value in my life. (It's a self hosted reading server like Plex).

Even though I develop at work as well, coding on something for myself and something that I have complete control over, is extremely fun and I end up with tough problems that I would have never faced in my current job function (like optimizing for memory and learning how that works in a CRUD-like application).

My project is: https://github.com/Kareadita/Kavita


👤 masukomi
Because I'm writing it anyway for my own needs, and it doesn't hurt me to put it up on GitHub (or similar) for others to benefit from too.

👤 tra3
I find building things is really rewarding. It's who I am, and that's what I'm good at. I write software at work and I write software after work.

The rewarding thing about building anything is having people find it useful and use it. I have no intention of monetizing the stuff that I build for myself, I'd rather have someone enjoy it.


👤 porcoda
I maintain a few packages, some that have been open source for about 20 years.

Reason: I wrote them as part of other larger projects and they seemed useful as standalone things, so I peeled them out and open sourced them.

Motivation: people seem to find them useful, and they’re neat little projects. They’re fun to tinker with. I don’t care about how many users/stars/whatever that they get: I don’t use my open source work as resume content or anything.

Pay: I don’t want pay. Not being paid allows me to ignore the project when I don’t feel like dealing with it without feeling obliged to work on it. Besides, I get paid enough for the day job. Extra money is always nice, but the added stress/obligation it would entail outweighs the benefit of the extra cash.


👤 noud
I actually do it to relax... Sometimes life and work can be boring, and I need some intellectual challenges to "relax" after a boring day of hard work. I work on several small open-source projects where I focus on challenging things I want to learn.

👤 denhaus
Well, there’s sort of two paradigms here for me personally.

For one, academic and research interests. For these, I get some kickback because people who use the software cite it in their publications. So I spend some considerable time upkeeping and bug fixing these projects.

I also write FOSS for my own purposes if I need something and existing solutions don’t really do it. Or they might do it but learning how to use them to do something simple is more work and upkeep than just writing it myself. Generally, I don’t really care if people use these projects or not but sill respond to bugs/features/etc if they will actually improve the project or if they don’t require much work from me.


👤 Beltalowda
I like writing software for my own use. Why not put it on the internet when it's reasonably finished?

That's it really. No grand visions; just doin' my thing. And if it helps out other people: all the better.


👤 pydry
I started after doing 3x 6 hour homework assignments in a row that got ignored and thinking that was such a waste of my time.

At the same time I tried to see it from the companys perspective that they did want to see some sort of evidence that I could code.

Hence I wanted a portfolio online that belonged to me that proved I could code that I could throw in the face of any more companies that tried to gatekeep first stage interviews with a homework assignment.

I continued coz it was fun seeing the stars rack up and coz it did seem to give me a mild professional boost.


👤 Ologn
A lot of it is stone soup - someone wrote something in FLOSS, I notice a defect, or want to extend it or the like - and I send the patch upstream.

Sometimes I write code for myself, think someone might want it, so I release it. In 2014 wanted a very simple model Android project that could handle OpenGLES 1 code in C, so I wrote it. Then I figured others might need it, so I put it on Github. Two people branched it, one did their own commit on it for their own purposes, so I figured they found it useful.


👤 newusertoday
If i need something for my line of business that does not directly contributes to it than i develop it and release it in opensource with the hope that someone else would also use it and hopefully my maintenance burden will be shared. No i would not be motivated with money however if something else is available in opensource that meets my needs i will be happy to abandon my project and contribute to that project.

👤 zzo38computer
I do because I want to modify the software to be useful for my use, to write software that I do not find an existing suitable one, and to make available to others who also might find this software useful (and that others can modify it if they need to do so, too). There are other benefits of FOSS, too.

I will sometimes accept feature requests and bug reports, although there aren't many, since not many people use my software.


👤 livinglist
I open source my personal projects for helping my job hunting, since I didn’t graduate from a top college…

here is a hacker news reader I been working on (currrent version is kinda janky in comments screen but a fix is on the way): https://github.com/Livinglist/Hacki


👤 knadh
Writing software is a hobby I enjoy unconditionally. Seeing people find utility in the software I write makes me happy. Seeing people derive happiness from it, for free, makes me happier. Been doing it for about two decades now.

Thankfully, I don’t need to make a living from my hobby FOSS projects. If I had to, maybe it wouldn’t feel like a hobby.


👤 benibela
I used to make my projects open-source when I did not want to deal with them anymore. The plan was I am not going to change anything anymore, but the project is too useful to delete it, so someone else can make future updates.

But I do not do that anymore. I did not find someone else, instead more people send me issues and I have to spend 100x more time on the project than before I abandoned it.

However, now I work at an university and there you are expected to make everything open-source