What's the canonical retort to “it's open source, submit a patch”?(programmers.stackexchange.com)
programmers.stackexchange.com
What's the canonical retort to “it's open source, submit a patch”?
http://programmers.stackexchange.com/questions/68740/whats-the-canonical-retort-to-its-open-source-submit-a-patch
20 comments
I think saying, "we think it's a good idea because.." or "it's not a good idea because.." or "hmm, that's interesting, we'll need to think about it." are all better responses than any of your quotes.
If somebody cluelessly expresses urgency and wants it fixed now, it's perfectly ok to say "if you need it soon you should consider paying someone for it". But I find "submit a patch" often used when people disagree with your suggestion but can't articulate why.
If somebody cluelessly expresses urgency and wants it fixed now, it's perfectly ok to say "if you need it soon you should consider paying someone for it". But I find "submit a patch" often used when people disagree with your suggestion but can't articulate why.
In at least some of these discussions, I think "submit a patch" stands for more than just the literal phrase, it's a whole category of response, in contrast to the "I will do your bidding, master" category. I will sometimes use the phrase literally, but haven't found the shock and outrage of asking somebody to fix their own problem is diminished much by flowery phrasing.
For the record, I will not say "submit a patch" for a bad idea, I will say "that's a bad idea". Not that people like hearing that, either.
For the record, I will not say "submit a patch" for a bad idea, I will say "that's a bad idea". Not that people like hearing that, either.
To be fair, I have told people "patches welcome" more times than I can count. And it's because I could not give even the tiniest flying fuck if they use my software or like my software. (And that sentence doesn't even begin to convey how little I care. Patch welcome!)
But on the other side of the coin, I've never turned down anyone's request for a commit bit.
But on the other side of the coin, I've never turned down anyone's request for a commit bit.
Yup, I always try to indicate in the initial response whether or not such a feature would be considered for inclusion as well. I.e. "Sounds reasonable. I'll try to get to this when I can. Feel free to submit a patch in the meantime." or, "Not sure this would be a good fit because of ____. Feel free to submit a patch and I'll give you a more detailed review."
These terse responses are always open to misinterpretation, especially by non-technical users who may not fully understand open source. That's the problem. "We have a backlog, but you're welcome to contribute to speed things up," or "I do this as a hobby, so take it or leave it," at least expresses some reasoning.
So, a response that would be less likely to offend might be "I'll add that request to our queue, but there's already quite a backlog. If you are so inclined and able, feel free to submit a patch to bypass the wait."
It's kind of weird reading that.
Many people think it's rude to ask someone who wants work done to do the work themselves.
I think it's rude to expect other people who've got you 90% of what you want to just drop what they're doing and give you the remaining 10%.
The answer is likely somewhere between, but (and I'm biased), I'd tend to think that those who brought a body of work forward should have a little more leeway in responding to the demands of those taking advantage of it.
Many people think it's rude to ask someone who wants work done to do the work themselves.
I think it's rude to expect other people who've got you 90% of what you want to just drop what they're doing and give you the remaining 10%.
The answer is likely somewhere between, but (and I'm biased), I'd tend to think that those who brought a body of work forward should have a little more leeway in responding to the demands of those taking advantage of it.
I think it depends a lot on the situation. A non-programmer who reports a blatant bug in a "mainstream" app like Firefox or VLC, if they press too much or one of the devs is insecure, may eventually get a cold "you could always submit a patch" that borders on sarcastic, or at best only sounds that way because the dev doesn't realize the reporter is not a programmer.
A blatant bug isn't a feature. Article is expressly discussing features. I don't see any situation where asking for a feature, being told no, then trying to find a way to argue with the no isn't rude.
You don't even have to be a non-programmer to get it. "Submit a patch" is the classic passive-aggressive non-sequitur response when someone's feeling defensive.
"I demand you give me apples from the tree you have growing in your back yard."
"Here's a ladder. Take as many as you like."
"How rude."
"Here's a ladder. Take as many as you like."
"How rude."
...it is if the requestor is paraplegic, as would befit the analogy to a non-programmer reporting a bug.
A paraplegic can't learn to walk, and usually presents as such.
A non-programmer can usually shed this condition with effort, or at the very least exchange laziness for money.
A non-programmer can usually shed this condition with effort, or at the very least exchange laziness for money.
"I'm not a programmer. How much would you charge to write the patch and then submit it for me?
"If you don't have the time or inclination to do so... do you have any friends with talent who need money?"
"If you don't have the time or inclination to do so... do you have any friends with talent who need money?"
That's a great reply, but I'd change "need money" to "would be willing to do it for a fee".
Wow! It's fun to see what people that don't participate in the open source community think about open source.
Keep in mind that as a user of an open source project, you are already getting the whole thing for free. Asking for more is what's rude; being told, "sure, we'll add that when you write it" is a very polite invitation to invest in the software that you apparently rely on. Remember, everything that already works was once a patch.
If you don't know how to program, sure, submit a bug, but don't hold your breath. Pay someone to fix the bug or implement the feature you want: there are plenty of contracting companies that do this, and like anything in the world, you get what you pay for.
Finally, what is a retort going to get you, even if you come up with a good one? You got some software for free, and now you want people that don't care about you in any way (you aren't their friend, you aren't giving them money, etc.) to give you some more stuff. They say no. You respond with a witty retort. Where are you now? The same place you were a few hours ago.
Keep in mind that as a user of an open source project, you are already getting the whole thing for free. Asking for more is what's rude; being told, "sure, we'll add that when you write it" is a very polite invitation to invest in the software that you apparently rely on. Remember, everything that already works was once a patch.
If you don't know how to program, sure, submit a bug, but don't hold your breath. Pay someone to fix the bug or implement the feature you want: there are plenty of contracting companies that do this, and like anything in the world, you get what you pay for.
Finally, what is a retort going to get you, even if you come up with a good one? You got some software for free, and now you want people that don't care about you in any way (you aren't their friend, you aren't giving them money, etc.) to give you some more stuff. They say no. You respond with a witty retort. Where are you now? The same place you were a few hours ago.
I see a lot of "but I'm not a programmer" complaints. I'm concerned how many end users seem to overlook the solution of hiring programmers to make desired changes, since enabling that is a big part of what open source is for. How do we fix this? If third parties followed up by offering estimates to do the work, would that be well received?
If third parties followed up by offering estimates to do the work, would that be well received?
Yes, by the people who matter: The ones with resources and the willingness to spend those resources on solutions to their problems.
Other people won't receive it so well. These people are neither your customers nor your teammates. The sooner you figure this out, the better. Decline their requests politely, suggest some alternatives if you can, and move on.
Yes, by the people who matter: The ones with resources and the willingness to spend those resources on solutions to their problems.
Other people won't receive it so well. These people are neither your customers nor your teammates. The sooner you figure this out, the better. Decline their requests politely, suggest some alternatives if you can, and move on.
Hiring programmers would be contrary to the goal of getting something for nothing.
Hiring a programmer is not trivial. Most of us suck at managing people.
We've all heard the horror stories of bad clients. Constantly changing feature requests, never-ending requests for support. I'm reluctant to add to that pool. People who hire programmers should know what they want. Posting to a forum isn't knowing what you want.
Heck, I'm a programmer and just the prospect of saying I'll pay you to do x triggers stress hormones in my body.
We've all heard the horror stories of bad clients. Constantly changing feature requests, never-ending requests for support. I'm reluctant to add to that pool. People who hire programmers should know what they want. Posting to a forum isn't knowing what you want.
Heck, I'm a programmer and just the prospect of saying I'll pay you to do x triggers stress hormones in my body.
Somebody has given you a gift, their time and talent, and your response was 'give me more'. They replied with 'I've given you all of my time that I want to', and now you are looking for ways to argue that point with them, which at best will take more of their time. No. Remember your manners and thank them for the gift. You asked, they answered, the most important thing at this point is to respect the author's time by not arguing with them about how they choose to spend their time.
I can readily see the concept of "I wrote this code, somebody else might find it useful, so I'll make it available, but I don't want to bother with doing anything else with it." If an author wants to write my feature, cool, but I just don't see any problem in 'submit a patch' answers. To me it's a the distilled essence of "I already spent all the time I want to on this thing, I gave you a gift, I don't owe you anything, if you value this feature you're welcome to do it but I don't value this feature and am not interested in working for free." - but it saves all the arguments that would come up if you actually gave that answer, as people with time on their hands would take every point and try to pick it apart and take up more time arguing. By explaining reasons, you're just handing out ammo to fire back at you. Saying no without leaving the no open to argument is the only way to limit demands on time.
I can readily see the concept of "I wrote this code, somebody else might find it useful, so I'll make it available, but I don't want to bother with doing anything else with it." If an author wants to write my feature, cool, but I just don't see any problem in 'submit a patch' answers. To me it's a the distilled essence of "I already spent all the time I want to on this thing, I gave you a gift, I don't owe you anything, if you value this feature you're welcome to do it but I don't value this feature and am not interested in working for free." - but it saves all the arguments that would come up if you actually gave that answer, as people with time on their hands would take every point and try to pick it apart and take up more time arguing. By explaining reasons, you're just handing out ammo to fire back at you. Saying no without leaving the no open to argument is the only way to limit demands on time.
I agree that it's a rude response, but hinting at them submitting a patch would never work. Those who lean towards that would just do so without asking. It's the rest of the people that need the pointer.
For many of my projects, my answer would be worse in their eyes: Fork it and do what you like. I have no intention of adding bloat to this project.
That's far more rude, but totally truthful. I created that project for a purpose, and I was nice enough to BSD license it so others could do -anything- they want with it. Asking me to change it to your liking is going too far.
Of course, that assumes I don't want the feature. If I do like it, then I'll happily add it to my backlog and then ignore it until I feel like working on it.
For many of my projects, my answer would be worse in their eyes: Fork it and do what you like. I have no intention of adding bloat to this project.
That's far more rude, but totally truthful. I created that project for a purpose, and I was nice enough to BSD license it so others could do -anything- they want with it. Asking me to change it to your liking is going too far.
Of course, that assumes I don't want the feature. If I do like it, then I'll happily add it to my backlog and then ignore it until I feel like working on it.
I am thinking the best retort would be to submit a patch.
I've found that even the tiniest of donations rockets your request right to the top of the queue. Especially for hardware.
Want that strange little T1 card to work in asterisk? Give them one and watch the magic. Its way cheaper than hiring someone to code it for you.
Want that strange little T1 card to work in asterisk? Give them one and watch the magic. Its way cheaper than hiring someone to code it for you.
If you can't do it yourself now,
a) partner with someone who can
b) learn how to do it so you can do it yourself
c) hire someone to do it
I'd like to imagine that the community surrounding the open source project is a perfect place to start looking for someone to hire to build it out from 90% of what you need to 100%.
I'd like to imagine that the community surrounding the open source project is a perfect place to start looking for someone to hire to build it out from 90% of what you need to 100%.
One of the big reasons to open source is that you can get others to fix bugs and add features, progressing the project quicker and putting it into more use than it would have been closed source. People that use the software without contributing are more of a side effect, the more widely used the project the more users, the more smaller amount of contributors.
So I can see why there is this attitude when those getting a free ride on the software also want it developed to their needs for free. Especially when the feature is very specific and isn't something any of the contributors to the project need.
As an aside: I hate it when people say they can't program out of hand without actually really giving it a go, we all started somewhere.
So I can see why there is this attitude when those getting a free ride on the software also want it developed to their needs for free. Especially when the feature is very specific and isn't something any of the contributors to the project need.
As an aside: I hate it when people say they can't program out of hand without actually really giving it a go, we all started somewhere.
Hmm,
You've created something you think is worthwhile and given it to the world. Hopefully, one factor involved is that you would enjoy even a little appreciation.
If you say "these are my resources and this is my plan for further development, I would certain appreciate any resources that one might contribute to extend this", you might, just get a nicer response back than if say to the user " don't like it? There's nothing I'm going to do to change that".
You've created something you think is worthwhile and given it to the world. Hopefully, one factor involved is that you would enjoy even a little appreciation.
If you say "these are my resources and this is my plan for further development, I would certain appreciate any resources that one might contribute to extend this", you might, just get a nicer response back than if say to the user " don't like it? There's nothing I'm going to do to change that".
It's interesting to me how people's rephrasings of "submit a patch" in this thread almost universally seem less objectionable. Perhaps it's all about how you say it. Perhaps the biggest issue with the statement "it's open source, submit a patch" is its curtness. Just changing it to "perhaps you should consider" takes the edge off.
I imagine people saying this are usually at the end of their tether fending off suggestions and feature requests. The best response in those situations is to say nothing, and to take a break. If the guy that finally did it for you just submitted an innocent suggestion, there's no sense in snapping at him.
I imagine people saying this are usually at the end of their tether fending off suggestions and feature requests. The best response in those situations is to say nothing, and to take a break. If the guy that finally did it for you just submitted an innocent suggestion, there's no sense in snapping at him.
Very simple: Don't act as if you're entitled to having any feature you desire implemented for nothing. Offer money or other compensation to the developer(s) to have it implemented.
Either that, or do it yourself (and submit a patch).
Either that, or do it yourself (and submit a patch).
Everybody here should read this comment by Steve Yegge: http://groups.google.com/group/seajure/msg/145c06c54847c048 (original thread: http://news.ycombinator.com/item?id=2466731)
[deleted]
[deleted]
[deleted]
I like my most recent retort: http://news.ycombinator.com/item?id=2407414 (just the first 2 paragaphs)
"Unfortunately, I don't have time to learn this system and work my way through your review process. I think I'll have to buy [insert (possibly proprietary) alternative] for now. Best of luck with the project."
For the record, I have written a couple patches and released open source code before. I say this after years of trying to convince all my friends to switch to Linux, and finally coming to terms with the fact that even I still have to keep a Windows boot for certain occasions.
For the record, I have written a couple patches and released open source code before. I say this after years of trying to convince all my friends to switch to Linux, and finally coming to terms with the fact that even I still have to keep a Windows boot for certain occasions.
As long as you are happy with the [insert (possibly proprietary) alternative] solution, I'm happy too.
Would you consider paying up to what [insert (possibly proprietary) alternative] costs for someone to write the patch for you? Would you consider gathering more people so you can fund your patch?
Would you consider paying up to what [insert (possibly proprietary) alternative] costs for someone to write the patch for you? Would you consider gathering more people so you can fund your patch?
For paying a bounty, yes, assuming it can be arranged in a timely fashion.
For the latter, probably not. Assuming that for whatever reason I cannot write the patch myself, I do not have the time to start a new organization every time I encounter a new bug in some project. And I would guess that most ordinary consumers don't either.
This is not supposed to be a necessarily snarky response. Sometimes, an open source project exists, and it's not for everyone. The people behind the project should realize that every feature they choose not to include cause the software's value proposition to cease to exist for some users. It is up to them what to prioritize, and up to me whether using their software is worth the time of getting a patch committed.
Of course, my operating assumption here is that they want to hear about bugs/feature requests, and so it is worth something to them that I would bring it up in the 1st place. But I rarely ever make new feature requests. Usually this is in response to an evangelist telling me that I should switch to their platform, and my responding that it does not replace a current proprietary solution.
For the latter, probably not. Assuming that for whatever reason I cannot write the patch myself, I do not have the time to start a new organization every time I encounter a new bug in some project. And I would guess that most ordinary consumers don't either.
This is not supposed to be a necessarily snarky response. Sometimes, an open source project exists, and it's not for everyone. The people behind the project should realize that every feature they choose not to include cause the software's value proposition to cease to exist for some users. It is up to them what to prioritize, and up to me whether using their software is worth the time of getting a patch committed.
Of course, my operating assumption here is that they want to hear about bugs/feature requests, and so it is worth something to them that I would bring it up in the 1st place. But I rarely ever make new feature requests. Usually this is in response to an evangelist telling me that I should switch to their platform, and my responding that it does not replace a current proprietary solution.
Maybe stop complaining 'cause you aren't getting something for nothing and ask about consulting rates? It's a fast and easy way to jump to the front of the priority queue.
[deleted]
Apparently, some people think "I have added your request to the end of our infinite backlog of requests" is a more productive response. "Submit a patch" not only conveys the same info, it also provides concrete advice on how you can jump the queue.