Live data from Hacker News

My boundaries as an open source developer

joeldenning.com

141–150 of 251 posts

Re: My boundaries as an open source developer

#141
> Part of the stress is in interacting with so many people a single time, never having a solid relationship with any of them.

I found that working in the Linux distro space doesn't have this problem, especially in the pre-COVID times when there were annual in-person conferences and lots of socialising.

Re: My boundaries as an open source developer

#142
A few years back I was in a role where it was my job to maintain a small but non-trivial open source project (~1500 github stars, 5 core contributors). I burned out after about two years in that role. People repeatedly demanding help in the github issues without even providing repro steps. Hate mail to the project email list from users angry we didn't implement the feature they want in the latest release. We had people second-guessing all the time if we didn't ship the things they wanted or they disagreed with the decisions we made. Some people just like to get in touch to let you know your work sucks.

The worst was the CEO of a small competitor company repeatedly hassling me over slack DMs and in github issues threads shamelessly trying to get me to prioritize free work that he wanted for his clients. Separately, over a period of several weeks, this same person asked me a ton of support questions and then compiled my answers without edits or attribution into a "white paper" he used as a resource to get people into the marketing funnel for his consulting shop. I came to hate that guy, such an asshole, but I couldn't totally block him because his company was a member of the open source foundation governing the ecosystem of tools my project was under.

Honestly, it was hell. The most stress and irritation I've ever had in any job. When I started the job I thought it was a dream getting paid to do open source, but now I consider that an anti-goal for any future role.

Re: My boundaries as an open source developer

#143

So much this. I'm glad he put this out there. I'll start linking to it too. There seems to be a common misconception about open source. When I release software as open source, it does not mean I work for you for free, need to provide you with anything, even need to be nice to you. I may. Or I may not. When I release software under an open source license, then we have a very specific deal. You are entitled to do certa…

I will preface this by saying I have immense respect for anyone who open-sources their work. I think the web as we know it today would not exist without such kind and hard-working individuals.

In my opinion, I think most of these issues outlined in the article are caused by lack of communication combined with unclear expectations, to be honest.

The only thing I ask of open-source library authors/maintainers is this: be upfront and clear about the nature of your library, and your level of commitment.

Is it just a hobby app? Totally fine, just put in bold text "this is a hobby app, not recommended for production use". That way, everyone knows what to expect, and if they do decide to use it in production, they do it at their own risk.

Do you feel that it is feature-complete? Then just say so, and indicate you will not be doing any more work on it.

Do you want to work on bugs whenever you feel like it? Nothing wrong with that, it's your work, but again, please just put it somewhere in writing so that any developer or PM who comes across your library knows exactly what to expect.

You painstakingly supported a library for years, got burned out and want to quit? At least try to pass it to another maintainer.

IMO these are just some very, very basic things that open-source authors can do that would alleviate a LOT of the friction that occurs in this space between them and those who decide to rely on their work.

Be kind, be clear, be upfront. That's it!

Re: My boundaries as an open source developer

#144
post #124

I used to maintain several popular open-source projects and contribute to even more popular ones. It was always fun at the beginning, especially because I built them for my own needs. But I kept getting asked to fix bugs or improve things even long after my needs had expired. I tried the donation route for a little while but it didn't go anywhere - I received maybe a few hours worth of money (versus hundreds if not t…

I related pretty strongly to this. I've never tried to monetize, and the community I'm mostly working in (ROS) is populated almost exclusively with exactly the sort of kind, considerate people who will happily roll up their sleeves to take a crack at it themselves, given a little guidance. Nonetheless, there are dozens of effectively abandonware ROS projects out there attached to my name— drivers for some sensor I sh…

I wonder if such projects should be collaboratively maintained rather than attached to your name? Then anyone who is part of the ROS community and ends up needing them can take on fixing any issues they encounter. As long as the org holding them has a liberal enough membership policy, this should work well.

Re: My boundaries as an open source developer

#145

If an author can publish code with a take-it-or-leave-it attitude, why can't people make requests with the same attitude? If the author is under no obligations at all, a request is no problem, right? Well, the problem is that it's not so absolute. Publishing something normally invites feedback and it's awkward to completely ignore it. Just like it's awkward when you report a bug and get silence. I'm not suggesting a…

For the most part, the people that the product is offered to don't insist that the creator do work on demand. A small portion of obnoxious users make a point of insisting that the creator who already gave away their work for free remains under some kind of obligation to do more work.

For the most part, creators giving away their work for free don't insist that the people it's offered to accept it. A small portion of obnoxious creators make a point of insisting that some portion of people who aren't using it are obligated to use their work.

