Re: [ox-en] Innovation in Software (was: Germ of a new form of society or germ of a new form of business?)
- From: "Niall Douglas" <s_fsfeurope2 nedprod.com>
- Date: Fri, 06 Feb 2004 21:42:22 -0000
On 5 Feb 2004 at 12:47, Rich Walker wrote:
What's good for software (in my opinion) is to maximise its rate of
step-change innovation. What's bad for software is to let Microsoft
continue to sell most of it as crappy closed source software is
usually more profitable than good closed source software.
I'm curious as to whether there are any examples of closed-source
software with a large market share that has displayed innovation and
quality across its life?
A lot of bespoke software (some estimates make it 66% of global
software development) is very innovative, but the innovation gets
lost because it being bespoke, no one other than the customer bothers
to look. I think the innovation in bespoke systems comes from there
being clearly defined goals, a fixed budget and the sure knowledge
that you're not going to get cancelled or the goalposts suddenly
I worked in bespoke military solutions for a while, and you get great
scope for using innovative ideas if you're present early enough in
the design process.
The other example I think is some of Microsoft's stuff. When they
need to be innovative, they can be very much so - and their mechanism
of rewriting a failed product up to three times works very well (the
brute force design approach). However in a monopoly market, there's
actually an incentive to prevent innovation as it raises costs, so
where Microsoft rule and there is no other, innovation is near-zero.
Look at Windows which is still basically WinNT v4.0 released in 1996
with some extra peripheral plug & play code.
There seem to be several things we need from software: for some areas,
we need dynamic development with many competing implementations and
exciting things appearing regularly. In other areas, we need reliable,
robust stable software with well-honed interfaces and rapid bug-fixes.
But mostly we need software running appliances that simply do their
I take the view that for most software there is one single correct
way to implement it. Where that way isn't known, competition is need
to discern the winner.
A good example is dynamic memory allocators. They got them about
optimum in the late 80's and 90's but then multithreading came in and
all the old schemes really sucked under such an environment (eg;
Win32's default allocator even today). So for a few years half a
dozen researchers found new and improved methods of concurrent
dynamic memory allocation and now I'd say everyone agrees that
ptmalloc2 is about as good as it'll get. Until the next technology
arrives that no one's thought of anyway.
My point is that yes, stable software is the most important need.
However stable needn't mean static - stable can mean consistent ABI
and high quality of implementation. If we alter our development
methodologies, one can produce very robust, reusuable and stable
stoftware as good as a ten year old package within six months. It's
just that the average programmer is nowhere near that level yet, but
this is a problem of discipline, not technology.
Although even the motivation takes much more of the nature of coercion
in a world where "not having an income" is an eventual death sentence.
It's fine if you're already loaded. However yes, the original idea of
forcing people to come work in the factories has gone too far now I
Patents are quite a different matter Mr. Walker! Personally I'd have
no problem with software patents if they patented only the
implementation, not the theory.
And there, strangely, copyright applies already and lasts much
longer. At present, the uses of patents by small organisations are
almost exclusively defensive - and even there, defending a patent
claim will probably ruin the company. For large organisations, they
have become an effective method of locking innovation out of the
Other companies like IBM just engage in patent land grabs though in
IBM's case they rarely exercise them. It's equivalent to sitting on a
bomb which can blow up the planet and saying "if you piss me off, I
kill you all!".
To properly free software, copyright's term should be a maximum of
seven years and five for most areas. And software patents should be
repealed, but I think everyone except for the US government and the
EU commission knows that.