Firefox, Flash, Gnome ...

It seems that F/OSS development is migrating away from stability
and towards inept and self-indulgent experimentation. 

Traditionally, F/OSS development is a way to develop skills and
demonstrate competence - which is a path to "A Real Job".  When
competence actually earns a job (and a family, and a house, and
aging parents, and ...) there is no longer time for major
participation in F/OSS, and the boring but necessary tracking
down of security flaws and functional bugs. 

( note: boring == not properly automated )

So we are left with the less employable developers, and those
participating in order to Try Glitzy New Stuff as opposed to those
interested in bullet-proof bug-free iterations of old-but-complete
functionality.  Meanwhile, many of us users would like a platform
that worked the same way forever (without the bugs, and with drivers
for new hardware), so we can build our own elaborations on top. 
I want software bedrock for my own intellectual skyscrapers,
I do not want to be a temporary visitor in someone else's.

If we must make transitions (say from 32 to 64 bits) we want our
old stuff to remain working, and new 64 bit tools to retain all
the legacy capabilities of the 32 bit tools.  Most of us have
plenty of other Real World change to cope with.  We want to use
the tools we already have to help us with that Real World.  If
I have a bit of wonky but usable code from 1990, I want to keep
using it in 2015 or 2025, perhaps emulated in a secure container.

Richard Stallman natters about software's Four Freedoms, but as
the trite saying goes, "freedom isn't free".  When I've argued
with him (is there any other way to interact with this guy?),
he seems oblivious to the fact that the freedoms he demands are
purchased by supporting the equally valid (and different)
freedoms of those who have come to depend on the software he
and his allies have developed.  If user freedoms are ignored,
then "free" software becomes too expensive to use, and is
regretfully abandoned.  Stallman and his posse then must
find Real Jobs, possibly involving sinks and dishes. 

It does not have to be this way.  Stallman can have Four
Freedoms (or five or six or twenty) if he helps create freedoms
for others.  Creating freedom can be a lot more efficient with
adequate attention to efficient and robust production tools.
This is where F/OSS can really shine.  Give us control of the
tools, and we shape what is made from them.

A small device like an iPhone goes through thousands of tests
during assembly.  It is made from components that go through
hundreds of thousands of tests on their way from candidate
geological ore body to reliable subcomponent.  All those steps
are hyperautomated, not touched by human hands. This results in
an iPhone sells for hundreds rather than millions of dollars. 
The electronics industry, and the materials and equipment
industries that feed it, are a vast assembly of automated
procedures and billions of lines of code, with well defined
interfaces, transforming the messy cacaphony of raw nature
and human personality into discrete and predictable products.

Meanwhile, almost all software, libre or proprietary, suffers
from way too many flaws, and way too few tools and techniques
to prevent or detect and repair those flaws.   So software
breaks, and we expend vast effort working around the flaws
until somebody is motivated to fix it with quite primitive
software diagnosis, development, and repair tools.  Which
AFAIK, still mostly consists of eyeballs and human experience.

So, I should not call for chastizing sloppy, inept developers
and their ideological leaders, as emotionally tempting as
that is.  Instead, let's treat this as an engineering and
automation problem.  What tools can we create to take human
weakness out of the development loop, what systems can we
create to automate the production and testing of software? 
How can we multiply eyeballs with algorithms?

What certifications can we create for software that show
ordinary software consumers that these tools and systems have
been used properly?  How do we evolve the certifications so
that the inevitable sociopathic manipulators cannot game
the system to produce crap with high quality metrics?

A new generation of F/OSS, built on trustworthy measures of
quality and "repairability", with tools that guide mediocre
developers towards exceptional productivity, could obliterate
the bad old ways, and generate a rich and unbounded software
ecosystem with products and projects for everyone. 

We already have the historical record of physical engineering
to build on.  Causal chains extend from the latest Intel
processor to the mechanical geniuses of the late 18th century.
We do not have nearly as much to invent.   We have many more
capable brains to harness and invent with.  Indeed, software
capable of evolving into precision tools for software creation
and measurement probably already exists, which is why I write
about this on the PLUG list rather than PLUG-talk.  This
mailing list is probably large enough to become the nucleus of
software producers and testers that conquer the software world.  

I am a mediocre coder, a marginal machine builder, and an adept
silicon designer - I have helped chip designs evolve from tens
to tens of billions of transistors, and elaborated tools and
procedures necessary to make that happen.  If there are young
and ambitious software engineers who want to see their personal
software creativity expand by similar factors over their career,
lets discuss this and see what processes we can adapt from
hardware and silicon engineering.  Next, world domination!

Keith

-- 
Keith Lofstrom          [email protected]
_______________________________________________
PLUG mailing list
[email protected]
http://lists.pdxlinux.org/mailman/listinfo/plug

Reply via email to