Obnoxious users are effectively discouraging, because not only does the population of users outnumber the population of open source authors by many orders of magnitude, not only also because the population of those who don't have the skills to do it themselves or contribute in a functional way is entirely contained within the 'users' category, but most importantly because each obnoxious user has only the authors of the few open source projects that they're using to be obnoxious to. Open source creators who talk about obnoxious users (usually without naming them) are often effectively criticized within the vast hordes of users.

Obnoxious open source creators are easily ignored, since there are so few of them, and they have millions (give or take an order of magnitude or two) of potential users to harrass. Open source users talk about these open source creators (usually calling them out by name), and those creators become well known as obnoxious cranks to be avoided.

Re: My boundaries as an open source developer

#146

I had a very similar experience with running open source projects. I was getting frustrated with people not contributing in any significant way. Functionally useless bug reports. Coding bootcamp students submitting PRs that did nothing but change some grammar in the README (and never actually changing it correctly). Feature requests for things I had explained in several other issues that I would never do. Requests fo…

> I eventually realized my motivations for developing open source software were rooted in vanity.

Very insightful, but is it in fact a slightly different emotion to that?

In the Mythical Man Month, Fred Brooks says:

> Why is programming fun? What delights may its practitioner expect as his reward? First [..]

> Second is the pleasure of making things that are useful to other people. Deep within, we want others to use our work and to find it helpful. In this respect the programming system is not essentially different from the child’s first clay pencil holder “for Daddy’s office.”

I don't know if this is quite vanity. That sounds a bit too negative. Is this the kind of complex emotion that Germans would have a word for but not English?

Re: My boundaries as an open source developer

#147
I appreciate that an open source developer is likely to be burned out on some people's expectations or unthinking requests, but that page was too long for me to even skim.

Usability-wise, one could lead with a terse bulleted list of "use cases" for which people should contact you, and how.

Then state you can't handle all the other usual reasons people want to interact with an open source developer, maybe giving examples. Then follow it with explanation of why.

Re: My boundaries as an open source developer

#148
post #89

Earlier quoted context omitted.

> This is simply not true - not all open source software is copyleft. You can have restrictive licensing regarding use and/or distribution and still be open source. Well, of course you can adopt any definition of "open source" you want, but I'm using the OSI definition, which states: "The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of t…

There is a reason FLOSS exists as a term to differentiate itself from OSS and I think the ideological differences between the two are important. So does Bruce Perens, the co-founder of OSI and the author of the Debian Social Contract of which the OSI definition was based off: https://web.archive.org/web/20140716055445/https://lists.deb... This was back in 1999 - it's been over 20 years and "OSS" has only been muddied…

Where is this muddying happening? The only place I've noticed it is on HN, where others always correct the poster by pointing at the Open Source Definition.

Maybe it is time to ditch both "open source" and "free software" and go with something that has a clear meaning that isn't possible to muddy, like "libre software", prefixed with "always" for copyleft licenses and "currently" for permissive ones.

Re: My boundaries as an open source developer

#149
post #124

I used to maintain several popular open-source projects and contribute to even more popular ones. It was always fun at the beginning, especially because I built them for my own needs. But I kept getting asked to fix bugs or improve things even long after my needs had expired. I tried the donation route for a little while but it didn't go anywhere - I received maybe a few hours worth of money (versus hundreds if not t…

I related pretty strongly to this. I've never tried to monetize, and the community I'm mostly working in (ROS) is populated almost exclusively with exactly the sort of kind, considerate people who will happily roll up their sleeves to take a crack at it themselves, given a little guidance. Nonetheless, there are dozens of effectively abandonware ROS projects out there attached to my name— drivers for some sensor I sh…

Would you allow someone to buy out your repos?

I'm a full-time maintainer that has luckily made it work. Donations don't work. Carving out business specific features and paywalling has worked for me.

But it's not a tenable solution for most projects. I've been thinking about how people in your position can basically "cash out". It is sitting dormant, PR authors are too intimidated by maintenance to take the lead. Maybe some sort of robotics vertical-focussed Private Equity type organization could buy out your project (where you get paid to essentially transfer the repo to their GH org, they would then take up maintenance and monetisation)? Would you accept a deal from them? How much would you ask for one of your popular repos?

Re: My boundaries as an open source developer

#150

A few years back I was in a role where it was my job to maintain a small but non-trivial open source project (~1500 github stars, 5 core contributors). I burned out after about two years in that role. People repeatedly demanding help in the github issues without even providing repro steps. Hate mail to the project email list from users angry we didn't implement the feature they want in the latest release. We had peop…

Sounds like OS developers would benefit from Product Managers who could shield them from the users (among other PM tasks). Do many OS projects have PMs? Are there any "standards" around non dev roles in OS projects?
Post reply on HN