So the common misconception in the open source community is, "I don't get paid, I don't have to do it". Actually, it's not a misconception, you're absolutely right, you don't have to, you can stop, leave, go away. It's also well know that FOSS software is without warranty or guaranteed support. But by the vary nature of being a volunteer you are offering to do a job for free. No? have you tried working for a volunteer organization and telling your boss there "I don't have to do it because I'm not paid". I highly suspect this attitude will get you a 'then we don't need you'. I also suspect if you're say, working a food drive, and someone asks you something and you say "I'm not paid to explain it to you" what do you think that would look like? Basically when you volunteer to do something you're volunteering to do a job. If you are unwilling to perform all parts of that job should you be there?
With open source software you're volunteering to support the entire software life cycle. This means design, development, documentation, and maintenance. Most open source developers love doing the first two, but abhor the last. It's a job, some parts of it suck, if you can't be bothered to document your stuff or find someone who will, don't show up. You know what else? you're not perfect so people are going to have problems, it's your job to support them as part of your 'best effort' support. Best effort support doesn't mean bitching when someone asks you to improve something. If you reason for saying no is, "I'm a volunteer so I don't have to" come up with a better reason, there are better reasons.
If you tell people, hey I'm really swamped at the day job, they'll probably understand if this is something more than a 2 line of code fix. My wife is ill, just recently on ironman one of the dev's (sorry I'm not looking it up and I don't remember the name, condolences all the same) is taking a leave of absence due to his wife having cancer, we get that. I'm on vacation, no computer access right now. All this stuff is saying is, "now is not a good time for me", and that's ok. But saying using "I'm a volunteer" ever is not acceptable. This gives FOSS software the ugly taste that some people complain about.
Before anyone else calls me an "entitled piece of shit" (yes a FOSS developer said that to me today after calling me a "fucking asshole" for filing a bug that he didn't understand what I'd said ). I'm sorry? I just wrote a patch to help fix this problem elsewhere, is my asking you to fix your own a problem? I maintain 250+ packages in the Arch User Repository, including yours. I help people use your software, and I'm not the first one to complain. How does me telling you I'm having difficulty with your software and asking you to fix it make me entitled? do you take no pride in your work? seriously, if your responses are going to be no patch from you know fix, and fuck you because I didn't understand what you were saying... I'd rather you deleted your modules and went away.
I had a project that I didn't want to take the time for anymore, and no one was helping, but I was getting bug requests. So after asking for help, I put sign up that said, "project is dead because I couldn't do it by myself", or some such. I ceased work, and left the code up. This isn't wrong because at some point everyone moves on. You don't have to maintain your work, but you should at least let the world know that not maintaining it is your intent, and that you've quit. 150-200 of the modules I maintain on AUR were from someone who went from Arch to OS X and is no longer around, and although it took him longer than it should have, IMO. He did eventually say, "I'm not doing this anymore, relinquishing control", essentially, which was acceptable and I took over.
I couldn't always do what I could now, but wonderful communities like Gentoo, and Postgres have made me a better person, now to where I contribute where I can. I'd also like to note that Linus (and others?) have, and do, turn down patches and remove kernel code if the developers are unwilling to maintain, and support them, I endorse support concept.
You may disagree if you'd like, but this is my opinion. Just let me know if you feel this way before I do something for you so I don't waste my time. I don't want to do your job for you, and I did not volunteer to do your job.
I'm going to cover the horrible response that equates to "fix it yourself" in another post.
You've convinced me. I'll go take the easy route from now on and stop bothering with sharing my for free.
ReplyDeleteI'm sorry that you don't understand this certain point of view. But you are not entitled to any work from anyone. We don't have to lift a single finger if we don't want to. But we do, and many have done it in the past. Otherwise all this software wouldn't be here in the first place.
ReplyDeleteThe huge difference between all of your examples and reality is that you and us are in the same boat, on the same level. That's Open Source for you. There is no worker/customer relationship, not even a volunteer worker/boss one.
I get that you're frustrated. And nobody disagrees that all software could be better. But you'll either have to contribute more towards the target that you actually want to approach, or expect that communication in form of "You've been told multiple times …" and "I'm serious, …" won't find many volunteers to do the job.
It's not about entitlement. It's about responsibility, I didn't volunteer for this, you did. I take responsibility for the things I've volunteered for.
ReplyDeleteand no we are not all in the same boat. when it's your project, it's your responsibility, not anyone else's. I don't have a responsibility to tell you about problem's I've encountered with your product. I don't have a responsibility to tell you how to fix them. I certainly don't have a responsibility to fix them.
ReplyDeleteI think you'll never get a community consensus on this - what I would propose is to work the other way around - be explicit in your modules about how much support you can provide. I do think that this maintenance security is an important thing - but it will never work as a by-default obligation (you can see also: http://perlalchemy.blogspot.com/2009/09/change-management-and-foss-authors.html).
ReplyDeleteBut the project *is* yours to the extend that the GPL and Open Source provide you with. That's the whole idea.
ReplyDeleteI am responsible (in some way) for the thigns I have written. But I'm not responsible for the things you want me to write. For those it's your responsibility to either a) not care enough, b) do it yourself, c) be nice to someone and get them to do it, d) pay someone to do it or e) use an alternative that fits your needs better, be it free or commercial, with or without support.
The GPL (and other FOSS licenses) are not for the AUTHOR, they are for the user, and consumer. They are there as a protection against you. The only part of them that is there for you is attribution, and perhaps making sure people don't steal from you. But they aren't meant, imo, as a protection from you being responsible for what you release.
ReplyDeleteIf you don't see that it's your responsibility to provide a good user experience as an author, then why'd you release the code? you must not really want others to use it...
I suspect as an author you have reasons for not wanting to make changes users ask for. why don't you give them the real reason, as I've suggested, instead of passing it off as "I'm a volunteer", which in the open source world means, "I'm rejecting any responsibility towards this because I'm not getting paid".
Yes, all that might be your opinion. But that's all it is.
ReplyDeleteI release code because somebody could find it useful. Even undocumented code should be shared if it serves a purpose in my opinion. And honestly, I don't care if others use it. I use it. Even if I didn't put it on CPAN, I'd have written it so I could use it.
And because of that act---that I didn't want to keep it to myself but have it made available for others---somehow puts me in a service position in relation to you? I just don't see that.
And the reasons for declining can be many. Everybody usually has something better to do, otherwise they'd often already have done it. Sometimes they just have no idea why, and no time or motivation to figure it out. And saying "I'm a volunteer" does by no means mean what you suggest. It is used if people get too demanding. Or to try to get them to become contributors as well. Most of the people in the larger projects were simple users until they started contributing.
By your logic, their choice to give back to the community obligates them to provide service. If that were true, most of these projects wouldn't get many help. In fact, I can't even imagine how big the factor of contributions from one-time commiters or other people considered users were. Especially when it comes to documentation and tests.
And no, you're not paying me. So you don't get to set my priorities.
one-time committers is an entirely unrelated thing... and they aren't usually the project author, and they're usually saying here's my code for you to maintain. If you need them to maintain it, you should probably make sure they'll be around to maintain it before accepting the patch.
ReplyDeletedid I say you weren't allowed to have priorities? even if I were paying you... I'd expect my payments not to be the only dictating factor.
Actually I think the communities are more vibrant when the author is helpful and works hard to get fixes out faster. It can be ... contagious. I actually have developed an aversion to helping people with this kind of attitude. If you have that attitude, I'll probably either fork, keep the fix to myself, or just plain stop using the software. But I'm gonna blog more on that with why you shouldn't say 'patches welcome'.
See? You've developed a aversion, and so have we. And communities are much more vibrant in connection with users that don't have your attitude.
ReplyDeleteIt's Open Source. No warranty. None. Nada.
I'm sure they are... although I'm not sure why people thinks I'm the one with the bad attitude... because I said "I'm serious that fixing your documentation and making a new release for it will fix the problem". There's nothing wrong or rude about that, imo. But for that I got called an "asshole". Were the shoe on the other foot I'd fix the problem.
ReplyDelete