I’ve had to recalibrate my involvement in OSS because of the combination of full-time job and the book which entails writing and releasing ~100 pages a month. Fortunately, the only library I maintain of any real importance has Michael Xavier who’s using it at work and moving things forward. I’m mostly there to rubber ducky for him and push out releases. I do little/nothing beyond that.
The incentives aren’t really there to do OSS if you have an established career, which then leaves a lot of that stuff to relatively inexperienced programmers if you think about it.
I think some OSS contributors dream of being able to do it full-time, but that seems very rare.
Hi, I’m the guy who wrote the article. I think this process is part of recalibrating my involvement in OSS. I felt way over-committed, and that’s probably because I decided to take more and more stuff on without cutting back anything. So I’ve cut it all back.
The library that gets the most issues for me is paranoia, then followed by Ransack and then Forem. The latter are usually issues that are like “how can I fit your round peg into my square hole?”, which is the kind of thing that I would charge a consulting rate for typically, but I’d feel wrong about closing their issue without replying… and so it lingers forever.
The incentive to keep doing OSS is, in my mind, that it provides you with a playground for new ideas. I wouldn’t have spent time learning how to use Sidekiq if it wasn’t for my OSS work. It has some benefit, but not as large a benefit (imo) as my writing does. So I’m quitting the OSS side of things and focussing on writing during the week, and spending my weekends relaxing.
I’ve found not using github pretty good at reducing the number of issues received. Put a tarball on a website. People send mail sometimes, but it’s easy to ignore and there’s no website tracking how awful you are. :)
You can disable issue tracking per-project on Github. Doing that on @ryanbigg’s projects would probably cut down on the pressure of having to provide support for them while letting others still fork the code and all that stuff.
I’d still like people to file issues if they encounter a problem with it. It provides them with a centralised point where they can do that.
You’re doing the healthier thing than I am. I’ve no family, just a dog. My weekends are devoted to the book and the occasional bit of contract work.
Exactly my thoughts ~!
Very few are fortunate to have their job & opensource work overlap. For the rest of us, it’s two careers: one that pays and one that doesn’t.
At least on the big projects, I feel it’s the opposite these days. Genuine volunteers, who contribute to open-source projects out of conviction or as a hobby or side project, seem pretty few and far between in most projects I follow. The vast majority of code seems to be from professional developers getting paid to make those open-source contributions, working for companies like Red Hat, Intel, IBM, Joyent, Google, Samsung, Apple, etc.
The incentives aren’t really there to do OSS if you have an established career
Of course they are. My incentive is that it’s fun, stimulating and benefits others.
Agreed, (with some caveats re: entitled users, etc), but don’t forget the obvious one: because you need a particular piece OSS in order for your established career to actually proceed.
What follows is my own experience. There may be many paths to my current state of mind. I write it in case others may have use for it, but at no point do I consider that others must/should/can follow my path. It’s just an anecdote in a sea of endless anecdotes.
It’s tough. I’ve been “doing open source” since high school (well over ten years ago now). I’ve kept a pretty steady pace as I transitioned to undergraduate study, graduate study and now working full time. At many points in time—including now—this involved producing and/or maintaining code that others use. When you do it long enough, people start to file bug reports. People start to email you. Some of them get a little aggressive. Some of them act entitled. Some of them offer to pay me for my time to help them. Some of them “threaten” to use a different project. Some give you their cell phone number and expect you to call them. Others want you to come work for them—but to talk any further, they insist that I sign an NDA and are repulsed when I refuse. (OK, there was only one who did that.) My experience is that most folks though, are genuinely appreciative, well meaning and have no intention to make you feel guilty. (One was even kind enough to send a few of my favorite cigars my way!) I agree though, that it is hard to not feel guilty, because, well, there are people using and relying on your code, and you don’t want to let them down! It sucks to let people down.
My own personal way to deal with this is to adopt a perspective that enables me to continue doing what I enjoy: working with others on open source software. If piles of bug reports affected my emotional health, then doing what I enjoy would simply be unsustainable. If one writes and contributes to interesting projects, others will naturally flock to it. If others flocking to it causes one stress, then it is hard to persist in contributing to interesting projects! This is a dilemma, and the only way for me to fix it was to either quit or figure out how to not be stressed. Quitting sucks, but it’s a legitimate option because being constantly stressed out or feeling guilty all the time is just not a good way to go through life.
The perspective that I adopted is that I do not owe an obligation of any kind to any users of my code. It is out in the open, permissively licensed, ready and waiting for someone to do something with it. A pile of bug reports is unfortunate, but the software continues to work well for me and I don’t have the time or interest to improve it further. If a user needs a bug fixed, then they can either fork the code (or I’ve been known to just add them as a committer to the repo) and persist without me or find alternative software. And I’m okay with that. Completely and totally okay with it.
Of course, none of this precludes also endeavoring to help others use my code. I do my best. Just because I believe that I don’t owe an obligation to anyone doesn’t mean I don’t want to help others. I simply take the perspective that if I don’t get the time to do it, it’s okay. I’m not perfect, sometimes I neglect to do even the simplest of maintenance tasks and sometimes completely ignore even mostly trivial issues and PRs for months at a time. I don’t do it intentionally; I see the email come in, let it slip and then forget about it. That’s okay. Issues that could use a response from me exist right now, but they don’t weigh on mind because I don’t owe an obligation to users of my code.
Life is balancing act. I really love open source, but the only way for me to continue doing it was making my peace with the fact that I will not be able to help everyone use my code in a timely manner. I did just that and my quality of life improved significantly.
Some of them “threaten” to use a different project
Haha, we get this regularly with Octave. People tell me how they’re going to use Matlab instead. Well, I am trying to help you not do that, but if I fail, threats are not going to help. Sorry Octave didn’t work for you buddy, but it’s not my fault!
The best thing we did to ease maintainer burden was to have a bug tracker. Before we had a bug mailing list (this started in the late 90’s), and that made project lead jwe very unhappy with the same symptoms of burnout everyone is experiencing. I emphatically agree with you that not giving a damn for failure of a free project is very important.
We put free code out there. We owe nothing to anyone.
(One was even kind enough to send a few of my favorite cigars my way!)
Made me curious and I checked out your site… Liga Privada #9 is indeed a tasty cigar! I also like the Undercrown from Drew Estate, for a cheaper smoke or something to hand out to friends/family.
We should start a Lobsters cigar pass :)
I had people buy me drinks at conferences a fair bit, but one of them went out of their way to bring me a bottle of wine from Argentina: https://twitter.com/technomancy/status/319667227936825344
Definitely a highlight of my free software career.
Yup, the Undercrown is quite awesome. The Liga is a special occasion smoke. :-)
Great approach to keeping your motivation high. I’m a user of software you’ve freely developed and shared and never once have I felt anything but gratitude for the effort you’ve put in.
The thing I would like to see on these kind of projects is a note in the README that you’re in low profile mode or looking for a co-mainteiner. Otherwise you’ll end spending other people time and that’s not cool either.
If I remember to put the note there, then sure. Otherwise, the issue tracker that hasn’t been touched in a few years is a pretty strong signal.
Looks like this is the PR thread that started this.
I dont think the person who sent the PR did anything wrong. Guy was just ready to blow.
Hi, I’m [the] “Guy”. Yup, certainly was ready to blow. Emails like this every weekend asking when I’m going to merge their patches is what sent me over the edge. I’ve had enough, and so I’m throwing in the towel.
I hope he doesn’t start getting more comments like this. Guy gives away free work for like almost 5 years (based on git commit logs), and some random person (with an amazon wishlist as their github homepage link no less!) comes out of the woodwork to inform him how he should feel. eye roll
I think that comment is pretty fair and the maintainer was kind of a jackass in implying guy was ruining his weekends asking how he can improve the quality of his own freely donated labor.
I do find it hard not to hate any post that begins with “sigh” though.
Yeah, the sigh and the second sentence (“It looks like..”) were what chapped my caboose I think. The rest of it was pretty reasonable.
The “random person” is Rui Paulo. He is a FreeBSD core commiter for longer than 5 years!
Must have been a high quality entropy device then. :P
Anyone else wish their open source work was popular enough to get people badgering them about it? Of my dozen or so (rotating) GitHub projects, a single one has gotten a star or a fork, and I can’t remember the last time I got a question about it.
Edit: That’s to say nothing of the pre-GitHub projects with zero visibility…
Have you tried writing about what you’re working on? People generally don’t know what’s out there unless you do that.
Often the marketing aspect of OSS is at least as much time as the work itself. :\
How do you suggest doing that? The only legit way I know of marketing OSS is Hacker News; elsewhere it seems absurdly spammy. Facetiously, it always feels “hay have you seen my sweet new project? srsly CHECK IT OUT”.
Post it here with a [show] tag.
Write a blog post (please not on Medium). Link said post on Twitter. Submit to HN/lobste.rs.
Then, forget about it and get working on the next thing.
I’m curious what you dislike about Medium. I’m aware of a history of privacy issues affecting authors, but that doesn’t sound like your concern?
Technologists should be setting a good example for owning the content they create.
You want people linking to your site. You can lead readers into other things (reading more of your writing, signing up for an email list, exploring your projects) and there are knock-on benefits like improved search engine rankings. Medium wants to smooth out differences between authors and be a destination. You want people getting interested in your specifically and exploring your work.
That makes sense.
Post it on every vaguely related reddit as well. I posted something I wrote on like 5 reddits, and it go no attention on most of them, but was on the front page of /r/linux all day, which is the one I thought it’d be least popular in.
Yup. There was only one OS project I had that got any questions (an IRC bot), and that is because I developed it for some friends and they would ask me questions about it. It was like pulling teeth to get them to file bugs in the GitHub bug section though, usually they would ask me in IRC, and I would ask them to file a bug, and they’d forget, and I’d end up filing the bugs myself.
I have one project that’s gotten one star and one project that’s actually useful and that I use. They are, of course, not the same project. =P
It also depends on what ecosystem you’re building OSS for. I’m tempted to say Ruby is one of the worst, because it’s so widespread, it’s used heavily by industry, which means more people, which then means a greater chance of running into entitled/aggressive people “just trying to get their job done.”
OSS really only works when you’re excited about long-term maintenance, and you have time/emotional energy for it in that season. Otherwise, it amounts to free labor and Internet randos making demands on your time in return for Internet Points.
It all seems self serving. Both the oss effort and the gripe.
I do like the idea behind the new system of suggesting tags ourselves, but I dislike how suggestions are ‘invisible’ – it’s a lot harder for suggestions to gain critical mass without seeing what other users are suggesting.