{"id":1185,"date":"2009-09-14T23:02:35","date_gmt":"2009-09-14T21:02:35","guid":{"rendered":"http:\/\/daniel.haxx.se\/blog\/?p=1185"},"modified":"2016-09-14T13:20:17","modified_gmt":"2016-09-14T11:20:17","slug":"how-much-for-a-bug","status":"publish","type":"post","link":"https:\/\/daniel.haxx.se\/blog\/2009\/09\/14\/how-much-for-a-bug\/","title":{"rendered":"How much for a bug?"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-1193 alignright\" style=\"margin: 8px;\" title=\"no bugs\" src=\"https:\/\/daniel.haxx.se\/blog\/wp-content\/uploads\/2009\/09\/no-bugs.png\" alt=\"no bugs\" width=\"190\" height=\"181\" srcset=\"https:\/\/daniel.haxx.se\/blog\/wp-content\/uploads\/2009\/09\/no-bugs.png 190w, https:\/\/daniel.haxx.se\/blog\/wp-content\/uploads\/2009\/09\/no-bugs-150x142.png 150w\" sizes=\"auto, (max-width: 190px) 100vw, 190px\" \/><strong>Warning: blog post with no clear conclusion! <\/strong><\/p>\n<p>I offer support deals to companies that want to get help with Open Source programs I&#8217;ve contributed to. The deals I&#8217;ve made so far have primarily involved <a href=\"http:\/\/curl.haxx.se\/libcurl\/\">libcurl<\/a>, <a href=\"http:\/\/c-ares.haxx.se\/\">c-ares<\/a> or <a href=\"http:\/\/www.libssh2.org\/\">libssh2<\/a>, but that&#8217;s basically because those are projects in which I participate a lot in (and maintain) so people find me easily in relation to those projects.<\/p>\n<p>I wouldn&#8217;t mind accepting service and support deals for other projects or software products either, as long as they are products I know and am fairly familiar with already and I am not scared of digging in and fixing things under the hood when that is required.<\/p>\n<p>In fact, I could very well consider to <strong>offer to fix bugs in <em>any <\/em>Open Source software<\/strong>. Like a general: if you have a bug in an open source project that you really want fixed and you can&#8217;t do it yourself I might be your man. Of course this would be limited to some certain kinds of projects and programs, but it could still include a wide range of software. A lot more than the ones I happen to be involved in at any particular point in time.<\/p>\n<p>But while &#8220;a bug&#8221; is a fairly easily defined term to a user who can&#8217;t make something work in a given program it can be anything from dead simple to downright impossible for a developer to fix. The fact that users many times cannot determine if a &#8220;bug&#8221; is hard or easy, if it&#8217;s a bug or a feature not working on purpose, makes such a business deal very hard to provide.<\/p>\n<h2>How to pay to get a bug fixed?<\/h2>\n<p>Fixed price per bug? Presumably only tricky bugs would be considered for this so it would require a fairly high fixed price. But then it&#8217;ll also never be used for simple bugs either since the fixed price would scare away such use cases. I don&#8217;t think a fixed-price scheme works very well for this.<img loading=\"lazy\" decoding=\"async\" class=\"alignright size-full wp-image-316\" style=\"margin: 8px;\" title=\"One dollar bill\" src=\"https:\/\/daniel.haxx.se\/blog\/wp-content\/uploads\/2008\/03\/1dollarbill.jpg\" alt=\"One dollar bill\" width=\"200\" height=\"87\" \/><\/p>\n<p>Then we only have a variable price approach left. A common way for a consultant like me is to charge for my time spent on a project: I set an hourly rate, I fix the issue in N hours. I charge hourly rate * N. For smallish projects, this is less attractive to customers. If we have no previous relationship, there&#8217;s a trust issue where the customer might not just blindly accept that I worked 10 hours on a task they think sounds easy so they feel overcharged. Also, there&#8217;s the risk that I estimate the job to be 2 hours but end up spending 12. My conclusion is that per-hour pricing doesn&#8217;t work for this either.<\/p>\n<p>A variable price approach based on something else than number of hours it took for me to fix the problem is therefore needed.<\/p>\n<p>A bug fix is of course worth whatever someone is willing to pay for it. But we don&#8217;t know what they are prepared to pay. On the other end, a bug fix can get done by someone for the price he\/she is willing to accept to get the job done. So where is the cross section of those two unknown graphs?<\/p>\n<p>I don&#8217;t have the answer here. I&#8217;m very interested in feedback and suggestions though. If you would pay for a bug fix, how would you like to get the price set?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Warning: blog post with no clear conclusion! I offer support deals to companies that want to get help with Open Source programs I&#8217;ve contributed to. The deals I&#8217;ve made so far have primarily involved libcurl, c-ares or libssh2, but that&#8217;s basically because those are projects in which I participate a lot in (and maintain) so &hellip; <a href=\"https:\/\/daniel.haxx.se\/blog\/2009\/09\/14\/how-much-for-a-bug\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">How much for a bug?<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,11,6],"tags":[213,33,419,424,19],"class_list":["post-1185","post","type-post","status-publish","format-standard","hentry","category-curl","category-development","category-floss","tag-c-ares","tag-curl-and-libcurl","tag-development","tag-libssh2","tag-open-source"],"_links":{"self":[{"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/posts\/1185","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/comments?post=1185"}],"version-history":[{"count":18,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/posts\/1185\/revisions"}],"predecessor-version":[{"id":9300,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/posts\/1185\/revisions\/9300"}],"wp:attachment":[{"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/media?parent=1185"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/categories?post=1185"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/tags?post=1185"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}