

Don't Like It? Code it Yourself - twampss
http://www.codinghorror.com/blog/archives/001247.html

======
davidw
> 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...

~~~
blasdel
Jeff also professes outright that _he has no idea what he's doing_ in a
substantial portion of his daily blog posts. He's a proud idiot.

It's totally in-character for him to be unwilling to even try diving in
himself.

~~~
davidw
Speaking of which, I had a better look at his post here:

[http://journal.dedasys.com/2009/03/27/codinghorror-and-
open-...](http://journal.dedasys.com/2009/03/27/codinghorror-and-open-source-
economics)

My conclusion is that he doesn't really have a lot of knowledge of open source
business and economics, although to be charitable, it's certainly a more
complex field than proprietary software.

------
harpastum
Classic 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
"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
I 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
I 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.

------
d0mine
It 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-
th...](http://www.inc.com/magazine/20090101/how-hard-could-it-be-thanks-or-no-
thanks_Printer_Friendly.html?partner=fogcreek)

~~~
gcheong
Presumably 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.

------
misterbwong
Anyone 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
Yeah, 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
Dead 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.

------
antirez
May 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
"...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
"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.

~~~
HeyLaughingBoy
_This is how sofware works._

Don't be ridiculous!

There is no "this is how software works." Software is the result of someone's
work. If that person wants to sell that work, good for him. Who are you to
decide how someone else should make a living?

Why do we persist in maintaining this silly premise that "Software" is somehow
special or unique? It's a product just like anything else and as such it can
be marketed, sold, rented, leased or just given away freely by anyone who
makes it.

~~~
antirez
I think you misinterpreted my words. I mean, _if_ you want to make money from
software you should try to make money from the product you are building, not
from services you (or everything else in theory) can give about the product.

So you can focus on your product and make it better and better.

~~~
HeyLaughingBoy
No, I didn't misinterpret your words. My question is why should _you_ be the
arbiter of my business model?

If I decide to make money from software by using it as a service, why
shouldn't I? Maybe my natural gas prospecting software is world class OSS that
I downloaded from SourceForge and tweaked a bit, but the real money comes in
because I bundle it with my well-drilling services that I couldn't otherwise
sell.

You're trying to limit what _other_ people are doing to what _you_ can
imagine, and that's what I take issue with.

~~~
antirez
Ok. Sorry I want not be arbiter of your business model.

------
talleyrand
I 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
> Someone do a startup!

Check out <http://www.fossfactory.org/> .

<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
He 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).

------
biohacker42
Don'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
>"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
It's also known as the GPL.

------
zcrar70
What was that about limiting the amount of CodingHorror posts on HN?

<http://news.ycombinator.com/item?id=510309>

This wasn't uninteresting though.

------
lucumo
There are some open source projects that offer or offered "bounties" for
fixing bugs or improvements.

------
pj
So 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
I'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
Many 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.

~~~
ryanwaggoner
You sound pissed that these FOSS projects are kicking the ass of products that
you consider to be superior.

The fact that many of these projects were started by college students, grew
out of commercial enterprises, or have a business model that allows people to
get paid for working on them doesn't validate your claim that open source
devalues your work. If anything, the opposite is true.

Here's a challenge to you: install any of your closed-source proprietary
products that you're in love with and see how long it takes you to fix an open
bug in _one_ of them.

~~~
pj
It would be silly for me to be "pissed" about something that is not true.

You are missing the point. Programmers, we love what we do. I know that. I
know it makes us happy to write good software and to tinker and experiment. I
do it myself. I give away work all the time. I find bugs, I fix bugs, I give
away code I've written in community forums and talk to people and help them
find solutions to the problems they run into.

When a business person comes up to you and says, "Why should I pay you when I
can get it for free?" That means your work has been devalued by a free
version. The person writing that free version feels good because more users
are on the system, but more users on the system does not pay the rent.

The current system of open source is flawed at its core. It means that
people's skills are not sufficient to feed them.

Take the example of social networks and free websites. How many have gone
bankrupt and had to lay off all their employees?

Imagine if actors in hollywood worked for free? Writers worked for free?
Singers and directors and bar tenders worked for free? There'd be no movies or
only the movies on Youtube that people put up there to see how many hits they
get.

Can't you see that mathematically the equation doesn't balance?

Imagine if bankers on Wall Street worked for free.

Just because we love what we do doesn't mean it that work should be given away
for free. Someone in another thread mentioned this very hacker news site is
open source and yes I know that and I also know that pg has a bazillion
dollars in the bank. Why isn't he paying someone to build it? Because he loves
hacking, I know, but he is taking a job from someone. He's making the world a
better place, yes, I do not discount that.

I do not discount that the world is a better place -- right now -- for many
because of free software. I would say it is disporportionately better for the
business commmunity that doesn't have to pay the billions of dollars their
software is worth and worse for the programmers that are now being laid off in
silicon valley because no one needs them to write software they can get for
free.

It doesn't work.

Did you know Computer Science graduation rates are on a steady decline? Why?
Because the jobs are too hard and they don't pay enough? Why? Because the
products those college graduates would get paid doing don't exist because they
products can't be sold for wages that can support them.

The very foundation of our society is in jeopardy because we are not paying
for the work that is increasingly more relevant to its existence. Not only are
college graduation rates in the computer sciences declining, but employers are
complaining about the quality of programmers they are seeing coming out of
colleges.

As long as we give away our labor for free, this trend will continue. There
are good examples of successful quality products that have come out of the
open source community and great things have been done with those products that
improve many lives. I do not discount this.

What I am saying is that if this trend continues, salaries will continue to
decline and those who could get paid decent salaries that could feed a family
and allow them to concentrate on building the information infrastructure our
world needs to continue learning, asking questions, sharing and gaining
knowledge will stagnate because the individuals with the capacity to be
creative in the industry will take higher paying jobs in other industries like
banking and finance and look what high paying jobs in those industries gets
the world.

~~~
axod
Did an open source product steal your livelihood or something?

~~~
pj
I would encourage you to look beyond me and myself and ad hominem arguments.
This isn't about me.

~~~
axod
Maybe you should put your thoughts on the subject into an article, or blog
post, and submit it.

Your comments here are pretty hard to parse.

