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.
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.
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
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.
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.
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
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.
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.
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.
That's it really. No grand visions; just doin' my thing. And if it helps out other people: all the better.
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.
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.
I will sometimes accept feature requests and bug reports, although there aren't many, since not many people use my software.
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
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.
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