I went on a sales call yesterday to a small business in my little rural village. His current website was done by someone he knows and I talked to him 6 months ago about it and it hasn't changed, so I whipped up a demo and put it online and went to show him in his office.

When he started typing in the URL to the demo site, he was typing http:// into the yahoo search form. I said, "You should type it into the location bar."

The what? he said. Up there at the top I told him and pointed at it. Whoa.

"Well, you know, my friend is building this one for me and ... " This one was a default wordpress install that had no customization except the header and footer and nothing at all close to what his business needs, yet he had to run my site by his friend, who I can tell has no idea how to write code or create a database.

How can any of us here ever expect someone like that to comprehend the difference between someone who can put up a web page and someone who can build an enterprise system with customer interaction, inventory management, and any sort of security whatsoever?

They can't. Looking at a web page is like looking at the clothes someone is wearing and trying to figure out if they can do algebra. Yet that's how they do it. To 90% of people, maybe more, putting up a static web page or a word press site requires the same knowledge as understanding one-way hashes, caching, and parameterized queries.

And yes, I believe we should charge a lot more, but instead, we give away our software for free because it feels good. I love open source, I create open source, I use open source, yet I know that open source isn't going to feed me. It feeds some. It feeds the business guys who sell services on top of free open source systems. Those guys can't use a command-line, but they can pay programmers 10% of the deal, sometimes more. It feeds programmers who are lucky enough to work for a progressive employer who can afford to staff a team to support the project and defend it when it is stolen by a corporation and embedded in their set top boxes, but for those of us who want to create a path for ourselves, creating an open source project is like buying a lottery ticket. Sometimes it works, Zimbra did well, word press does well, MySQL did well, but those are but a tiny fraction of the open source projects out there. As long as we give away our work for free, why do we expect people to pay for it?

Outside the programming world, it is completely different. If a business person, a sales guy say, works for a technology company, they work on commission. Sell one product, take 20-50% of the sale price. If a programmer writes something that increases sales by 50% they get nothing additional. No percentage increase, hardly a raise at most places. Yet, code on.

Corporations simply could not operate without IT, yet it is considered a cost center, not a profit enabler, a cost cutter. Imagine a human without a brain!

Yet, code on. Why? Because we love it. Doesn't matter that sales guys also love to sell. CEO's also love to execute.

When I was a consultant, it angered me greatly that a sales man would win a client and while I was there, I would sell additional project after additional project, extending my time at the client and building more and more revenue for the company and I got a $5k raise the next year! The sales guy got the same commission on the additional work I sold! Why didn't I get the commission on the additional work? Why didn't someone say, "Awesome, you were at the client 5x longer than we expected and you doubled your expected billable hours for the year!"

Instead, the sales guy got a new flat screen TV.