From: Samantha Atkins (samantha@objectent.com)
Date: Tue Jun 19 2001 - 00:44:09 MDT
Eugene Leitl wrote:
>
> On Mon, 18 Jun 2001, John Clark wrote:
>
> > The open source software movement is trying to put Microsoft out of
> > business. They might be successful, or they might not. I'm not smart
The free (as in freedom) or open source software "movement" is
interested in many things but putting MS out of business doesn't
even make the top 10. I believe in this type of software model
because I've just spent 20+ years in software and I've seen over
and over again the results of both. If you want to know what
has made software the bottleneck to the future that we dream of
then you might want to consider closely the effects of closed
software business practices on the software industry. These
effects include:
- endless duplication of software even though much of that
software cross-cuts any particular single or type of business;
- selling hype and sizzle with the meat never actually shown and
the user even forbiddent to look for it;
- deciding software engineering practices, environments and
languages on what the minimum was to persuade customers to buy
your product and basically on what you could get away with
rather than actual sound software engineering.
- cynically calculating the number of users who would actually
raise a stink over the bugs in your system versus the cost of
producing better code and then charging victims for reporting
the fact of your product's failure;
- picking languages on the basis of how many programmers you
could hire how quickly rather on the quality of insight and
development that would result from choosing a particular
language.
A software package is composed of and/or dependent on many
hundreds to even thousands of separate routines and bits of
functionality. To wrap up particular collections and hide the
contents behind ironclad EULAs, DMCA, UCITA and the like freezes
what should of been a flow of living software elements and
techniques into a bit of over-priced consumer ware that
generally promises to not be legally held suitable for anything
at all.
I would like a ten dollars for every time I have done something
yet again from scratch for my employer du jour because the last
place I did much the same thing for could not or would not open
the source or attempted to bury it in patents. If the existing
software patents were enforced there would be no such thing as
programming as we know it. All software projects would bog down
in patent negotiations. And what is patented? Usually it is
either an overly broad claim over a trivial technique that
everyone who looks at a particular problem discovered or it is a
body of code that actually contains tens to hundreds of other
techniques and ideas cast in code that are themselves as much or
as little worthy of patenting. In either case the true nature
of software is ignored by the attempt to patent.
Closing the source makes it extremely difficult to know enough
about a piece of code to reuse it. It makes it impossible to
know the code it uses that you might usefully extract and use in
some other setting. Back in the beginning of OO programming it
was obvious to many of us that true OO encapsulation and reuse
could not be acheived without opening the source. To our shame,
many of us forgot this for far too long.
Why have languages devolved? Lisp was invented a year after the
venerable Fortran. Lisp evolved in the 80s and early 90s to be
either the birthplace or ultimate embodiment of Object Oriented
programming, functional programming, logic programming and most
of the GUI techniques we have today and many we no longer have.
It was where GC was invented. It was optimized with
Just-in-Time techniques to be as fast or faster for most
applications than optimized C code back at the start of the last
decade. Yet it became relatively disused and a very small part
of what was learned there slowly creeps into the overbloated,
less powerful languages and environments of today.
What of the early Queen of OO languages and environments,
Smalltalk? It had a VM like Java, GC like Java, class libraries
much more flexible than Java and a development environment that
blows anything made for Java out of the water. It also had its
flaws, but it had all of its virtues over a decade and a half
ago. And yet we listen to hype about how wonderful Java is and
how there was nothing before it that measures up and blah, blah,
blah. I have been around for too long.
I am cursed to be an "old-timer" in this field. I have been
around long enough to see how much stagnation there is in this
field. And I lay much of it at the closed software industry's
door. Where is my incentive to produce clean code well factored
into easy to reuse components available to all makers of
software when I can get much more money by closing the code and
selling a bloated package, say a MS Word, that is easier to sell
for an inflated price because it is closed and has a huge number
of features most of which you neither want or need. But it is a
"standard" so you will buy it along with the next version of the
"standard" that breaks the old version with incompatible formats
that you are powerless to fix or to hire someone to fix.
Building good development tools does not give anywhere near the
ROI that building some proprietary package that you can lock
customers into does. For the development tools to be really
good they have to be open enough to be evolved, to be modified
to local needs, the needs of projects and organizations and as
seed stock for the production of even better tools. In short
they cannot be closed.
If we are serious about reaching singularity as fast as we
possibly can then it is imperative that our software, the very
algorithms, tools and methods that the SI and nanotech and most
of our researches and development efforts depend on are composed
of, be as maximized in effectiveness and in as widespread use as
possible. We need an information and information processing
commons with as few barriers to entry and use and recombination
as possible. This is my strongest reason for advocating
free/open source.
- samantha
This archive was generated by hypermail 2.1.5 : Sat Nov 02 2002 - 08:08:11 MST