7 ms·
Don't Like It? Code it Yourself
- zcrar70 18y agoWhat was that about limiting the amount of CodingHorror posts on HN? http://news.ycombinator.com/item?id=510309 http://news.ycombinator.com/item?id=510309 This wasn't uninteresting though.
- harpastum 18y agoClassic meandering style, although the point he laboriously makes his way to is actually pretty interesting: is it possible to use money to influence and empower open source software? Is that a good thing? By offering money for bug fixes/new features, it would bring new programmers to projects that wouldn't have had them before. This has benefits and issues: It could (as Jeff suggests) reinvigorate dead or near-dead projects, and get specific updates completed that trouble a small set of users. It could also infuse the open-source community with a bunch of mercenary programmers, who have no interest in the well-being of the project, and simply want to get their money and get out. I'm not sure where I stand on the issue, but I think it's an idea worth a little more ispection.
- jacoblyles 18y ago"Mercenary programmers" is what we all are when we get paid for it, no? In the long run, Jeff's idea could mean more people making a living by hacking open source. I would guess that it is a good thing on net. Isn't this what companies like IBM, Sun, and the Mozilla Foundation already do?
- harpastum 18y agoI don't think so. A programmer that works on a single company's software has an incentive to work to improve it, rather than get simply get paid, as he is out of a job if the software fails. This is similar to a standing army--there will always be outliers, but more or less everyone is committed to achieving the final goal. Mercenaries in both software and armies aren't interested in the goal--only the money. As their incentive is different, their output will be different. Just as I wouldn't trust mercenaries to follow the geneva conventions, I wouldn't expect software mercenaries to be focused on code clarity and bug prevention. Once the software works, they want their money, and they want out (Han Solo Syndrome). As open-source developers today generally contribute from a general sense of goodwill and their personal interest in seeing the project succeed, they have much the same output as those in the rank and file. If I was going to add them to my (already quite strained) metaphor, they would probably be somewhere between the Peace Corps and Militiamen--committed to the cause, regardless of payout. I realize that this metaphor is becoming a stretch, but I still think it rings true. There is a distinct difference between those doing work because of a commitment, those doing work because of a belief, and those doing work simply for money.
- jshen 18y agoI disagree. A mercenary in your metaphor is essentially a contractor. Contractors have a more direct incentive to do well that a coder at a company. On a team (i.e. a company) slackers can bet on someone else pulling in their slack while a contractor (at least any that are successful in the long run) need to develop trust in their clients. If they don't then they won't get hired again and they won't get good word of mouth which is the primary way to get more business. I guess this boils down to your premise that contractors are only working for money while someone working at a company is working for more than money. You have to make the case for this premise which seems wrong to me.
- olefoo 18y agoActually, you have to be careful when mixing monetary rewards with non-monetary rewards. It's possible that adding direct monetary payments can wreck the intangible rewards that are motivating others to work on something. I have seen instances of some projects decaying because of funding being applied in ways that other participants felt was unfair. It isn't simple. But it is perfectly valid to hire a programmer to add a feature to an existing open source project and to offer the work product back to the project. What doesn't work at all is attempting to guide a projects direction by playing political games with funding.
- antirez 18y agoMay work for some kind of projects, but may be a serious issue if you want to contain the number of features in your project. If people start asking about features that the core team of the project don't want to see inside, you are either going to say no or implement a plug-in system so that it will be possible to implement self-contained things useful for customers that are willing to pay. Still I think that there is a fundamental flaw about all this: even if without a business model even open source software is a product, and if you turn it into a service in order to make some money there is something wrong about it. It is probably better to ask for sponsorship in a different way: donations, write a book about the project and put it on lulu, ship a pay-only version of the software with some kind of feature not really needed but most users but absolutely useful for Enterprise-style users, and so on. Cheers, Salvatore
- stcredzero 18y ago"...even if without a business model even open source software is a product, and if you turn it into a service in order to make some money there is something wrong about it." I don't understand what's wrong here. Lots of fast food restaurants just use the food to get you in the door so that they can make a killing selling you sugary drinks. So long as you're making money, what's wrong here?
- antirez 18y ago"fast food restaurants" this are, in many ways, more a product than a service. It's the same few things, with the same price, with the same organization, replicated N times in different places of the country. Btw what's wrong is that if you are creating a successful product you should focus on the product. This is how sofware works. Photoshop is cool? It wins on the market, sells a lot of copies, they can focus more on the product. Immagine this turned into a service. Photoshop is cool? You run a service of help desk and consultancy about it. Tons of people needed and high costs. Want to serve N customers? You need N/K people. Does not scale, you don't focus anymore on the product but on the service you are selling.
- stcredzero 18y ago
- pj 18y agoSo why doesn't jeff atwood code up a website where people can donate funds to get bugs fixed? What he is arguing for is called commercial software. Buy software from good software companies that use the money to feed, clothe, and house the programmers that write it. Look, I'm all for open source software, but the current model is just ridiculous. Open source software is worse than herding cats, as my girlfriend would say, it's like "herding nerdy cats." Everyone has their language of choice, their platform of choice, their development environment of choice, their database of choice, their coding style of choice. The end result is that every open source project out there has a system that is so different from all the rest that it would be almost impossible to participate on more than one or two without 6 boot partitions and 3 servers. I have tried to participate on multiple open source projects, but I only have 40 GB on my windows partition and I don't have the time to manage all those environments. So what did I do? I started a company that builds a platform that enables anyone to build a website from top to bottom using only a browser. No development environments to install, no new languages to learn, only JavaScript, HTML, CSS, and SQL and these languages are required to build any website out there. You could use something besides SQL if you want, but none of the alternatives are standard. I wanted to use /standard/ technologies. If we are going to move forward in this world, we have to stop expecting other people to do the work and if we want other people to do the work, we have to make sure they have food on the table and a roof over their head and clothes on their backs. If they don't, how are they going to write good software? Open source makes me angry. It devalues our work. No one gets paid for it and if they are getting paid for it, it's rarely of the quality found in the commercial equivalent. That's just reality folks.
- ryanwaggoner 18y agoI'm confused...aren't there quite a few counter examples to your claims? Things like Linux, Apache, MySQL, PostgreSQL, PHP, Python, Perl, Ruby, Firefox, etc, etc? I'd feel better about your rant if you weren't a) biased against the idea and ethos of FOSS, and b) selling something.
- pj 18y agoMany of those projects were started by college students. Linux was a fork of another flavor of unix started by Linus Torvalds when he was a masters student. Apache started as a proof of concept during the early days of the internet and morphed into what it is. IIS is better. The only reason Apache has more installs than IIS is because Linux is free. MySQL is not as good as either MS SQL Server or Oracle and you can pay for MySQL Support from the company that produces it. PostgreSQL was also started at a university by professors getting paid to eat and buy clothes. PHP doesn't hold a Candle to either .NET or Java, which you should have listed if you wanted to really try to convince me I'm wrong. Java is pretty good, but is commercially funded and those programmers get to eat. There's a lot of fanboyism around PHP and I'm not one of those. Perl is awesome. It was created by a programmer at a publicly funded organization - NASA. It should be open source and he also got to eat while writing it. Ruby is a great language if you know how to "drop down into C." Firefox is commercially supported by Google search results. They make millions of dollars a year and honestly, it should be way higher quality than it is considering the budget they have to work with. Opera kicks firefox's butt all over the place. Firefox is good, don't get me wrong, but it doesn't change my mind. The examples you give are a tiny fraction of the open source environment and most of them do not contradict what I have said. Here's a challenge for you. Get a fresh laptop running whatever operating system you want, then see how long it takes you to fix an open bug in at least 3 of those products you mention.
- d0mine 18y agoIt might be dangerous to substitute intrinsic motivation of a programmer by money. Psychologists talk about two kinds of motivation: intrinsic and extrinsic. Intrinsic motivation is what drives you to do something regardless of whether you will receive a reward. Why do you spend an hour cleaning the inside of your stove? Nobody looks in there. Your intrinsic motivation compels you to do a thorough job. We all have it -- in fact, most people start out with the desire to excel at whatever they do. Extrinsic motivation is the drive to do something precisely because you expect to receive compensation, and it's the weaker of the two. The interesting thing, according to psychologists, is that extrinsic motivation has a way of displacing intrinsic motivation. The very act of rewarding workers for a job well done tends to make them think they are doing it solely for the reward; if the reward stops, the good work stops. And if the reward is too low, workers might think, Gosh, this is not worth it. They will forget their innate, intrinsic desire to do good work. </quote> http://www.inc.com/magazine/20090101/how-hard-could-it-be-thanks-or-no-thanks_Printer_Friendly.html?partner=fogcreek http://www.inc.com/magazine/20090101/how-hard-could-it-be-th...
- gcheong 18y agoPresumably the features or bug fixes you would be paying for are those that nobody has yet shown intrinsic motivation to implement, but I do see a potential danger there of those programmers who were already working on the software from some intrinsic motivation deciding maybe its not worth it if others are getting paid to do what they do for free. Not sure this is what you meant though.
- philluminati 18y agoCan we keep these programmers separated through the use of forks and patches? For instance, I'll add feature X for $ and provide a patch or new RPM as the result. The intrinsic developers can avoid demotivation (!) through "lack of awareness" of the money or patch. The patch can later be incorporated if the intrinsic developers want it.
- davidw 18y ago> Heck, how realistic is this for the average programmer? Even if you're the type of macho, gung-ho programmer who can master an alien code base just to get some small pet feature or bugfix in -- do you honestly have the kind of time it would take to do that? Actually, I have submitted lots of (mostly small and inconsequential) bugs and minor features over the years, to projects such as the Linux Kernel, Tcl, Erlang, Ruby, Rails, Apache, and probably lots of others I'm forgetting right now. I actually enjoy it quite a bit, come to think of it - there's something cool about diving in and studying something new and different, and a thrill that comes with nailing the bug. Sometimes, the knowledge required to actually fix it is too much, and you have to settle for sending in a good bug report, but in other cases it's very much possible to hack up quick, useful things despite not knowing much about the system in question. And, no, I'm not really that great a programmer... I'd consider myself fairly average. I suppose where he might be right is in more end-user oriented things. All the things I've listed above are programmer tools or closely related, where this sort of behavior is the norm (a cynic might note that Jeff comes from the world of Microsoft, where it is not). Things are a little bit more complicated when it comes to things that are not by/for programmers. I should write more on my own site about the economics of open source...
- jrockway 18y agoActually, I have submitted lots of (mostly small and inconsequential) bugs and minor features over the years Agreed. I think most programmers do this. I know I do, and I know all of my friends do. It is not hard at all -- first you check out the repository, then you make your change, then you send the patch. Making a change to someone else's software is just like making a change to yours, except they might indent a different number of spaces, or something.
- talleyrand 18y agoI would love to be able to pay someone to squash some bugs for me. I've been suffering with a gnome vfs bug for months and fixing it is way beyond my capabilities. Someone do a startup!
- paulgb 18y ago> Someone do a startup! Check out http://www.fossfactory.org/ http://www.fossfactory.org/ . http://micropledge.com/ http://micropledge.com/ used to be similar, but they changed their model. The creator used to be on HN a fair bit, not sure if he still is.
- benhoyt 18y agoHe still is. Well, one of the creators. :-) I wondered if someone would mention microPledge here. Two major reasons we put it on hold: 1) issues with PayPal -- payment providers and CC companies don't like you holding funds in trust, and 2) it was just really hard to get paying customers to use it (we allowed open source projects to use it to collect funds for free, which may have been a bad idea).
- jrockway 18y agoThis is pretty easy to do on your own. Mail the mailing list, and I am sure someone will get back to you.
- biohacker42 18y agoDon't like it, use commercial software or hire a consultant to customize your open source solution. Either that or you're a hobbyist in it for love and fun and you want to try doing it yourself. What's being suggested here? Don't pay but then do pay? Atwood is so confused.
- jacoblyles 18y ago>"What's being suggested here? Don't pay but then do pay?" Pay but give the source back to the community. I think it's brilliant.
- asdlfj2sd 18y agoIt's also known as the GPL.
- TJensen 18y agoIsn't what he is proposing essentially a service to find a consultant to customize the solution? Seems reasonable to me.
- biohacker42 18y agoSomething like that, but then again that's a well established practice. It has been a valid business strategy for years.
- TJensen 18y agoI agree. The only (remotely) interesting thing Atwood said was "wouldn't it be nice if there was a service that would hook up the consultant with the customer?" However, it would probably be little more than the dozen "find a third-world-or-starving-student-coder" sites that already exist. It would just be branded differently.
- lucumo 18y agoThere are some open source projects that offer or offered "bounties" for fixing bugs or improvements.
- misterbwong 18y agoAnyone else get the feeling that this is a way that StackOverflow could be monetized? Example: 1. User identifies bug, posts on SO 2. SO participants try to fix, but realize it's an underlying code bug. 3. User puts up an eLance-like ad within SO, offering some money for the bug fix 4. SO participant accepts, and fixes. SO takes a cut for facilitating transaction
- paulgb 18y agoYeah, I kept expecting an announcement at the end that StackOverflow was getting into that business. It would make sense for them, since they've already done the hard part: creating a community.
- benhoyt 18y agoDead right about how hard it is to create a community. That's one of the two main reasons microPledge.com didn't really work out for us.