Re: Software as society (was: Re: Documentation Standards was Re: [ox-en] UserLinux)
- From: "Benj. Mako Hill" <mako debian.org>
- Date: Sun, 14 Dec 2003 06:37:03 -0800
On Thu, Dec 11, 2003 at 07:34:12PM -0000, Niall Douglas wrote:
In which case, I completely agree. Too many programmers think "if it
works, it's done". This is IMHO very poor engineering - software
needs aesthetics and quality. It needs to be far more than simply
getting the job done - it needs to create dreams within people, to
inspire them and to change the world around it.
For the most part, I agree with you. But some software is a kernel
scheduler or a list sorting algorithm. The social aspect of these
types of software seems harder to put a finger on. I'd be interested
in hearing you unpack either of these examples.
Would you agree that for every algorithm implemented in code there's
at least 1000 other implementations?
Why then doesn't someone just write one implementation and everyone
else use that implementation instead of duplicating the time &
effort, especially when debugging takes 50% of production cost?
For any piece of code with 1000 implementations, there are, I
guarentee you, competing Free Software implementations.
Therefore in order to improve the quality of software, our principal
aim must be to encourage reuse. Anything doing so is good. Anything
preventing so is bad.
(1) Not everyone agrees that there is a direct correlation between
software licensing and software reuse. Certainly, free software
code is reused more often than code you *can't* reuse for
technical or legal reasons but forking is quite rare and most
"snippit" libraries have met with minimal success limited
use. People seem to like rewrites. People seen to like competing
implementations -- in spite of what economists say.
(2) Not everyone agrees that software quality is always something you
can speak about in such definite terms (although it's clearly
more so with software than art or literature).
(3) Not everyone agrees that our principle way to improve software
quality is through encouraging reuse. Competing implementations of
SSH has been a good thing for security by most
accounts. Redundancy in C libraries allowed for interesting
innovation and experimental functionality.
(4) Not everyone agrees that the main point of free software is to
improve the quality of the software.
The GPL helps open source software not waste production, but it
doesn't proprietary. Therefore it's not a good idea as there are
alternatives which don't have this problem.
As you know, many programmers who choose the GPL are not, first and
foremost, out to improve the quality of software -- that was never the
point.
Your answer to this seems to be, "they're religious zealots and need to
quit the cult of the GPL," or "freedom is meaningless, they are just
chasing a word."
I also have serious problems with the term "freedom" but I think free
in the context of free software means something more concrete than
freedom when used by George Bush. More importantly, I also can't think
of a better one.
Regards,
Mako
--
Benjamin Mako Hill
mako debian.org
http://mako.yukidoke.org/