If Karl Marx were alive today he would have a field day updating his theories on the crisis of capitalism to encompass the shifting morass that forms the economics of software.
With the current recession there has been a lot of debate about the use of economic stimulus with Keynesian theory: how government can effectively jump start economies by spending and helping money to circulate.
I can see how it works well for doing things like building roads and railways. There is a nice linear relationship. The technology is well understood. You spend 250 million on roads and you get real tangible economic value out the other end. I would appreciate it if some of that effort could be made around my neighbourhood. We know how to build roads. Building roads employs lots of people including many without sophisticated skills. It generates a lot of good stimulus for an economy because low skilled, low income people have no choice but to spend all their income to live. Which means all the government spending recirculates quickly into the general economy.
Software on the other hand has many horrible properties that, in my opinion, make it dreadfully unsuited to Keynesian economics.
Firstly, people who are good at it tend to be in high demand already. So putting economic stimulus into software generally does not benefit people who need it most. Secondly, if you put money into the pocket of a high income earner they won’t spend it all – so the economic stimulation is lessened. The likely result is little or no tangible economic value out the other end.
The question of meta programming and modeling in health-care is a hot issue with HL7 v3 and the Reference Information Model (RIM). When ever it comes up I think about my Dad’s TV remote.
My dad Mervyn was the personification of think different long before Apple ever trademarked the term.
He worked his entire career for the New Zealand (NZ) DSIR as a geo-physicist. Topical given the recent events in Christchurch and Japan. Science does not pay well. So my father had a certain thrifty resourcefulness when it came to problem solving.
His resourcefulness was often uninhibited by aesthetic considerations. Growing up as a slightly insecure adolescent it was hard to appreciate at the time. I was mortified at the time he turned up in Auckland for my graduation using black plastic rubbish bags for his luggage.
My father had knack for finding solutions to problems that other people wouldn’t think of.
The title of this post might seem unusual from what is supposed to be an HL7 middleware vendor. But times are changing and that is not where I see our future.
Standards do not exist in a vacuum. To be successful standards must address market needs and solve real problems so people can make or save money. Writing code costs money. Less than 0.01% of code gets written for free. The majority of code is written by people that are being paid to solve problems with it.
There are plenty of standards which are not worth the paper they are printed on because are are not sufficiently useful or practical.
Complicated standards can be pushed for a while but ultimately markets reject them. Even governments will ultimately reject complicated standards, through a democratic correction process. Although they usually waste a fair amount of other people’s money along the way.
So back to HL7. Why was it successful?