suppose one operating system (or language) lets you open an already open
file by calling OPEN or whatever on the open stream. since this is
clearly beneficial to anyone who can do it, let's assume people start to
do it and demand the same functionality elsewhere. one easy way to do
this is to use a function other than OPEN to do this, but this does not
scale well: every request for a feature would need a new OPEN, and you
would have to decide _which_ OPEN to call both in your code and in the
implementation of the new functionality. clearly, this is a very messy
situation and migration from one system that did support a feature to one
that did not would be a function of the number of features people might
have added. this problem would be solved if people had the source and
could fix things themselves and then channel the fixes back to a central
place that could "take over the world" with better versions. consider
the Unix way, which used to have the function call DUP, but recently has
/dev/fd/<N> -- you can fake /dev/fd/<N> with DUP, but to do that requires
getting under the skin in OPEN and parsing a file name and all sorts of
cruft that the file system code would normally do. ugly, but it would be
necessary, right?
the reason that source access is needed is the same as the cause of the
problem: the inability to modify system behavior non-intrusively. if one
could modify OPEN on any given system to acquire new behavior _without_
compiling a new OPEN or, even if you did, without re-linking the entire
system (thus the need for dynamic linking and similar solutions, too),
source code access would be entirely immaterial.
so suppose you wanted to wanted to add DUP functionality when OPEN was
called on /dev/fd/<N>. you could grab the old OPEN definition and call
it anonymously, while redefining OPEN to be your particular function,
which acted only on a match to such pathnames, or you could redefine OPEN
once and for all and add your stuff via a well-defined hook system, or
advice or whatever. whether you would try the new thing first or only
after trying the argument the old way had failed would be an orthogonal
design decision, subject to how easy error handling is and the expected
frequency of failures. this way of doing things would in any case cause
a few simple improvements over static source: (1) the core system could
upgrade its OPEN without the need to migrate the changes. (2) if you did
it right, you could also inspect, add, remove, and reorder your changes,
and you wouldn't need the source for either of these operations, either.
(3) bugs introduced by changes could be fixed the same way the changes
were put in place, as opposed to rebuilding the system with the previous
version of the dynamic library or whatever didn't fail. (4) you could
communicate your desire for a system-wide improvement to someone who
could put it in the official sources and you could add your changes
conditionally.
compare this to a world where no dynamism is available and people don't
think in dynamic terms, anyway. you need to make OPEN change behavior so
of course you need access to the source! you want this functionality
everywhere, not just in particular programs, so of course you need the
ability to modify it and rebuild from scratch! since this creates a
maintenance nightmare, of course you want your changes to be part of the
core system, too. to get that to happen, of course you need to be part
of a huge movement where people compete with eachother for features they
think they need and the best way to implement them. this is incredibly
exhilarating, so of course this is the solution to all the world's many
problems with missing features in software.
suppose you drive down the highway and you suddenly want to go some nice
place you saw just before you pass a forest. you veer off the road,
plunge into the wilderness and promptly decide that you need four-wheel
drive, a huge cutting device in front of your car, much better shock
absorbers, a bigger engine that could actually run on swamp water instead
of getting all drowned, and then need an amphibious vehicle to get across
the river on the far side of the forest. you can't get all that right
away after you made up your mind to veer off the road, and This Is Surely
Somebody's Fault, so now you start this big protest movement to have auto
manufacturers use Open Car Design by making your own cars and giving them
away so people can modify them. the obvious morale of this story is that
it would have been a little smarter to see if there were another way to
get there over existing roads or ferries or whatever, even if that would
cost a lot less and be faster if not Your Way Right Now, and which didn't
need all this add-on stuff to your car, and perhaps you would just get
there instead of getting all worked up about all the neat stuff that
other people had done to their cars while claiming that if it weren't for
Open Car Design, they would actually never have gotten where they are,
and they sure wouldn't have built this very versatile car, which they
talk about a lot more than where they have used it and for what. suppose
someone adorns a commercial vehicle with a proprietary navigation system
that let you discover any and all ways to get from point A to point B by
talking to it, including scheduling and cost estimates so you could
decide whether it was worth it, but refused to give it away to Open Car
Designers. why would anyone who weren't more interested in building cars
than Getting There insist on home-made Swiss Army Cars with Open Car
Design when the _real_ goal had become attainable? why would Open Car
Designers _not_ call the producer of the navigation system and find a way
to deploy it almost everywhere? and would they insist that a home-made
navigation system would be better than buying it from whoever invented
it? although a ridiculous example, I don't see why anyone would insist
on a way to do things that does not solves the real problem, but rather
solve an ancilliary problem that is a problem only because someone is
very stubborn.
I keep wondering when and under which conditions the models employed by
Free Software and Open Source make sense. I don't think it makes sense
when the design is _already_ flexible and open and so malleable that it's
used as an argument against it by the very same people who want to change
everything, but only Their Way. in other words, if all you have is Unix,
certain problems are so staggeringly tall that it takes an extra special
genius to see what the _real_ problem is because all the people who are
trying to climb it make it look as if doing something else is stupid. if
you have, say, Common Lisp and good access to the exposable parts of the
internals, with advice support, hooks, etc, why do you _need_ the source
code? not that it wouldn't be useful, but would the demand be as great
if the Smart Route to Yonder Place was at least available to intelligent
people instead of requiring everybody to scale every mountain just to
prove a point about inaccessibility?
the problem is that scaling such mountains is much more fun than actually
doing anything useful with computers. mostly, computers are used to do
Really Boring Stuff, especially if you don't have any dynamism, either,
and if you're young and getting into computers because it is supposedly
exciting, you discover that writing quality software for real people is
tremendously hard and the real rewards are pretty far apart in real life,
so it's a lot more fun to spend one's time cutting another cycle off an
interrupt handler or bolt another semi-dynamic feature onto a system as
flexible as a block of granite.
the solution is dynamic _software_, but Open Source (etc) is the best way
to ensure that this never happens on a large scale, because a pale shadow
of the dynamism people actually need is immediately achievable using the
static model that people accept without question through fixing a source
file and recompiling. ever better ways to overcome this inherent problem
are created, such as Java and interpreted languages, dynamic linking and
lots of nifty features. to help people _find_ the solution, however, we
need to show them that the problem is aggravated by the way they think
they are solving the problem today: by making the static software model
even more entrenched and unmaintainable.
I think Free Software and Open Source addicts will get down from their
current high and become tremendously frustrated when the obvious problem
of having millions of pieces of source code available and they actually
can't move in any direction because the ability to make modifications
that they have so lauded in the past turn into a very serious problem
when much bigger problems require modifications to much larger systems
than the ones people today think are usefully modified locally.
I predict that "migrability" will be the one factor that causes people to
choose dynamic software over static software, however modifiable, because
while the software has been the most valuable for a long while (because
of its cost of development), the data we stuff into the programs and ask
them to safekeep for us will be so much more valuable than the software.
static software is totally unable to deal with graceful migration and the
need for the cost of changes to be linear in the size of the changes.
however, writing "migrable" software is not a task for novices or people
who are not fully aware of the impact of their decisions, and I think
that too much access to source code will cause a lot of people to be
exceedingly good at stuff that is antithetical to long-term solutions.
it seems that programmers need to be made as aware of the problem of not
killing the patient while fixing some problem as the medical profession,
because as long as the static software world considers "crash and reboot"
to be an option, we won't get anywhere worth going.
Free Software and Open Source may well be the last gasp of the static
software world and its "success" may well cause companies who believe in
static software to fail while users betray their own long-term needs in
exchange for the smidgeon of dynamism that source code affords. in the
long run, software that adapts and can migrate from one half-expressed
need to another as real users discover what they actually want, _should_
win. resisting the sometimes attractive non-solution of unrestricted
source access and full modifiability may be the only way to get what we
really need.
#:Erik
--
save the children: just say NO to sex with pro-lifers
1. Free software and open source are a poor way to adapt and grow
software.
2. Dynamic mechanisms that don't even require access to source are
better.
3. Eventually the world will see this.
My measure of agreement diminishes in the same order.
Erik lists a couple of dynamic mechanisms that provide better
adaptability. My personal favorite, which was not explicitly
mentioned, is the the "Open Implementation" work done at Xerox PARC by
the CLOS-MOP people. (http://www.parc.xerox.com/spl/projects/oi/) It
is worth noting that OI is still an area of RESEARCH. There are
problems with it. We don't know much about how to design OI
protocols. We don't even know much about how to DOCUMENT the
protocols we've got.
Consider, for example, that even amongst Lispers, many of whom
subscribe to OI philosophies, that CLOS STREAMS is still not
standardized and not wholly adequate for all the uses people hope for
it, and that CLOS PATHNAMES hasn't yet been designed. Similarly for
OI environments, compilers and debuggers. (Indeed, most mention I've
made of such things on c.l.l has been answered by more silence than
enthusiasm.)
This stuff is hard, and the existing technology doesn't solve all the
worlds problems, though it does help some.
So does free software and open source.
We're familiar with Dick Gabriel's "Worse is Better" argument (from
http://www.ai.mit.edu/docs/articles/good-news/good-news.html). Gabriel
points out that under the right circumstances, something that gives us
some of what we want can be more successful, and by some measure,
even "better", than something else which addresses some specific issue
in
a fundamentally more direct, complete, or consistent way.
Open Source is a "worse is better" approach to Open Implementation
(and to dynamic systems in general).
Open Source works (though not well). It is successful (but it's not
clear how general or sustainable). Its hard to argue with success.
The fact is, that Open Source is CURRENTLY meeting the immediate needs
of more computer users than dynamic systems such as Lisp are.
I completely agree that more needs can ultimately be met by dynamic
systems such as Lisp. The issue is getting there. Open source and
free software does meet this need more directly than dynamic systems.
If you need something, you can start with an EXISTING, AVAILABLE,
WORKING thing and modify it to do something else. One problem with
Lisp is that there is so much that is not quite existing, not easily
(cheaply) available, or not quite working.
However, even with all this modularity, I still relied on source code.
First of all, when using ADVISE you have to know what to advise -- often it
was internal, undocumented functions. The networking API that I hooked my
trailer code into was also not documented.
There were also many thing that I needed to do that I could only do by
modifying functions. If there's a place in a function where it does (+ x
y) and you need it to do (- x y), there's no practical way to do that
without replacing the function definition.
Object orientation and dynamism generally only work well if the designer of
the system can anticipate where people will need to customize. He then
documents an API appropriate for customizing those places. But if someone
comes up with a need that he didn't think of, often the only way for them
to implement their changes is by hacking the source code.
One other thing: this whole argument only applies to customization. Much
of the benefit of open source is the ability of anyone to implement bug
fixes and general evolution of the code. Emacs is a reasonable example os
a system that has balanced the two ways that programs change. If someone
wants to change the way the garbage collector or redisplay works, or add
support for floating point numbers, this is done by modifying the code in
place; however, Emacs's dynamism was used when they wanted to add web
browsing capability. Sometimes both need to be done: often while
developing an external package you discover that it would work better if
there were a hook in a new place, so you make that one little change to the
guts.
--
Barry Margolin, bar...@bbnplanet.com
GTE Internetworking, Powered by BBN, Burlington, MA
*** DON'T SEND TECHNICAL QUESTIONS DIRECTLY TO ME, post them to newsgroups.
Please DON'T copy followups to me -- I'll assume it wasn't posted to the group.
> There were also many thing that I needed to do that I could only do by
> modifying functions. If there's a place in a function where it does (+ x
> y) and you need it to do (- x y), there's no practical way to do that
> without replacing the function definition.
(let ((y (- y)))
...
(+ x y))
Or something.
Christopher
That's what I mean. There's a function that currently looks like:
(defun do-something (...)
...
(setq z (+ x y))
...)
How do you insert your "let" form without rewriting that function? And how
would you do that without the source code to that function?
Symbolics's ADVISE actually provided a way around this in some cases; you
could do something like:
(advise (func1 :within func2) ...)
and the advice would modify FUNC1 only when it was called by FUNC2.
However, this doesn't work for open-coded functions like + (in fact, you
can't generally ADVISE them at all).
I thought I had already covered the value of source access to people with
real needs. in your case, doing systems programming as your job is
certainly within the realm of licensing the source, and I can't see why
this is an argument for full source access with unrestricted rights to
modify and redistribute modified code to essentially random people, which
is what I'm arguing against. again, I'm all for source access, but only
to those who actually need it and commit to using it constructively.
| First of all, when using ADVISE you have to know what to advise -- often
| it was internal, undocumented functions.
well, I modified Allegro CL's pathname behavior long before Franz Inc
shipped the sources to these particular files to all supported customers,
and all I had was a good grasp of the SPARC assembler and the standard
functions that let me peek at the actual running code. Franz Inc has
since started shipping most of the "surface code" to supported customers,
and it's easier to change a function, except that when upgrading, retro-
fitting fixing becomes more risky than making the initial fix.
| There were also many thing that I needed to do that I could only do by
| modifying functions. If there's a place in a function where it does (+ x
| y) and you need it to do (- x y), there's no practical way to do that
| without replacing the function definition.
communicating with the people who own the source would solve this
problem, and there is still no need to require unrestricted rights to
modify the source. having that right, however, means you won't find the
need to communicate with the owners of the source until you're really
pissed at something you can't do yourself. if you think this is an
exaggeration, read GNU Emacs bug reports for a while -- a pattern emerges
where those who think they have rights tend to demand instead of ask.
| Object orientation and dynamism generally only work well if the designer
| of the system can anticipate where people will need to customize.
yes, and that's the point: if we never get any practice in anticipating
it or feel the consequences of our mistakes, neither will be ever become
good at it, and the less well-designed software is, the bigger the "need"
for unrestricted source access. the more people have access to source,
the less they will be interested in more modular designs or ways to fix
things. by giving random people unlimited source access, you may tell
them, if not in words, then in the consequence of what you accept and
implicitly encourage, that end-user customization is a subordinate need
in the software as delivered.
| But if someone comes up with a need that he didn't think of, often the
| only way for them to implement their changes is by hacking the source
| code.
of course, but why should the implementor of such changes _have_ to have
(1) the automatic _right_ to access the sources, (2) the automatic right
to distribute it further to others without the owner's approval, and (3)
the right to distribute his modifications? if you want to make something
new, I really don't see why building on the works of the past has to mean
that the works you create must be modifiable by anyone even before you
know where you're going with it.
| One other thing: this whole argument only applies to customization. Much
| of the benefit of open source is the ability of anyone to implement bug
| fixes and general evolution of the code.
when this happens in cooperation with the owner of the code, it is good.
when it causes a myriad of independent fixes to the same problem and
branches into a variety of incompatible "products", we have instead of
causing people's creativity to be employed usefully, failed to contain
the biggest problem inherent in the free market, that it costs too little
to fragment the market. look at Unix. it was essentially open source
before anyone invented the term, and that caused a large number of ways
to solve the same problem and left the market to sort them out, which
they didn't (the market never will sort out bad quality in anything but
the single most important property of the products), and Unix got itself
into a position where some horribly demented crapware from Microsoft
could compete with it and fool a whole bunch of people for a while.
Linux is a success because it is well _managed_, not because it is Open
Source. whether people would have to sign an agreement to get access to
the source and be allowed to fix things or not is immaterial: people who
want to commit serious work to GNU Emacs must already sign an agreement,
and that hasn't stopped GNU Emacs from succeeding, either.
it appears to me that the crux of my argument has been lost, however: by
giving people something they don't need, but which covers a need by sheer
accident, they don't discover the solution to their _real_ needs. people
don't need source code to modify if the system doesn't work, they need
working systems. people don't need source code to add functionality to
some static function design, they need flexibility in the design. the
more we give random people unrestricted access to source code, the more
we will design software that is expected to be modified just that way,
and the less we will design software that is not intended to be modified
by random users at the source level, and the less we will design systems
that are actually able to adapt to people without changing the code.
| Emacs is a reasonable example os a system that has balanced the two ways
| that programs change. If someone wants to change the way the garbage
| collector or redisplay works, or add support for floating point numbers,
| this is done by modifying the code in place; however, Emacs's dynamism
| was used when they wanted to add web browsing capability. Sometimes both
| need to be done: often while developing an external package you discover
| that it would work better if there were a hook in a new place, so you
| make that one little change to the guts.
none of this even hints at why it was a good idea to give source code to
random people and give them the right to modify the existing source code.
those who develop their own packages for Emacs already communicate with
the source holders and other developers. nothing in this requires that
the source code be given to _anybody_.
as I have said several times, I think source access is a good idea, but I
think it should be regarded as an investment by both parties, probably
more so by whoever gets the source access, and modifications to the
source should be channeled back to the owner before they are spread
further down the line or to other developers. my goal is to educate
those who want to be educated, not to let random people have "rights"
that only hurt them in the long run.
Erik Naggum <er...@naggum.no> writes:
> Linux is a success because it is well _managed_, not because it is Open
> Source. whether people would have to sign an agreement to get access to
> the source and be allowed to fix things or not is immaterial: people who
> want to commit serious work to GNU Emacs must already sign an agreement,
> and that hasn't stopped GNU Emacs from succeeding, either.
I believe the "well managed" or "well coordinated" concept is key
here, but I also believe that it is somewhat orthogonal to the
"freedom" or "openness" of the software (for the appropriate
definitions of SW). So, the use of this argument to sway opinion
toward or away from "libero" software, is not very appropriate.
Cheers
--
Marco Antoniotti ===========================================
PARADES, Via San Pantaleo 66, I-00186 Rome, ITALY
tel. +39 - 06 68 10 03 17, fax. +39 - 06 68 80 79 26
http://www.parades.rm.cnr.it/~marcoxa
My impression is that in practice this doesn't matter that much, as it seems
to be considered bad nettiquette to fork a project, and it doesn't appear to
happen often. Also, most people realize it would be foolish, because most
projects/packages are too complex to comprehend and subsequently support as a
separate fork. There's also the problem of mind-share: most developers want
to see their stuff used, and there are only so many niches. E.g., I wonder
it there is now any likelihood of having a succesful YEmacs: emacs and xemacs
are already there, and there is probably simply no 'audience' for yemacs.
So, if people don't want to contribute: fine, let them fork and keep it to
themselves, no damage done (but to themselves). If they contribute: so much
the better, this kind of system appears to work.
> if you think this is an
> exaggeration, read GNU Emacs bug reports for a while -- a pattern emerges
> where those who think they have rights tend to demand instead of ask.
I haven't but I can imagine this, it's bad behaviour, but to me it doesn't
prove that open source is to blame for this behaviour.
> yes, and that's the point: if we never get any practice in anticipating
> it or feel the consequences of our mistakes, neither will be ever become
> good at it, and the less well-designed software is, the bigger the "need"
> for unrestricted source access. the more people have access to source,
> the less they will be interested in more modular designs or ways to fix
> things.
Now that is an interesting thing: one could argue that the ultimate modules
are the language elements (functions, libraries, whatever) themselves. Fully
customizable, as it were. The question, clearly, is where to draw the line.
> of course, but why should the implementor of such changes _have_ to have
> (1) the automatic _right_ to access the sources,
that's up to the authors; if they give it (by using GPL or BSD or whatever),
then that's fine. People whining about other people's licences (as some open
source advocates do) is a bit tiresome. Although I'm inclined to say that
software developed with public money (.edu, .gov) should preferably use an
open licence.
> (2) the automatic right
> to distribute it further to others without the owner's approval,
> and (3)
> the right to distribute his modifications?
same thing. And again, nettiquette and common sense dictates that it is
general much better for all parties involved to get to hat with the
authors(owners?)
> Unix got itself into a position where some horribly demented crapware from
> Microsoft could compete with it and fool a whole bunch of people for a
> while.
I don't think this is an accurate description of what happened: Unix simply
had, for a variety of non-technical reasons, no presence on the platform that
mattered; I don't think they ever really competed (but they do so now,
luckily).
> Linux is a success because it is well _managed_, not because it is Open
> Source.
yes, but at the same time I cannot conceive of a well managed Linux that does
not give source access.
> whether people would have to sign an agreement to get access to
> the source and be allowed to fix things or not is immaterial: people who
> want to commit serious work to GNU Emacs must already sign an agreement,
> and that hasn't stopped GNU Emacs from succeeding, either.
I'd be interested in this thing; it makes sense to oblige people to commit,
but then I imagine it is equally difficult to 'enforce' such commitments
(especially with e.g. students). Possibly the main thing is to exclude
nitwits that just make demands and not much else.
> don't need source code to modify if the system doesn't work, they need
> working systems.
Open source developers crave code: they are less interested in coding
applications, it is less sexy for some reason. If and when Linux breaks
through to the masses, the masses will just be relieved to have a cheap,
stable system on their laptop. They won't want the source, and don't need it.
> more we give random people unrestricted access to source code, the more
> we will design software that is expected to be modified just that way,
that might seem so superficially, but big part of the motivation for open
source developers is to do something well, and be known for it (somehwere I
read the strange term 'egoboo' for this). The packages/projects that really
last fall in this category.
> and the less we will design software that is not intended to be modified
> by random users at the source level, and the less we will design systems
> that are actually able to adapt to people without changing the code.
No: first of all, most packages need recompiling of modified source code
before the package can be said to have adapted. This is simply not
convenient, for neither power user nor layman, and there is clearly an
incentive to make software adaptable in an easier way. Secondly, adaptability
necessarily involves generality and therefore complexity. Using this to its
full extent will likely remain the domain of the power user, and this
category of users overlaps with those who'd be inclined to change source code
anyway.
> none of this even hints at why it was a good idea to give source code to
> random people and give them the right to modify the existing source code.
> those who develop their own packages for Emacs already communicate with
> the source holders and other developers. nothing in this requires that
> the source code be given to _anybody_.
I have several times submitted, to the authors, little patches to parts of
emacs; this was acknowledged as being useful, and I fail to see how I could
have made these contributions without access to the source. Many many others
have done exactly the same, and have thusly contributed to this package. It
helps yourself, others, and it is fun. This system appears to *just work*,
all theorizing aside. Good leadership and netiquette are essential, but big
packages simply need lots of 'eyeballs', as pointed out by Raymond.
> as I have said several times, I think source access is a good idea, but I
> think it should be regarded as an investment by both parties, probably
> more so by whoever gets the source access, and modifications to the
> source should be channeled back to the owner before they are spread
> further down the line or to other developers.
absolutely!
Philip
--
The cause of the millenium bug is Homo Sapiens having 10 fingers
-----------------------------------------------------------------------------
Philip Lijnzaad, lijn...@ebi.ac.uk | European Bioinformatics Institute,rm A2-24
+44 (0)1223 49 4639 | Wellcome Trust Genome Campus, Hinxton
+44 (0)1223 49 4468 (fax) | Cambridgeshire CB10 1SD, GREAT BRITAIN
PGP fingerprint: E1 03 BF 80 94 61 B6 FC 50 3D 1F 64 40 75 FB 53
* Philip Lijnzaad
| yes, but at the same time I cannot conceive of a well managed Linux that
| does not give source access.
sigh. neither can I. _please_ note that my argument is not against
source access, but against giving it to anyone, without restrictions or
need or any concept of investment in it. I have argued for source access
so much that I really did believe it would be very hard to for anyone to
confuse the issues, but let me phrase it differently in the hopes that I
can transcend the apparently strong desire to see this as an access vs no
access issue: I want source access to be granted by the author/owner to
those deemed worthy as part of building a community of people who agree
to co-invest and share knowledge. I don't want source access to be a
"right" to be demanded of authors/owners regardless of personal values or
intentions. on a higher level, I want to solve better the problem that
source access is solving badly: helping people get software that works
the way they, individually, want it to work.
| that might seem so superficially, but big part of the motivation for open
| source developers is to do something well, and be known for it (somehwere
| I read the strange term 'egoboo' for this). The packages/projects that
| really last fall in this category.
my argument is that you get more egoboost (I'm sure that's the word you
saw) out of being part of a community with privileges than you get out of
having access to source code. with source access to any stray comer, it
is actually _harder_ to build the community, and the time it takes to
deal with the eager incompetents is alarming.
| No: first of all, most packages need recompiling of modified source code
| before the package can be said to have adapted. This is simply not
| convenient, for neither power user nor layman, and there is clearly an
| incentive to make software adaptable in an easier way. Secondly,
| adaptability necessarily involves generality and therefore complexity.
| Using this to its full extent will likely remain the domain of the power
| user, and this category of users overlaps with those who'd be inclined to
| change source code anyway.
I think you miss my point, again: at issue is using _dynamic_ languages.
I'm arguing that source access is a necessity in the static language camp
and that by giving people access to source in static languages, you deny
them the opportunity to do what they really want, which is to add or use
dynamic properties of the system as delivered.
if you reply, _please_ keep in mind that I'm not opposed to source
access, nor do I think that source access is not necessary for a number
of useful things. I'm opposed to giving people access to the source as a
means of "solving" their real problem: insufficiently dynamic software to
deal with the complexity of real-world applications and people. most
people who code leisurely fail to appreciate the inherent complexity of
every problem that actually deals with real people, and I'm NOT talking
about the user interface, and I want to remove the source access from
people who are likely to be hurting themselves and the whole profession
by doing stuff that they should rather communicate in a human language to
a human developer.
> ...these days, I largely think both Free Software and Open Source are very
> serious mistakes, because they don't solve the core problems, they make them
> much, much worse.
and
> I think Free Software and Open Source addicts will get down from their
> current high and become tremendously frustrated when the obvious problem of
> having millions of pieces of source code...turn into a very serious problem
> when much bigger problems require modifications to much larger systems than
> the ones people today think are usefully modified locally.
I think that these is a fair point about what the outcome of the Free Software
and Open Source model. But where do you say anything about the educational
function of Free Software and Open Source? The things that I most cherish about
this model is that through exposure to Free Software and Open Source I have
learnt much. e.g. I would never have tried to learn cl. How many people have
been moved to learn cl having started with elisp?
> the reason that source access is needed is...the inability to modify system
> behavior non-intrusively. if one could modify OPEN on any given system to
> acquire new behavior _without_ compiling a new OPEN or ...re-linking the
> entire system...source code access would be entirely immaterial.
This is very true. Surely this is one of the things that Free Software now
gives us with gcc/glibc?
[..elided a car/software analogy...]
> I keep wondering when and under which conditions the models employed by Free
> Software and Open Source make sense. I don't think it makes sense when the
> design is _already_ flexible and open and so malleable...
I agree. But when the design is not flexible and open and so malleable. I
wouldn't describe MS OS development as flexible and open and malleable! (But
please don't read this as that I think that you do :))
> ...that it's used as an argument against it by the very same people who want
> to change everything, but only Their Way. in other words, if all you have is
> Unix, certain problems are so staggeringly tall that it takes an extra
> special genius to see what the _real_ problem is because all the people who
> are trying to climb it make it look as if doing something else is stupid.
You will always have the ill-informed and the zelots. But this is human nature.
"I'm in this gang, and me and my friends all thing because you don't act
exactly the same as us and think exactly the same as you you are wrong."
For my sins this make me think of the Monty Python Film 'The Life of Brian', a
deep and vitriolic attack on the stupidity of the far left in the UK. For
example "The one thing that we hate in this world more that the Romans,
is...splitters." Much of the white-noise that seems to be generated by the Free
Software community seems to be of this splitter ilk. There should be more
acceptance of diversity and tolerance of other peoples points of view.
> the data we stuff into the programs and ask them to safekeep for us will be
> so much more valuable than the software.
This is so true.
> however, writing "migrable" software is not a task for novices or people who
> are not fully aware of the impact of their decisions,
But how do you become a migration master?
> I think that too much access to source code will cause a lot of people to be
> exceedingly good at stuff that is antithetical to long-term solutions.
Why?
> ...if you have, say, Common Lisp and good access to the exposable parts of
> the internals, with advice support, hooks, etc, why do you _need_ the source
> code?
You don't need the source code!
> ...but would the demand be as great if the Smart Route ... was at least
> available to intelligen people instead of requiring everybody to scale every
> mountain just to prove a point about inaccessibility?
For me, if bits were written in assembly language or heavily optimised it would
be really neat to see, but would it help me in my day to day coding tasks? Of
course not.
A strange coincidence happened I was going for an eyetest yesterday. Bhe
traffic on the road between where I work and the place in town that I was going
to very slow moving. The ten minute that I had allowed 20 minutes for turned
into a 45 minute chug. Such are the problems with living in a seaside town on a
sunny afternoon. I missed the appointment and to quell my raging anger I went
to the local library. Quiet. Calm.
The Library in town has about 3'6" of books on computing. But next to the book
on 'BASIC for the Commodore Pet' and 'Work out your High School Timetable with
the BBC B Computer' was Richard Gabriel's "Patterns of Software".
(now back to the point). In this book Gabriel makes many good point that (IMHO)
have bearing on this:
Firstly, showing me (or infact anybody apart from the bloke who want to write
another cl compiler) the optimised code is pointless or infact worst than that,
it is confusing. To get the kind of optimisations based on I would want,
because I was writing a fast mail editor, or a large MIS or what ever, will not
be helped by looking at this optimised code. More generic patterns or examples
of code would what I needed.
Secondly, software engineering (or whatever you want to call it) is only 40 or
maybe 50 years old. If it were civil engineering and you want to build a
bridge, you have at least 2000 years of people building bridges, patterns,
experiences, writing books, trying out all the angles. Software engineering
doesn't have this. These are exciting times. But we need to give things time to
develop and settle down. And not be too critical of what other people are
doing. They may not have the answer. Or at least the whole answer. But neither
do I. Or you :-)
But I think we need to look at ways the ways in which code is developed. Be it
Free or Open, Closed or Garden ;) coding. People are making lots and lots of
mistakes behind closed doors and then not telling anybody else about them. At
least Free/Open coding has more visibility.
It took me some time to read Erik's essay but I found it was well worth the
effort :-) Thank you.
Best Regards,
:-) will
> I thought I had already covered the value of source access to people with
> real needs. in your case, doing systems programming as your job is
> certainly within the realm of licensing the source, and I can't see why
> this is an argument for full source access with unrestricted rights to
> modify and redistribute modified code to essentially random people, which
> is what I'm arguing against. again, I'm all for source access, but only
> to those who actually need it and commit to using it constructively.
I don't see that there is a need to restrict source access like this.
So long as you (as the vendor) are careful to restrict
*redistributability* of modified sources, then I think there's no real
problem licensing source to essentially random people. If they shoot
themselves in the foot they don't hurt anyone but themselves. You
also need to be careful that when they ask for support they're asking
for support on your code not something they've broken (which might
actually be a harder problem to solve).
I've found source access (for pretty dynamic systems, including
Genera), extremely useful, even though I could not redistribute
changes. Dynamic systems only let you alter behaviour down to a
certain level -- the `chunking level' or something -- below that and
you really need source.
I suspect that I'm agreeing with you here -- to me anyway the
important thing is *access*.
--tim
actually, in numerous other articles prior to the one you comment on.
| The things that I most cherish about this model is that through exposure
| to Free Software and Open Source I have learnt much. e.g. I would never
| have tried to learn cl.
why do you give Free Software and Open Source credit for source access?
access to source code is not predicated on having the right to do
anything with it other than read it and play with it for personal use.
I really wonder why people have so much difficulty understanding that
source can be licensed in ways that give anyone who ask for it the
ability to see whole or parts of the source, but without thereby forcing
the author to lose control over the source. e.g., Franz Inc supports
their customers with source to much of the surface functions in Common
Lisp, but you have to agree not to give this away to others. why is this
not sufficient to learn from? why do you have to be able to give the
source to other people in order to learn anything from it?
| But how do you become a migration master?
by becoming an expert at what you do and acutely aware of the impact of
your decisions. this is hard work and requires dedication and investment
far above and beyond reading source code. you have to write a lot of new
code and also maintain systems _without_ source access to be able to see
what it takes to support software migration.
| > I think that too much access to source code will cause a lot of people
| > to be exceedingly good at stuff that is antithetical to long-term
| > solutions.
|
| Why?
because people take the road of least immediate resistance, not the road
of least resistance. it's far easier to hack a function to do something
new than to figure out how the old and the new functionality should
co-exist. if you can't hack the function to do something new, but have
to treat its current functionality as a black box and do the extra stuff
outside of it, you tend to think more carefully about not changing things
incompatibly.
| But I think we need to look at ways the ways in which code is developed.
| Be it Free or Open, Closed or Garden ;) coding. People are making lots
| and lots of mistakes behind closed doors and then not telling anybody
| else about them. At least Free/Open coding has more visibility.
it's been said that architects raise monuments to their mistakes, while
doctors bury theirs. programmers tend to erase the evidence of their
mistakes if they catch them before they need to document them and have to
support them backward-compatibly in the future. I would like to see ways
to _really_ fix mistakes and produce backward-compatible code as an extra
feature, effectively local changes to the code, instead of an integral
part of the evolution of the system.
> * William Deakin
> | But where do you say anything about the educational function of Free
> Software and Open Source?
>
> actually, in numerous other articles prior to the one you comment on.
Yes you have. Fair point. Ho Hum.
> | The things that I most cherish about this model is that through exposure
> | to Free Software and Open Source I have learnt much. e.g. I would never
> | have tried to learn cl.
>
> why do you give Free Software and Open Source credit for source access?
Because I am an idiot :-)
> access to source code is not predicated on having the right to do anything
> with it other than read it and play with it for personal use.
true.
> I really wonder why people have so much difficulty understanding that source
> can be licensed in ways that give anyone who ask for it the ability to see
> whole or parts of the source, but without thereby forcing the author to lose
> control over the source.
See the answer above.
I think this is then about trust. Or access to big men with sticks. Or lawyers
with big sticks. This is also about me understanding what you are talking
about. I agree with you. There is no reason why licenses cannot be drawn up so
that anyone who asks for it has the ability to see whole or parts of the
source.
> e.g., Franz Inc supports
> their customers with source to much of the surface functions in Common
> Lisp, but you have to agree not to give this away to others. why is this
> not sufficient to learn from?
It is sufficient. I agree. Franz seem like very nice people.
> ...people take the road of least immediate resistance, not the road of least
> resistance. it's far easier to hack a function to do something new than to
> figure out how the old and the new functionality should co-exist. if you
> can't hack the function to do something new, but have to treat its current
> functionality as a black box and do the extra stuff outside of it, you tend
> to think more carefully about not changing things incompatibly.
Yup. Also as I understanding this is the one of the differences between doing
The-Right-Thing and Worse-Is-Better.
I think that anything worthwhile doing is never easy. Its what gives the
satisfaction. Even if it is digging a large hole in the ground with a spade.
I'm good at digging myself into holes ;-)
Have you any thoughts about how this fits in with planned as opposed to organic
development?
> ...programmers tend to erase the evidence of their mistakes if they catch
> them before they need to document them and have to support them
> backward-compatibly in the future....it's been said that architects raise
> monuments to their mistakes, while doctors bury theirs.
One of the things though is that when a doctor makes a mistake there is then an
inquiry into what went wrong and how not to do it again. These results are then
published. To stay in the doctoring (I believe) every doctor, at least in this
country, has to then read the outcome of these (along with lots of other
stuff). But this goes back to the idea that programming, or software
development is a Profession and should be carried out in a professional manner.
> I would like to see ways to _really_ fix mistakes and produce
> backward-compatible code as an extra feature, effectively local changes to
> the code, instead of an integral part of the evolution of the system.
This is an excellent idea.
I would also like to also talk about things like design mistakes. I think there
are things to be learnt about setting about coding. But one thing that seems
like a big gaping hole in the scheme (sic) of things is the bits before and the
bits after the coding start.
Best Regards,
:-) will
Have you ever used LD_PRELOAD ? You create your added functionality in form
of a shared library which then overrides functions in any system library.
Below is a small sample.
> source code access would be entirely immaterial.
Source code is still important 1. for understanding how something works,
2. if your patch needs to insert 1 line in the middle of the OPEN function.
Bruno http://clisp.cons.org/~haible/
$ gcc -O -fPIC hack.c -o hack.so
$ export LD_PRELOAD=`pwd`/hack.so
Bruno
================================== hack.c ====================================
/* Hack function time(). */
/* It might not be legal to use this code to circumvent evaluation licenses. */
#include <sys/types.h>
#include <sys/time.h>
#include <dlfcn.h>
#define DAYS_BACK 2*30 /* two months */
#define TIME_BACK DAYS_BACK*24*60*60
time_t time (time_t * ptr)
{
static void* libc_handle = NULL;
static time_t (*original_time) (time_t*) = NULL;
time_t t;
if (libc_handle == NULL)
libc_handle = dlopen("/lib/libc.so.6",RTLD_LAZY);
if (libc_handle != NULL)
original_time = dlsym(libc_handle,"time");
t = original_time(NULL);
t -= TIME_BACK;
if (ptr)
*ptr = t;
return t;
}
>* Erik Naggum
>| Linux is a success because it is well _managed_, not because it is Open
>| Source.
>
>* Philip Lijnzaad
>| yes, but at the same time I cannot conceive of a well managed Linux that
>| does not give source access.
>
> sigh. neither can I. _please_ note that my argument is not against
> source access, but against giving it to anyone, without restrictions or
> need or any concept of investment in it. I have argued for source access
> so much that I really did believe it would be very hard to for anyone to
> confuse the issues, but let me phrase it differently in the hopes that I
> can transcend the apparently strong desire to see this as an access vs no
> access issue: I want source access to be granted by the author/owner to
> those deemed worthy as part of building a community of people who agree
> to co-invest and share knowledge. I don't want source access to be a
> "right" to be demanded of authors/owners regardless of personal values or
> intentions. on a higher level, I want to solve better the problem that
> source access is solving badly: helping people get software that works
> the way they, individually, want it to work.
This sounds good, but it has a serious implementation problem: if you
actually gave serious thought to who should have access to the source,
you would spend far more time on the distribution/decision problem than
on building working software. You would have to give all requestors the
equivalent of a job interview, and even then it's often difficult to tell
whether someone will ocntribute to a project/community until they've
been working for a while. Some people you think will be good will be
disastrour, and some people you think will be bad will turn out brilliant.
So most people or organizations make a default decision: either don't
release the code unless someone can onvince the hell out of you, or
else release the code to all comers. The first has been shown to suck
in many cases, not least because people who may want the code won't
want to bother with making a huge investment in convincing someone
if the outcome is uncertain. The second seems to be doing rather better,
but has scaling problems.
paul
How do you know beforehand whether someone should be granted this right?
In the open source environment, everyone gets the right. However, when
they contribute changes back to the overseers of the project, the code can
be rejected if it's no good. They prove they're "worthy" by submitting
worthwhile changes.
In the proprietary software environment, the "right" is transferred through
payment.
> I don't want source access to be a
> "right" to be demanded of authors/owners regardless of personal values or
Who is "demanding"? "Requesting" would probably be a better term.
> intentions. on a higher level, I want to solve better the problem that
> source access is solving badly: helping people get software that works
> the way they, individually, want it to work.
I agree that better modularity and design for customization is better than
simply depending on source availability. However, I also believe that it's
a very hard problem to solve well (many Macintosh applications are doing
pretty well with AppleScript, but its applicability is pretty limited).
Pragmatically, source access is the workaround.
BTW, I think I've also heard "ego boost" pronounced as "egoboo".
> none of this even hints at why it was a good idea to give source code to
> random people and give them the right to modify the existing source code.
Well, a specific experience from my past:
I worked at MIT a couple decades ago on Macsyma. It was not free
software, but it was also not read protected. Those were simpler
times. It was written in Maclisp, and everyone had source access.
Later, it had to be translated to a modern dialect and I was the only
one willing to tackle it. (It was 100,000 lines of pretty intricate
code and took two or three months to convert, thanks to the Lisp
Machine's good tools for helping me.) The big problem in converting
it was not the mechanical part, but the conceptual part. Every thing
I changed was a potential incompatibility and I had no idea what
things people were using and what they weren't because they were never
previously forced to tell me, and in principle they could be depending
on even the most obscure little detail of implementation-specific
stuff. And I have no doubt someone's code broke as a result. The
code I was responsible for made it through ok, as far as I know. The
original implementors never came after me with knives or stones or
anything. But it was darned scary for the reason of knowing I had
this weird obligation not to break things and yet to know that the
definition of "porting" is "change" and an implication of "change" in
a system where sources are known is probably "breakage". So in a
sense my job was to break things and I felt bad about it. After it, I
advocated a revised policy which was never implemented but that I
liked: source on demand. That is, a system where you cannot have the
sources unless you tell me what you need and why then I'll either tell
you why you should use a different thing or I'll give you the source
you need. (The idea was maybe a bit to be like a database keeping
track of read dependencies in a transaction so that it didn't have to
lock the whole database in order to get a consistent transaction for
one user.) The problem with openness is that it provides no feedback
about what is being used and what is ignored, and it does not optimize
the case of update by the owner; it pessimizes that in favor of potential
(but not always realized) update by others.
ANSI had a similar problem when we said we wanted to put the draft
specifications out online. Their immediate concern was "in the past we
have always known who got the spec, so if there were fixes/changes we
would know who to contact". We had to compromise and say we'd tell people
that they could either continue to get directly from ANSI or else register
their desire for updates/fixes separately or else understand that getting
sources didn't mean a guarantee of any consistency or freedom from change.
People tend to depend heavily on open-source stuff not to change, but it's
absolutely critical in such systems to separate what things will and won't
change. And for people depending on non-change to register that need.
Too often, it's not done. I think because a lot of people think that
the whole point of open source is a selfish kind of "i can do whatever i want
and damn everyone else". But when you build real societies of real people
who really depend on one another, there become rules whether you want them
or not. The first thing you learn when you gain any REAL power in the
world is that REAL power requires responsible exercise, and that you were
a lot freer to do whatever you wanted when you didn't have any power than
when you do. Or such, at least, has been my experience.
> as I have said several times, I think source access is a good idea, but I
> think it should be regarded as an investment by both parties, probably
> more so by whoever gets the source access, and modifications to the
> source should be channeled back to the owner before they are spread
> further down the line or to other developers. my goal is to educate
> those who want to be educated, not to let random people have "rights"
> that only hurt them in the long run.
yes, this seems consistent with my experience.
Erik Naggum <er...@naggum.no> writes on comp.lang.lisp:
> * Philip Lijnzaad
> | yes, but at the same time I cannot conceive of a well managed Linux that
> | does not give source access.
>
> sigh. neither can I. _please_ note that my argument is not against
> source access, but against giving it to anyone, without restrictions or
> need or any concept of investment in it.
I believe you mix up the issues of *fact* and *right*.
Free software is about anyone having the *right* to access the source;
it doesn't mean they will or should actually do it,
and it doesn't mean doing it will happen free _of charge_,
and even less free of personal time investment.
(How could they read the sources without time investment?
And if they just compiled it, what difference with giving binaries,
except that it will work on more platforms?)
Just like having the *right* for anyone to repair a car
(as opposed to having to return it to the maker) doesn't mean
that everyone will repair one's own car, but that proficient people can
and will do it in a free market.
> I want source access to be granted by the author/owner to
> those deemed worthy as part of building a community of people who agree
> to co-invest and share knowledge.
and the author is refused work on his own program (frequent case,
particularly in the proprietary LISP community)?
What if the owner is a marketing guy who doesn't care zilch
about sharing knowledge? That's precisely what happens
with proprietary software. The owner has absolute power to decide
who will touch the program, and this absolute power corrupts him
absolutely. Who will want to share knowledge with someone who can
reject him at his whim and prevent the use of further modifications?
> I don't want source access to be a
> "right" to be demanded of authors/owners regardless of personal values or
> intentions.
Do not confuse right and opportunity.
I demand the right to copy, understand, and modify, software.
But I'm ready to pay for the _opportunity_ to do it.
> on a higher level, I want to solve better the problem that
> source access is solving badly: helping people get software that works
> the way they, individually, want it to work.
Free software is not the end of software engineering problems,
only the beginning to their solutions.
Just like free market is not the end of economical problems,
only the beginning to their solutions.
> | that might seem so superficially, but big part of the motivation for open
> | source developers is to do something well, and be known for it (somehwere
> | I read the strange term 'egoboo' for this). The packages/projects that
> | really last fall in this category.
>
> my argument is that you get more egoboost (I'm sure that's the word you
> saw) out of being part of a community with privileges than you get out of
> having access to source code. with source access to any stray comer, it
> is actually _harder_ to build the community, and the time it takes to
> deal with the eager incompetents is alarming.
>
The idea is that when there are no rights that get in the way,
the mindshare structure will naturally emerge out of remaining criteria,
that is, actual proficiency.
Compare technical decisions taken by political motives
with technical decisions take by technical motives.
When political criteria take precedence over technical criteria
in technical questions, you don't obtain technically good technology
(conversely, if political questions were to be taken engineers,
the world wouldn't be good, either).
> at issue is using _dynamic_ languages.
> I'm arguing that source access is a necessity in the static language camp
> and that by giving people access to source in static languages, you deny
> them the opportunity to do what they really want, which is to add or use
> dynamic properties of the system as delivered.
Your statement would be true if computing was merely compositional.
However, it is also decompositional.
You can't add real-time properties to a software component,
modify its GC infrastructure, make it network-transparent,
security-aware, internationalized, "Y2K-compliant", etc,
only by composing it as a black box;
you need be able to see its source so as to weave new aspects into it.
Dynamism does solve the compositional problems.
But to solve the decompositional problems, you need Reflection,
whose ultimate form is the ability to reify source code.
Access to source is also essential to get rid of the "hardware compatibility"
and "binary API compatibility" problems that tie computer science to
obsolete hardware and system software design.
> I'm opposed to giving people access to the source as a
> means of "solving" their real problem: insufficiently dynamic software to
> deal with the complexity of real-world applications and people.
Free software is not the be-all end-all of software design;
it's not about design at all; it's about rights.
Dynamism is not the be-all end-all of software design, either,
although it's an essential and oft undervalued property.
> most
> people who code leisurely fail to appreciate the inherent complexity of
> every problem that actually deals with real people, and I'm NOT talking
> about the user interface, and I want to remove the source access from
> people who are likely to be hurting themselves and the whole profession
> by doing stuff that they should rather communicate in a human language to
> a human developer.
Free software doesn't remove that.
All the serious free software projects I know have active mailing-lists;
just like all serious proprietary software projects, I suppose.
Non-serious posters just get ignored (or possibly flamed or kicked out),
and eventually go away;
just like in all serious proprietary software projects, I suppose;
until the non-serious guys happen to be in some decisional committee
concerning the project.
Free software does not _replace_ project management;
but it _allows_ management to be proficiency-based,
rather than boss-hair-pointiness-based.
Stupid people will hurt themselves and other people stupid enough
to trust them not to be stupid. Let them do so, you just can't prevent that.
Just don't prevent good people from doing good things,
and don't force them to follow the whims of stupid people.
(hey, you had a .sig just like that, once!).
Best regards,
[ "Faré" | VN: Уng-Vû Bân | Join the TUNES project! http://www.tunes.org/ ]
[ FR: François-René Rideau | TUNES is a Useful, Nevertheless Expedient System ]
[ Reflection&Cybernethics | Project for a Free Reflective Computing System ]
Tolerance is not about respecting other people's ideas.
We have every right to fight ideas we think are stupid.
Tolerance is about respecting other people's persons.
We have every duty to respect even persons we think are stupid.
> Do not confuse right and opportunity.
> I demand the right to copy, understand, and modify, software.
> But I'm ready to pay for the _opportunity_ to do it.
I don't understand this as expressed.
I have some software I've written for myself that is not free.
Suppose I say it is free and that anyone has the right to use and modify
it as they like, but that they have to pay `` 1 billion dollars ''
to exercise that right. Is that within your definition of free software?
>> Do not confuse right and opportunity.
>> I demand the right to copy, understand, and modify, software.
>> But I'm ready to pay for the _opportunity_ to do it.
>
> I don't understand this as expressed.
It's all about rejecting intellectual property. See pointers to articles
collected down <http://www.tunes.org/~fare/libre-logiciel.html>;
particularly <http://www.freenation.org/fnf/a/f31l1.html>.
I deny anyone any claim to a "right" to control what I do with ideas
that are in my mind. If I come in possession of a poem, a book, a piece
of software, I may use it as I like. But I deny any "entitlement"
to access other people's private information, either.
If you have a program that no one else has, or are able to write it,
then it is fair that you ask me some money before to disclose or complete
the program; but once you disclosed it to me, I'm free to do whatever
I want with it. You may even convince me not to get the sources;
but if I have binaries, I should be free to copy or hack them.
> I have some software I've written for myself that is not free.
> Suppose I say it is free and that anyone has the right to use and modify
> it as they like, but that they have to pay `` 1 billion dollars ''
> to exercise that right. Is that within your definition of free software?
No. To me, anyone has the _right_ to modify software.
However, you also need the _opportunity_ to do it,
i.e. have access to a copy (preferrably source code) of the software.
So, even without violating anyone's rights,
you can keep your software _secret_, which is quite, quite different.
If your secret software is worth one billion dollar to me,
I'm ready to pay for the _opportunity_ to use it.
Most usually, however, I don't expect people to pay such sums for software
that happens to be here and sits waiting for someone to purchase;
rather, they will pay for incremental and/or tailored development,
customization, bug-fix, support, maintenance, etc;
programmers will likely get continuously paid for small services,
rather than getting paid once (with a big risk)
for an essentially one-shot service.
Now, the recent release of Xanadu shows to me how big software
developed in secret doesn't work:
people reinvent well-known concepts in particular cases,
and cut themselves from widely available culture,
and end up with programs that may have a few interesting ideas,
and a whole lot of stupid cruft.
Actually, this is all an incentive for people to sell their secrets
while they are still worth it, at a fair price,
which is a much better system than intellectual property
so as to promote creation and publication of original works.
Hence, I don't expect _much_ software to stay secret for any great length
in the future world when intellectual property will have been abolished.
Regards,
[ "Faré" | VN: Уng-Vû Bân | Join the TUNES project! http://www.tunes.org/ ]
[ FR: François-René Rideau | TUNES is a Useful, Nevertheless Expedient System ]
[ Reflection&Cybernethics | Project for a Free Reflective Computing System ]
Because people confuse information and information-related services
(which include searching, creating, processing, transforming, selecting,
teaching, making available, guaranteeing, supporting, etc), they are afraid
that Free (libre) Information mean free (gratis) information-related services,
which would indeed kill the industry of said services. On the contrary,
Free Information would create a Free Market in these services, instead of
current monopolies, which means they will be available at a fair price,
so the result would be a flourishment of that industry! -- Faré
>> Do not confuse right and opportunity.
>> I demand the right to copy, understand, and modify, software.
>> But I'm ready to pay for the _opportunity_ to do it.
>I don't understand this as expressed.
>I have some software I've written for myself that is not free.
>Suppose I say it is free and that anyone has the right to use and modify
>it as they like, but that they have to pay `` 1 billion dollars ''
>to exercise that right. Is that within your definition of free software?
Yes, it is. So long as your definition of "use and modify" also included
redistribution, publishing, charging for, and so on.
In other words, if you give your user something, you have to allow them to
use it any way they want to.
Many Free Software advocates don't stop there -- they say some weasel
words intended to make the GPL look like a free license rather than a
pragmatic license. The GPL fails to be Free because it places a
restriction on the redistribution of the software, so that you cannot
redistribute it unless you're willing to meet certain conditions.
I don't want to make the GPL sounds bad, because it's not. It's merely
not completely free, as the X11, BSD, or Python licence is. Claims to the
contrary should be met by a polite correction, and haughty scowls at the
"pragmatism" of the open source advocates should be met with violent
logical slapdown.
So to speak :-).
BTW, oddly enough, this means that I consider "freeware" (typically
MSDOS-only software which costs nothing but includes no source) to be free
software. You're not given everything, but what you're given you're
allowed to do anything you want to.
--
-William "Billy" Tanksley
> | that might seem so superficially, but big part of the motivation for open
> | source developers is to do something well, and be known for it (somehwere
> | I read the strange term 'egoboo' for this). The packages/projects that
> | really last fall in this category.
> my argument is that you get more egoboost (I'm sure that's the word you
> saw) out of being part of a community with privileges than you get out of
> having access to source code.
yes, agreed. At the same time, I imagine not a few people have started
contributing competently to a project after having been 'lured' by the
wholesale availability of the source code in the first place.
> with source access to any stray comer, it
> is actually _harder_ to build the community, and the time it takes to
> deal with the eager incompetents is alarming.
yes, granted; but, as somebody else noted too, in practice, careful selection
of those deemed worthy it may not worth the trouble. Good leadership (to
reject eager incompetents) is paramount.
> I think you miss my point, again: at issue is using _dynamic_ languages.
> I'm arguing that source access is a necessity in the static language camp
> and that by giving people access to source in static languages, you deny
> them the opportunity to do what they really want, which is to add or use
> dynamic properties of the system as delivered.
Yes and no: in static languages, open source is much more of a necessity than
in dynamic ones (if only to bolt on a bit of dynamicity poorly). In dynamic
languages, you can use things like the emacs hooks mechanism (which probably
originated elsewhere and is possibly available in others tools under a
different name. And they are probably other, better? mechanisms, I'd be
interested to hear). All very useful, but at some point, the proliferation of
hooks become unmanageable (and/or too complex for non-experts to use), and
the commonly applied functionality is better implemented in the core of the
software, by componentizing, or using some meta-language. Pretty much of this
complexity may simply be unavoidable in whatever form.
I guess the whole point about limiting source code access to non-nitwits
simply isn't very important. The open source model has only gained visibility
fairly recently, and it may take the audience at large some time to realize
that open source doesn't buy you much unless you are willing to really get
involved and develop and contribute to a community. And in practice, ignoring
'demands' and useless contributions from nitwits may be sufficient.
Philip
--
The cause of the millenium bug is Homo Sapiens having #b1010 fingers
> In article <31445696...@naggum.no>, Erik Naggum <er...@naggum.no> wrote:
|...|
> > my argument is not against
> > source access, but against giving it to anyone, without restrictions or
> > need or any concept of investment in it.
|...|
>
> This sounds good, but it has a serious implementation problem: if you
> actually gave serious thought to who should have access to the source,
> you would spend far more time on the distribution/decision problem than
> on building working software.
|...|
> So most people or organizations make a default decision: either don't
> release the code unless someone can onvince the hell out of you, or
> else release the code to all comers.
|...|
There are two `traditional' (old-fashioned?) mechanisms that might help:
* decide to whom to give the source based upon their reputation (a good
name vs. great riches);
* and/or based upon other people's recommendations (references).
I would like to note that good reputation is hard to fake.
Vassil Nikolov. (See header for additional contact information.)
Abaci lignei --- programmatici ferrei.
Sent via Deja.com http://www.deja.com/
Share what you know. Learn what you don't.
I might agree to let my older daughter have an art supply kit IFF she
shares it with her sister.
The state might agree to let me drive a car on public roadways IFF I
follow the rules. In my case, I'm additionally required to wear glasses
while I drive.
I might agree to let people use some software of mine for non-commercial
purposes.
I get the impression that there are those here who have a problem with
such conditional use restrictions. (One problem is in defining
limitations such as "sharing", "non-commerical use", "dangerous use".)
Can someone summarize their complaint about such restrictions, or
alternatively, the "conditions" under which such conditions can be
fairly/efficiently/logically/legally (take your pick) applied?
* Paul Wallich
| This sounds good, but it has a serious implementation problem: if you
| actually gave serious thought to who should have access to the source,
| you would spend far more time on the distribution/decision problem than
| on building working software.
both economics and engineering are about using the available resources
wisely and without undue waste. both have long standing in our society
as serious problem-solvers and even serious problem-inhibitors, meaning:
by being aware of economics and core principles of engineering, we don't
get into a large category of problems. I don't see why it makes sense to
dispense with economics and core principles of engineering just because I
propose to give source access to people based on merit. it has, however,
always seemed a rather brilliant way to kill any form of proposal to say
that it would _necessarily_ be reduced to a complete and utter waste of
all available resources. (pardon my cynicism, but Norway is holding its
quadrennial local elections 1999-09-13 and the mass media user is now a
hapless victim to an unprecedented level of braindamage that emanates
from politicians and reporters. it is physically painful to me. I guess
I'll vote for whoever can show a non-flat EEG at the end of the day.)
people who have source code to offer today find ways to work with others.
those who want to work with those who have source code, also find ways.
one very simple way to measure interest and dedication is to ask them to
sign various forms of agreements. e.g., GNU Emacs contributors of any
consequence have to sign over the copyright to their works to the FSF. I
didn't have a problem with that at the time and I don't regret signing
it. I have signed so many agreements and contracts over the years which
in the minds of people who don't appreciate what any contract necessarily
has to provide for if you enter into a limitation of your present freedom
would mean in otherwise inaccessible and invaluable opportunities that a
source license or a non-disclosure agreement as a prerequisite to taking
part in something is not the hurdle it is for people who hate lawyers and
legal complications when they just want to have fun. but frankly, I'm
strongly opposed to the view that others have to behave in certain ways
because that's the only ways I think I can have fun, and this is probably
because I believe the most fun comes about after very serious investments.
the serious thought I want to give to who shall take part in a project
should be doable once, in setting up the license and the contract that
individual contributors have to sign. in order to sign a contract, you
have to establish a pretty clear image of what you will invest and what
you expect in return, and that process is usually sufficient to sort out
people who don't take it seriously enough. on this topic, I might add
that I have never quite figured out why employees don't interview their
employers at least as rigorously as they interview them, but I have
always been an independent consultant because I don't want to work for
people who don't realize that they have to give me a very solid reason to
work for them for at least 8 hours a day in a location of their choice,
nor do I understand why people individually accept so horrible working
conditions that they have to form labor unions so they don't have to
accept them, anymore, but I digress.
if giving source code to random people is such a panacea, the people who
want the source code should have very convincing arguments why they
should be given it, arguments that should make good business sense here
and now. the reason I don't believe in the panacea is that people aren't
making solid cases for releasing source code that business people will
listen to, and it is not _only_ because human beings are prone to act in
contradiction with their personal or long-term interests. put bluntly,
if I have some source, what's in it for me if I give it to everybody?
those who want other people's source code have failed to consider the
transverse situation. one person's want is not automatically the
motivation of another; something has to come between that can motivate
those who have something to give, and it is important to understand what
would fill the need and stop the want, otherwise it is meaningless to
give them anything at all. if the value of open source was as great as
its proposers want it to be, the only thing that keeps vendors from
giving it out to everybody is a failure to understand their own (still
the vendors') needs. my advice is: stop talking about the value of
source code to those who will get it for free, and concentrate on the
value of giving away source code for free.
| Some people you think will be good will be disastrour, and some people
| you think will be bad will turn out brilliant.
I keep wondering when this is _not_ the case, so why bring it up? you
appear to want to make it sound as if there is an inherent flaw in some
_particular_ way to deal with people, but it's obviously an inherent
problem in dealing with people qua people any way you decide to do it.
| So most people or organizations make a default decision: either don't
| release the code unless someone can onvince the hell out of you, or else
| release the code to all comers. The first has been shown to suck in many
| cases, not least because people who may want the code won't want to
| bother with making a huge investment in convincing someone if the outcome
| is uncertain.
as I said above: if source code access is such a boon to mankind, how
come those who want the source are so incredibly bad at convincing those
who hold the source today? you appear to admit that there is very little
obvious value and very significant obvious costs in giving people source
access, yet don't appear to let this affect your desire for giving it all
comers. I actually wonder why you see this only from the _recipients'_
point of view, when it is quite obvious that the _originator_ is the one
who needs convincing.
personally, I don't think the value of sharing source code and the
programmers' mindsets with other people is uncertain at all: it is of
_tremendous_ value to be able to discuss these things intelligently. but
that's precisely why it's an incredible waste to give it to everybody.
let me add too much personal history to illustrate my point: I wrote to
manufacturers of soft drinks, chocolates, toys, etc, when I was a kid,
with whacky and useful suggestions alike, and they had the good sense to
reward the most the suggestions they actually used. to this day, I am
concerned with what every supplier of mine does, from buying stock in the
airline I use and making sure they get the most money out of my tickets
while I get the lowest possible prices (squeezing out the middlemen), to
asking for the site manager of a supermarket and suggesting they stock
Water Joe because I want to buy it cheaper from them than from the few
soft-drink stands that sell over-priced bottles. I consider every single
manufacturer and vendor to be a _supplier_ to my well-being, and I cannot
understand why people don't do something on the personal level when they
think their suppliers could do a better job, but instead wait to stage
boycotts or make big stinks or demand that politicians take action when
they could have obtained a lot more by just talking to the guys who do
the work. it doesn't take more than a fraction of a second to express
concern, but it usually wastes a lot of energy not to. the flip side of
this is I have a serious problem with people who waste other people's
time just because they don't see how much of their own time they waste --
people who just plain don't _care_ bug me, big time.
I have come to consider the clamor for source access for people who don't
care (that's what this is about, since the people who care wouldn't have
any significant problems in the first place) to be a gargantuan waste of
everybody's time and effort, and a very strong reinforcer for those who
want others to care _for_ them and who get bitter and demanding when they
don't get what they think they have a right to. my problem with getting
this aspect of Free Software is that Richard Stallman is a guy who really
cares about what he's doing, and he's caring about something valuable,
but it won't work constructively as long as it benefits people who don't
care more than it benefits people who _do_ care.
>Paul Wallich wrote: [1999-08-25 12:40 -0400]
>
> > In article <31445696...@naggum.no>, Erik Naggum <er...@naggum.no>
wrote:
> |...|
> > > my argument is not against
> > > source access, but against giving it to anyone, without restrictions or
> > > need or any concept of investment in it.
> |...|
> >
> > This sounds good, but it has a serious implementation problem: if you
> > actually gave serious thought to who should have access to the source,
> > you would spend far more time on the distribution/decision problem than
> > on building working software.
> |...|
> > So most people or organizations make a default decision: either don't
> > release the code unless someone can onvince the hell out of you, or
> > else release the code to all comers.
> |...|
>
>There are two `traditional' (old-fashioned?) mechanisms that might help:
>* decide to whom to give the source based upon their reputation (a good
> name vs. great riches);
>* and/or based upon other people's recommendations (references).
>
>I would like to note that good reputation is hard to fake.
It can also take an awfully long time to develop.
Still, I thinking that both of these ideas have severe scaling trouble
given the current and future size of the potential programmer base.
If a hundred people want source enough to ask you, and it takes you
five minutes to make a decision, that's a day's work. If 25,000 people
want source enough to ask you, that's an entire working year. Obviously
you may be able to reject a lot more of the 25,000 out of hand, but at
some point even reading the email will clobber you. For any project (like
an operating system) that has a potentially enormous base of interested
programmers, personal communication with everyone who wants to look
at the source code and has a superficially good reason to do so is going to
clobber the person who acts as a choke point.
I suppose you could delegate things to a cabal, but that has its own problems.
On the other hand, some kind of weeding-out mechanism may be needed;
I think Erik's example of the FSF license is a good one.
paul
I've a couple of question for Erik.
I'm trying to understand your point of view. Based on your posts on this
topic, it appears to me that you're advocating for source access based on
merit and/or investment. What is your reasoning for this position?
Personally, I don't like open source software because of its quality.
Similarly, I don't particularly like source availability (I've only
ever modified three packages and I've only read the source for 3-4 others).
I like open source software because it's:
1)inexpensive. I've always been amazed by the people
who try to make out that this isn't a big motivator. Does
anyone else but me snort when they see a comment like "I'd
pay for it even if it wasn't free?"
2)lacking in administrative bullsh*t. IBM's C compiler for the
RS/600 cost $400. Personally, I don't care about the $400
(a cost of doing business). On the other hand, I do care about
having to chase down a PO. I do care about having to install
a goofy-a** license monitor to make sure I don't do something
evil. Similarly, I do care about having to call IBM sales support
to get a new license key when we decide to move development to a
new box with a faster network card. . .I could go on, but I'm
even starting to bore myself :-).
3)generally tailored towards use on commodity hardware.
4)another tool in the fight against getting jabbed by your
vendor. To be honest, I believe a better tool in this fight would
be open, understandable data formats so my data won't be held
"captive" against it's will.
5)community-oriented. From what I can tell, open source projects
tend to do an extremely good job of putting "customers" and
developers together. On the other hand, most commercial companies
where I've worked went out of there way to keep developers and
customers apart (counter-productive in my view).
Why do I get the feeling I'll regret this?
--Brad (eyes about to shut)
> I honestly wonder why so many people don't see the dynamism argument and
> only latch onto the source access argument. is it because people don't
> really know why they want source access? Christopher's argument appears
> to be that it isn't needed. my argument is that people who don't need
> source code still need dynamic behavior. take GNU grep. wouldn't it be
> great if you could make GNU grep always print the filename with an option
> instead of tacking on /dev/null at the end like Emacs does? wouldn't it
> be great if you could instruct GNU grep to default to case-insensitive
> searches? how about enclosing the filename in double quotes so Emacs can
> find matches in files that happen to contain colons in their names?
> these would be simple local patches in a dynamic system, but it may just
> be too much work to fix the source, submit a patch, and argue for the new
> features. as you correctly observe, local fixes die with source access,
> but if the fixes are in the form of manageable advise code, they would
> survive an upgrade. again, dynamic languages win on all points, but
> since people have source access, they won't think they need it, even with
> the many problems caused by source access, such as the ones you bring up.
One thing I found a bit bizarre about your "dynamism" v. open source argument
is that I don't really understand how they can't complement one another.
It seems to me that Emacs and Apache are good examples of this being the
case. Their main difference from other projects (open and closed) is that
their "extensible modularity" appears to have been a big goal in their
current (initial???) designs.
BTW: if you believe extension via "scriptability" (ie Emacs, Apache, or Gimp)
or dynamic linking (ie Apache's mod_so) isn't a viable model for dynamism, I'd
be curious to understand why.
>
> #:Erik
--Brad
and here I thought we were programmers, but instead you argue that people
should do all kinds of things _manually_? something wrong, here.
| Obviously you may be able to reject a lot more of the 25,000 out of hand,
| but at some point even reading the email will clobber you. For any
| project (like an operating system) that has a potentially enormous base
| of interested programmers, personal communication with everyone who wants
| to look at the source code and has a superficially good reason to do so
| is going to clobber the person who acts as a choke point.
if that person can be trusted to manage something as complex as an
operating system, I sure hope he's smart enough to realize what a silly
problem this is before it hits him. otherwise, who knows what kinds of
silly things the operating system will do.
there's a reason companies hire more people when the work-load increases:
most people who want something done and want to make money doing it have
figured out that it is beneficial if they can actually train other people
to do certain tasks and not have to do everything themselves. given the
wondrous society in which we live, several people come pre-trained or, lo
and behold, from other, similar, jobs with a directly useful skill set.
here's a fairly simple idea: write a program. publish it. earn money
doing this. support your customers. include automatic means to get
upgrades and patches. include _some_ source, the stuff you'd like people
to use for innocuous customization and generally to understand your
program better. also include a description of what it takes to get more
or all source, such as printing a file, adorning it with a signature, and
sending it by ground-to-ground mail. then do the natural thing in our
advanced economic society: charge applicants whatever it costs to process
their application so you have money to employ people doing just that. or
write a web thingamajig that deals with the boring administrative stuff.
it's like the _rage_ among managers and marketing people these days, so
it's a little odd that programmers don't think about it, isn't it? ;)
I think more programmers should have business training or at least some
_exposure_ to what it takes to start and run a business. it seems it
might surprise a great many people, but you don't _have_ to work alone
and do everything yourself. basements and garages do _not_ beat a corner
office and an efficient secretary. you actually do get a lot more done
if you hire people who are smarter than yourself at whatever they are
doing than you would be yourself. rewarding competence is the best way
to ensure that the team's competence increases, but it's sadly out of
vogue in a world of programming where it matters more that people can be
replaced than that they do outstanding work, because they will leave and
need to be replaced, and the next guy won't be able to figure it out.
if, out of 25,000 people who write you with a desire to learn more about
your software, you don't get 250 "hi, I want to work for you" and manage
to take proper care of those people, you're doing something _very_ wrong.
however, I wouldn't hire people who only see problems and refuse to check
whether the rest of the world perhaps would have to change somewhat if
you changed one particular factor. hell, even the free software/open
source change has a whole lot of ramifications, not all of them equally
apparent, but I guess I'm used to thinking in terms of cascading changes
and see that there's no way we can avoid serious scaling problems if a
lot of people get access to an insurmountable heap of inaccessible source
as the answer to their _real_ need: software that should fade away into
oblivion (i.e., not stand out and demand attention) and just do whatever
it is intended to do, seemlessly and according to how people find most
beneficial and productive on their own terms. this kind of software will
not happen if a whole lot of people value access to source code above all
and want their mark on software that stands out and demands attention
like a laser beam right into your eye. we need to work on something much
bigger than one person's individual egoboost. it's _incredibly_ hard to
do that reliably without forming a loyalty that lasts beyond the feeling
you get from seeing your name in a ChangeLog entry. and worse, you don't
_want_ to work with people who aren't loyal to the goals you have set for
your project. if you can't get rid of destructive people, you will have
very little time available to keep going in the right direction. this is
also something you learn PDQ if you try to run a business with employees.
let me put it this way: I dread the situation where software is written
by people who are satisfied with name recognition and status among their
peers -- we'll just get MS-DOS all over again. granted that we live in a
culture that adores youth and reveres immaturity as a deity, but if
everyone who succeeds in any way loses their position to someone younger
than they were when they were recognized, it isn't just a whole lot of
disillusioned people we have to deal with: those who aren't wiz kids in
time won't even have a brilliant flash of youth to look back at.
I'll do a giant leap to something entirely different: I think a whole lot
of the issues that plague the world today is based squarely in a rampant
fear that the world will end _very_ close to 2000-01-01. Y2K is nothing
more than fin-de-sičcle all over again, as far as the societal response
is concerned -- technically nothing important will go wrong. reverence
for youth is a pretty good sign people don't think they'll get old. what
better way to go than when listening to Abba revived by some jail bait?
I think when the world wakes up with a huge hangover near 2000-01-05 and
start to realize that the only thing that really ended was the _hope_
that the world would end and we wouldn't have to take care of things for
the next 50 to 80 years of our lives, a whole lot of people will start to
work and value things very differently from what they do now. when the
world doesn't end and we aren't plunged back to the dark ages because the
entire world electricity system didn't fail, after all, I predict that
all the crap we're doing now with a three-month horizon at most will take
on much longer horizons, again, like 50 years. there are some signs that
some people think like this already: a publisher in Norway has decided to
revamp their renouned 16-volume encyclopędia of world history and publish
a special hand-made leather-bound edition in only 2000 copies to those
who think it's important to maintain excellent craftmanship and some of
the traditions of the millennium past. they used to say that nostalgia
was better in the old days, but I think it'll get better and better in
the coming years... but, anyway, let's get this millennium nonsense over
with so we can get back on track. we have work to do, damnit.
someone here accused me of confusing fact and right, but I think what you
have posted is just that. I have no interest in discussing numbers of
people or magnitude of practical problems. my interest is on an entirely
different axis: dynamism in software. it's right up there in the subject
line, too. I'm arguing that those who want dynamism and think they need
source code will get less dynamism when they get source code than a they
would if they (1) chose a dynamic programming language and (2) could do a
lot of interesting things without source code. we are obviously not
talking about people who do not benefit from source code because they
don't own computers, either, and frankly, I don't understand the point of
arguing about "source access vs dynamism" in such terms.
my purpose was to show that people _need_ dynamism in their software,
which you might of course argue against by saying that only N people do
it and the rest are happy without it, but I only care about those N
people in my argument. I argue that those N people will not learn to
write dynamic software that can adapt without source access or even at
runtime because they have source access and think that's great, when it's
only great compared to _not_ having source access -- it is not great
compared to having fully dynamic behavior in the software, and since they
are used to 10% dynamism-via-source-code-in-static-language and don't
even see what 40% dynamism-via-dynamic-languages-without-source would
mean for them or even 90% dynamism-via-dynamic-languages-with-source in
the case where you can experiment with a change to a function in a
running system.
I honestly wonder why so many people don't see the dynamism argument and
only latch onto the source access argument. is it because people don't
really know why they want source access? Christopher's argument appears
to be that it isn't needed. my argument is that people who don't need
source code still need dynamic behavior. take GNU grep. wouldn't it be
great if you could make GNU grep always print the filename with an option
instead of tacking on /dev/null at the end like Emacs does? wouldn't it
be great if you could instruct GNU grep to default to case-insensitive
searches? how about enclosing the filename in double quotes so Emacs can
find matches in files that happen to contain colons in their names?
these would be simple local patches in a dynamic system, but it may just
be too much work to fix the source, submit a patch, and argue for the new
features. as you correctly observe, local fixes die with source access,
but if the fixes are in the form of manageable advise code, they would
survive an upgrade. again, dynamic languages win on all points, but
since people have source access, they won't think they need it, even with
the many problems caused by source access, such as the ones you bring up.
#:Erik
I'm advocating source access to people who express an actual desire and
need for it. "investment" here isn't monetary, as in "an investment of
time and effort", but a concern that one has limited resources and want
to maximize the value of using those resources. without a sense of
"investment", people are likely to waste what they get.
| 1) inexpensive. I've always been amazed by the people who try to make
| out that this isn't a big motivator. Does anyone else but me snort
| when they see a comment like "I'd pay for it even if it wasn't free?"
of course it's a big motivator for the users. who argues against that?
| 2) lacking in administrative bullsh*t. IBM's C compiler for the RS/600
cost $400. Personally, I don't care about the $400 (a cost of doing
business). On the other hand, I do care about having to chase down a
PO. I do care about having to install a goofy-a** license monitor to
make sure I don't do something evil. Similarly, I do care about
having to call IBM sales support to get a new license key when we
decide to move development to a new box with a faster network
card. . .I could go on, but I'm even starting to bore myself :-).
of course it helps to deal with non-stupid people. however, there are
lots and lots of license-restricted software products that doesn't need
any of this administrative bullshit. if "PO" is a Purchase Order, it is
unclear to me whether that is a requirement of IBM or of your company. I
have worked for companies where senior programmers are given budgets to
purchase tools and time alotments attend courses without individual
management approval.
| 3) generally tailored towards use on commodity hardware.
this implies that commodity hardware would have been ignored if it
weren't for the current crop of freely available source-based tools. I
don't think this is the case. the quality of implementation may be an
issue, but SCO Unix and even SUN Solaris for Intel are certainly present
in the market.
| 4) another tool in the fight against getting jabbed by your vendor. To
be honest, I believe a better tool in this fight would be open,
understandable data formats so my data won't be held "captive" against
it's will.
well, I worked with SGML for half a decade because I believed it would be
a means to free the data, but that turned out to be false, it makes no
difference whatsoever. if your data should be less captive, I think the
way to go needs to be the ability to call functions to retrieve objects
and manage them. again, dynamic languages win big in my view. there
might be an issue of just how much you get access to even in a running
system, but at least the world isn't closed up.
I personally fail to see why people don't take this "getting jabbed by
your vendor" thing much more seriously. if you're afraid of it, and you
don't tackle the issue head-on, is it because you _fear_ the vendor? do
you actually _need_ products that will likely cripple you in the future?
(I don't think so.) have you ever talked to the vendor and expressed
your concern? if you haven't, do it now. if you have and was dissed,
why do you still deal with them? this is the labor union thing all over
again, except now with entities you'd expect were able to defend their
own interests much better.
| 5) community-oriented. From what I can tell, open source projects tend
to do an extremely good job of putting "customers" and developers
together. On the other hand, most commercial companies where I've
worked went out of there way to keep developers and customers apart
(counter-productive in my view).
yup, counter-productive in the extreme. if you use a software tool for
developers, and you can't talk to the developers of the tool, you have
made a mistake in purchasing it. however, this is not a function of
source access, but of smart people who actually care about what they do.
you have pointed at several issues that point to why people should choose
source-based products instead of shrink-wrapped products, and I agree
with all of them, but at issue is not source vs shrink-wrap, in my view:
at issue is a lot of incompetent people who are mortally afraid that if
anyone saw their source, they'd be exposed as the frauds they are, and I
actually believe that a certain major software company in Redmond, WA,
would be history the day its sources were released in a much more
important sense than any other company would fold if its trade secrets
were dispersed. I have argued elsewhere that I think a big motivator in
the source-based software world is legitimate rejection of said company
and its extremely predatory behavior. however, defense against idiocy
and evil is not an end in itself -- you have to have a pretty clear
picture of what you're fighting _for_. while destroying a company that
has defrauded millions if not a billion of people is a very worthy goal,
we need to consider what comes after it, and we need to consider what we
want to accomplish when the idiotic evil is gone, otherwise, we'll just
give rise to another.
| Why do I get the feeling I'll regret this?
beats me. and you don't come with source, so I can't fix your problem.
Erik Naggum <er...@naggum.no> writes on comp.lang.lisp:
> I'm advocating source access to people who express an actual desire and
> need for it.
So am I. The question I raise is: "who'll be judge?".
In one case, it'll be an all-mighty centralized marketing department,
and in the other case, it'll ultimately be the person in need oneself.
Of course, in a perfect world, the person in charge will choose well;
but in a perfect world, the person won't need to be in charge, either.
So the question is about the dynamic effects in an imperfect world:
what attitude has most positive dynamic effects?
It looks like to me the "make people responsible and trust them" attitude
is the winning one. You said it many times about the CL vs C++ attitude:
CL trusts the programmer, whereas C++ distrusts them, and the result is
trustworthy CL programmers, and untrustworthy C++ programmers.
The same argument applies to free software vs proprietary software.
There will always be stupid and evil people; no policy will prevent that.
The question is how to make such people harmless to anyone but themselves.
Reminds me quite of F.A.Hayek's "the Road to Serfdom"...
> of course it helps to deal with non-stupid people. however, there are
> lots and lots of license-restricted software products that doesn't need
> any of this administrative bullshit.
And again comes the question of trust and guarantee:
you may have quite non-stupid partners today that provide
great software with great service.
But what if their marketing department decides that this software
is no more profitable and will no more be supported?
With free software, you just move to another service provider
(who may perhaps hire the employees of the former company).
With proprietary software, you just bite the dust;
no possible long-term warranty.
Former ILOG LISP users and developers unhappily know _perfectly_ well
what I'm talking about...
The motto of the AFUL is "liberté, stabilité, perennité":
liberty, stability, perenniality.
Oh, and if what the company sells that has so much value
is their great service, then it has nothing to fear
from "competitors" who'd just sell unsupported copies of the software...
> I personally fail to see why people don't take this "getting jabbed by
> your vendor" thing much more seriously. if you're afraid of it, and you
> don't tackle the issue head-on, is it because you _fear_ the vendor? do
> you actually _need_ products that will likely cripple you in the future?
> (I don't think so.) have you ever talked to the vendor and expressed
> your concern? if you haven't, do it now. if you have and was dissed,
> why do you still deal with them? this is the labor union thing all over
> again, except now with entities you'd expect were able to defend their
> own interests much better.
Yes, we do fear the vendor. And every vendor behaves the same,
so you don't get much choice with proprietary software.
Think of it as meme stability: the meme of dissing users
is co-stable with the meme of proprietary software,
but not quite so with the meme of free software.
We DO organise in unions to fight vendors who diss us,
and the result is called (surprise!) free software.
> | 5) community-oriented. From what I can tell, open source projects tend
> to do an extremely good job of putting "customers" and developers
> together. On the other hand, most commercial companies where I've
> worked went out of there way to keep developers and customers apart
> (counter-productive in my view).
>
> yup, counter-productive in the extreme. if you use a software tool for
> developers, and you can't talk to the developers of the tool, you have
> made a mistake in purchasing it. however, this is not a function of
> source access, but of smart people who actually care about what they do.
>
Again, see meme co-stability. Working with the developers
is not co-stable with proprietary software,
all the less as the software spreads and is used by more and more people.
I can't imagine one's favorite C compiler vendor providing developer contact
to all its customers, there are too many of them.
CL dooms itself in being a fringe language
if it claims providing this contact.
With widely spread proprietary software,
developer contact is part of the cost structure,
and is fought against by management.
With widely spread free software, developer contact is a service
that you sell; it's part of the profit structure and sought by management.
> you have pointed at several issues that point to why people should choose
> source-based products instead of shrink-wrapped products, and I agree
> with all of them, but at issue is not source vs shrink-wrap, in my view:
> at issue is a lot of incompetent people who are mortally afraid that if
> anyone saw their source, they'd be exposed as the frauds they are, and I
> actually believe that a certain major software company in Redmond, WA,
> would be history the day its sources were released in a much more
> important sense than any other company would fold if its trade secrets
> were dispersed. I have argued elsewhere that I think a big motivator in
> the source-based software world is legitimate rejection of said company
> and its extremely predatory behavior.
> however, defense against idiocy
> and evil is not an end in itself
No, but it's a necessary _beginning_.
Without it, don't even try to go further.
> -- you have to have a pretty clear
> picture of what you're fighting _for_.
Indeed. Free software is not the end-all, only the begin-all.
Dynamic software WILL win; it will win WITH free software, not against it.
Proprietary software has brought upon us the domination of
FORTRAN, COBOL, PL/1, C, C++. Static languages.
Free software has always developed its dynamic tools:
LISP (pre-Common; elisp; Scheme), shells, Perl, Python, etc.
Dynamic languages (of various quality).
Of course, there are exceptions: CommonLISP and Dylan are dynamic languages
that have been mostly developed as proprietary systems
(despite heroic free implementations); but they have limited success
among proprietary systems; they don't fit the proprietary software model
of separation between provider and consumer.
On the other hand, there are static free languages (SML, OCAML, Haskell),
but even they have interactive top-levels,
and they have a hard time capturing free software developer mindshare.
> | Why do I get the feeling I'll regret this?
> beats me. and you don't come with source, so I can't fix your problem.
And the fact that he does not come with source is just a fact of nature,
so there's nothing we can do, and we should think about real problems.
On the other hand the unavailability of source of computer software
is _not_ a fact of nature; it _is_ a problem, and it can be solved.
Best regards,
[ "Faré" | VN: ĐŁng-Vű Bân | Join the TUNES project! http://www.tunes.org/ ]
[ FR: François-René Rideau | TUNES is a Useful, Nevertheless Expedient System ]
[ Reflection&Cybernethics | Project for a Free Reflective Computing System ]
..so that IBM Java envangelist tells me "nothing spread as fast as Java",
to which I answer: "crack!"...
> Dear Erik, dear readers,
>
> Erik Naggum <er...@naggum.no> writes on comp.lang.lisp:
> > I'm advocating source access to people who express an actual desire and
> > need for it.
> So am I. The question I raise is: "who'll be judge?".
Traditionally, money.
Money is simply an interchange medium for "stuff I'm interested in"
and "stuff you're interested in". If you do something in
life--anything--that someone else really wants, they'll give you money
for it. If they won't, you have to question whether they want it.
You can create barter systems in which money is not exchanged, but they
are hard to account for and you get people who don't pull their weight.
That's why the world uses money and not smiles as a way of counting who's
done what for who.
So if you're willing to trade the money you have for someone else, all
that says is that it's of value to you. And if you're not, then maybe
it's not as much of value as you think.
If people are willing to give away what they do, that's fine. That
just means they don't value it or they have enough money that they
don't feel a need to charge for everything they do. One would hope
that all people could be philanthropic sometimes. But they have to
eat and I don't see giving them a hard time about that.
> In one case, it'll be an all-mighty centralized marketing department,
> and in the other case, it'll ultimately be the person in need oneself.
It doesn't really matter because it is not your fundamental right to have
me do anything for you. It is my right to make something if I see the point
and not to otherwise. The thing that drives me nuts about these discussions
is how many people seem to think they have a right to something I make just
because I create it. If the world were that way, I'd probably create
fewer things. I would instead use my brain to seek out some way to do
something that would let me eat. I would not spend the same fraction of my
day thinking up good ideas and giving them away and still being hungry.
> Of course, in a perfect world, the person in charge will choose well;
Who are you to say he hasn't. It isn't your right to it until you've ante'd
up the interchange currency (money) for exprssing interest.
> but in a perfect world, the person won't need to be in charge, either.
This is a completely arbitrary and self-serving claim.
> So the question is about the dynamic effects in an imperfect world:
> what attitude has most positive dynamic effects?
Right. And I claim the one that has the most postiive dynamic effect is the
one that incentivizes content creators. Content consumers, the ones who want
to USE free stuff, don't need an incentive. And if you're a legitimate
content creator who can't get access to something, you'll just create
something else. True content creators are versatile and capable of creating
lots of things.
Now, I agree completely that the idea of restrictions on "independent
creation" (software patents) are a nuissance that should be struck
down because they arbitrarily and capriciously restrict the right of
an alternate content creator to show that an idea wasn't as hard to
come up with as the original creator thought. But that's where I stop
in the "free software" area.
> It looks like to me the "make people responsible and trust them" attitude
> is the winning one.
I think once the bills are paid, responsibility is not the issue in
"acquisition" of software. (It might be in the choice of deployment.
My concern about software ethics has little to do with how people "modify"
software but whether they make good ethical use of modified software.
And this is orthogonal to copyright concerns.)
> You said it many times about the CL vs C++ attitude:
> CL trusts the programmer, whereas C++ distrusts them, and the result is
> trustworthy CL programmers, and untrustworthy C++ programmers.
> The same argument applies to free software vs proprietary software.
I can't find a useful structural basis for believing this analogy holds.
The mere use of the same multi-meaning word in a sentence seems a weak
basis for believing an analogy will hold up. Perhaps you can expand on
what structural basis would give you confidence in this analogy other than
that you like the outcome if the analogy is allowed to let stand.
> [...] Yes, we do fear the vendor.
I find the idea of fearing a content creator offensive. Content creators
have no obligation to make you anything at all. Fearing them is being mad
at them that when they gave you something, they didn't give you twice as
much. That is nothing more than rude in my book. No one makes you buy
from them at all.
> Working with the developers
[who did not have to develop this for you and you're lucky did]
> is not co-stable with proprietary software,
> all the less as the software spreads and is used by more and more people.
Then don't use it.
> CL dooms itself in being a fringe language
> if it claims providing this contact.
This is a possible truth, but is not because of right or obligation.
This is the first statement I've seen in here which was focused on effect
rather than right. Nothing I've said should be taken to mean that I don't
think that a content producer doesn't have to meet a certain expectation
level with their product in order to sell it. You can't make a paperweight
and sell it for a hundred dollars; you have to motivate the public to buy
it at that price (as with the "pet rock" marketing plan) or you have to
drop the price. But that "have to" is not a law; it's just an economic
reality. I personally think that some Lisp implementations right now are
overpriced because the languages that are creaming it in the marketplace
are much lower in price, and I think prices have to normalize if the vendor
is to survive. But it is the right of the vendor to disagree, as long as
they like the consequences (which may be "getting rich" because I was wrong
or may be "going out of business" or "eventually dropping the price"
because I was right--or because some other market problem I didn't see
covered over my reasoning error and still made me look like a good predictor).
I don't think it's any vendor's moral or ethical or legal obligation to do
any price with me; my argument is simply based on common sense and not a
"fear of vendors" but a "fear for them" because I care about them and want
them to have many years of happy vending at a proper price point--one that
is non-zero enough to get them life support money and not so high that it
drives my employer to want to use Java instead. Free CL, btw, is NOT where
my employer will go instead.
> With widely spread proprietary software,
> developer contact is part of the cost structure,
> and is fought against by management.
This seems an arbitrary and statistically unsupported claim.
> With widely spread free software, developer contact is a service
> that you sell; it's part of the profit structure and sought by management.
This seems an arbitrary and statistically unsupported claim.
I don't see any reason this can't be true of commercial companies.
Nothing about commercial software says that a company couldn't charge for
developer access. If there are a small number of developers, it's likely
that the inability to clone them creates the real upper bound on access to
them, regardless.
> [...] Dynamic software WILL win; it will win WITH free software,
> not against it.
This is a possible truth but not a necessary truth. There are strong
reasons already cited elsewhere to believe Dynamic Software is more
compatible with proprietariness than Static software is. It can be
composed in a mix and match environment without opening the hood,
pretty much like components in your stereo (where most people don't
look inside either) and where a healthy cost per component doesn't
keep the industry from thriving.
> Proprietary software has brought upon us the domination of
> FORTRAN, COBOL, PL/1, C, C++. Static languages.
I don't know what this claim is based on. I thought some of these
languages came free with operating systems and that all you paid for
was the iron back in the days these things gained dominance. I might
be wrong. Also, people made new languages every day back then and
most of those new languages were not charged for. If free software
had been such a win, it would have clobbered those languages.
> Free software has always developed its dynamic tools:
> LISP (pre-Common; elisp; Scheme), shells, Perl, Python, etc.
> Dynamic languages (of various quality).
I think this particular way of drawing up the facts looks suspect.
I just don't see that the big line has been proprietary/free.
What I see is that developers who had their food bills paid have
contributed interesting things beyond what industry offers, and that
dynamic is beyond the edge of what industry offers because static is
easier to understand. So basically, just as "art" is easier for the
elite to make because they're not busy toiling in the fields every day
and not so exhausted at day's end that they can't paint, so too
dynamic software is the fruit of the FORTRAN/COBOL industry you're
poo-pooing. It may be cool, but it's interest in accounting programs
(largely business) and physics simulation software (largely DoD)
that paid the bills for a long time, fueling the industry to live
long enough to be able to generate people with computers at all and
knowledge at all that allowed the creation of most of these other
things.
> Of course, there are exceptions: CommonLISP and Dylan are dynamic languages
> that have been mostly developed as proprietary systems
> (despite heroic free implementations); but they have limited success
> among proprietary systems; they don't fit the proprietary software model
> of separation between provider and consumer.
> On the other hand, there are static free languages (SML, OCAML, Haskell),
> but even they have interactive top-levels,
> and they have a hard time capturing free software developer mindshare.
Possibly due to a lack of commercial market? Who wants to give away
time if they can't figure out where the dollars will come from?
Why does your whole analysis seem to neglect the importance of money to
these activities which consume large amounts of time and resources, even
if only at one's house?
> And the fact that he does not come with source is just a fact of nature,
It's possible, by the way, that nature found that if you did have the
sources available, a billion little free software viruses would be busy
attacking and you'd lose. I think it's an interesting aspect of human
construction that if they are broken up for disassembly, the running source
begins immediately to decay and to defy inspection. I have often wondered
if this doesn't make it the ideal medium for the distribution of software
in a world that doesn't respect intellectual property once it's been "let
out of the bag". Everyone is so excited they can just disassemble things,
that it seems likely to me we'll have devices with little acid packs in them
that try to burn themselves up if you open them. But a cellular "feed
me oxygen through a complex system of capillaries or I'll start decaying
immediately" model also has a certain elegance--and isn't so messy as acid.
> so there's nothing we can do, and we should think about real problems.
> On the other hand the unavailability of source of computer software
> is _not_ a fact of nature; it _is_ a problem, and it can be solved.
This is not a "problem", it is a problem solution in search of a problem.
I'm very skeptical of problems defined in terms of:
Problem: There is no x.
Solution: Make an x.
Suppose sources did exist to me. Can you explain, even approximately,
how your access to them would materially affect your chances of changing
my mind on this issue? And can you explain why if I thought myself
even remotely valuable I would share them with you? Wouldn't that just
allow you to make more of me or rogue variants of me that compete with me?
And wouldn't that just diminish my ability to say unique and interesting
things that people enjoyed reading, because a bunch of pitman-wannabes
would be out there generating syntactically similar tripe that made it hard
to find the "good stuff"? I just don't see the motivation.
And motivation is what it all comes down to. Because if you don't motivate
me with whatever scheme you make up, I'll go back to hoeing corn in the
fields. At least that will put food on the table. I have no obligation
to you or anyone to even make any software at all, much less give it away
the instant I make it.
> * User Knotwell <knot...@knotwell.ix.netcom.com>
> | 5) community-oriented. From what I can tell, open source projects tend
> to do an extremely good job of putting "customers" and developers
> together. On the other hand, most commercial companies where I've
> worked went out of there way to keep developers and customers apart
> (counter-productive in my view).
>
> yup, counter-productive in the extreme. if you use a software tool for
> developers, and you can't talk to the developers of the tool, you have
> made a mistake in purchasing it. however, this is not a function of
> source access, but of smart people who actually care about what they do.
>
I have often found, contrary to Mr. Knotwell's experience, that it is
fairly easy to get in touch with the developers of various software
products. In general, these people are protected by a helpdesk to weed
out idiot questions, but once you have demonstrated on a few support
calls that you know what you are doing and that you're capable of
consulting the documentation before raising bug reports, you get
direct telephone or email access to the development department.
I also found that this is often far more useful than source access. If
you describe the symptoms of a bug to a developer he will often know
immediately where or what is the problem. Even with source, it would
take a large investment of my time to get that familiar with the code.
This also happens in the open source world. Far more bugs get resolved
by people like Alan Cox for Linux or Jeff Law for gcc through bug
reports on the mailing lists than that the user who found the bug
starts digging through the code himself. The only reasons this doesn't
work very well for most of the closed source proprietary software is
that it is written in a language like C without much debugger support
to generate useful bug reports and that a lot of firms ship their
stuff without even that meager support by stripping the executable of
all debugging symbols. Since dynamic languages generally have
excellent support for this without having source, I think Erik has a
point.
--
Lieven Marchand <m...@bewoner.dma.be>
If there are aliens, they play Go. -- Lasker
|...|
> also something you learn PDQ if you try to run a business with employees.
|...|
PDQ: pretty damn quickly?
yes.
incidentally, can you please fix the bug in your newsreader which causes
it to copy the References header unchanged from the article you respond
to if it has any and only do the right thing when it has none? it is
annoying that it doesn't work to go back to the article you replied to
and the threading in other newsreaders gets all messed up, too. thanks.
[to Vassil Nikolov]
> incidentally, can you please fix the bug in your newsreader which causes
> it to copy the References header unchanged from the article you respond
> to if it has any and only do the right thing when it has none? it is
> annoying that it doesn't work to go back to the article you replied to
> and the threading in other newsreaders gets all messed up, too. thanks.
Eh?
References header of Vassil's article to which you were replying:
| References: <31444041...@naggum.no>
| <37C17E00...@elwood.com>
| <_Mfw3.358$m84.6201@burlma1-snr2> <31445586...@naggum.no>
| <u7ogfwc...@ebi.ac.uk> <31445696...@naggum.no>
| <l03130309b...@195.138.129.122>
| <pw-260899...@166.84.250.180>
References header of its parent article (reformatted a little):
| References: <31444041...@naggum.no> <37C17E00...@elwood.com>
| <_Mfw3.358$m84.6201@burlma1-snr2> <31445586...@naggum.no>
| <u7ogfwc...@ebi.ac.uk> <31445696...@naggum.no>
| <l03130309b...@195.138.129.122>
The last item in the References of Vassil's article is the Message-ID
of the article to which he was replying. This all looks perfectly
in order to me.
--
Gareth McCaughan Gareth.M...@pobox.com
sig under construction
> Erik Naggum wrote: [to Vassil Nikolov]
> > please fix the bug in your newsreader
> Eh?
[...]
> References header of its parent article (reformatted a little):
[...]
> The last item in the References of Vassil's article is the Message-ID
> of the article to which he was replying. This all looks perfectly
> in order to me.
Look closer. The article you call its parent article is, in fact, not
the article to which Vassil Nikolog is replying.
Stig Hemmer,
Jack of a Few Trades.
[I said:]
>> The last item in the References of Vassil's article is the Message-ID
>> of the article to which he was replying. This all looks perfectly
>> in order to me.
>
> Look closer. The article you call its parent article is, in fact, not
> the article to which Vassil Nikolog is replying.
Oooops. Quite right. I'm a twit. My apologies to #\Erik.
Which is good comment, and I would generally agree with the notion
that using money as an expression of value is a good idea, since "an
expression of value" truly is the nature of money.
That calls into question:
"So why does it seem to be economically viable to give away
computer software, particularly in source code form?"
The answers seem to me to lie in the legal gyrations that surround the
"licensing" of the things that get called "intellectual property."
It may be pretty easy to take a slab of steel, kick it, and say "That
slab is worth $50,000, and if you sign a purchase order, you can have
it."
In contrast, it is vastly more difficult to work out the value of
giving somebody a copy of the source code to Emacs, as the results of
giving that to them can vary dramatically based on what they do with
it.
So we head down the path where no decisions can be made without having
a veritable army of lawyers examine the situation, and put their seal
of approval on the notion that the parties have made a legal agreement
to transfer source code from A to B with some precise set of legal
restrictions on what they can do with the results.
The "barter" of free software may not look economically efficient from
some perspectives, but if the alternative involves paying an army of
lawyers, and then having to set up a cryptographically strong License
Management system, the inefficiency of barter starts to look not
nearly so bad...
--
ITS is a hand-crafted RSUBR.
cbbr...@ntlug.org- <http://www.hex.net/~cbbrowne/lsf.html>
This strikes me as being a fair bit like the OS argument of
microkernels versus monolithic kernels.
Microkernels are (at least in potential, if not always in practice)
more dynamic; the academics have commonly denigrated the monolithic
approach as "passe," and the Torvalds-versus-Tanembaum "flame war" was
pretty exemplary in that regard.
It strangely enough turns out that it is almost as easy to add some
modularity to the monolith and let it do the things that they thought
only a microkernel could do; Linux kernel modules being the canonical
example of this.
With regard to the "grep" issues, it is not difficult to provide a
parallel to "dynamism" via constructing script-based functions to add
suitable filters.
- If I want a grep that defaults to be case insensitive, that is as
easy as "alias grep='/usr/bin/grep -i'"
- If I want a grep that encloses filenames in quotes, and I'm quite
sure I follow your thinking there, my first thought would be to put
a thin layer of Awk/Python/Perl on top that does suitable parsing of
the results.
That is not precisely the same as what one might do with some
equivalent to Emacs "hooks;" it functions all the same, and provides a
form of equivalence.
--
"Surely if the world can't get any other benefit from the existence of
Microsoft, at least people should stop arguing that popularity has any
connection with merit!" -- Brian Harvey <b...@anarres.CS.Berkeley.EDU>
cbbr...@hex.net- <http://www.ntlug.org/~cbbrowne/lsf.html>
that's OK, but it's been a while since I signed off with #\Erik. ;)
* Erann Gat
| It's because for some people the alternative is to be destitute.
no, that is not the explanation, although some would have you believe
that people can be forced to accept anything under threat of becoming
destitute if they don't. the problem is not that they would become
destitute, but that they want something so badly they will accept the
worst possible conditions because there's something at the other end to
hope for. some people are good at defrauding people of their present and
future in this particular way, but I wonder why so many fall for them.
at issue is why people "invent" solidarity at the wrong time and accept
absolutely everything as long as they are alone, but speak up only when
they think they can gang up on others, and especially why they have to
wait until things are really, really horrible before they react. this is
the stuff I don't understand.
historically, labor unions arose when people had gotten a taste of a
different lifestyle and were willing to pay a lot more for their basic
livelihood and had gotten into a fix they couldn't get out of -- because
they had accepted the unacceptable to begin with. accepting something
you have to form a labor union to fight after the fact only tells me that
people were acting against their own best (or even good) interests for a
long time. I don't see any rational, coherent explanation for this sort
of behavior in humans, but it's all over the place.
I guess it's the same basic argument as "yes, we do fear the vendor": a
complete failure to grasp that the roles people play in a complex society
do not change their nature or (other) qualities as humans beings. why do
people give their money to people they fear will screw them in the future
_because_ they have given their money to them in the past? don't they
_see_ that their capacity to screw them and hence their fear of them, is
a function of giving the wrong people money to begin with? Microsoft is
the ultimate fraud operation, but it's always extremely easy not to get
defrauded: just don't deal with them at all. if you fear you will be
screwed by someone you deal with, whoever forces you to deal with them?
here's my line: don't _ever_ grin and bear it, speak up when you aren't
happy with what you experience. you'll piss a lot of people off for a
while until they figure out that you are actually very happy when you are
happy with things and that most things actually do improve when you care
to express your concern, and then it dawns on a few people that _because_
you consistently speak up, you don't bear grudges or get bitter at people
for not caring. if you can't accept something, don't. don't prostitute
yourself because you want something you can't have without prostituting
yourself -- just stop wanting it when you realize what you'll have to go
through to get it. reject the "future religion" which attempts to tell
people they should accept to suffer now because some future will be so
good: somebody is ripping you of your present if you believe that crap.
if you _don't_ accept to suffer now, the historic evidence shows that the
future _will_ be better. the good future doesn't _come_ to people who
sacrifice today for any rosy promise of a better tomorrow, because there
will _always_ be a "today" that can be sacrified to a "tomorrow", and if
somebody, such as Bill Gates, benefits from your naïve belief in this,
they _will_ rip you off again and again, and the future never comes, it
will remain "the future" for as long as you believe in it. only when you
stop believing in the unreasonably brighter and better future do you have
a shot at improving the present.
although I have not made the point specifically here, my preferred way to
get one's hands on an exportable subset of the source code is to sign a
prewritten (i.e., non-negotiable) license agreement and go from there.
at issue here is two things: (1) you need to establish sufficient need
and desire to at least read and sign a license agreement, and (2) the
owners of the source code knows who you are and what you have obtained.
on earlier occasions I have briefly discussed how I want things to work
out, in a few classes of users: class A users receive the product and
direct support, only. class B users obtain some source for their own
education and use, persuant to executing a license agreement. class C
users obtain more source and are encouraged to submit fixes, which they
continue to own separate rights to. class D users join the developer
team as volunteers, and still retain their rights. class E users get
paid to fix problems they find and may even get paid to fix problems in
their fields of expertise on demand from the vendor, but as soon as they
get paid, they agree to relinquish the rights to whoever paid them. all
through this scheme, exchange of actual values is an essential ingredient.
| But what if their marketing department decides that this software is no
| more profitable and will no more be supported?
then you either have a breech of contract situation or you go talk to
them and make it profitable. this happens all the time in the world of
actual businesses. part of the deal with bankruptcy and reorganization
is to let creditors recover their money, and only a few creditors will
consciously and purposefully deny themselves the opportunity to recover
more rather than less money. you'd be surprised how much of a company's
assets you can get your hands on if you make like a vulture and pick the
guts of dead companies. (yes, that's intentionally gross.)
| With free software, you just move to another service provider (who may
| perhaps hire the employees of the former company).
why is the parenthetical comment restricted to free software?
| With proprietary software, you just bite the dust; no possible long-term
| warranty.
just because you don't see any options doesn't mean someone else doesn't
see options that you are ideologically prevented from seeing. people
have been known to buy up parts of companies or their assets in the past.
it will happen again, I promise you.
and let me just ask you a simple question: what exactly do you need from
a company after you bought the software (or licence to same)? you keep
arguing on the one hand that you buy broken crap from fraudulent shops
that you subsequently fear will screw you even more, and on the other
hand you want long-term relationships with them? I don't get it. just
how desperately in need of this broken crapware do you believe you are?
and why don't you go talk to a shrink about this rather than believe that
this is due to something wrong with the entire world?
it appears to me that you want source so you don't get screwed, but it
seems to me that you're better off buying quality products to begin with,
stuff that actually continues to work for years and years because the
bugs you found and they fixed are not going to bite you again, and the
old software that needs the long-term warranty isn't likely to be in
active development and thus isn't likely to hit upon new bugs.
| Former ILOG LISP users and developers unhappily know _perfectly_ well
| what I'm talking about...
for any dire strait people _might_ get into, there's always someone it
actually happened to, and which you can blame on your favorite factor.
to people who know some statistics and propaganda, this is _supremely_
unconvincing. _nothing_ is less convincing in a debate than throwing
examples at eachother. it's what politicians do when they want votes
from people who don't know any statistics and don't grasp propaganda at
all, but why the hell should anyone except politicians care about such
driftwood in society? it's not like they are going to have any _say_ in
anything of importance, is it? if you want to argue effectively, aim for
the people who take increased insight away with them -- they will quietly
spread the word. if you want to argue to win _points_, however, I'd say
go for the examples, and the more emotional they are, the better, but at
least be _aware_ that they are competely ineffectual: whoever beats you
with another better example nullifies your point completely. that's what
_doesn't_ happen with insight: people don't un-see an old issues because
you bring up a new issue, you'll just have to keep adding to the insight.
so, how about the fate of Symbolics' Genera? as far as I hear from
people, somebody actually bought up the rights to the product and
continued to support and sell it, and they are constantly arguing that
it's the _best_ software environment in existence still. maybe ILOG was
a weak product with good marketing and management which could nonetheless
not sustain it, and Symbolics' Genera was an excellent product with weak
marketing and management that wiped out its financial foundation?
the interesting question with ILOG TALK is: would you, personally, have
started, or invested your own money in, a company that would do support
on it, if the software were freed now that it is defunct, anyway? if
not, who's to say the exact same fate would not have happened to a free
software project? just because it's free software doesn't mean it's free
of all the well-known consequences of human behavior.
| Oh, and if what the company sells that has so much value is their great
| service, then it has nothing to fear from "competitors" who'd just sell
| unsupported copies of the software...
I'll believe this when it comes from the owner of a business, not from
someone who very explicitly wants to loot businesses. in other words:
again, feel free to risk your own money, and shut up about others until
you have proven that you put your own money where your mouth is.
| Yes, we do fear the vendor.
thank you for stating this up front. now I know you're actually insane,
more specifically a raving paranoid.
| Think of it as meme stability: the meme of dissing users is co-stable
| with the meme of proprietary software, but not quite so with the meme of
| free software. We DO organise in unions to fight vendors who diss us,
| and the result is called (surprise!) free software.
and this ranting proves you've _really_ lost touch with reality.
| I can't imagine one's favorite C compiler vendor providing developer
| contact to all its customers, there are too many of them.
I'm sure that's how a lot of people think when they buy anything at all,
but you gotta understand that if you don't even try, and are so deranged
as to _fear_ your vendor, then you _will_ be treated harshly by the real
world, not because people want to, but because you set yourself up for it.
I actually think that fear of authorities of any kind should be listed as
a serious mental disorder that causes people to become dysfunctional in a
modern society. people who suffer from it should seek psychiatric care.
| Dynamic software WILL win; it will win WITH free software, not against it.
well, I have the exact opposite opinion, but at least I make an argument
for my case, I don't just repeat a mantra.
| Proprietary software has brought upon us the domination of FORTRAN,
| COBOL, PL/1, C, C++. Static languages. Free software has always
| developed its dynamic tools: LISP (pre-Common; elisp; Scheme), shells,
| Perl, Python, etc. Dynamic languages (of various quality).
this is downright ridiculous in its lack of adherence to fact.
|...|
> incidentally, can you please fix the bug in your newsreader which causes
> it to copy the References header unchanged from the article you respond
> to if it has any and only do the right thing when it has none? it is
> annoying that it doesn't work to go back to the article you replied to
> and the threading in other newsreaders gets all messed up, too. thanks.
You are quite right that such behaviour is annoying, and I apologise for
all inconveniences caused.
I can't fix the program but I can fix the headers (or at least I believe
that will work, I'll test it now).
I would like to note that what actually happens is this: the message id
of the article that's being responded to is placed in the In-Reply-To
field, rather than appended to the References field. I admit I don't have
the time to locate the relevant RFCs to find out if this is a feature or a bug,
i.e. if this doesn't happen to be legal though strange.^1 Of course, that isn't
very important as the really important fact is that people using
non-broken software have not been getting the links between articles
right. (To be honest, I knew this but hoped that good newsreaders
would be smart enough to make use of In-Reply-To, but apparently
I assumed too much.)
__________
^1 I am posting via a mail-to-news gateway (Deja's), i.e. using an e-mail
program to send posts, so this might be fine for e-mail but not for
news
(By the way, this happens to be also an example where the problem could
be solved by having access to the source but where a solution using
dynamism would be better. In my particular case now, I have no source
available, and I fix the problem by modifying the file containing
the outgoing message---whether this qualifies as a dynamic solution,
I can't really say.)
You know, it's hard enough to argue with two sets of arguments at once,
by two brilliant people (Erik and Ken), each with one's own personal mindset.
It leads to contorted messages that mix without matching
several points of views at once, and that hence are long and hard to read.
Since the debate has (once again) slipped from dynamic software
to free software, I propose that the latter topic be discussed outside
of comp.lang.lisp, for instance on the cybernethics mailing-list
http://lists.tunes.org/cgi-bin/wilma/cybernethics
(please propose other places where to move the debate, if you will).
Whatever messages remain on comp.lang.lisp should focus more
on the technical aspects (such as "what exactly is dynamic software?";
"what does it become in presence of concurrent and distributed systems?").
#f d
------>8------>8------>8------>8------>8------>8------>8------>8------>8------
T'was once said on comp.lang.lisp:
>: Kent M Pitman <pit...@world.std.com>
>>: Francois-Rene Rideau <I+far...@tunes.NO.org.SPAM>
>>>: Erik Naggum <er...@naggum.no>
>>> I'm advocating source access to people who express an actual desire and
>>> need for it.
>> So am I. The question I raise is: "who'll be judge?".
> Traditionally, money.
Bzzt, wrong! Money (as you put it below) is the _medium_
(a good one at that), but not quite the decision maker.
Don't confuse the messenger and the originator!
Mind you, there has always been money
in the Soviet Union and all communist countries
(communism has been arguably described as not opposed to capitalism,
but an embodiment of capitalism in its worst form, complete monopoly).
Money never decides. People decide, depending on price and expected value.
The adequation of price to value depends on the price of exchanged services
being freely negociated by both parties, as opposed to being biased
by the unilateral force of a monopoly, by the arbitrary decision of
a government, or worse, the totalitarian force of a monopolistic government.
So the question is not and has never been "is there a market?".
Of *course* there is a market, even if it trades sheep instead of coins!
The question is "how free is the market?".
> Money is simply an interchange medium for "stuff I'm interested in"
> and "stuff you're interested in". If you do something in
> life--anything--that someone else really wants, they'll give you money
> for it. If they won't, you have to question whether they want it.
Exactly. It is a _medium_. It changes _nothing_ to the wills and forces
in presence, it only fluidifies the dynamics of exchanges (which is a
great feat in itself, but completely independent from the issues at stake).
> You can create barter systems in which money is not exchanged, but they
> are hard to account for and you get people who don't pull their weight.
> That's why the world uses money and not smiles as a way of counting who's
> done what for who.
Sure. That is, when stupid laws don't force people to either exchange smiles
or do things in secret and risk jail, by making it illegal to exchange money
against some whole classes of services: see free trade vs customs & smuggling
or free entreprise vs governmental work & moonlighting,
or freely redistributable software vs software hoarding & piracy,
freely modifiable software vs illegal modification & binary patching,
freely understandable software vs illegal inspection & reverse engineering.
> So if you're willing to trade the money you have for someone else, all
> that says is that it's of value to you. And if you're not, then maybe
> it's not as much of value as you think.
Sure. Now, what if someone forces me to pay an extra fee for no service,
say the mafia who'll destroy my shop if I don't pay protection money?
Most people will just pay the money, all the more if they can say
"after all, it was not completely wasted, since they did not only
protect me, but they also did render a few useful services".
Of course, I could cease activity and close my shop, if I don't value
it that much. I could also let competition play, and ask the protection
of another gang. Or I could do it the hard way and fight the mafia,
by arming my family with guns, hopefully with the help of the police;
but no responsible head of a family would be the first to take that risk.
Worse even: sometimes, the mafia doesn't send mobsters to "explain"
what happens to your shop when you refuse to cooperate; instead they
send lawyers, and then they send the police if you still won't cooperate;
for they have found a way to get law with them rather than against them.
Of course, the worst situation is when political power itself is in the hands
of the mob, as inevitably happens after invasions and revolutions,
but that's another topic of discussion. Suffice it to say that again,
the root of the close match between price and value is in a free market.
If you read "das Kapital", you'll see that Marx founded his whole
"economical" theory by rejecting this basic principle, whereas this principle
is the crown jewel of Economy 101 (see against texts by Turgot and Bastiat).
Oh, and don't try to see more in these examples than a way to comment
on the _argument_ and its large domain of validity; they are in no way
a comparison with the specific case at hand.
> If people are willing to give away what they do, that's fine. That
> just means they don't value it or they have enough money that they
> don't feel a need to charge for everything they do. One would hope
> that all people could be philanthropic sometimes. But they have to
> eat and I don't see giving them a hard time about that.
Bzzt, wrong again! Free software is not, has never been, and
will never be against business. Quite on the contrary, it's all about
the free trade of _services_, and the end of licensing _racket_.
In the same way, those people who fight slavery, or pollution,
don't have anything against business per se, when they fight
slave-traders or polluting industries who make money out of these activities;
they have nothing against making money, only against the particular way
by which money is made, and only in as much as that way negates
fundamental rights of individuals, or global welfare.
They fight for individual rights and common interest, not against business.
Maybe current free software hackers have been working mostly for nothing,
but it's not been because they like it and want it that way;
it's been because capitals have been completely diverted from free software
development by proprietary software development. Happily, things are now
moving fast, and despite all the disbelief of even fine people like you,
people are nonetheless understanding that free software means more business;
and apparently in the last few weeks,
some people have been betting 4.5 bn$ on it with the RedHat IPO.
Not much, but it's only one company among so many, and only a beginning.
>> In one case, it'll be an all-mighty centralized marketing department,
>> and in the other case, it'll ultimately be the person in need oneself.
> It doesn't really matter because it is not your fundamental right to have
> me do anything for you. It is my right to make something if I see the point
> and not to otherwise.
I fear you completely misunderstand the free software philosophy.
_Of course_, you have the right to not do anything for me.
But you do not have the right to forbid other people (including myself)
to do something for me (like, copying software, decompiling it,
understanding it, modifying it, redistributing it, etc).
When you acquire some privilege upon me, it's an injustice.
And if you use this privilege to raise the price of your services,
that's an injustice. If your marketing guy in charge uses that privilege
against you and me and prevents us from cooperating, it's an injustice.
When you make someone else than one responsible of deciding what one can do,
it's not just an injustice, it's making one less than one is; it's an attempt
to one's person. By taking responsibility away from a lot people, you create
as many irresponsible people, and this constitutes an attempt against mankind.
> The thing that drives me nuts about these discussions
> is how many people seem to think they have a right to something I make just
> because I create it.
I fear that once again, you completely miss the point.
Nobody claims a right to see what you create without paying you.
Free software people are the first to claim that software development
is a _service_, that should be retributed as such.
Moreover, if you think laws guarantee you have a right on what you create,
you're a fool: your employer is the one granted the privileges by law!
> If the world were that way, I'd probably create fewer things.
> I would instead use my brain to seek out some way to do
> something that would let me eat. I would not spend the same fraction of my
> day thinking up good ideas and giving them away and still being hungry.
You would be the rare case. Most creators I know create despite ourselves;
we do not choose to create, we just do create, it's the very expression of
our lives; even in the most rotten of communist concentration camp, we do.
So that we be more productive, we only require having enough to live decently
so as to focus on our work, and having adequate tools to work with.
We don't care about having one chance in a thousand to be multimillionaire,
as is the promise of the proprietary information driven star system;
we just want to approximately sure to live decently.
And I'm sure that free information will make it a better world for us
than a world of information hoarding: we live by the services we can render,
and a free market of those services is a easier place for us to render them
than a market partitionned by license barriers.
>> Of course, in a perfect world, the person in charge will choose well;
> Who are you to say he hasn't. It isn't your right to it until you've ante'd
> up the interchange currency (money) for exprssing interest.
So only the dead victims can sue the murderers?
Who are you to say he has? Do you pretend that no legitimate user
was ever refused source access and modification? That it will never
ever be the case and that companies may blindly rely on it?
Don't you know that it is usual vendors either disappear,
or choose cunilaterally to terminate a product line,
at the dismay of years-long satisfied users? [favorite example: ILOG LISP].
And who are you to ask who I am to say?
It isn't your right until you've ante'd enough money to be warrant
for the perfect choice of all persons in charge of disclosing sources,
for the rest of times. *Of course* I have right to doubt that choice
are perfects. The burden of the proof should not be on the one who doubts.
And by the way, my company _is_ a disappointed former customer of _a lot_
of software (LISP for a tiny bit only), that, despite being once
"successful" and sometimes excellently supported, have since been
cruelly abandonned by their vendor, with no recourse it self maintenance.
>> but in a perfect world, the person won't need to be in charge, either.
> This is a completely arbitrary and self-serving claim.
Much less than yours. In a perfect world, no need for anything,
since the world is perfect; I'm pointing to the vaccuum of arguments
based on a hypothesis of perfection, which are at best inapplicable
because of the completely unstability of such perfection.
If you give someone (whoever) a repressive responsibility, you must take
into account the eventuality of that person's mistake or failure;
in a world without failure, repression is unnecessary.
That's where you need dynamic retroaction effects to limit the repression.
If some irresponsible (i.e. cannot be sued, or anything)
is to decide for others, then there's no retroaction,
and things will eventually go wrong.
>> So the question is about the dynamic effects in an imperfect world:
>> what attitude has most positive dynamic effects?
>
> Right. And I claim the one that has the most postiive dynamic effect is the
> one that incentivizes content creators. Content consumers, the ones who want
> to USE free stuff, don't need an incentive. And if you're a legitimate
> content creator who can't get access to something, you'll just create
> something else. True content creators are versatile and capable of creating
> lots of things.
>
Just where is the incentive for creators in proprietary software?
I see none, but possibly a corrupting one.
Consumers put their money where value is.
That's ultimately the one and only source of monetary incentive involved.
When software _is_ useful, and generates value,
it needn't any intellectual property "protection" to happen:
the market forces that will make it appear are already there,
and the necessary infrastructure will quickly appear if let live.
When the software is _not_ useful, or at least not as much as it should,
then, and only then may be benefit from an IP-induced incentive,
feeding on the customers trapped within its IP barriers.
The differential effect of intellectual property on creation
is _against_ creation that builds on former creation and progresses,
and _for_ creation of inferior quality but attractive look that hooks people.
THAT is the IP-induced incentive.
And the fourth effect is to spread venom in society,
by making collaboration look suspicious and discollaboration look meriting.
I see the broken eggs, but I see no omelette; instead, I see poison.
You say creators are versatile? Sure. They'll easily adapt to free software;
actually, they are the ones who built the free software movement, mind you!
As for innovation,
under free software, keeping developments secret for a long time
is counter-productive, for you make little money,
spend a lot in development, and take the risk of other people
independently inventing similar things;
so you have to focus on developments that work, release early,
and sell services early.
No more of these huge projects that take tens and tens of man-years,
never get released (or much too late, when all potential customers are gone),
and end up in a trash can (Xanadu, K-machine, Apple Dylan, Taligent, Multics,
you name it). Actually, no more projects that end up in a trash can at all
because of eventual management decisions (any ILOG guy reading?);
projects raise interest and live according to their technical qualities,
and faded interest may wax again the day people realize
something good was hiding inside the software.
In these conditions, will software firms make these investments?
Of course they will! for in a world of free software,
only technical advance differentiates you from your customer,
so research and development is the most important criterion
to gain a competitive advantage.
Will there be software firms at all? Of course there will! for
the global incentive, i.e. potential use value, is exactly the same
with free software, so the money-making opportunity are the same.
Actually, since free software fluidifies the market,
and prevents parasites that monopolize the market around bad software,
it will increase the money-making opportunity for _honest software makers_,
and decrease the opportunity for crooks,
making it a better world for everyone.
> Now, I agree completely that the idea of restrictions on "independent
> creation" (software patents) are a nuissance that should be struck
> down because they arbitrarily and capriciously restrict the right of
> an alternate content creator to show that an idea wasn't as hard to
> come up with as the original creator thought. But that's where I stop
> in the "free software" area.
You seem to forget the fact that software builds up.
What if I'm a specialist in a fairly specific topic
(like symbolic integration, or numeric approximation of some equations),
but have no particular proficiency in other topics,
including implementation of a symbolic mathematic package.
With the proprietary software model, I cannot freely exercise my talents.
Either I hack a proprietary software infrastructure,
and I must surrender anything I write to the "owners" of the infrastructure,
who by restriction of the job supply can underpay and exploit me,
or I must rewrite a symbolic mathematic package from scratch,
despite my limited specialty, or I must find another specialty.
With free software, I can join any existing project,
and use my talents to develop my own incremental piece of software
without being subject to anyone's whims,
and without preventing anyone from exercising one's talents.
Free software make people free to exercise their talents,
and sell this exercise of their talents.
No barrier, no desincentive, to complex and unnecessary human dependencies;
just what's needed, and no more. Efficiency, productivity.
>> It looks like to me the "make people responsible and trust them" attitude
>> is the winning one.
> I think once the bills are paid, responsibility is not the issue in
> "acquisition" of software. (It might be in the choice of deployment.
> My concern about software ethics has little to do with how people "modify"
> software but whether they make good ethical use of modified software.
> And this is orthogonal to copyright concerns.)
"Once the bills are paid". But proprietary software makes software
licensing so expensive that the acquisition thereof can only be made
before the bills are paid, so as to pay the bills. And there again,
the price will prevent individuals from choosing their tools;
instead, tools will be chosen by management.
>> You said it many times about the CL vs C++ attitude:
>> CL trusts the programmer, whereas C++ distrusts them, and the result is
>> trustworthy CL programmers, and untrustworthy C++ programmers.
>> The same argument applies to free software vs proprietary software.
> I can't find a useful structural basis for believing this analogy holds.
> The mere use of the same multi-meaning word in a sentence seems a weak
> basis for believing an analogy will hold up. Perhaps you can expand on
> what structural basis would give you confidence in this analogy other than
> that you like the outcome if the analogy is allowed to let stand.
Free and open software says "everyone has the _right_ to see the source,
but under one's sole responsibility". It means that programmers are trusted,
and will suffer from the consequences of their sole acts.
Your and Erik's "someone else will decide for the programmer if he
had a good reason to see the source" is an attitude of distrust towards
the programmer. You take away his responsibility to decide which tools
are good for him. You can but lessen the programmer doing that.
This is the opposite of giving advice to him as to whether
or not he needs to use the sources, which could only make him better.
In one case, you make people responsible, hence trustworthy;
in the other case, you make people less responsible, hence untrustworthy.
>> [...] Yes, we do fear the vendor.
> I find the idea of fearing a content creator offensive. Content creators
> have no obligation to make you anything at all. Fearing them is being mad
> at them that when they gave you something, they didn't give you twice as
> much. That is nothing more than rude in my book. No one makes you buy
> from them at all.
Bzzzt, wrong! Of course, a random creator owes me nothing.
But the one whose services I pay sure owes me the services I paid for!!!!
And not blindly trusting them is how I can ensure that I get what I pay for.
Now, I have every reason to fear proprietary vendors, because they have
complete monopoly on services related to the software they support;
if their service is or becomes less than initially expected,
or worse, if they discontinue their service, I have no way out,
but throwing my copious man-time investment in the software;
and seeing that once installed, nothing forces them to produce good services,
they _will_ produce bad services as soon as they gain enough market share,
and they _will_ discontinue their service if their market share
is not large enough; now, because of network effects, it is guaranteed that
for any important, structurating, software, you will only have a few big
vendors and a lot of tiny ones...
The only safe choice is in buying services from a free software company;
this guarantees your freedom to buy similar services from competition,
the stability and the quality of the software, and the perenniality of
your investments.
Creation is a service, but it's just one service among the many needed
to get software running. On the pretense of promoting creation,
intellectual property ignores all the other services, and sets up
monopolies for them. Free market economists have always fought and
will always fight monopolies: all monopolies, and not just public monopolies.
Also, by trapping creation within protection barriers, intellectual property
also devaluates any incremental, progress-making creation.
The god-inspired creator is a myth. We creators create from the material
available to us, provided by 15 billion years of civilization-making;
intellectual property restricts the material available to us,
and makes us lesser creators; it doesn't provide any single additional
incentive to creation, but instead casts creators into chains held
by publishers and other "intellectual property" barons.
What I fear about proprietary vendors is _not_ their mind-slave creators;
what I fear about them is their behavior of monopolistic mind-barons.
>> Working with the developers
> [who did not have to develop this for you and you're lucky did]
In as much as I DID pay, they DID develop this for me.
In as much as I WOULD pay, they WOULD have developed this for me.
If I see value in a (category of) software, then I'm ready to invest
corresponding money, and I don't care, a priori, who will provide me
the software and how. Intellectual property reduces my opportunity
to see the software, by erecting barriers. It prevents proficient
developers from providing me with honest service, because they
depend on a management that
It thus increases the cost of software.
>> is not co-stable with proprietary software,
>> all the less as the software spreads and is used by more and more people.
> Then don't use it.
Exactly. I avoid to depend on any proprietary software,
unless there is no free software equivalent (e.g. my computer's BIOS).
And I do collaborate with developers of free software applications I use.
>> CL dooms itself in being a fringe language
>> if it claims providing this contact.
> This is a possible truth, but is not because of right or obligation.
> This is the first statement I've seen in here which was focused on effect
> rather than right.
Maybe you don't understand the direct relationship that exists
between right and effect, and that constitutes the very foundation
of Political Economy. If you don't see this relationship,
how can you say _anything_ rational concerning rights?
And if you do see it, then how can you consider right without
taking its effects into account?
May I risk to refer to Frédéric Bastiat?
http://www.tunes.org/~fare/books/Bastiat/
> Nothing I've said should be taken to mean that I don't
> think that a content producer doesn't have to meet a certain expectation
> level with their product in order to sell it. You can't make a paperweight
> and sell it for a hundred dollars; you have to motivate the public to buy
> it at that price (as with the "pet rock" marketing plan) or you have to
> drop the price. But that "have to" is not a law; it's just an economic
> reality.
Exactly. Access to source, in absence of intellectual property,
will not be a "right". It will be an economic reality.
If you do not disclose your source, no one will use your software
for any task they depend on. Because source is the very guarantee
that there be a free market of development services. Mind you,
this is already happening, now, before your eyes.
If, like Erik, you explain all the tremendous free software efforts
just as a "maneuver" against M$ (a bizarre conspiracy theory!),
then you are blinding yourself. If not, I'd like to read your explanation.
What I'm fighting against is so-called intellectual property.
It strongly biases the software market. It corrupts the minds of people.
It modifies prices. It prevents people from working honestly.
Note that I'm already convinced that free software is just a matter of time,
nowadays, and that the abolition of intellectual property will be a battle
fought and won the hard way by the turn of next century.
What I'm worried about, and the reason why I spend my time explaining it
on comp.lang.lisp is that by not acknowledging it, the LISP community
will miss a great opportunity to have the world benefit from dynamic
and reflective software as well as from free software;
and the world is missing a great opportunity to fully take advantage
of existing technology such as dynamic software.
I wish that at least one LISP vendor would join early the free software model.
Who'll be the CYGNUS of free LISP? Maybe CMUCL and/or Dylan hackers
should join into a company? I'm just sick of computer scientists
re-discovering LISP lore ten years after, and the industry re-discovering it
yet ten years after.
> I don't think it's any vendor's moral or ethical or legal obligation to do
> any price with me;
Neither would I, in a free market; what I think is immoral and unethical,
and should be illegal, is the intellectual property protection racket.
Now, if we are to keep this model of a monopoly on services related
to every single software, then prices of such services should be set by
independent institutions, as with all monopolies.
By the way, I am not against you right to keep your sources secret,
as long as you be the one to cover the cost of keeping it,
and as you assume the risk that it be unveiled.
> my argument is simply based on common sense
You have no monopoly on common sense.
I'm sorry I fail to see any arguments of yours here,
but only vague, unbacked intuitions, and lots of doubts.
You essentially say "I don't know, for I don't have arguments".
Well, I do know, for I do have arguments.
Of course, I may be wrong, but to convince me,
you need arguments, not just admission that you have none.
Of course, you may be unconvinced by my arguments,
but at least acknowledge them what they are,
instead of setting up a straw man
and founding your doubts on ground my arguments dispell.
I know you try to stay as objective as you can;
I know that it's difficult to argue by written messages,
because of the high latency and sudden information overload that happens;
but, independently from your agreeing or not with my arguments,
the main thing I regret is that (at least it seems to me) you're having
a bad internal representation of what free software people think,
and what our arguments are or are not (whereas, conceited as I may be,
I think I somehow grasp your position and its internal consistency).
> and not a
> "fear of vendors" but a "fear for them" because I care about them and want
> them to have many years of happy vending at a proper price point--one that
> is non-zero enough to get them life support money and not so high that it
> drives my employer to want to use Java instead. Free CL, btw, is NOT where
> my employer will go instead.
You don't have monopoly on care, either.
I do care for developers, for creators.
However, I do not care for rapacious IP-based management;
I wouldn't give a damn if they were all sent burning into the sun
(actually, I would care about for the wasted rocket).
I am confident that proficient developers and original creators
will be employed and free of the choice of their languages and tools
in absence of IP.
Have you proposed a single reason why they wouldn't?
Just what do you fear about your software being freely available?
That customers will look for support from unproficient programmers?
That suddenly, no one will be interested in your software anymore,
because it be free? That people will see how bad the code you write is?
That they will find bugs in it? If what you fear is loss of licensing
revenue, can you state how much of your revenue is due to licensing,
and how much is due to development, packaging, support, and other services?
What about other computer workers?
Do you fear that more users won't generate more demand for support services?
Do you fear that your software will so quickly become so perfect
and that all software problems will be solved so completely,
that you soon will be jobless?
>> With widely spread proprietary software,
>> developer contact is part of the cost structure,
>> and is fought against by management.
> This seems an arbitrary and statistically unsupported claim.
I contend that this has been the case of all "best-selling" software,
and otherwise software living by sales of licenses (the proprietary software
model) as opposed to sale of service (the free software model).
It has happened to just every proprietary software I've seen in the eighties.
>> With widely spread free software, developer contact is a service
>> that you sell; it's part of the profit structure and sought by management.
> This seems an arbitrary and statistically unsupported claim.
> I don't see any reason this can't be true of commercial companies.
It's obviously true. Free software businesses, by very definition,
live only by selling services. Proprietary software businesses,
by very definition, live at least partly on their license sale,
and found their whole business plans on the monopoly value of their licenses
(e.g. indirect license-generated revenue through increased service fees).
> Nothing about commercial software says that a company couldn't charge for
> developer access. If there are a small number of developers, it's likely
> that the inability to clone them creates the real upper bound on access to
> them, regardless.
Bzzzt! Wrong. You're confusing "commercial" and "proprietary" software.
RedHat, SuSE, GNU C, GNU Ada, Sendmail, are commercial free software.
And there are plenty of non-commercial "freeware" proprietary software.
>> [...] Dynamic software WILL win; it will win WITH free software,
>> not against it.
> This is a possible truth but not a necessary truth.
Everyone's one's opinion.
> There are strong
> reasons already cited elsewhere to believe Dynamic Software is more
> compatible with proprietariness than Static software is.
I have even stronger reasons to doubt it. I've developed some in
<http://www.tunes.org/~fare/articles/ll99/index.en.html>.
But more paradigmatically, the whole justification of the proprietary
software model is that software be a product that you sell,
with a well-defined producer (NOT author), and a well-defined consumer.
Dynamic software challenges this producer/consumer relationship;
it challenges the notion of a product; it makes a situation
of collaboration and service all too obvious; it undermines
the very foundations of the proprietary software paradigm,
unless strictly limited to well-defined third-party "plug-ins".
> It can be
> composed in a mix and match environment without opening the hood,
> pretty much like components in your stereo (where most people don't
> look inside either) and where a healthy cost per component doesn't
> keep the industry from thriving.
That's rigid black box component software,
not quite the same as malleable dynamic software.
People typically do it with static software components.
>> Proprietary software has brought upon us the domination of
>> FORTRAN, COBOL, PL/1, C, C++. Static languages.
>
> I don't know what this claim is based on. I thought some of these
> languages came free with operating systems and that all you paid for
> was the iron back in the days these things gained dominance. I might
> be wrong. Also, people made new languages every day back then and
> most of those new languages were not charged for. If free software
> had been such a win, it would have clobbered those languages.
>
Marginally free of charge (gratis) isn't quite the same as
free of intellectual property claims (libre).
If you still don't understand that,
you haven't been following any free software argument
(make that "open source", if your ears ring whenever you hear "free").
And yes, free software has been a win.
LISP has been developed as a free software, were anyone could come,
take the sources, and hack them; so have been C and UNIX;
albeit in all these cases, they were proprietarized post facto,
"thanks" to our wonderful IP laws that make employees
mind slaves of their employers.
You can see what languages survived the wars of the eighties.
BASIC and Pascal took the proprietary path, and after some success,
faded away to never exist again, but as lone implementations
with which they are identified, and with which they will eventually die.
Part of LISP took that path, and it took the other part and a lot
of technical excellence (and implementational simplicity) to make it survive.
Without free LISPs, there would have been no more new LISPers for ten years.
All in all, yes, free software HAS won.
Every other large company I know has developed
its own proprietary internal scripting language.
All these proprietary languages die.
The few proprietary languages that survive are those
that are commercialized in a way that fit the proprietary development model
of write, compile into something cryptic, sell.
Don't be fooled: the costability factor between static languages
and the proprietary software model is largely in the obscurity effect
of compilers, more than in their alledged efficiency factor.
And even then, these languages do not survive much as languages,
only as lone implementations.
> [...] It may be cool, but it's interest in accounting programs
> (largely business) and physics simulation software (largely DoD)
> that paid the bills for a long time, fueling the industry to live
> long enough to be able to generate people with computers at all and
> knowledge at all that allowed the creation of most of these other
> things.
Sure. But what has this to do with static vs dynamic software?
Static vs dynamic is not the feature of any application,
business or physics or teaching or research or whatever.
It's a feature of development environments.
It's not about computer programs, it's about computer programming.
>> On the other hand, there are static free languages (SML, OCAML, Haskell),
>> but even they have interactive top-levels,
>> and they have a hard time capturing free software developer mindshare.
> Possibly due to a lack of commercial market? Who wants to give away
> time if they can't figure out where the dollars will come from?
Certainly, there are cultural barriers to free software.
You seem to be the embodiment of them :) Which is why people involved
in free software feel the need to explain things and dispell misconceptions.
I just wish my messages have an overall positive effect.
> Why does your whole analysis seem to neglect the importance of money to
> these activities which consume large amounts of time and resources, even
> if only at one's house?
Where in my analysis don't you see money?
On the contrary, free software opens up a lot of money-making opportunities
that are killed by intellectual property: third party service,
incremental development, adapting retail software to niche markets,
distribution under various media, etc. Free software is free entreprise
of software services. Intellectual property is barriers within each
of which a monopoly reigns -- it is the feudal age of computing.
>> And the fact that he does not come with source is just a fact of nature,
> It's possible, by the way, that nature found that if you did have the
> sources available, a billion little free software viruses would be busy
> attacking and you'd lose.
As far as I know, proprietary systems are the primary target
of computer virus attacks, and open systems have been "miraculously" spared
by the flail. I have suggested a few reasons why in a previous message in
a previous message to the cybernethics mailing-list:
http://lists.tunes.org/list/cybernethics/9907/msg00014.html
> I think it's an interesting aspect of human
> construction that if they are broken up for disassembly, the running source
> begins immediately to decay and to defy inspection.
When you split a source into separated files that no more interact,
a program hardly works anymore, either.
A more interesting aspect to me is about the multiple levels of abstraction
that are needed to understand the system, which suggests a reflective design;
the impossibility to both run the system and examine it at the same time
rather suggests the involvement of linear types in a proper modelization
of the human system.
> I have often wondered
> if this doesn't make it the ideal medium for the distribution of software
> in a world that doesn't respect intellectual property once it's been "let
> out of the bag".
Indeed, when the software is free (of rights), it becomes unavoidable
to acknowledge that the real value lies in the human beings
who understand the software, and that _humans_ constitute the real
asset of a software company; I saw a guy from AdaCore <gnat.com>
who did insist on that when describing their business model.
This is a real upward reevaluation of programmer labour value;
so again, developers will _benefit_ from free software
rather than lose from it.
>> so there's nothing we can do, and we should think about real problems.
>> On the other hand the unavailability of source of computer software
>> is _not_ a fact of nature; it _is_ a problem, and it can be solved.
>
> This is not a "problem", it is a problem solution in search of a problem.
> I'm very skeptical of problems defined in terms of:
>
> Problem: There is no x.
> Solution: Make an x.
>
Only that's not the way the problem is defined.
I've now too longly _argued for_ the availability of sources.
You may not be convinced by my arguments,
but please at least don't caricature my position!
> And can you explain why if I thought myself
> even remotely valuable I would share [my sources] with you?
If you're considering yourself as an intellectual property dealer,
then indeed, freedom will bring you no direct benefit;
just like the abolition of slavedom did no direct good to slave owners;
just like the regulation of pollution does no direct good to owners
of polluting industries; just like democracy does no direct good
to former dictators. But in as much as you are an intellectual-property
dealer, you may rot in hell that I wouldn't care. The world will
get rid of you, just like it is getting rid of its former oppressors.
Consider that from a "rights" analysis, or from an "effects" analysis,
it's all the same, for any argument is valid in one analysis
if and only if it has an isomorphic correspondant in the other one.
Now, if you're considering yourself as an author,
pray tell me what wrong will be done to you that your works are spread?
It is a wierd author who writes not to be read,
who makes music not be listened, who makes programs not to be run.
Not that it isn't your right to choose not to publish your works;
but again, pray tell me what wrong it does you that they be widely published?
> Wouldn't that just allow you to make more of me or rogue variants
> of me that compete with me?
Only if you consider that have a worthless mind,
and that anyone could do as good as you at providing services.
I pity whomever may justifiably fear such competition!
If free software can help such people leave programming,
and find an activity that suits them better,
it alone will be a great contribution to mankind!
> And wouldn't that just diminish my ability to say unique and interesting
> things that people enjoyed reading, because a bunch of pitman-wannabes
> would be out there generating syntactically similar tripe that made it hard
> to find the "good stuff"?
No. Firstly, because freedom to copy, modify, and redistribute software is
specifically NOT freedom to pretend or imply that one is the author,
when one isn't. That's fraud by my book, and is or should be subject
to the most severe prosecution. Secondly, if you have talent to say
really original things that wannabees can't say, then it's an opportunity
to make money with this talent, by selling the mindshare you can gather.
If you're not making money with this talent, then you have nothing
to lose at other people copying you. And if you don't have such talent,
it's a blessing if free information motivates you to shut your mouth.
All in all, in as much as finding good stuff is a valuable service,
free information encourages fulfillment of that service
through a free market.
> I just don't see the motivation.
Of course you do see the motivation.
Or else you wouldn't be posting in a public forum.
You'd be keeping your precious "trade secrets" in a safe,
protected from anyone seeing them,
and trying how to make money out of it. But you're not.
> And motivation is what it all comes down to.
Aren't you happy when your works are used by everyone?
When mistakes you make are benevolently fixed?
When people learn to appreciate and respect you?
When this respect and appreciation lead to your services being valued a lot?
When you went to school, didn't you freely publish technical reports?
Weren't these technical reports essentially free software
that run on wetware instead of hardware?
Didn't they both spread your ideas and demonstrate your value?
Isn't the very essence of schooling the fact of improving yourself
thanks to others, and of demonstrating your capacities?
Well, free software is like that, too. Sometimes, you write it as
part of selling services; sometimes, you spend your own resources on it,
and it's some advertisement for your services and some infrastructural
investment for them too.
> Because if you don't motivate
> me with whatever scheme you make up, I'll go back to hoeing corn in the
> fields.
If computer programming was truly an art that lived by sole racket,
and that no one would ever be willing to support without being forced
by property barriers, then it would be a benefit to wipe it.
And we will be richer for every part of computer programming
that disappears when intellectual property is abolished.
But I'm convinced that computer workers _do_ deliver useful services,
that there is an infinite supply of computer services to deliver,
and that free software removes the barriers that prevent flow of services.
As a consequence, I'm not worried at all about abolition of
intellectual property, as far as software creators are considered.
Oh, by the way, I am a software creator (or so I believe).
> At least that will put food on the table. I have no obligation
> to you or anyone to even make any software at all, much less give it away
> the instant I make it.
Of course not. Which is precisely why you will get _paid_
for developing software, whether that software be free or proprietary
after you deliver it.
Freedom transforms difficulty into opportunity, danger into responsibility.
"Protection" transforms difficulty into oppression, danger into catastrophe.
[ "Faré" | VN: Уng-Vû Bân | Join the TUNES project! http://www.tunes.org/ ]
[ FR: François-René Rideau | TUNES is a Useful, Nevertheless Expedient System ]
[ Reflection&Cybernethics | Project for a Free Reflective Computing System ]
If nature has made any one thing less susceptible than all others of
exclusive property, it is the action of the thinking power called an idea,
which an individual may exclusively possess as long as he keeps it to
himself; but the moment it is divulged, it forces itself into the
possession of everyone, and the receiver cannot dispossess himself of it.
Its peculiar character, too, is that no one possesses the less, because
every other possesses the whole of it. He who receives an idea from me,
receives instruction himself without lessening mine; as he who lights his
taper at mine, receives light without darkening me. That ideas should
freely spread from one to another over the globe, for the moral and mutual
instruction of man, and improvement of his condition, seems to have been
peculiarly and benevolently designed by nature, when she made them, like
fire, expansible over all space, without lessening their density at any
point, and like the air in which we breathe, move, and have our physical
being, incapable of confinement or exclusive appropriation. Inventions then
cannot, in nature, be a subject of property.
--Thomas Jefferson
> Dear readers,
> I'm sorry about this much too long a message.
Until we will see some real code you will stay in my kill file.
> on earlier occasions I have briefly discussed how I want things to work
> out, in a few classes of users [...]
Yours is a cast-based society, with various degrees of citizenship,
and a central almighty ruler, the vendor. Even in the first circle,
your customers must relinquish their IP rights to the vendor.
Why such dissymetrical behavior? Why would the first to write the software,
or rather the first to proprietize it, have more rights than the others?
You claim you're protecting authors. You're obviously not.
It's feudalism. The rule of a robber nobility over a conquered land.
> | But what if their marketing department decides that this software is no
> | more profitable and will no more be supported?
>
> then you either have a breech of contract situation
No you can't. The best you can get from software that stays proprietary
is availability of sources (possibly through an escrow);
but even if that happens, you can't afford to duplicate the vendor's
support department for just one customer, and because of proprietariness,
multiple customers don'pt have the right to exchange or pool services
(but possibly through that barter that Ken despises),
and you cannot significantly extend the software,
or find new proficiencies concerning it.
You don't have breech of contract,
and you cannot continue to use the software.
> or you go talk to
> them and make it profitable. this happens all the time in the world of
> actual businesses.
I do. But often they are not interested:
Only vendors tend to think of their former software as "still their asset";
they don't want to release something they fear might compete with them;
they don't want to face a revival of a now-free software that they would
regret not to own anymore; they have sources that depend on other
licensed proprietary software, and don't want to go through the sources
to clean it up; they feel it's not worth it, and can't be delegated
to third parties either by fear of disclosing trade secrets;
they fear that a non-functional software (because it has unresolved
dependencies when stripped from non-included third party software)
Oh, they might be interested if a lot of customers pooled their money;
but if they had a lot of customers, they wouldn't kill the software;
or better even, with the same money, them same united customers would
more profitably associate to develop their own software,
and both avoid paying licenses anymore and be master of their fate,
without paying licenses for years and depending
on the vendor eventually selling out.
Consortia of big software-using companies will happen.
> part of the deal with bankruptcy and reorganization
> is to let creditors recover their money, and only a few creditors will
> consciously and purposefully deny themselves the opportunity to recover
> more rather than less money.
> you'd be surprised how much of a company's
> assets you can get your hands on if you make like a vulture and pick the
> guts of dead companies. (yes, that's intentionally gross.)
I'll try next time I see an opportunity.
But currently, I have my own projects going.
But even this only works for dead companies,
not for discontinued software of
and only if you're a big enough customer to afford that for just one
of the pieces of software you use;
and only if you're ready to wait and go through the times
of unstable activity that happen when a company hits the bottom;
and only if you're sure the creditors will sell to you
and not another vulture.
All in all, that's not a very affordable or a very secure business plan
for a mere customer.
> | With proprietary software, you just bite the dust; no possible long-term
> | warranty.
> just because you don't see any options
I do see a lot of options. All the satisfactory and not improbable ones
involve free software.
> doesn't mean someone else doesn't
> see options that you are ideologically prevented from seeing. people
> have been known to buy up parts of companies or their assets in the past.
> it will happen again, I promise you.
Sure. But seldom as customers taking control.
Customers only end up with a new vendor,
just like serves ended up with a new landlord.
> and let me just ask you a simple question: what exactly do you need from
> a company after you bought the software (or licence to same)?
I need support; maintenance; port to new hardware;
interoperation with new products and new standards;
customization to specific needs; adaptation to new environments.
these are all _services_, well worth paying for;
they needn't be protected by IP rights to be paid for.
IP rights only mean I face a capricious monopoly for those services.
> you keep
> arguing on the one hand that you buy broken crap from fraudulent shops
Not so. Your mind obviously filters what you read to keep and remix
the arguments you expect. Before to call other people mentally ill,
maybe you should look at yourself to begin with?
Of course, some people where I work and elsewhere unhappily buy such crap,
and I do argue that proprietary software gives an edge to fraudulent people.
But the problem with proprietary software is _even_ with
good-willing, proficient people who sell quality software.
(Re)read "The Road of Serfdom" about that.
It's the problem of liberty vs protection, of quality-driven
vs politic-driven technical decisions, of perenniality of investments
vs throw-away computing.
> it appears to me that you want source so you don't get screwed, but it
> seems to me that you're better off buying quality products to begin with,
> [...]
Source is ultimately the customer's only guarantee
that there will be a free market; and a free market is the only guarantee
that there will be quality services, and hence quality products.
It's all about market dynamics. With a lot of talent,
you can make a few excellent products; but it requires sane
infrastructures to have a whole industry create excellent products.
Free software is the only possible foundation of such infrastructure.
> _nothing_ is less convincing in a debate than throwing
> examples at eachother.
As far as paranoia is concerned, you are the one who seemingly
does a systematic misinterpretation of what people write.
Examples are examples and never claim to be more than that;
they don't claim to be arguments; they only claim to be examples:
either they bring illumination, or they don't,
but they are not meant to be conclusive.
In this case, the given example was also a blink
to other people than you that I know read this newsgroup
(Hi, Harley! Hi, Bruno! I hope you do well!).
> so, how about the fate of Symbolics' Genera?
Genera may be great software. But how much does it adapt?
How much service can be sold about it? How much does it cost to deploy it?
Does it have all the features I request?
Those that it don't, can I expect it to implement them in time?
Can it evolve fast enough to follow my partners?
Is there a large community around it
to cut my costs in infrastructure development, support, and maintenance?
A software that leads its owners to repeated bankrupts
promises little confidence, and attracts little attention.
Symbolics may be the proof that proprietary software can survive
(LMI's system proves that it can die, too). But is survival enough?
I may trust people; I cannot trust anonymous companies.
> maybe ILOG was a weak product [...]
No it was a great one, and we were satisfied with support, too.
Instead of betting on Talk and go bankrupt,
ILOG decided to bet on its other, lucrative, activities, and kill Talk,
by not renewing any support contract.
> the interesting question with ILOG TALK is: would you, personally, have
> started, or invested your own money in, a company that would do support
> on it, if the software were freed now that it is defunct, anyway?
Yes. But ILOG was not interested, and has taken so long to react
that the customers had left and that resource pooling is no more
than a wishful thinking today.
> if not, who's to say the exact same fate would not have happened to a free
> software project? just because it's free software doesn't mean it's free
> of all the well-known consequences of human behavior.
If it was free software, and was as good as it is,
none of the current customers would have migrated from it to other languages.
So the language would live. So the software would not be free of _all_
these consequences, but of a whole lot of bad ones.
> | Oh, and if what the company sells that has so much value is their great
> | service, then it has nothing to fear from "competitors" who'd just sell
> | unsupported copies of the software...
> I'll believe this when it comes from the owner of a business, not from
> someone who very explicitly wants to loot businesses. in other words:
> again, feel free to risk your own money, and shut up about others until
> you have proven that you put your own money where your mouth is.
Sure. I'm currently employed until I finish my PhD, but expect no less
from me than write free software commercially when I'm done with diplomas.
Many of my friends do it, and they have higher salaries than mine.
>| Yes, we do fear the vendor.
> thank you for stating this up front. now I know you're actually insane,
> more specifically a raving paranoid.
I don't know what extremities you put in the word "fear",
but my position is clear: proprietary software vendors have the power
to make whatever development you made on their products obsolete
any time they will, and you can do nothing about it. Worse even,
you can be sure that any product line whatsoever will someday be terminated,
so the only thing you can do is wait for that to happen.
The fear is not irrational; it comes from experience.
And no amount of negociation can change this basic principle
of proprietary software: once the owner decides not to maintain it anymore,
customers have to switch to another product.
The only way out is free software.
In comparison, I have no fear whatsoever for the consultants,
contractual developers, and free software service providers
with whom I work: between them and I, everything is clear,
the services and their price is well-defined,
none has an almighty power to void the work of the others.
We respect each other for purely technical matters,
and we appreciate each other for technical affinities,
not for arbitrary political manageurial decisions.
Of course, in as much as vendors sell _service_, we appreciate them;
but when it comes to _licenses_, we fear them.
That's not an irrational feeling due to superstition.
That's rational knowledge earnt by a long, unconvenient experience.
Regards,
[ "Faré" | VN: Уng-Vû Bân | Join the TUNES project! http://www.tunes.org/ ]
[ FR: François-René Rideau | TUNES is a Useful, Nevertheless Expedient System ]
[ Reflection&Cybernethics | Project for a Free Reflective Computing System ]
The superior man understands what is right;
the inferior man understands what will sell.
-- Confucius
>> Dear readers,
>> I'm sorry about this much too long a message.
>Until we will see some real code you will stay in my kill file.
Rainer, I find myself a little curious about the origin of this hatred.
It's none of my business, though, so rather than explain again, why don't
you confine your otherwise contentless expressions thereof to a private
email to Fare?
Real code isn't needed. Rideau has (with much help) already produced one
of the biggest helps to OS developers yet -- a thumbnail survey of
existing work.
Not every necessary task is noble.
And not every useful deed is a main goal. Even if Tunes is never finished
the useful deed is done.
--
-William "Billy" Tanksley
> >Until we will see some real code you will stay in my kill file.
>
> Rainer, I find myself a little curious about the origin of this hatred.
I just think it is a waste of time and it has been for several years.
Though I'm open for a surprise.
> Real code isn't needed. Rideau has (with much help) already produced one
> of the biggest helps to OS developers yet -- a thumbnail survey of
> existing work.
So you think it is useful??? I mean, I won't trust for example
the description of Common Lisp/Lisp/Scheme on his pages.
http://www.tunes.org/Review/Languages.html
My comments below the sentences:
Common LISP
LISP
Common LISP is a dialect of the LISP family of languages. See the
according information below.
So much is true.
Description
Common LISP is the result of a standardization effort by Lisp
vendors started with the commercialization of LISP in the early 80s.
Is that sentence true? Commercial Lisp systems were available earlier.
Who started the the standardization effort? There were lot's
of universities involved.
Because it strived toward backward compatibility with existing Lisp
systems, the result is a huge monolithic ANSI standard language,
with hundreds of built-in constructs for a megabyte worth of run-time
system (not talking about add-on modules).
Common Lisp is a huge monolithic ANSI standard language because it
"strived toward backward compatibility with existing Lisp systems"?
This sentence does not make sense to me.
Compared to existing Lisp systems it was even a *simplification*.
However, the advantages of programming in Common LISP cannot
be overestimated: everything a programmer usually needs is in the
library,
Which is wrong. Common Lisp has nothing identifyable as a "library". Several
things one usually needs are not in Common Lisp (GUI, threads, FFI,
CLOS streams, ...).
the object system is (quite) well integrated with the type
system
This is debatable.
and the condition system (which is unique on its own).
Yeah, what about the condition system? The Lisp machine had a condition
system before - can't be that unique.
Greenspun's Tenth Rule of Programming states that "any sufficiently
complicated C or Fortran program contains an ad hoc
informally-specified bug-ridden slow implementation of half of
Common Lisp".
Nice anecdote. Doesn't help, though.
Books about Common LISP
For many years, the de facto Common Lisp standard has been
`Common Lisp: the Language' (CLtL), edited by Guy Steele. The
(current) second edition (CLtL2) is available in electronic form,
among others (in the States) from Carnegie Mellon University, as
well as (in France) from Supelec
The Common Lisp HyperSpec is the definitive ANSI standard made
Kent sure would have to say something about the wording above.
available as hypertext from Harlequin (download or browse)
Franz has a searchable archive of their own electronic version of the
standard.
...
Free Implementations of CommonLISP
CMU CL 18b is a deadly fast free compiler for
CommonLISP.
CMU CL "is" not a compiler - it has a compiler. The compiler of
CMU CL is "python".
I'd say CMU CL is fast for some areas. Slow for others
(CLOS comes to my mind).
Bruno Haible's CLISP is a portable and compact
implementation of CommonLISP written in C and using
bytecode. Does not implement the full CLOS MOP.
The following two are not free software, but have binaries
usable free of cost for non-commercial purpose:
Franz Inc. sells its commercial system Allegro CommonLISP
on most platforms. Version 5.0 of ACL for Linux is available
free of charge for download.
"Free" for non-commercial use with a time limited license.
Harlequin sells its commercial system LispWorks and Liquid
Common LISP (bought from the dead Lucid). The personal
edition for Windows can be downloaded free of charge.
The Personal Edition is nice, but crippled.
Free software packages written in Common LISP
CL-HTTP, the Common Lisp Hypermedia Server, is the
most configurable web server ever.
On what base is this judgement being made? Did I miss the web
server configurability comparison?
Closure is the dual of the above, a web client written in CL.
We are in the early stages here...
Mockmma: a Common Lisp package and libraries that
implement a symbolic math language compatible with
Mathematica(tm)
Ever tried Mockmma?
Critique
See Generic critique for LISP languages
Sigh. Left as an exercise to the fearless reader...
Pros
1.It is an ANSI standard.
Sure - but why is it a pro? Could also be a "Cons".
2.Both interpreters and compilers of good quality are
available, and new ones are easy to design, making
development easy, and portability quite good.
I'd never underestimate the effort to design and implement
a Common Lisp system.
3.It has a most advanced object system with generic
functions and multiple dispatch (CLOS), a unique
feature about widely implemented languages.
4.The object system (CLOS) has got most advanced
reflective features through a Meta-Object Protocol
(MOP)
5.Functional programming allows good factorization
of programs, so that added features take very little
space as compared to non-functional programs.
??? What space? Runtime? Compile time? Source? What is very little?
6.It has a powerful standardized macro system
7.It has got a package system.
8.It has got a powerful library of builtin features.
9.You can declare types to achieve very efficient
compiled code.
Largely depends on the compiler.
Cons
1.the standard has got too many legacy features
nobody uses.
Who has made a survey? Where is the reference?
2.many essential features for a modern language are
not standardized (notably threads), and how it is
implemented (or not) on each implementation varies.
Can you really standardize them across different operating systems?
3.The object system's semantics does too many things
dynamically at run-time.
Really? Broad claim with no discussion why things are the way they are.
4.The Object and Meta-Object system is too much
based on side-effects
???
5.Though today's machines have more than enough
memory to run CL (which was not the case in the
early days of CL), CL still takes too much space to
be used in embedded environments.
See -> spacecrafts and robots.
6.The macro system does not have as clean semantics
as it should.
What is he talking about? Are there serious problems with
the *semantics* of the Common Lisp macro system?
7.its module system offers no security at all.
Common Lisp has "real" module system to speak of.
8.The too many builtin features are not orthogonal
enough.
Ask people which one we should delete...
9.There is no standard way by which the system
would statically check declared types and infer new
ones as a tool for enforcing static invariants and
tracking bugs.
There is not even a standard for a Lisp "system"...
Btw., is it Common Lisp, CommonLISP, CL, Common LISP, or what?
you're insane, Francois-Rene Rideau. end of discussion.
> 7.its module system offers no security at all.
>
> Common Lisp has "real" module system to speak of.
Should be:
Common Lisp has no "real" module system to speak of.
Sorry.
Erik> * Francois-Rene Rideau <far...@SPAM.tunes.org> | Yours is a
Erik> cast-based society, with various degrees of citizenship, and
Erik> a | central almighty ruler, the vendor.
Erik> you're insane, Francois-Rene Rideau. end of discussion.
I disagree. I know François-René (aka Faré) Rideau personnally and he
is not insane. I do agree he might have non-classical ideas (some of
which I share with him).
I leave up to the readers to take any conclusions about Erik Naggum's
arrogant attitude.
(and I did'nt found any personnal attacks -against Erik in particular-
in Faré postings)
--
Basile STARYNKEVITCH - 8 rue de la Faiencerie, 92340 BOURG LA REINE (France)
tel 01.46.65.45.53. email = basile point starynkevitch at wanadoo point fr
http://perso.wanadoo.fr/starynkevitch/basile
antispam: <ab...@wanadoo.fr>
someone who is unable to see the difference between living in a country
with a cast system and an almighty rulers, which is an inescapable and
universal condition, and choosing to deal with something who has
something to offer, is clearly so out of his mind that he has but two
options to be respected: to commit himself or to retract the insanity.
| I leave up to the readers to take any conclusions about Erik Naggum's
| arrogant attitude.
how cute.
| (and I did'nt found any personnal attacks -against Erik in particular-
| in Faré postings)
I think accusing people of wanting dictatorship and feudalism because
they don't agree with some person's idea of what freedom entails is a
very fundamental personal attack. obviously you think it's perfectly
legitimate to accuse people of such things without consequence, so I'll
leave it to the readers to decide how to deal with people who gang up on
other debaters to accuse them of such things.
Erik Naggum <er...@naggum.no> writes:
> I think accusing people of wanting dictatorship and feudalism [...]
Again, you're reading too much in other people's post.
My post are long enough that I don't feel the need to make them
even longer by stating that obvious metaphors are such.
BTW, what is the software equivalent of a metaphor?
[ "Faré" | VN: Уng-Vû Bân | Join the TUNES project! http://www.tunes.org/ ]
[ FR: François-René Rideau | TUNES is a Useful, Nevertheless Expedient System ]
[ Reflection&Cybernethics | Project for a Free Reflective Computing System ]
On static vs dynamic binding:
If you call a tail a leg, how many legs has a dog? Five?
No! Calling a tail a leg doesn't make it a leg.
-- Abraham Lincoln (?)
do you seriously believe that I didn't see it as a metaphor?
perhaps you don't understand what a metaphor is. it is a rhetoric device
to communicate _several_ levels of similarity between otherwise disjoint
and dissimilar phenomena, and not just any similarity, but _essential_
similarities. you can't choose just a few similarities, and ignore the
fact that what you compare to has other qualities and pretend they don't
matter. all methaphors break down at some point, because the phenomena
are not in fact as similar as the metaphor tries to communicate that they
are. when a metaphor breaks down before it has had a chance to show its
function, it is a bad metaphor. when a metaphor is so rabidly dissimilar
from anything reasonable associated with the other phenomenon, in this
case the use of force and power, when the whole concept of contract and
business is based on the premise of freedom of action and absence of
force and power, the metaphor is no longer a metaphor, it is as good a
rhetoric device as comparing someone's argument to something Hitler said
-- regardless of whether he actually said it, which is no excuse at all.
I'm reminded of the kind of people who are clearly inept at communication
but who claim to be have been _ironic_ as soon as someone tries to take
them seriously and struggle to understand what they try to say.
there is no doubt that you consider vendors an evil force that cannot be
controlled except by the means required to oust "almighty rulers": guns.
that may be true for you, since you obviously can't argue your case, but
it is a very strong argument for not talking to you again until and
unless you prove that you are able to understand such differences.
[I said:]
> | Oooops. Quite right. I'm a twit. My apologies to #\Erik.
>
> that's OK, but it's been a while since I signed off with #\Erik. ;)
I know this. I just happen to like it better than #:Erik, because
of the pun on the word "character".
> let me put it this way: I dread the situation where software is written
> by people who are satisfied with name recognition and status among their
> peers -- we'll just get MS-DOS all over again.
I don't know what planet you're living on, but here on Earth the people who
brought us MS-DOS were definitely not content with mere name recognition and
status among their peers. In fact, it would be hard to find a better
example of a product of the profit motive than MS-DOS and its progeny.
MS-DOS is the perfect example of what you get from people who care about
money more than they care about status. Microsoft got where it is precisely
because Bill Gates is the good businessman you wish other computer
scientists would be. It's not that Bill doesn't *care* about status; he
cares very deeply. It rankles Bill severely that people think Microsoft
isn't innovative. But Bill cares about money more, so he puts his energy
into being a good (if not necessarily ethical) businessman. The result,
predictably, is poor software.
It's predictable because the profit motive is fundamentally at odds with
quality. You lose money when you try to increase quality past the point
of diminishing returns, which, by definition, is the point where the
majority of your customers stop caring. And most people have pretty
low standards. The only way to get better than the least common
denominator is to find a motivation other than money, whether it's
status, an artistic passion, or simply an innate desire to do the Right
Thing.
Erann Gat
g...@jpl.nasa.gov
* Erann Gat
| I don't know what planet you're living on,
I didn't know there were any alternatives, but I'll gladly yield to your
superior experience.
| the people who brought us MS-DOS were definitely not content with mere
| name recognition and status among their peers.
ignorance of the MS-DOS success story is beginning to become a problem,
but I thought it was hard for anyone here to be completely clueless.
what made MS-DOS a success was its hackability. yes, you read that
right. if you don't believe me, go back to the computer magazines of the
early eighties and read about hijacking system calls, installing device
drivers, faking networks, getting "undelete" to work because the stupid
file system only nuked the first byte of a file's name, but left the
index blocks intact, etc, etc. people who did this stuff talked among
their peers, and got a whole lot of name recognition. the only guy who
really did make money on this was Peter Norton with his Norton Utilities.
no source was ever necessary, by the way. people could read assembly
language back then, and it was written in assembly language, anyway.
| Microsoft got where it is precisely because Bill Gates is the good
| businessman you wish other computer scientists would be.
*puke* _you_ really must be from a different planet. Bill Gates is the
single most dishonest and despicable man on the planet, not because he's
rich, which is a function of stupid people who continue to buy from him
and that's their fault, not his, but because he cannot be trusted at all,
and he keeps rewriting history to make himself _so_ good, when in fact he
began by lying through his teeth to the Altair guy, and that lie told
young Bill Gates at an impressionable age that only suckers are honest.
he also stole computer time from Harvard and got away with it, which is
also important in someone's formative years. he's nothing but a crook.
I hope no person ever will emulate what made him successful: fraudulent
marketing and pie-in-the-sky promises that he never kept. he's not
decent and upright like Coca-Cola Company who sell an image but make
people pay for a basically worthless softdrink. Bill Gates capitalizes
on people's hopes for the future by making sure that he never gives
anyone enough, because that'll make them stop wanting to buy the next
version. it should be enough to mention the "success" of the early
Windows operating system for people who aren't just visiting from an
alien planet and pronounce their judgment in a total vacuum of knowledge
of history. the stability of the Windows API should be evidence enough
for those whose memory cells only hold a single years' worth of changes.
| It rankles Bill severely that people think Microsoft isn't innovative.
ha! obviously not enough to make it innovative, which isn't _that_ hard.
| It's predictable because the profit motive is fundamentally at odds with
| quality.
come again? on this planet, this actually translates to "quality is
fundamentally at odds with what people are willing to well pay for".
| You lose money when you try to increase quality past the point of
| diminishing returns, which, by definition, is the point where the
| majority of your customers stop caring.
this and the above taken together must mean that "quality" is inherently
meaningless until you _pass_ the point of diminishing returns, and this
means (through your correct definition) that quality is _defined_ as that
which the majority doesn't care about.
well, doh, if quality is _defined_ to be more than anyone is willing to
pay for, of course it isn't profitable to make anything of "quality".
please reconsider your definitions. it isn't your view of the profit
motive that is at odds with reality, it's the stupid and arrogant belief
that all people want to pay for is non-quality products.
| And most people have pretty low
| standards. The only way to get better than the least common denominator
| is to find a motivation other than money, whether it's status, an
| artistic passion, or simply an innate desire to do the Right Thing.
it must be hard on an alien on a tourist visa, but here on earth, we have
this concept of _different_ markets, each with its local value of the
least common denominator, because each market addresses different people
with different needs.
the mass market is _not_ the only market. the only thing we can say for
sure in this business about those who believe that is that Bill Gates
profits even more by having as many people disregard every other market.
but I gotta give Bill Gates this: not since Joseph Göbbels has any one
man been able to lead so many people right into such a disastrous future.
(keep in mind that I admire Joseph Göbbels for his work and his insight
into good propaganda, which virtually every marketing person on earth
employ: he was the first propaganda minister to understand that you can
accomplish more through entertainment than with information, but I still
think it's truly horrible that the West had to invent modern marketing
just as it destroyed a nation and caused the deaths of millions of
people, but there is no doubt about it: withour Joseph Göbbels' efforts
in the last few weeks of the war to keep up the spirits of the people and
to exploit their last remnants of a belief in a better future, just like
Bill Gates keeps doing, a tremendous amount of suffering could easily
have been avoided.)
> here's my line: don't _ever_ grin and bear it, speak up when you aren't happy
> with what you experience. you'll piss a lot of people off for a while until
> they figure out that you are actually very happy when you are happy with
> things and that most things actually do improve when you care to express your
> concern, and then it dawns on a few people that _because_ you consistently
> speak up, you don't bear grudges or get bitter at people for not caring. if
> you can't accept something, don't.
There has been a long history of shooting people for this :-(
Best Regards,
:-) will
|...|
> [Bill Gates] also stole computer time from Harvard and got away with it
|...|
This makes me mildly curious---is there any publicly available
information on the Internet about this which gives more details?
> * Erik Naggum
> | let me put it this way: I dread the situation where software is written
> | by people who are satisfied with name recognition and status among their
> | peers -- we'll just get MS-DOS all over again.
>
> * Erann Gat
> | I don't know what planet you're living on,
>
> I didn't know there were any alternatives, but I'll gladly yield to your
> superior experience.
Yeeha! Here we go...
> | the people who brought us MS-DOS were definitely not content with mere
> | name recognition and status among their peers.
>
> ignorance of the MS-DOS success story is beginning to become a problem,
> but I thought it was hard for anyone here to be completely clueless.
> what made MS-DOS a success was its hackability. yes, you read that
> right. if you don't believe me, go back to the computer magazines of the
> early eighties and read about hijacking system calls, installing device
> drivers, faking networks, getting "undelete" to work because the stupid
> file system only nuked the first byte of a file's name, but left the
> index blocks intact, etc, etc. people who did this stuff talked among
> their peers, and got a whole lot of name recognition. the only guy who
> really did make money on this was Peter Norton with his Norton Utilities.
Ignorance of basic principles of logic is beginning to become a problem.
Just because MS-DOS was hacked more than other OSes of its day
does *not* imply that MS-DOS was more easily hacked. And just because
all the hackers *got* was name recognition does not imply that that is
all they *wanted*. And just because MS-DOS was hacked a lot it
certainly does not follow that MS-DOS's commercial success was a
*result* of this hacking.
Here's an alternative theory: MS-DOS succeeded because the IBM PC
succeeded, and the IBM PC succeeded because business people, largely
ignorant of technology but with deep pockets, trusted IBM. People
did not buy DOS because it was being hacked, but because they
wanted to buy IBM PC's and Bill Gates shrewdly saw to it that if you
wanted to buy a PC you had no choice but to buy DOS to go along with it.
People hacked DOS not because it was easy but because they saw business
opportunities in remedying DOS's deficiencies.
Now, on what basis do you claim that my theory is so implausible that
I am "completely clueless" for not immediately recognizing your theory
to be the One True Explanation of the success of MS-DOS?
> | Microsoft got where it is precisely because Bill Gates is the good
> | businessman you wish other computer scientists would be.
>
> *puke* _you_ really must be from a different planet. Bill Gates is the
> single most dishonest and despicable man on the planet,
I think that's a little extreme, but I basically agree with the
sentiment. He is, nonetheless, a very good businessman -- in no small
measure because he is a very good liar.
> | It rankles Bill severely that people think Microsoft isn't innovative.
>
> ha! obviously not enough to make it innovative, which isn't _that_ hard.
I believe that being innovative is extraordinarily difficult. In my
experience it is hard for people to even *recognize* a true innovation
except in hindsight, let alone come up with one themselves.
> | It's predictable because the profit motive is fundamentally at odds with
> | quality.
>
> come again? on this planet, this actually translates to "quality is
> fundamentally at odds with what people are willing to well pay for".
Yes, that's exactly what I meant. Most people are not willing (or not
able) to pay for quality. Most people don't even know how to tell the
difference between high quality and low quality.
> | You lose money when you try to increase quality past the point of
> | diminishing returns, which, by definition, is the point where the
> | majority of your customers stop caring.
>
> this and the above taken together must mean that "quality" is inherently
> meaningless until you _pass_ the point of diminishing returns, and this
> means (through your correct definition) that quality is _defined_ as that
> which the majority doesn't care about.
>
> well, doh, if quality is _defined_ to be more than anyone is willing to
> pay for, of course it isn't profitable to make anything of "quality".
Robert Pirsig wrote an excellent book (Zen and the Art of Motorcycle
Maintenance) on the topic of how hard it is to define the word "quality"
But metaphysics aside, a take quality to mean "a degree of excellence,"
the definition in Webster's. So my claim is not vacuous. It is that
the vast majority of people settle for "satisfactory" and are unwilling
to pay for "excellent." (This is just Dick Gabriel's "Worse is Better"
argument.)
C++ is satisfactory. Common Lisp is excellent. Which one are more
people willing to pay for?
> please reconsider your definitions. it isn't your view of the profit
> motive that is at odds with reality, it's the stupid and arrogant belief
> that all people want to pay for is non-quality products.
This is not a belief, it is an empirical observation. I wish things
were different.
> | And most people have pretty low
> | standards. The only way to get better than the least common denominator
> | is to find a motivation other than money, whether it's status, an
> | artistic passion, or simply an innate desire to do the Right Thing.
>
> it must be hard on an alien on a tourist visa, but here on earth, we have
> this concept of _different_ markets, each with its local value of the
> least common denominator, because each market addresses different people
> with different needs.
>
> the mass market is _not_ the only market. the only thing we can say for
> sure in this business about those who believe that is that Bill Gates
> profits even more by having as many people disregard every other market.
The mass market *is* the only market when what you are selling is
infrastructure. Operating systems and programming languages are
infrastructure.
> but I gotta give Bill Gates this: not since Joseph Göbbels has any one
> man been able to lead so many people right into such a disastrous future.
Your continued comparison of Microsoft to the Nazis diminishes the
horror of the Holocaust, and I find it quite offensive. Unethical
business practices, no matter how egregious, do not deserve to be
compared to even a single murder, let alone millions upon millions.
Erann Gat
g...@jpl.nasa.gov
actually, it does. if you had been visiting this planet earlier, you
would have seen the small computer magazines that had loads and loads of
details on how things worked and how it could be exploited. heck, I even
have a few disks, copyright 1987 and 1991 by Dave Williams, called DOSREF
2.0, which contains a _wealth_ of information, much more than I got out
of the Linux sources and documentation in equal reading time.
| And just because all the hackers *got* was name recognition does not
| imply that that is all they *wanted*.
no, that's certainly right. the early MS-DOS world was also the biggest
contributor to the _shareware_ culture, where people got free software
with some functional restrictions and then paid other people some trifle
amount of money for the real thing. some people got rich off of this, in
particular Peter Norton, which I even actually _mentioned_ in my reply,
but most people just got enough money to keep having fun doing it.
(which is much better than what Free Software is doing, anyway.)
| And just because MS-DOS was hacked a lot it certainly does not follow
| that MS-DOS's commercial success was a *result* of this hacking.
yes, it does. what made MS-DOS a success at all was that people were
talking about all _over_ the place. it was obviously useful on the new
fancy machines of the day, but it was so hideously crippled and useless
that every user _had_ to talk to his friends to be able to use it, and
they were, lo and behold, able to supply all kinds of nifty tools. this
is how you build a community of users, and it this community of young
people who had gotten themselves familiar with the Microsoft version of
CP/M, basically, who grew up and became influential in some particular
segments of our industry. without these people, the fate of MS-DOS would
have been that of the Amiga, which also had its share of devotees, but
which didn't reach (un)critical mass.
| Here's an alternative theory: MS-DOS succeeded because the IBM PC
| succeeded, and the IBM PC succeeded because business people, largely
| ignorant of technology but with deep pockets, trusted IBM. People did
| not buy DOS because it was being hacked, but because they wanted to buy
| IBM PC's and Bill Gates shrewdly saw to it that if you wanted to buy a PC
| you had no choice but to buy DOS to go along with it. People hacked DOS
| not because it was easy but because they saw business opportunities in
| remedying DOS's deficiencies.
there _were_ no business opportunities at first. people in suits didn't
buy hacker's tools -- if the machines were bought by suits, they were
used as the terminals they were intended by IBM to be, but that is NOT
what made the PC a success. you don't see business opportunities fixing
broken things _until_ you have hacked it enough to see that it is indeed
fixable. somehow, people had to figure out a way to fix these things,
and those were not people in suits and ties who trusted IBM. I know this
very well -- I got my own first computer in 1979 (not an IBM PC, but an
Exidy Sorcerer), and basically grew up on the University computing center
computers (DEC-10s) and joined clubs who had fun with real computers, but
a bunch of people about my age and older got IBM PC's or even better
machines, like the Apricot, but that came a little later, I think. these
guys didn't trust IBM any more than any other company, probably less.
they studied our machines like we all did at the time. heck, I got my
high school to buy an AIM-65 for me back in 1978 so I could play with
scheduling rooms and teachers and classes (I didn't know how hard it was
supposed to be, so I just did it). and the kind of stuff people were
figuring out about the 6502 and the Commodore and stuff. I tell you:
this stuff took off because millions of pages of computer magazines had
stuff that young aspiring nerds could have fun toying with. Microsoft
has also (correctly, marketingwise) targeted the home, and not primarily
the offices, because they did understand that people will want to use the
same machine at home and at the office, but it's a lot harder to make
them take their office machine home if it's a fancy mainframe terminal.
Microsoft _still_ believes that the home is where the decisions are made.
| Now, on what basis do you claim that my theory is so implausible that I
| am "completely clueless" for not immediately recognizing your theory to
| be the One True Explanation of the success of MS-DOS?
gee, _that_ is a useful argument! I'm not sure how stupid you are, but I
have never seen anyone but idiots use the "One True X" argument, for any
value of X. if you have a personal problem reading explanations that you
somehow think somebody else believes is elevated to divine doctrine, see
a shrink, don't bother any other people with your problems, OK? however,
I must assume now that you have as your main agenda to _disprove_ what
you stupidly believe is held to be One True Explanations, and will refuse
to listen to it, no matter the argument, instead of trying to provide
useful input. sheesh.
| I believe that being innovative is extraordinarily difficult. In my
| experience it is hard for people to even *recognize* a true innovation
| except in hindsight, let alone come up with one themselves.
the problem is that you can't grow huge if you are good at innovating and
once you grow big enough that you have all the money and all the people
that could make just about any good thinker innovative, you're so deep in
organizational quagmire and a culture of just getting stuff out the door
that you can't afford to be innovative no matter how much money you have.
Microsoft is not the only company to have run into that particular fate.
| > on this planet, this actually translates to "quality is fundamentally
| > at odds with what people are willing to pay well for".
|
| Yes, that's exactly what I meant. Most people are not willing (or not
| able) to pay for quality. Most people don't even know how to tell the
| difference between high quality and low quality.
this is your fundamental view of people, but not a fact of nature: it is
in fact wrong. (and before you crank up the One True X bullshit again:
it is obviously possible to ascertain that something is false without
even having a clue what is actually correct.) the reasons you think it's
right are quite interesting, however: it isn't low quality that people
buy, it's fun factors, image, coolness, and it is intended to be thrown
away because it's basically a marketing gimmick. high quality comes with
lower fun factors, it takes longer to get to market, is less cool and has
a very different image in most cases, such as conservativeness and family
values like prudence and taking good care of things. however, the kind
of serious market research that companies who actually want to stay in
business conduct to learn more about their customers do show that people
don't buy the cheap nifty thing the _second_ time they buy the same
thing, but instead evaluate whether they need it, and if they do, buy
much higher quality products. people do get mad when things break in
their hands, but that never keeps them away from fun and cool stuff.
now, if you really are a visiting alien, which I'm beginning to suspect
for real, you would not see this in the extremely high profile marketing
channels like TV and catalogs and such, but you would find that most
people over 25 (used to be 30) don't buy into the same kind of craze.
young people don't wnat quality, they want cool. mature people know what
money is worth and don't want to waste it on crap, but they aren't even
reachable through the same channels that sell nifty crap to young people.
in a culture that looks to youth as if it were the only part of life
worth living, it is understandable that young people don't think people
in general want high quality and endurance and other qualities, but it's
an amazing fact (to some) that mature people have a lot of money and use
it well. to others, it's the bloody obvious.
you talk about people who trust IBM and have deep pockets and who fit the
mature person model, yet you don't understand that these people are the
_last_ to buy crap twice. that's why Bill Gates has to be so darn smug
about how he's improving and innovating and making the _next_ version be
as good as a completely new version that you'll buy because it's fun and
new and all that.
| C++ is satisfactory. Common Lisp is excellent. Which one are more
| people willing to pay for?
C++ isn't satisfactory anymore. it has lost its coolness and fun factor.
some companies nearly croaked on their C++ "investment", like Borland,
and we might never learn whether they recovered their losses on C++ or on
other products, but people have not been paying for C++ per se. they
have been paying for the ability to program Windows. I know a whole lot
of programmers all over the world, and very, very few of them have any
sort of _appreciation_ for C++. people are strongly dissatisfied with
low quality, and deeply frustrated that they can't get out of it. those
who can, rejoice. I have had four people call me in the past week and
tell me they were _so_ happy that I had argued against C and C++ and
given them free CD's with Allegro CL on to try and play with. they just
didn't _know_ about any alternatives, because it isn't marketed on the
radio in the middle of techno and dance music programs, targeted at the
same people that Joe Camel got a restraining order for talking to.
| This is not a belief, it is an empirical observation. I wish things were
| different.
then open your shut eyes and look again. you didn't see _all_ the world
in its glorious complexity and diversity the last time you looked: the
people who matter the most are always the least visible. if you live by
the popularity contest, you will die by the popularity contest, and he
who controls the popularity contest decides who lives and who dies, which
is where the real power lies.
| The mass market *is* the only market when what you are selling is
| infrastructure. Operating systems and programming languages are
| infrastructure.
oh, so is _this_ a One True Explanation, Erann? what if that's just a
point of view that happens to fit your very simple models, but not the
inherent complexity of the world?
| Your continued comparison of Microsoft to the Nazis diminishes the horror
| of the Holocaust, and I find it quite offensive. Unethical business
| practices, no matter how egregious, do not deserve to be compared to even
| a single murder, let alone millions upon millions.
I have not compared anything to the Holocaust, you hyper-sensitive twit.
if you have nothing better to do than to accuse people of things they go
out of their way not to say, I suggest not doing it here.
upon reading your last paragraph, I'm _sure_ that you are visiting alien
and that you'll be called back to your mothership or whatever very soon.
thank you for visiting our planet and for letting me know that there are
other planets to come from than earth.
Please hold it right there: That particular comparision was between the
propaganda machine led by the infamous Mr Göbbels, and the propaganda
machine that Microsoft is running. In other words: Mr Naggum was comparing
two *very* rotten apples, not the orchards that produced them.
======
Apart from that, I would like to take up one other thing. You wrote:
> The mass market *is* the only market when what you are selling is
> infrastructure. Operating systems and programming languages are
> infrastructure.
Not necessarily.
Let us take as an (admittedly somewhat farfetched) example a modern
nuclear power plant, which is running under a computerized control
system, supervised, of course, by human operators, but essentially
relying upon the flawless running of a real-time computer system and
corresponding software.
Now, imagine that this setup was based on a less than perfect system
delivered by, oh, let's say, a certain Redmond-based company...
Would you like to be a next-door neighbour of that particular plant ?
Or, to take less drastic examples, factories of the process industry,
where the production is expected to run continously, and where unexpected
downtime could cost the company a very real amount of <insert currency unit>
every minute.
Or let us talk about infrastructure: How about the electrical power grid
serving New York City going down on average once a week, because the
computerized control system is less than perfectly stable.
The two points I want to make here, are:
1. That your description of operating systems and programming languages
as "infrastructure" and therefore a mass-market, "good enough for
the punters" phenomenon, is quite a distance removed from the complete
picture.
2. That infrastructure in most (no, *all*) cases actually need to be of
quite a bit better quality than the elevated crap that is emanating from
the sewers of Redmond, Wa.
Apart from the points mentioned above you may be right...
-akr
--
Arne Knut Roev <akr...@online.no> Snail: N-6141 ROVDE, Norway
=
James, you ought to discover some day that words have an exact meaning.
I think we have to seperate three basic kind of source access:
- give source to people who want it, based on some conditions, but
don't allow them to redistribute the modified version freely, and
don't guarantee that everyone will get the license. This is what Sun
does with its Java products and probably with the Staroffice suite.
- give source to everyone and don't care what they do. BSD license,
public domain (CMUCL).
- give source out and try to enforce distributing developed versions.
GPL.
People seem to fear that the two latter options will produce too much
junk software.
They prefer the first model, because it doesn't let out software
packages that aren't verified to be good, but on the other hand, it
allows serious users to find and fix bugs, to understand code that
isn't properly documented and even extend the software for their own
needs.
Eric, Kent, I would welcome a quick notice whether this is an
appropriate summary of your optinions.
I disagree with this view.
Reasons:
1)
The junk free software package that are out aren't usually not derived
from sources that were once under real development control, they're
home-grown by inexperienced programmers.
Example: If you look at what became out of the BSD4.4 sources that are
licensed under model 2, you will see that they in fact lead to three
seperate free projects, FreeBSD, NetBSD and OpenBSD. But if you look
under the hood, you'll see that everyone of them has a clear direction
that seperates it from the others and -more important- that the code
quality is generally excellent.
The first really free BSD derivate was 386BSD. The original author
misdeveloped it (simplification). If it was under license model 1,
free BSD systems would have died. It way under model 2 and people took
the sources and made something better, without producing uncontrolled
junk.
Example: I might be biased, but I also see the development of CMUCL
after CMU dropped the project in a very positive light. There is just
one project, although people would be free to branch as much as they
would like. Only two people have the authority to actually modify the
code. All other people ask them to commit their changes and so far no
problems arose.
2)
Commercial companies have shown a long history of producing inferiour,
not superiour versions of existing software as it develops.
In general, software degenerates in that it is developed to be easier
to use in first place, but that serious users won't get the
productivity increase one should expect from really digging into a
package. The increasing instability of commercial software (can you
say windows) is just one example. Look at SPSS and its newer windows
versions.
I'm afraid that the advocates of the first license model in this group
are mislead by the fact that Lisp companies usually don't fall into
this trap, because they have no hope to make money from stupid users.
That doesn't change the fact that the class of software packages that
suffer from this phaenomenon is so large that even most of us can't
avoid touching it.
In my opinion, source code that might be taken away and branched from
the development of the original author is much more useful. Practice
has shown - and I can add more examples that those above - that this
option will be used only when nothing else helps. People have proven
that they make good use of this model.
Under the first license model, a tool I use might be taken away from
me (by dropping it or misdeveloping it). I only rely on tools that
can't be taken away from me. I learn rather slow and custumize highly,
loosing a tool would be a serious problem for me.
I'd like to add that I can understand your concerns when I look at the
casual users. In fact, they choose software on very weak measures and
there would be a real danger that people's bad choices push the worse
of two development branches and the better one dies.
But -and I think that's the reason why your opinions differ from mine-
in practice there are no developers who make bad branches of free
software, so the users can't choose the worse.
Happy Lisping
Martin
--
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Martin Cracauer <crac...@bik-gmbh.de> http://www.bik-gmbh.de/~cracauer/
"Where do you want to do today?" Hard to tell running your calendar
program on a junk operating system, eh?
> Eric, Kent, I would welcome a quick notice whether this is an
> appropriate summary of your optinions.
Not a good summary of MY opinions, for what that's worth. I'm just
one person and there are a lot of other people you might be summarizing,
but not me. I don't have time to explain why right now. Maybe later.
Just for example, though, my feelings are not anything at all to do
with junk software. I believe there will always be junk software and
(as long as you don't use it) it's probably healthy that it be there.
My feelings are largely based on the issue of incentive. Free
software makes no incentive to create things. I am a creative person.
If you tell me I can't make money creating software, I'll create
something else that can make money. My goal in life is FIRST to feed
myself and give myself independent personal autonomy of choice in my
life. Once I'm independently wealthy (and I won't get there with free
software) and don't have an employer to tell me what to do, I'll be
happy to do things for the public good as I see it. (But even then, I
probably wouldn't give things away. Because people who receive free
things, whether food or software, don't understand the value of it.
I'd rather contribute to education, for example. And no, I don't
think having a heap of software in your house means you can educate
yourself any more than I think having a gun and a target means you
don't need education in how to shoot.)
> I disagree with this view.
I recognize your desire to aggressively move ahead on this, but you're
responding to straw men that are not me. Have fun. If I get more time,
I'll restate my position for you to take potshots at, but this isn't me.
We also have to separate the question of "what will happen when
I provide/have different kinds of source access?" from the question
of "what kind of access options can I provide for source that I
produce?" Some seem to think that they're entitled to do whatever
they want with what I produce, that I can not place restrictions
on what they can do with my products. Others seem to think that
I can place any restrictions I want on what I produce (so that other
people must do without/find a different producer if they don't like
my restrictions), leaving other people (or me at a different time)
the option to make a different choice, even if, by some measure,
some of the restrictions may have "bad" consequences (from some
point of view).
-andy made a "bad" granola bar consumption choice today
yes, but not directly. my argument has been that source access works
against creating more dynamic and adaptable software, which is what
people really need, but they settle for the best they can get in the
static software world, which is source access. and for a while, source
access will give people better software than the first dynamic software
they can find will appear to be, especially in user interface gimmicks
and in scale of deployment, which is why the software that we will wind
up having after a few years will be less dynamic than what the dynamic
world has today, and invent new and probably stupid ways to be dynamic
along the way.
it seems, however, that people argue against my position based on the
belief that I fear that the free software that will be produced will be
of low quality in its _own_ realm. that is not the issue for me at all,
which I tried to communicate right up there in the Subject header. my
problem is that the best quality static software will remain less dynamic
than even low quality dynamic software is, and by encouraging source code
access, the dynamic properties won't evolve in static software, because
it will be easier to fix and recompile than to make the software more
adaptable to begin with.
| The first really free BSD derivate was 386BSD. The original author
| misdeveloped it (simplification). If it was under license model 1, free
| BSD systems would have died.
this is not a certainty, but I concede it _is_ a possibility with not
insignificant probability. the fear that projects will die seems greatly
exaggerated to me, and leads people to rush to conclusions because they
want to "save the source". (I'm reminded of environmentalists who don't
manage to care about larger issues than some particular thing that gets a
lot of attention.)
| Commercial companies have shown a long history of producing inferiour,
| not superiour versions of existing software as it develops.
commercial companies are somewhat like human races -- they are much more
diverse within the race than they are if you compare races to races.
those who make claims about whole races are generally knocked down for
it, but those who make broad and generalized claims about huge groups of
people along other axes appear not even to notice. I'm opposed to broad
generalizations along _any_ irrelevant axis.
commercial companies have varied so much in what they have produced that
I completely fail to see the value of such general statements. there is
ample evidence to support the contradictory conclusion, too, but for some
reason that evidence is disregarded. this smacks of an agenda that wants
to hide relevant facts.
| In general, software degenerates in that it is developed to be easier to
| use in first place, but that serious users won't get the productivity
| increase one should expect from really digging into a package. The
| increasing instability of commercial software (can you say windows) is
| just one example. Look at SPSS and its newer windows versions.
but Microsoft profits greatly from the instability and the upgrade-mania.
no other vendor in the software industry has exploited this property of
evolving software in a purely destructive manner for anybody but itself.
the sorry fact is that _anything_ that runs under Windows will rot in a
few years because Microsoft wants to rake in billions of dollars from all
the doofuses who think upgrading is going to solve all the problems that
Microsoft created for them in the first place. witness how people are
not at all understanding that Microsoft actively supports the spread of
viruses and hostile software on their platform. all the evidence shows
that Microsoft _actively_ creates new venues for virus producers to win
and for Microsoft to _appear_ responsive to these "criminals" who cause
Microsoft to earn lots and lots of money from people who fear that they
will be lost at sea if they don't upgrade. the reason I don't use any
Microsoft products is not that it wouldn't be cool to join the gang and
exchange Word documents by e-mail and all that fun stuff, it's that I
don't want to be held hostage by my own past decisions in the future.
| I'm afraid that the advocates of the first license model in this group
| are mislead by the fact that Lisp companies usually don't fall into
| this trap, because they have no hope to make money from stupid users.
and I think you're misled by the Microsoft horror story. as I have said
many times, I think the current embracement of Open Source is a reaction
to Microsoft's criminal conduct, and little else. I also think it will
succeed in exposing what a fraudulent operation Microsoft really is, but
the primary way to do that is to produce software that people can invest
in and keep running for years and years. so far, Open Source suffers
from the same problem that Microsoftish software does: it does not reach
closure and stability. _novelty_ is what motivates people in that camp,
too, not actual innovation. real innovative people leave good enough
alone, while novelty-seekers don't.
| That doesn't change the fact that the class of software packages that
| suffer from this phaenomenon is so large that even most of us can't avoid
| touching it.
well, it doesn't have to be contagious just because it's rotten. you
don't have to agree to its terms of existence to use it, either, but you
should _definitely_ consider not upgrading. just slow their engine down
and it will die and go away. don't renew licenses that you don't like.
it's that simple.
| Under the first license model, a tool I use might be taken away from me
| (by dropping it or misdeveloping it). I only rely on tools that can't be
| taken away from me. I learn rather slow and custumize highly, loosing a
| tool would be a serious problem for me.
so, _how_ did you lose it? don't you see that the reason it dies is that
you have succumbed to the "upgrade or die" myth? it's a lie, pure and
simple. _nothing_ dies if you don't upgrade. it just keeps working.
you just don't need to upgrade quality software, but if you are on a
support plan where you pay the same whether your software is upgraded or
not, that only means the people who support you think they can do a
better job if you do. this is very different form paying extra to
upgrade.
taking a look around me, I find that my accountant uses software he
bought in 1985 on a computer he bought in 1992, and he has no plans to
upgrade, because it does just what he needs it to do, and if he were to
upgrade, it would only be a giant waste of time and money. my girlfriend
still runs Windows 3.11 on an aging 486 at home because it does all she
needs it do. my trusty old SPARCstation from 1993 still uses the very
crisp and clear Sun M monitor, with production year 1987. it's basically
a good keyboard and a good X server and display for the brand new Linux
system I have, too, but that's immaterial. at my current client, we use
old Pentium Pros from 1994 or whatever that used to be Novell Net servers
as Lisp work horses, at exactly zero investment in hardware. we could do
that because we use Linux on them, incidentally. the even older machine
that runs Intel/Solaris is still in production use because it just hangs
in there.
now, I love new stuff, too, but not for its own sake. I don't buy used
stuff, but I expect whatever I buy to last for a good number of years,
and I treat it well so it does. software should be the same way: it's
silly to have to upgrade the software because a particularly evil vendor
has decided to make life hard for those who don't, only to notice that
everything slows down just beyond the tolerance point, so you have to buy
a new computer, too. _that_ is just plain crazy, but people believe in
this "upgrade or die" myth, so they learn to live with it.
| I'd like to add that I can understand your concerns when I look at the
| casual users. In fact, they choose software on very weak measures and
| there would be a real danger that people's bad choices push the worse of
| two development branches and the better one dies.
that's what happens. people choose the road with least immediate effort
at every juncture. what's important, then, is being able to make the
right and good choices become least-effort choices at a few junctions.
some people refer to this as "killer apps", but I have no interest in the
predatory world of such people. it's enough to change the habits of a
few people at first.
| But -and I think that's the reason why your opinions differ from mine- in
| practice there are no developers who make bad branches of free software,
| so the users can't choose the worse.
the reason your opinion differs from mine is that we don't consider the
same premises to begin with. I'm not primarily concerned with bad free
software, I'm concerned that when people get source, they will think
that's good enough that they won't try the even better dynamic software.
a dictum of successful implementation of changes in a production facility
is that the workers should be exposed to changes small enough that they
will embrace them, but big enough that they can't go back to the old ways.
failing to make them big enough will cause people to fall pray to habit.
failing to make them small enough will cause protests and problems. if
big enough is smaller than small enough, you have a permanent problem,
but the key to successful implementation of changes is to widen the gap
beforehand. I'll credit Microsoft with understanding this and making the
most of it, but they're doing a bad job and they exploit it so that
nobody but them _actually_ benefit from it. that can be changed, and it
doesn't take that big a change to do it, just small enough that people
will accept it, yet big enough that they won't ever turn back to the junk
from Microsoft. I think truly dynamic software can fill that position
with a few key tools and applications, but it must ride on the free
software for now, and therefore it is vitally importnat that people don't
see source as the answer to their _real_ problems, which is that software
doesn't behave they way they want it to, but also can't express well
enough that companies can respond to it.
>no, that is not the explanation, although some would have you believe
> that people can be forced to accept anything under threat of becoming
> destitute if they don't. the problem is not that they would become
> destitute, but that they want something so badly they will accept the
> worst possible conditions because there's something at the other end to
> hope for.
The "something" which they "want ... so badly" is not to starve. You've
quite obviously never spent much time among the working poor of the third
world. These people live quite literally, from week to week. For them, no
income means no food. With no government safety net, no food means death.
If they don't work at the low wages offered, they or their children simply
starve. The dead bodies of those who have starved in the streets that
these workers pass on the way to work each day are an ever present
reminder of how immediate their need to work is. So work they do, however
low the wage, however miserable the conditions.
Its quite easy to fault them for accepting such employment when you live
in a society with a complete social safety net, where no one ever starves,
no matter how long he's been unemployed. Unfortunately, this is not the
reality that many, if not most people live in.
Raf
--
Raffael Cavallaro, Ph.D.
raf...@mediaone.net
>Just for example, though, my feelings are not anything at all to do
>with junk software. I believe there will always be junk software and
>(as long as you don't use it) it's probably healthy that it be there.
Sure.
>My feelings are largely based on the issue of incentive. Free
>software makes no incentive to create things. I am a creative person.
>If you tell me I can't make money creating software, I'll create
>something else that can make money. My goal in life is FIRST to feed
>myself and give myself independent personal autonomy of choice in my
>life.
And I likewise. Oh, I'll also create software -- I won't stop just
because I'm not paid, because I enjoy it. I'm sorry to (in a sense)
compete against you, but that's what it comes down to.
>Once I'm independently wealthy (and I won't get there with free
>software)
Now this is an ENTIRELY different assumption, and is in fact falsifiable.
Unfortunately, as phrased I would have to provide an example of YOU
becoming independantly (etc); obviously, I can't.
However, there are actual people who HAVE become independantly wealthy
with free software, and there are many more people who make all their
money with free software. Red Hat; Cygnus; some of Sun's work; IBM; and
others of greater or lesser significance.
The main difference between open source and closed source (if I may use
those terms for a while) is the way distribution happens, NOT the way the
author gets paid. If you're a marketer specialized in software marketing,
then you have MUCH to fear from open source (but then there's evidence
that you have much to fear anyhow -- things are changing in other ways).
>and don't have an employer to tell me what to do, I'll be
>happy to do things for the public good as I see it.
But you *are* doing things for the public good. Why else would anyone
give you money?
>(But even then, I
>probably wouldn't give things away. Because people who receive free
>things, whether food or software, don't understand the value of it.
Who said anything about giving anything away? And why should you feel the
need to make sure everyone using your software understands its value? If
you try to carry out that desire, you'll wind up a VERY bitter person
indeed. Many artists have tried!
"You can lead a child to knowledge, but you cannot make him think."
--
-William "Billy" Tanksley
>> >Until we will see some real code you will stay in my kill file.
>> Rainer, I find myself a little curious about the origin of this hatred.
>I just think it is a waste of time and it has been for several years.
>Though I'm open for a surprise.
I assume you're talking about Tunes rather than open source software
(especially since Fare can hardly be blamed for the latter). My suprise
was your intensely personal and entirely off-topic reaction to an opinion
post.
I can certainly understand your opinion about Tunes, though. I differ
with you as to whether it's been that much of a waste -- I learn something
from the group with every message, although sometimes the lesson is "this
person does not understand this subject."
>> Real code isn't needed. Rideau has (with much help) already produced one
>> of the biggest helps to OS developers yet -- a thumbnail survey of
>> existing work.
>So you think it is useful??? I mean, I won't trust for example
>the description of Common Lisp/Lisp/Scheme on his pages.
>http://www.tunes.org/Review/Languages.html
Yes, I think it's VERY useful. I would have taken a LOT longer to get
around to learning Lisp were it not for the information he's given.
A couple of factual errors don't remove the usefulness.
>My comments below the sentences:
> Because it strived toward backward compatibility with existing Lisp
> systems, the result is a huge monolithic ANSI standard language,
> with hundreds of built-in constructs for a megabyte worth of run-time
> system (not talking about add-on modules).
>Common Lisp is a huge monolithic ANSI standard language because it
>"strived toward backward compatibility with existing Lisp systems"?
>This sentence does not make sense to me.
I'm suprised. It makes perfect sense to me. I've seen quite a few ANSI
standards, and they all share that characteristic and its consequences.
>Compared to existing Lisp systems it was even a *simplification*.
Yes, compared to some. This doesn't rebut anything stated there.
> However, the advantages of programming in Common LISP cannot
> be overestimated: everything a programmer usually needs is in the
> library,
>Which is wrong. Common Lisp has nothing identifyable as a "library". Several
>things one usually needs are not in Common Lisp (GUI, threads, FFI,
>CLOS streams, ...).
You're wrong. Every word is Lisp, unless it's a special form, is
identifiable as a member of a library. There are other parts of Lisp
which aren't (such as syntax).
He's using different nomenclature, but that doesn't make him wrong.
> the object system is (quite) well integrated with the type
> system
>This is debatable.
Not as stated.
> and the condition system (which is unique on its own).
>Yeah, what about the condition system? The Lisp machine had a condition
>system before - can't be that unique.
He already spoke about backwards compatibility.
> Greenspun's Tenth Rule of Programming states that "any sufficiently
> complicated C or Fortran program contains an ad hoc
> informally-specified bug-ridden slow implementation of half of
> Common Lisp".
>Nice anecdote. Doesn't help, though.
Help what?
> Closure is the dual of the above, a web client written in CL.
>We are in the early stages here...
Where may I look?
> Mockmma: a Common Lisp package and libraries that
> implement a symbolic math language compatible with
> Mathematica(tm)
>Ever tried Mockmma?
Me? No. Should I, or are you only trying to say that it's not
comparable?
I've tried Reduce, although at the time I had no patience for the
parentheses (I've learned some wisdom since (parentheses are not always
evil (and sometimes they're nice))).
> Pros
> 1.It is an ANSI standard.
>Sure - but why is it a pro? Could also be a "Cons".
Grin. But too many conses slows the processing.
But that doesn't stop it from being a "pro".
> 2.Both interpreters and compilers of good quality are
> available, and new ones are easy to design, making
> development easy, and portability quite good.
>I'd never underestimate the effort to design and implement
>a Common Lisp system.
You're 100% right, I believe. Common Lisp is immensely powerful and
sophisticated, and quite a hard target to hit.
> Cons
> 2.many essential features for a modern language are
> not standardized (notably threads), and how it is
> implemented (or not) on each implementation varies.
>Can you really standardize them across different operating systems?
Yes -- I've seen it done. I've yet to see it done well, though, and I
think Lisp's done the right thing by not approaching it yet.
> 6.The macro system does not have as clean semantics
> as it should.
>What is he talking about? Are there serious problems with
>the *semantics* of the Common Lisp macro system?
Yes -- nearly the entire book "On Lisp" is about them. Compare Scheme.
> 8.The too many builtin features are not orthogonal
> enough.
>Ask people which one we should delete...
I think he would agree with that. He's not talking about how to make a
better Lisp, but rather a better language.
> 9.There is no standard way by which the system
> would statically check declared types and infer new
> ones as a tool for enforcing static invariants and
> tracking bugs.
>There is not even a standard for a Lisp "system"...
That's what he's supposed to be working on.
--
-William "Billy" Tanksley
I thought that the big shareware guy in the early MS-DOS world was Jim
Button (which wasn't his real name, but I digress). The salient
question is whether:
a) MS-DOS got popular because of shareware, or whether it was that
b) Shareware got popular because of MS-DOS.
I think it was more the latter than the former.
>| And just because MS-DOS was hacked a lot it certainly does not follow
>| that MS-DOS's commercial success was a *result* of this hacking.
>
>yes, it does. what made MS-DOS a success at all was that people were
>talking about all _over_ the place. it was obviously useful on the new
>fancy machines of the day, but it was so hideously crippled and useless
>that every user _had_ to talk to his friends to be able to use it, and
>they were, lo and behold, able to supply all kinds of nifty tools. this
>is how you build a community of users, and it this community of young
>people who had gotten themselves familiar with the Microsoft version of
>CP/M, basically, who grew up and became influential in some particular
>segments of our industry. without these people, the fate of MS-DOS would
>have been that of the Amiga, which also had its share of devotees, but
>which didn't reach (un)critical mass.
There were *acres* of machines around that ran the Only Three Programs
That Mattered:
a) WordPerfect,
b) Lotus 1-2-3, and
c) dBase III.
Lots of money in this; lots of system administrators supporting this.
And contradictory to what you're contending, these applications worked
without a need for a vast number of "hacks."
These programs weren't all available right away, but were available
fairly early on, and were the main cause for a whole lot of the money
spent on IBM PC's.
>| Here's an alternative theory: MS-DOS succeeded because the IBM PC
>| succeeded, and the IBM PC succeeded because business people, largely
>| ignorant of technology but with deep pockets, trusted IBM. People did
>| not buy DOS because it was being hacked, but because they wanted to buy
>| IBM PC's and Bill Gates shrewdly saw to it that if you wanted to buy a PC
>| you had no choice but to buy DOS to go along with it. People hacked DOS
>| not because it was easy but because they saw business opportunities in
>| remedying DOS's deficiencies.
>
>there _were_ no business opportunities at first. people in suits didn't
>buy hacker's tools -- if the machines were bought by suits, they were
>used as the terminals they were intended by IBM to be, but that is NOT
>what made the PC a success.
The IBM PC didn't sell instantly, but the cachet of the "IBM Stamp Of
Approval" *did* count for a lot.
Businesscritters had heard about VisiCalc, but it was not reassuring
that this ran on Apple computers built by a couple of guys that
started the business in their basement.
Lotus 1-2-3 thereby stepped straight into a *huge* niche, and *that,*
I would contend, has more to do with the commercial success of the IBM
PC than the fact that it was "pretty readily hackable."
That does not mean that I'm claiming that "hackability of MS-DOS" was
of *zero* importance; just that the two factors of:
- IBM Seal Of Approval, and
- Certain "Hot" applications (notably Lotus 123)
were more important to its initial success.
>Microsoft _still_ believes that the home is where the decisions are
>made.
... But you can sell much bigger service contracts into businesses,
and it's much easier to get lots of bucks out of that.
Furthermore, I don't think that homes are sufficiently "computer
literate" as to really make that many decisions; what is likely more
common is that people at home hear either from a friend what's "new
and hot" or see a commercial or media report, and then are routed into
a computer store where they are *told* what their decision is supposed
to be.
In effect, they are able to form opinions on what to buy based on what
software Microsoft decides is ready for market and decides to "push"
this month.
--
"Though the Chinese should adore APL, it's FORTRAN they put their
money on." -- Alan Perlis
cbbr...@hex.net- <http://www.hex.net/~cbbrowne/lsf.html>
> >I just think it is a waste of time and it has been for several years.
> >Though I'm open for a surprise.
>
> I assume you're talking about Tunes rather than open source software
> (especially since Fare can hardly be blamed for the latter). My suprise
> was your intensely personal and entirely off-topic reaction to an opinion
> post.
How can a reaction to an "opinion post" be off topic?
> A couple of factual errors don't remove the usefulness.
Well, I think it's bogus all the way and built on information
which is coming from second or third grade sources.
Why should I trust somebody about the aspects of
Common Lisp when there is not much first hand
experience?
> >Common Lisp is a huge monolithic ANSI standard language because it
> >"strived toward backward compatibility with existing Lisp systems"?
> >This sentence does not make sense to me.
>
> I'm suprised. It makes perfect sense to me.
You can easily be backwards compatible by defining a layered language
or a language based on modules. Common Lisp isn't such.
Common Lisp didn't start its life as an ANSI standard.
The ANSI standard just followed what has done earlier.
Common Lisp strived towards backwards compatibility,
but it also shared the same *mindset* of some earlier Lisp systems.
Common Lisp is not *really* compatible with those
dialects - try to execute Zetalisp or Maclisp code in
Common Lisp.
> >Which is wrong. Common Lisp has nothing identifyable as a "library". Several
> >things one usually needs are not in Common Lisp (GUI, threads, FFI,
> >CLOS streams, ...).
>
> You're wrong. Every word is Lisp, unless it's a special form, is
> identifiable as a member of a library. There are other parts of Lisp
> which aren't (such as syntax).
No, that's wrong.
A language with a library has something like a "kernel".
There is no such thing in Common Lisp. Identifying "Special Forms"
as a kernel is not sufficient. There is neither a mechanism for libraries
nor is there any mentioning of a library in Common Lisp.
There are no functions, macros, special forms, classes, types,
variables, or whatever designated to be part of a library.
In a Common Lisp system adhering to some "standard" like
CLtL1, CLtL2 or ANSI CL they are all supposed to be there.
Read the ANSI CL specification and tell me where the library
is. Read also about redefining functionality in the
"Common Lisp" package.
> He's using different nomenclature, but that doesn't make him wrong.
Why do we have a nomenclature when everybody is free
to use words for every meaning *he* likes - especially
when we are talking about classification/description of programming
languages?
> > the object system is (quite) well integrated with the type
> > system
>
> >This is debatable.
>
> Not as stated.
Come on. The object system and the type system in Common Lisp
are "hacked" together. Hey, it's useful but talking about
"well integrated" is a bit too much.
> > and the condition system (which is unique on its own).
>
> >Yeah, what about the condition system? The Lisp machine had a condition
> >system before - can't be that unique.
>
> He already spoke about backwards compatibility.
Yeah, but how can something be unique when *similar* systems
existed earlier (on the Lisp machine for example) and later
(Dylan for example).
> > Greenspun's Tenth Rule of Programming states that "any sufficiently
> > complicated C or Fortran program contains an ad hoc
> > informally-specified bug-ridden slow implementation of half of
> > Common Lisp".
>
> >Nice anecdote. Doesn't help, though.
>
> Help what?
Describing Common Lisp, which I thought was the exercise we are talking
about.
> > Mockmma: a Common Lisp package and libraries that
> > implement a symbolic math language compatible with
> > Mathematica(tm)
>
> >Ever tried Mockmma?
>
> Me? No. Should I, or are you only trying to say that it's not
> comparable?
I'd not really cite "Mockmma" as a representative application
of Common Lisp. Really not. If we were talking about symbolic
math packages I would mention newer versions of Macsyma, maybe
Axiom or even a Common Lisp version of REDUCE.
> > 2.many essential features for a modern language are
> > not standardized (notably threads), and how it is
> > implemented (or not) on each implementation varies.
>
> >Can you really standardize them across different operating systems?
>
> Yes -- I've seen it done. I've yet to see it done well, though, and I
> think Lisp's done the right thing by not approaching it yet.
;-)
>
> > 6.The macro system does not have as clean semantics
> > as it should.
>
> >What is he talking about? Are there serious problems with
> >the *semantics* of the Common Lisp macro system?
>
> Yes -- nearly the entire book "On Lisp" is about them.
(Funny, I thought "On Lisp" mostly is about the ***power***
of the Common Lisp macro system. I'll have to reread
my exemplar.)
Read careful. The "semantics of the Common Lisp macro system".
The Common Lisp macro system is a procedural macro system
which is non-hygienic.
Which are the semantic problems that the Common Lisp
macro system has?
> Compare Scheme.
They are different.
> > 8.The too many builtin features are not orthogonal
> > enough.
>
> >Ask people which one we should delete...
>
> I think he would agree with that. He's not talking about how to make a
> better Lisp, but rather a better language.
Just talking without bringing concrete examples is not really
helping - otherwise I can claim whatever I like. Or is it just
"opinion" from somebody who has neither written
nor used significant amount of Common Lisp code, I'd guess?
> > 9.There is no standard way by which the system
> > would statically check declared types and infer new
> > ones as a tool for enforcing static invariants and
> > tracking bugs.
>
> >There is not even a standard for a Lisp "system"...
>
> That's what he's supposed to be working on.
On a "Lisp system" or on a "standard for a Lisp system"? I won't
hold my breath neither way, since both will be a *lot*
of work.
Sorry, I don't want to sound too negative. But it always
bothers me when people don't get basic facts right - given
the massive amount of information available and the possibility
to get first hand experience. I mean one can ask somebody
who knows a bit about the history of Lisp (we have some first
grade experts posting to this newsgroup) or one can try to get real
experience with existing systems. A summary of opinions of
unqualified value is just that - of unqualified value.
again, no, that is not the explanation. if it makes you happy, I'll sure
concede that under conditions where the only other condition is death, I
expect people to accept most everything, but even then, there are limits.
however, I wasn't talking about people who actually face starvation as
their only option. however, if you care to argue such things, it's much
more forceful to use conditions that aren't dictated by politics, since
the whole point is to question why people freely accept conditions that
they a very short time later object so strongly to that they go on strike
and do other labor-union things to hurt their employer. obviously you
can force people into an "accept or die" situation if you _want_ to, as
many politicians seem to get a kick out of doing, but then the issue is
how these people get to and stay in power. it has always amazed me how
you can actually manage to keep millions of people in check just by
making them believe that you face each one of them at a time, because as
soon as they understand that everybody else are just as unhappy, things
start to happen. this kind of grand-scale trickery and deceit is as
useful in selling crap software as in running third-world countries.
| Its quite easy to fault them for accepting such employment when you live
| in a society with a complete social safety net, where no one ever
| starves, no matter how long he's been unemployed. Unfortunately, this is
| not the reality that many, if not most people live in.
I actually love this line of argument. because I haven't personally
experienced the entire world history dating back to the first humanoid, I
shouldn't say anything that you can take to be about conditions that you
consider the single most important in human history. how very cute. it
is also customary to hold up the third world as an example of how bad
things can be, but that is really very silly: all the reasons for their
problems are different from our past problems, which were a lot worse,
considering that there were no aliens who sent us big fat checks with
lots of strings attached and with a world bank (no, make that a universe
bank) to tell us how to run things. you see, neither Europe nor the
U.S. have _always_ been affluent, and some would say we still aren't all
that affluent. e.g., Norway was correctly described as a really backward
country near the beginning of the previous century, complete with
atrocious hygiene, extremely low worker morale, and rampant abuse of
alcohol and prostitutes as soon as people were paid. we're still mainly
exporting raw materials for other countries to process and profit from,
and people _still_ drink themselves unconscious on pay day. people here,
too, were starving at times, and did basically anything to stay alive. a
whole bunch moved to the U.S. and, lo and behold, managed to multiply
much faster there than they ever did back here.
however, the point I'm trying to get across is that people who did _not_
live in fear of starving, moved to the big cities where there was work
and the _prospect_ of more wealth some fuzzy time in the future, but
actually, right then, people were starving and dying in the cities and
_not_ in the countryside where they came from. the _cause_ of the bad
working conditions was that people were willing to accept just about
anything after having been promised the sky. my case is against people
who promise the sky, who capitalize on people's hopes for the future, yet
who never give them a decent _present_ because they work better when both
their hopes and their need are high. my case is against people who don't
see that they have been tricked by such people and turn away from them,
but instead embrace them the more they don't get their promised future,
for fear of losing _all_ hope. my case is against people who don't
actually accept what they say they accept and then form labor unions and
whatnot to fight for the rights they _agreed_ to have violated in order
to maintain a _hope_ for a better future.
this is way off topic as such, but the software equivalent is what we get
from Redmond, WA: oppressively bad shit today but ever better promises of
a better future, and people buy this line, for some unfathomable reason.
in conclusion, I'd have to say that I don't think people actually want a
better future -- they want a _promise_ of a better future. when they get
a better future, they won't be satisfied with it. in fact, they turn out
to be _dissatisfied_ with it, as in "this is _it_?". that's what happens
when you promise too much. those who survived the AI Winter can tell
stories about that promise-making gone wrong, too. the core problem is
that today's whole marketing culture is all about glitz and glory and
solving _all_ the problems of the past with this teensy new gizmo or
software or whatever. why don't people wake up and smell the espresso?
they've been had! the biggest problem with this crap isn't that people
waste so much money on idiotic things and so much time on stuff that
won't ever give them what they want, it's that that which really _would_
improve their future has very little chance of ever getting out there,
except surreptitiously, like Lisp does. and that's what I worry about.
Kent M Pitman <pit...@world.std.com> writes on comp.lang.lisp
> Just for example, though, my feelings are not anything at all to do
> with junk software. I believe there will always be junk software and
> (as long as you don't use it) it's probably healthy that it be there.
Of course there will always be junk software.
The question is: will the social framework defend against junk,
will it let junk invade it, or (worse) will systematically select junk?
> My feelings are largely based on the issue of incentive.
Good.
> Free software makes no incentive to create things.
Neither does personal freedom make incentive to live morally;
neither does political freedom make incentive to behave socially;
at least not directly. Incentive must preexist. Incentive does preexist.
Law can only filter and select for or defend against; it never creates.
Freedom wins not because it creates an incentive,
but because it helps evolution select according to sole adequacy.
This is why slavery and tyranny fail before liberty and democracy;
this is also why proprietary software fails before free software.
To put it in simple software terms, in a world of free software,
the overall world-wide incentive for software-making and otherwise creation
of information is in its expected ultimate use-value.
Any additional "incentive" that does correspond to use-value
is a neat loss to society at large (waste of resource for useless ends),
and a corruption of the incented human mind.
Intellectual property does _not_ increase use-value in _any_ way;
it inserts barriers to use, thereby _decreasing_ use-value,
and it indeed creates "incentive" for useless redundancy and immoral plunder.
Certainly there is a use/need of some infrastructure to collect the existing
overall incentive and transform it into actual funding of creators.
The rigid barrier-based structures of intellectual property are a very
poor such infrastructure: IP owners collect the incentive that they manage
to fence in, collecting a heavy tax on those who enter, exit or live
in the fenced territory (again remindful of feudal Europe).
The fluid adaptative structure of a free market is a much
more interesting structure, where no one is entitled right to destruction,
and where any spotted shortcoming that leads to lack of creation
becomes an opportunity to render a service by connecting providers
and consumers of services: that's the reason why Europe has dropped
tax barriers in its internal borders, and why the world constantly
negociates free trade agreements.
> I am a creative person.
> If you tell me I can't make money creating software, I'll create
> something else that can make money.
Of course you can make money creating software! Who says you cannot?
Creation is a service, and like all services, is to be remunerated.
Since nobody can force you to create software, yet everybody has uses
and needs for ever more software, you'll get paid to write software.
And that's _completely_ independent from the legal status of the software
once written.
Software is not much different from math.
Mathematicians don't sell the _right_ to use theorems,
and publish theorems that can be freely reused, copied, modified, etc.
They sell, by teaching, the _proficiency_ to use theorems;
by researching, the _opportunity_ to use theorems;
by consulting, the _suitability_ of theorems to use; etc.
Certainly, most "mathematical engineers" do petty additions, substractions,
divisions, and multiplications, in smaller or bigger financial businesses;
they do accounting or trading of some sort; just like most computer engineers.
Mathematical|Computer scientists in research labs and universities,
and sell research and consultancy on higher topics.
And a lot of math|computer scientists teach elementary science
and techniques to future technicians.
All in all, no need for any kind of intellectual property here.
[yes, math books are subject to copyright, but they don't prevent
reuse of theorems, that stay valid accross rephrasing; also,
copyrights don't seem to provide any gigantic incentive to research,
and seem mostly to be mostly an annoyance to mathematicians
and a tax levied upon them by publishers].
> My goal in life is FIRST to feed
> myself and give myself independent personal autonomy of choice in my
> life.
Good.
> Once I'm independently wealthy (and I won't get there with free
> software)
Wrong. If by "wealthy" you mean that you earn enough money to cover
everyday expenses for a healthy life, with some money left for your
family and still some left for your old days, then there's no reason
why free software won't get you there. There are already many companies
and research centers that live on free software services. Few become
rich like that (some do -- RedHat has made one billionaire already);
but those who live by free software are not reduced to mendicancy.
If by "wealthy", you mean that you demand above-average incomes,
the ability to spend your life in a luxuous setting, or anything such,
then I don't see why you're entitled to it, and why the legal and
paralegal systems should guarantee you anything about it.
Certainly, proprietary software can help some people becoming wealthy
in this way; but only to the detriment of many other people who are
plundered and racketted. Every single cent that makes wealthier
an IP owner as such is two cents lost by people who are not free
to compete or to benefit from competition.
> and don't have an employer to tell me what to do, I'll be
> happy to do things for the public good as I see it.
Not having an employer is not any easier with proprietary software than
with free software; it's much more difficult even, since proprietary software
transforms software service providers into the liege-men of
"intellectual property" owners, whereas free software makes them members
of a liberal profession.
> (But even then, I
> probably wouldn't give things away. Because people who receive free
> things, whether food or software, don't understand the value of it.
> I'd rather contribute to education, for example.
Software is not a thing, it's information. A software-containing _media_
is a thing. Education is a *service*. So are _Installation_, _operation_,
_administration_, _maintenance_, _support_, _research_, _creation_,
_processing_, _transformation_, _selection_, _guaranteeing_, _availability_,
_teaching_ and _training_, _trust_, as applied to software.
And no matter the software being free of IP claims, there will be a need
for these services, so that you'll be able to sell such services and make
a honest living. On the contrary, absence of IP means you'll be free
to render services without having to worry about "infringing" anyone's IP;
no more _barriers_ to software services, hence an easier life for all
service providers.
To repeat myself once again:
Because people confuse information and information-related services
they are afraid that Free (libre) Information mean free (gratis)
information-related services, which would indeed kill the industry
of said services. On the contrary, Free Information would create a
Free Market in these services, instead of current monopolies,
which means they will be available at a fair price, so the result
would be a flourishment of that industry!
> And no, I don't
> think having a heap of software in your house means you can educate
> yourself any more than I think having a gun and a target means you
> don't need education in how to shoot.)
Sure. So what? Again, this means that there will be a _market_
for software education even (even more so) with free software! Great!
You won't starve, I won't starve; no honest computer scientist will starve.
Maybe a few dishonest crooks will starve. So far so good.
Free (of IP claims) software, not free (of charge) beer or services.
Again, you may disagree with the position and arguments
of free software tenants such as me.
But while disagreeing, please do not deform them.
And if you do spot some internal inconsistency in them
then please do tell us about it so we be enlightened.
Best regards,
[ "Faré" | VN: Уng-Vû Bân | Join the TUNES project! http://www.tunes.org/ ]
[ FR: François-René Rideau | TUNES is a Useful, Nevertheless Expedient System ]
[ Reflection&Cybernethics | Project for a Free Reflective Computing System ]
You don't test the validity of a theory by seeing that it says correct
things, but by seeing that it doesn't say incorrect things. What you test
by seeing that it does say correct _and previously unpredicted_ things,
is the interest of a theory you've tested to be valid.
it is this distinction that is counter-productive to understand Lisp.
| >Sure - but why is it a pro? Could also be a "Cons".
|
| Grin. But too many conses slows the processing.
|
| But that doesn't stop it from being a "pro".
wow! I think we found the reason for Lisp's problems in gaining wider
popularity and acceptance. the first people see when they start to learn
about Lisp are all the cons! and how to make Lisp more popular? simple!
lists should simply be made up of pro cells. problem solved. ;)
| Yes -- nearly the entire book "On Lisp" is about them. Compare Scheme.
Scheme people see problems in Common Lisp macros because they decided
against two namespaces, and therefore pollute the function namespace much
more readily than Common Lisp people do, which means that a macro could
expand into code that makes a function into a variable in Scheme. this
is clearly horrible, so _they_ need hygienic macros. CL doesn't, because
the core problem has been fixed.
This is not true. Scheme people felt they needed
hygienic macros because they wanted to avoid thinking
about when to introduce gensyms when writing their
macros. The case where a macro expansion introduces a
lexical variable with the same name as a global
function is not the driving factor. That the
introduced lexical may have the same name as any
enclosing lexical is. The conflict this raises occurs
regardless of whether the language is Scheme or CL.
Now, it is possible to avoid hygiene problems in CL
with a little circumspection when defining the macro,
but it is possible to do exactly the same in Scheme
too. The same, easily learnt defensive techniques that
Lispers have always used to maintain hygiene work for
Scheme too. There isn't anything CL vs Scheme about
this issue. There may be other issues that are indeed
definingly divisive, but this isn't one of them.
--d
> it is this distinction that is counter-productive to understand Lisp.
Perhaps (although I'd welcome a clarification). Fortunately, the purpose
of this document wasn't to understand Lisp, but rather to explain and
compare it.
I can't bring myself to understand why anyone objects to snapping off the
word "library" when referring to a collection of functions. Would you
prefer "magazine" or "clip"?
BTW, you probably know this already, but something seems to be messing up
your posts -- they're missing uppercase letters in places, and they're
indentation is kinda messed up. Add in the occasional run-on sentance and
they become very hard to read, which is a pity for posts of this quality.
>| >Sure - but why is it a pro? Could also be a "Cons".
>| Grin. But too many conses slows the processing.
>| But that doesn't stop it from being a "pro".
> wow! I think we found the reason for Lisp's problems in gaining wider
> popularity and acceptance. the first people see when they start to learn
> about Lisp are all the cons! and how to make Lisp more popular? simple!
> lists should simply be made up of pro cells. problem solved. ;)
I think you got it. I certainly wasn't impressed when the first thing I
saw in the compiler itself was a list of cons.
>| Yes -- nearly the entire book "On Lisp" is about them. Compare Scheme.
> Scheme people see problems in Common Lisp macros because they decided
> against two namespaces, and therefore pollute the function namespace much
> more readily than Common Lisp people do, which means that a macro could
> expand into code that makes a function into a variable in Scheme. this
> is clearly horrible, so _they_ need hygienic macros. CL doesn't, because
> the core problem has been fixed.
That -- Scheme's problem -- has nothing at all to do with Lisp's problem.
Read "On Lisp"; it's a magnificent book.
The core problem is unintentional variable capture.
>#:Erik
--
-William "Billy" Tanksley
> On 03 Sep 1999 12:24:37 +0000, Erik Naggum wrote:
> >* William Tanksley
> >| You're wrong. Every word is Lisp, unless it's a special form, is
> >| identifiable as a member of a library. There are other parts of Lisp
> >| which aren't (such as syntax).
>
> > it is this distinction that is counter-productive to understand Lisp.
>
> Perhaps (although I'd welcome a clarification). Fortunately, the purpose
> of this document wasn't to understand Lisp, but rather to explain and
> compare it.
>
> I can't bring myself to understand why anyone objects to snapping off the
> word "library" when referring to a collection of functions. Would you
> prefer "magazine" or "clip"?
In normal usage (and I don't see anything Lisp specific about this), a
library is not just any old collection of functions. Among other
things, a library has a clearly delineated boundary between that what
is in the library, and that what isn't. The only clearly delineated
boundary in the Common Lisp standard is the "COMMON-LISP" package,
which includes everything the standard talks about. So in a sense,
ANSI CL as a whole is a library.
If we were to just go ahead and call any collection of functions a
library, I'd contend that ANSI CL consists of 7 libraries (or any
number of libraries for that matter). Now I leave it to you to find
out which symbol belongs to which library... Not an easy task.
BTW: If you only put special forms into the core (thereby creating a
rather non-functional core), why do you contend that the syntax of
Lisp is part of the core? All the nice readtable stuff would be part
of the library, so I'd contend that a large part of Lisp's syntax
would be part of the library. Doesn't make much sense to me, but hey,
why not?
> BTW, you probably know this already, but something seems to be messing up
> your posts -- they're missing uppercase letters in places, and they're
> indentation is kinda messed up. Add in the occasional run-on sentance and
> they become very hard to read, which is a pity for posts of this quality.
While I myself prefer capitalizing sentence beginnings, I don't find
Erik's postings lacking in clarity. Quite to the contrary, I find
Erik's postings to be very readable, not least of which because of the
additional whitespace. But that's just my opinion...
> I think you got it. I certainly wasn't impressed when the first thing I
> saw in the compiler itself was a list of cons.
But that would turn "consing up a list" into "proing up a list". Not
very satisfactory, though it probably would make the sort of people
happy that like such things. It would also turn "I'm a Lisp pro"
into a hillariously self-aware statement, and give AI a new
meaning...
> That -- Scheme's problem -- has nothing at all to do with Lisp's problem.
> Read "On Lisp"; it's a magnificent book.
Scheme's "problem" has something to do with Common Lisp's problem,
since it aggrevates the problem of accidental variable capture
greatly. But Scheme would have hygienic macros only even if this were
not the case, because the people behind Scheme's evolution care more
about such issues than the people behind Common Lisp's evolution do.
The problem of unintentional variable capture can be easily
circumvented though, and I utterly fail to see how this is a
_semantic_ problem. The semantics of unhygienic macros are clear and
clearly understood. It just so happens that some people don't like
the semantics.
And unhygienic macros give me the power to do intentional variable and
function capture, which gives CL's macro system quite a bit of extra
power.
> The core problem is unintentional variable capture.
The core problem is unintentional symbol capture.
And the core advantage is intentional symbol capture. Since you
mention "On Lisp", you should look up all the anaphoric macros in
there, which would be not be possible if CL had only hygienic macros.
Regs, Pierre.
--
Pierre Mai <pm...@acm.org> PGP and GPG keys at your nearest Keyserver
"One smaller motivation which, in part, stems from altruism is Microsoft-
bashing." [Microsoft memo, see http://www.opensource.org/halloween1.html]
[to Erik:]
> BTW, you probably know this already, but something seems to be messing up
> your posts -- they're missing uppercase letters in places, and they're
> indentation is kinda messed up. Add in the occasional run-on sentance and
> they become very hard to read, which is a pity for posts of this quality.
I've never found Erik's articles hard to read for any reason other
than these two: (1) sometimes he discusses subtle issues, which
require hard thought, and (2) sometimes his paragraphs are longer
than I would like. His capitalisation and quoting conventions are
non-standard, but they don't (to my mind) make his articles
unreadable.
Oh, and if you're going to be pedantic at people you should refrain
from making such elementary errors as writing "they're" when you
mean "their". :-)
huh? if one end tries to explain and compare, what other than understand
should the other end try to do? I must have missed something.
| I can't bring myself to understand why anyone objects to snapping off the
| word "library" when referring to a collection of functions. Would you
| prefer "magazine" or "clip"?
"library" has very specific connotations and annotations in programming
language, none of which are applicable to Common Lisp. the whole concept
is very, very different from what we do in Lisp. I'd expect "library" to
be the equivalent of "package" in Common Lisp. since there is but one
standard package, which holds the entire language, there _is_ no library.
| Read "On Lisp"; it's a magnificent book.
I know. I read it when it came out.
| The core problem is unintentional variable capture.
well, the problem with hygienic macros is that you can't have intentional
capture. however, the problem is so much more severe in Scheme that many
are actually afraid of macros because of it. this is not something I say
because I don't like Scheme. I don't like Scheme because it has this and
many other problems that Common Lisp doesn't have, mainly because it did
retain the two namespaces that Scheme discarded. I've been bothered by
the same problem that Scheme has in other languages, too, like C. it's
just stupid to have one namespace: a function can be called and variables
can't and that's a sufficiently fundamental difference that I think two
namespaces fall out naturally, and I have created the distinction when I
needed to design my own languages. nobody seems to think it's a problem.
except Scheme people. so I'd say the _severity_ of the macro problem is
an artifact of the one namespace decision, and that the problem is so
easy to curtail otherwise that the problem is not perceived as a problem
that needs solving.
Now, if I charge any amount of money, I'm creating a barrier that
will keep out the frivolous requests, but I think I could do the
same thing by requesting snail mail, or anything moderately
inconvenient. This may be worth doing: "Send $20 to this address
for the source code."
On the other hand, suppose I want to do some more filtering. I want
to exclude people unless they really want it. In this case, going
by cash value doesn't work. An amount that will slow down somebody
with a good job is going to be essentially impossible for a grad
student on his or her own.
Now, if I just want to get paid for what I do, this isn't an issue.
(Well, there are issues. It costs very little to mail out a CD-ROM,
and a company that charges more than $10 to do so is probably making
money on it. The company does want to make as much money as possible,
and one ideal form is to charge each person the maximum they'd pay.
Many companies sell to students at a lower rate, since most students
wouldn't pay commercial prices, and the money they send in is therefore
extra profit. Market-driven pricing is difficult, but it's probably
more profitable in this field than flat-rate.) It is an issue if I'm
trying to filter as Erik suggests.
>So if you're willing to trade the money you have for someone else, all
>that says is that it's of value to you. And if you're not, then maybe
>it's not as much of value as you think.
>
But what is "the money you have"? And, if I'm sending out source code,
how do I know how much money you have? How do I know whether the amount
I'm charging is a lot or a little to you?
>If people are willing to give away what they do, that's fine. That
>just means they don't value it or they have enough money that they
>don't feel a need to charge for everything they do.
There are other motivations.
One would hope
>that all people could be philanthropic sometimes. But they have to
>eat and I don't see giving them a hard time about that.
>
Again, this is nearly an orthogonal condition.
Suppose I write a software system. I can do pretty much anything with
it I like, from declaring it public domain to putting all the sources
and binaries under my bed. Suppose I decide to distribute binaries.
I can give them away or sell them or whatever. By the time we're
considering Erik's proposal, we're beyond that. We're wondering how
to distribute the source (presumably, we aren't distributing source
to people with no right to the binaries).
Erik's position is, if I understand it correctly, that unlimited
distribution of source is a Bad Idea. It is necessary to distribute
it under some conditions, but it should in general only go to people
who you have some confidence in, for some reason or another. (For
commercial products, there's always the necessary NDA; for other purposes,
it seems to me that it's just as easy to ignore somebody when they
want to make changes or base their implementation on something they
shouldn't as to ignore them when they ask for the source.) I'm saying
that asking for large quantities of money is not the way to filter
*how* serious somebody is.
>> So the question is about the dynamic effects in an imperfect world:
>> what attitude has most positive dynamic effects?
>
>Right. And I claim the one that has the most postiive dynamic effect is the
>one that incentivizes content creators.
If what you're saying is that, if you write software, you'll release
its use and its source under whatever conditions make you feel rewarded,
nobody's disagreeing. This isn't the issue.
>> [...] Yes, we do fear the vendor.
>
>I find the idea of fearing a content creator offensive. Content creators
>have no obligation to make you anything at all. Fearing them is being mad
>at them that when they gave you something, they didn't give you twice as
>much. That is nothing more than rude in my book. No one makes you buy
>from them at all.
>
From a real-world point of view, wrong. Suppose I'm running a business,
and I need to equip a certain set of employees with fnoogle software.
I'm not writing my own, because that's not what I can do best. Now,
I look around for fnoogle software. I find that, whichever one I pick,
I'll be making a commitment that I can't easily back out of (i.e.,
migration to a competitor's will be difficult). In that case, I can
easily find myself in a position where I am dependent on the vendor, and
pretty much at the mercy of the vendor's policies. If I need to
upgrade the software to work with new computers, or if I need to buy
new seats, I pretty much have to pay what the vendor asks for. If
I have to upgrade to be more or less compatible with something else,
and the vendor makes changes I don't like, tough.
One example would be Microsoft operating systems. Many people buy them
because, with all their problems, they look like the best way of
getting the job done. Most people cannot create their own operating
system that will work even as well as Microsoft's, particularly when
they have to run various applications on it. Therefore, they pay
Microsoft what Microsoft asks, and put up with whatever Microsoft
does.
Or, consider Erik. Erik apparently has a very satisfactory relationship
with Franz. In doing this, Erik has become very accustomed to Allegro
Common Lisp for Windows, and presumably Erik would be seriously
discommoded if, for some reason, he were unable to continue working
with ACL. If Erik was half-expecting Franz to completely dump its
Lisp development to go into C++, say, he would have reason to be
afraid.
There are two dynamics here. One is "shrink-wrapped" software, and one
is foreseeable obsolescence. (I have plenty of fifty-year-old books
around, and they're still useful. If I had any of the software around
that I had fifteen years ago, it would be useless.)
Just looking at this from a laissez-faire attitude is to miss the problem.
The traditional attitude is "take it or leave it", and that works very
well as long as the buyer has reasonable freedom to leave it. If the
buyer is likely to be committed, the system is distorted. The traditional
remedy would be to make deals with the providers, but the providers in
this case really don't care about dealing with me, other than selling
me the stuff.
Nor is this a simple dichotomy between "content creators" and "content
consumers". The company I work for sells high-quality software to
manage electrical power distribution systems. We certainly create
content. In doing so, we consume large amounts of content from various
sources. We are dependent on HP, Digital, Sun, and Microsoft for the
operating systems we work on. (Right now, we're looking at doing a
good bit of work in order to adapt to HP-UX 11.) We are essentially
dependent on the same people for C++ compilers. We use various Gnu
products. We use Perl. (We do not, unfortunately, use Common Lisp,
and I don't have a good chance of changing that real soon.) We use
all sorts of stuff.
We aren't immune from all of this dependence just because we're content
creators. Certainly we could write most of the stuff we use in-house.
(My last job was working for a place like that - and that was
nightmarish.) But we wouldn't do as good a job at much of it, and,
more importantly, we couldn't sell it as well. (We are in business
to make money, and the biggest single reason I work there is because
they pay me.)
>> Working with the developers
>
>[who did not have to develop this for you and you're lucky did]
>
In the case of commercial developers, they do it because they expect
to make money by doing it. There is a certain amount of luck involved,
but extending it to gratitude would seem out of place. It is fortunate
for us, say, that we can get the tools we need on all the platforms
we really want to support. However, HP and Sun and Digital and Microsoft
did not develop any of this *for* *us*.
>> is not co-stable with proprietary software,
>> all the less as the software spreads and is used by more and more people.
>
>Then don't use it.
>
I think this sort of absolute statement is almost completely unhelpful.
If my CL system here, that I bought from Digitool, fails to implement
what it claims in some areas (I assume it does, somewhere or another),
I have the choice of using it or not using it. I don't have the choice
of buying another, similarly good, implementation to use on the Mac OS.
(The only other native-code Lisp compiler I know of that I can run on
this hardware platform is ACL for Linux on the PPC. That's been out
a bit more than a month, and doesn't run on MacOS.) Telling me to
dump MCL because it doesn't do something I want it to ignores the fact
that I don't have a better alternative.
The market economy system works very well where there is a fairly large
and somewhat free market (and when there are no hidden or collective
costs). This does not mean it works well for all areas of the economy.
>> CL dooms itself in being a fringe language
>> if it claims providing this contact.
>
>This is a possible truth, but is not because of right or obligation.
>This is the first statement I've seen in here which was focused on effect
>rather than right.
Selective reading. "Fearing a vendor" is a matter of effect, not a matter
of right. There are lots of people who could make my life much less
pleasant by doing something they have a perfect right to do, and that
includes the teenager who lives next door and could decide to start
a backyard band. (Heck, I'm rather nervous about the performance of
MCL under Mac OSX. Nobody's doing anything that's not within their
rights to do, but last I saw on the mailing list there were some problems
with memory management that could really slow garbage collection.)
>This is a possible truth but not a necessary truth. There are strong
>reasons already cited elsewhere to believe Dynamic Software is more
>compatible with proprietariness than Static software is. It can be
>composed in a mix and match environment without opening the hood,
>pretty much like components in your stereo (where most people don't
>look inside either) and where a healthy cost per component doesn't
>keep the industry from thriving.
>
Yup. The component model has the effect of creating a commodity
market. If the CD player in my stereo dies, I can pretty much go out
and buy another one on the basis of how well it works as a CD player,
not whether it's compatible with my radio reception. Right now,
this is not in general the case in software.
>> Proprietary software has brought upon us the domination of
>> FORTRAN, COBOL, PL/1, C, C++. Static languages.
>
>I don't know what this claim is based on. I thought some of these
>languages came free with operating systems and that all you paid for
>was the iron back in the days these things gained dominance.
Um, no. Back then, you never paid for just the iron. Even in the days
before unbundling, you weren't paying for just the iron, even though
that's the only thing that might appear on the invoice. The first
three came along and got more or less entrenched in the great days of
proprietary software. I have no idea what C and C++ have to do with
proprietary software.
I might
>be wrong. Also, people made new languages every day back then and
>most of those new languages were not charged for. If free software
>had been such a win, it would have clobbered those languages.
>
Only if there was a real market dynamic. Suppose, in the late 1960s,
you buy a 360 from IBM. You buy an operating system that will
support all the neat features, such as disk drives. This operating
system comes with FORTRAN, COBOL, PL/I, and the assembler (I'm working
from memory, here). If you buy a competing operating system, you still
get those languages. There was a very strong incentive to use those
languages, because you had them, because you knew that the next model
was going to have them too, and because management would be very
suspicious of doing anything with tools from outside the IBM universe.
(There is something of a counter-example, though: in the 1970s, the
VM operating system was developed by user initiative, even when IBM
didn't like it.)
>> Free software has always developed its dynamic tools:
>> LISP (pre-Common; elisp; Scheme), shells, Perl, Python, etc.
>> Dynamic languages (of various quality).
>
>I think this particular way of drawing up the facts looks suspect.
>I just don't see that the big line has been proprietary/free.
>
>> Of course, there are exceptions: CommonLISP and Dylan are dynamic languages
>> that have been mostly developed as proprietary systems
>> (despite heroic free implementations); but they have limited success
>> among proprietary systems; they don't fit the proprietary software model
>> of separation between provider and consumer.
The basic problem is this: Most software is sold to people who don't know
much about software, and just want to have something they can use to
get their real job done. A furniture business will spend a certain
amount on software and computers and computer people, and will view this
as a necessary cost of doing business. The executives know that what
they're spending, and what they're spending it on, makes it possible to
run the rest of the business. If they do anything risky, the upside is
that the cost of computer processing goes down something (nice, but
hardly earth-shaking); the downside is that the real business gets
disrupted. There is a real strong innate conservatism there.
>> On the other hand, there are static free languages (SML, OCAML, Haskell),
>> but even they have interactive top-levels,
>> and they have a hard time capturing free software developer mindshare.
>
>Possibly due to a lack of commercial market? Who wants to give away
>time if they can't figure out where the dollars will come from?
I think the question is why people like working on Python more than on
Haskell, to pick a couple of names. Obviously, nobody works on free
software because of the income possibilities. Many people have extra
time and energy and what they consider enough money, and work on free
software. The answer would seem to be that the people who are doing this
would rather work on the dynamic languages, for reasons of their own.
--
David H. Thornley | If you want my opinion, ask.
da...@thornley.net | If you don't, flee.
http://www.thornley.net/~thornley/david/ | O-
It never seemed to me to be more hackable than, say, TRS-DOS (I have no
personal experience with the Apple OSes of the day). It was more hacked,
because it was more prevalent. You're reversing cause and effect.
>Here's an alternative theory: MS-DOS succeeded because the IBM PC
>succeeded, and the IBM PC succeeded because business people, largely
>ignorant of technology but with deep pockets, trusted IBM. People
>did not buy DOS because it was being hacked, but because they
>wanted to buy IBM PC's and Bill Gates shrewdly saw to it that if you
>wanted to buy a PC you had no choice but to buy DOS to go along with it.
Not quite at first, IIRC. I believe IBM would sell one of three OSes
with the early PCs: PC-DOS, CP/M-86, and the p-system. MS-DOS was
shipped as PC-DOS and was the default. Of course, the people who
bought the IBM PC because of the magic intials (which vastly outnumbered
the people who actually knew what they were doing) went with the
default choice, the one more supported by IBM.
>People hacked DOS not because it was easy but because they saw business
>opportunities in remedying DOS's deficiencies.
>
And Because It Was There. When the majority of the computers available
run PC-DOS/MS-DOS, is it so surprising that the majority of the hacking
is on it? It didn't hurt that PC/MS-DOS was a kludge, and therefore it
was easy to hack into and produced useful results.
>> | Microsoft got where it is precisely because Bill Gates is the good
>> | businessman you wish other computer scientists would be.
>>
>> *puke* _you_ really must be from a different planet. Bill Gates is the
>> single most dishonest and despicable man on the planet,
>
>I think that's a little extreme, but I basically agree with the
>sentiment. He is, nonetheless, a very good businessman -- in no small
>measure because he is a very good liar.
>
To be more specific: Microsoft is a very, very good example of a software
company that became successful because it was interested in money. It
got its start way back when, when Gates sold software similar to that
which everybody else was giving away. He didn't follow the hacker ethic,
but he made a lot of money.
If you don't like Microsoft, then you really should think about how much
you want software companies to care about the bottom line.
>> | It's predictable because the profit motive is fundamentally at odds with
>> | quality.
>>
>> come again? on this planet, this actually translates to "quality is
>> fundamentally at odds with what people are willing to well pay for".
>
>Yes, that's exactly what I meant. Most people are not willing (or not
>able) to pay for quality. Most people don't even know how to tell the
>difference between high quality and low quality.
>
Heck, most people don't get a chance to compare. Management orders
X many Windows boxes, which come with Microsoft Windows and Microsoft
Office. Management knows little about computers, but knows that these
will serve, more or less, and feels that there is more risk with going
with anything else.
Remember that most software is bought by people who don't know the
details, and don't want to know. For very good reasons, they'd much
rather spend time and energy figuring out how to sell more office
supplies, or make flatware with a less expensive process, or whatever
else they are really doing in business.
>C++ is satisfactory. Common Lisp is excellent. Which one are more
>people willing to pay for?
>
>> please reconsider your definitions. it isn't your view of the profit
>> motive that is at odds with reality, it's the stupid and arrogant belief
>> that all people want to pay for is non-quality products.
>
>This is not a belief, it is an empirical observation. I wish things
>were different.
>
This isn't really a free market. If there was a free market, which is to
say that somebody with a better product could sell it easily, then
quality might matter. Suppose I wrote a word processor of higher quality
than Microsoft Word. Suppose I got the financial backing to start
making and shipping. It gets reviewed in the journals, in which one of
the big things is feature checklists, not quality. A large-scale
purchaser is going to think that this might possibly be a better solution
here and now, but has no faith that it will be maintained so that it will
work for Word 9.3 files on Windows 2006. It isn't going to get
top billing at CompUSA and Computer City, and even if it gets shelf
space people are going to look at the "Thornley Writer" box and the
"Microsoft Word" box and go with the more familiar - more importantly,
they will buy "Microsoft Office" because it comes with other things that
somebody might need sometime, and Microsoft Office is not a plug-and-play
component system.
As long as Microsoft keeps the quality high enough so that most people
can get their job done most of the time, so people don't actually
revolt, they will keep selling lots and lots of software. If they
raise the quality beyond that, they don't sell much more software.
>> it must be hard on an alien on a tourist visa, but here on earth, we have
>> this concept of _different_ markets, each with its local value of the
>> least common denominator, because each market addresses different people
>> with different needs.
>>
Yup. Too bad the market doesn't apply to generic software products.
>> the mass market is _not_ the only market. the only thing we can say for
>> sure in this business about those who believe that is that Bill Gates
>> profits even more by having as many people disregard every other market.
>
And why do they disregard every other market? Because searching out those
markets would take skill and time and energy, and most purchasers it is
better, on an individual level, to pay the extra money and put up with
the extra crap, secure in the (reliable) guarantee of "mostly good
enough".
>The mass market *is* the only market when what you are selling is
>infrastructure. Operating systems and programming languages are
>infrastructure.
>
Not exactly, but close enough. There have always been different
operating systems and languages available, if you knew what you
were doing and what you wanted. For the individual purchaser,
gaining the knowledge was generally a bad move. The result is that
the market is dominated by people who really don't know what
they're doing, and this is a bad thing in general. Unfortunate, but
I don't have a fix for it.
That depends on the transaction cost and they'd have to have a
fairly expensive order fulfillment system to drive the marginal
costs low enough.
> From a real-world point of view, wrong. Suppose I'm running a
business,
> and I need to equip a certain set of employees with fnoogle software.
> I'm not writing my own, because that's not what I can do best. Now,
> I look around for fnoogle software. I find that, whichever one I
pick,
> I'll be making a commitment that I can't easily back out of (i.e.,
> migration to a competitor's will be difficult).
That argument, and all that follows, is not specific to software.
Yet, people who have tied themselves to a single source for other
things rarely make the sorts of arguments that folks make about
software.
Yes, software lends itself to "single-sourceness", but it's not
clear whether that's inherent, irrelevant, or merely an accident.
> >Then don't use it.
> >
> I think this sort of absolute statement is almost completely
unhelpful.
Yet, it the way everything else works. If I'm a GM dealer and
GM makes me unhappy, "don't use it" is my only alternative. The
fact that that alternative is incredibly expensive doesn't matter.
(Yes, I can sell other cars, just as you can write other software,
but the transition will be painful.)
What is it about software that makes "don't use it" unacceptable?
> that I don't have a better alternative.
That's not enough in any other environment.
-andy
>> >I just think it is a waste of time and it has been for several years.
>> >Though I'm open for a surprise.
>> I assume you're talking about Tunes rather than open source software
>> (especially since Fare can hardly be blamed for the latter). My suprise
>> was your intensely personal and entirely off-topic reaction to an opinion
>> post.
>How can a reaction to an "opinion post" be off topic?
Easily -- it can appear to attack the person, it can do so on the basis of
an entirely different and unstated reason... There's a lot of ways that
can happen. Your post just happened to have them all.
Note that I don't claim to disagree with the actual reason you posted that
-- I understand. Tunes is really dragging, and Fare would agree with that
statement.
--
-William "Billy" Tanksley
Quotes edited accordingly.
On Fri, 03 Sep 1999 05:50:36 +0200, Rainer Joswig wrote:
>In article <slrn7sucah....@dolphin.openprojects.net>, wtan...@dolphin.openprojects.net wrote:
>> >I just think it is a waste of time and it has been for several years.
>> >Though I'm open for a surprise.
>> I assume you're talking about Tunes rather than open source software
>> (especially since Fare can hardly be blamed for the latter). My suprise
>> was your intensely personal and entirely off-topic reaction to an opinion
>> post.
>How can a reaction to an "opinion post" be off topic?
Easily -- it can appear to attack the person, it can do so on the basis of
an entirely different and unstated reason... There's a lot of ways that
can happen. Your post just happened to have them all.
Note that I don't claim to disagree with the actual reason you posted that
-- I understand. Tunes is really dragging, and Fare would agree with that
statement. That doesn't mmake the entire project worthless; in fact, even
a single example of an imperfect language review (is that REALLY the worst
you could find??) doesn't change that.
>> A couple of factual errors don't remove the usefulness.
>Well, I think it's bogus all the way and built on information
>which is coming from second or third grade sources.
>Why should I trust somebody about the aspects of
>Common Lisp when there is not much first hand
>experience?
It's not bogus all the way -- it's a highly positive review of common lisp
comming from a person who thinks all modern languages suck.
>> >Common Lisp is a huge monolithic ANSI standard language because it
>> >"strived toward backward compatibility with existing Lisp systems"?
>> >This sentence does not make sense to me.
>> I'm suprised. It makes perfect sense to me.
>You can easily be backwards compatible by defining a layered language
>or a language based on modules. Common Lisp isn't such.
So? That doesn't say anything.
>Common Lisp didn't start its life as an ANSI standard.
>The ANSI standard just followed what has done earlier.
>Common Lisp strived towards backwards compatibility,
Okay, so you agree with Fare. Why attack him?
>> >Which is wrong. Common Lisp has nothing identifyable as a "library". Several
>> >things one usually needs are not in Common Lisp (GUI, threads, FFI,
>> >CLOS streams, ...).
>> You're wrong. Every word is Lisp, unless it's a special form, is
>> identifiable as a member of a library. There are other parts of Lisp
>> which aren't (such as syntax).
>No, that's wrong.
>A language with a library has something like a "kernel".
>There is no such thing in Common Lisp. Identifying "Special Forms"
>as a kernel is not sufficient. There is neither a mechanism for libraries
>nor is there any mentioning of a library in Common Lisp.
>There are no functions, macros, special forms, classes, types,
>variables, or whatever designated to be part of a library.
>In a Common Lisp system adhering to some "standard" like
>CLtL1, CLtL2 or ANSI CL they are all supposed to be there.
>Read the ANSI CL specification and tell me where the library
>is. Read also about redefining functionality in the
>"Common Lisp" package.
This is REALLY nit-picking, you know. I find it very boring to tell a
highly intelligent and accomplished person the same thing over and over.
But here it is one more time: Fare is talking about all the available
words in Common Lisp.
"Wordset" would be, I believe, an equally useful term. "Library",
however, will be immediately understandable to anyone with any other
language background, and was probably the first word which popped to his
mind.
I don't get _how_ that could cause any confusion at all, let alone offence.
>> > the object system is (quite) well integrated with the type
>> > system
>> >This is debatable.
>> Not as stated.
>Come on. The object system and the type system in Common Lisp
>are "hacked" together. Hey, it's useful but talking about
>"well integrated" is a bit too much.
I think Fare's point is that the job is done better than it was in most
other languages. He already complained about the backward compatibility
which prevented total unification, and you refused to believe him.
>> > and the condition system (which is unique on its own).
>> >Yeah, what about the condition system? The Lisp machine had a condition
>> >system before - can't be that unique.
>> He already spoke about backwards compatibility.
>Yeah, but how can something be unique when *similar* systems
>existed earlier (on the Lisp machine for example) and later
>(Dylan for example).
Not to mention that "unique on its own" is redundant. Unless, of course,
you're reading to learn rather than nit-pick.
>> > Greenspun's Tenth Rule of Programming states that "any sufficiently
>> > complicated C or Fortran program contains an ad hoc
>> > informally-specified bug-ridden slow implementation of half of
>> > Common Lisp".
>> >Nice anecdote. Doesn't help, though.
>> Help what?
>Describing Common Lisp, which I thought was the exercise we are talking
>about.
Ah. Not really -- this is a _review_ of Common Lisp. Description is part
of the purpose, but it's more important to communicate the reviewer's
opinion of the language and the reasons for that opinion.
>> > 2.many essential features for a modern language are
>> > not standardized (notably threads), and how it is
>> > implemented (or not) on each implementation varies.
>> >Can you really standardize them across different operating systems?
>> Yes -- I've seen it done. I've yet to see it done well, though, and I
>> think Lisp's done the right thing by not approaching it yet.
>;-)
Seriously, though, I really like how Lisp's age seems to lend it
perspective on issues like this. Other languages seem to imagine that
they have to get threads added NOW; Lisp just kinda goes: okay, let it
wait one or ten years.
I'm exaggerating, of course. But I sense that attitude, and I like it.
>> > 6.The macro system does not have as clean semantics
>> > as it should.
>> >What is he talking about? Are there serious problems with
>> >the *semantics* of the Common Lisp macro system?
>> Yes -- nearly the entire book "On Lisp" is about them.
>(Funny, I thought "On Lisp" mostly is about the ***power***
>of the Common Lisp macro system. I'll have to reread
>my exemplar.)
That you will. So will I -- it's worth the re-read.
>Read careful. The "semantics of the Common Lisp macro system".
>The Common Lisp macro system is a procedural macro system
>which is non-hygienic.
>Which are the semantic problems that the Common Lisp
>macro system has?
Er -- symbol capture by default isn't semantic?
>> Compare Scheme.
>They are different.
Hence the word "compare".
>> > 8.The too many builtin features are not orthogonal
>> > enough.
>> >Ask people which one we should delete...
>> I think he would agree with that. He's not talking about how to make a
>> better Lisp, but rather a better language.
>Just talking without bringing concrete examples is not really
>helping - otherwise I can claim whatever I like. Or is it just
>"opinion" from somebody who has neither written
>nor used significant amount of Common Lisp code, I'd guess?
Okay, you complained about the type system and the object system. How
about that?
>> > 9.There is no standard way by which the system
>> > would statically check declared types and infer new
>> > ones as a tool for enforcing static invariants and
>> > tracking bugs.
>> >There is not even a standard for a Lisp "system"...
>> That's what he's supposed to be working on.
>On a "Lisp system" or on a "standard for a Lisp system"? I won't
>hold my breath neither way, since both will be a *lot*
>of work.
On a *system*. I'm not holding my breath either -- but neither am I
holding grudges against him for trying.
>Sorry, I don't want to sound too negative. But it always
>bothers me when people don't get basic facts right - given
>the massive amount of information available and the possibility
>to get first hand experience. I mean one can ask somebody
>who knows a bit about the history of Lisp (we have some first
>grade experts posting to this newsgroup) or one can try to get real
>experience with existing systems. A summary of opinions of
>unqualified value is just that - of unqualified value.
IMO, this NG is one of the worst for getting information I've been on.
Even the Tunes listserv is better, because even though many of the people
there don't know how to communicate, they at least aren't all primadonnas.
If I needed a survey of Lisp, this NG is the last place I'd look.
No mistake, I like this NG because of the real weight of what's discussed
here. But sifting through the chaff is hard, hard, hard -- and posting
anything coherent is asking for an egotistical flame.
Like the one I'm writing now.
I'm not as hypocritical as I seem -- I recognise that I'm less valuble
than many of the posters even in this thread. But I'm puzzled -- in other
NGs, I _am_ valuble, my postings are light, humorous, and informative, and
the whole NG is more pleasant.
A pity we can't bring Tim Peters of Python fame in here.
--
-William "Billy" Tanksley
> >How can a reaction to an "opinion post" be off topic?
>
> Easily -- it can appear to attack the person, it can do so on the basis of
> an entirely different and unstated reason... There's a lot of ways that
> can happen. Your post just happened to have them all.
I have a different opinion about that. He was arguing about
his views concerning developing and evolving software - and
I made a comment about his project, which is/should be an
example. Which brought the topic from the abstract to
the concrete. I then was further trying to argue
by providing an example from his review subproject, to
show that he is *far* away from producing something useful -
especially when the basic description of something like Common Lisp
is severely flawed.
While I applaud the will to move forward and create
something (whatever it will be), I think he was argueing
about a **lot** of things and talking about **broad** goals
in his postings without having anything to back up his claims.
Even the will to use Lisp as an implementation language
I'd consider at best an "uninformed guess". I happily will
reconsider my views if there is more flesh on the bones.
> Note that I don't claim to disagree with the actual reason you posted that
> -- I understand. Tunes is really dragging, and Fare would agree with that
> statement.
Not really an example of the superiority of "Open Source",
"Free Software" or whatever it may be called.
(lot's of quoted but not commented text deleted)
>[to Erik:]
>> BTW, you probably know this already, but something seems to be messing up
>> your posts -- they're missing uppercase letters in places, and they're
>> indentation is kinda messed up. Add in the occasional run-on sentance and
>> they become very hard to read, which is a pity for posts of this quality.
>I've never found Erik's articles hard to read for any reason other
>than these two: (1) sometimes he discusses subtle issues, which
>require hard thought, and (2) sometimes his paragraphs are longer
>than I would like. His capitalisation and quoting conventions are
>non-standard, but they don't (to my mind) make his articles
>unreadable.
I like his postings, but his combination of subtlety of thought, blatant
aggresiveness, and a hard-to-read format makes it harder to give his posts
the thorough reading and thought they deserve. None of these except the
hard-to-read are truly problems; I particularly relish the subtlety of
thought. The combination, however, mixes poorly.
>Oh, and if you're going to be pedantic at people you should refrain
>from making such elementary errors as writing "they're" when you
>mean "their". :-)
Why should I have used the third person posessive? I meant to use the
contraction for "they are", and as far as I can see, I did.
Anyhow, pedanticity[:-)] wasn't my intent -- I just wanted to mention
something which was making me uncomfortable. I won't mention it again, of
course; he's free to continue doing it, and I'm free to get used to it :).
Keep in mind, though, that in a primarily written communication, failing
to meet simple conventions like this sends the same message that going to
work unshaven and with uncombed hair would -- "I don't really care about
you." Perhaps it's the right message to send; it doesn't fit with the care
he puts into his posts, and the contrast is almost painful.
>Gareth McCaughan Gareth.M...@pobox.com
--
-William "Billy" Tanksley
>| I can't bring myself to understand why anyone objects to snapping off the
>| word "library" when referring to a collection of functions. Would you
>| prefer "magazine" or "clip"?
> "library" has very specific connotations and annotations in programming
> language, none of which are applicable to Common Lisp. the whole concept
> is very, very different from what we do in Lisp. I'd expect "library" to
> be the equivalent of "package" in Common Lisp. since there is but one
> standard package, which holds the entire language, there _is_ no library.
Surely you meant "since there's only one ... package ... there is [only
one] library." I have no doubt that this is what Fare meant, and I really
find it hard to believe that it isn't 100% obvious.
>| The core problem is unintentional variable capture.
> well, the problem with hygienic macros is that you can't have intentional
> capture.
Untrue -- you merely can't have unintentional capture. Look at Forth --
in Forth, you use POSTPONE when you don't want capture, and EVALUATE when
you do. The problem, of course, is that EVALUATE is so much more powerful
than POSTPONE.
> Quotes edited accordingly.
Okay, commenting on the rest in this posting.
> a single example of an imperfect language review (is that REALLY the worst
> you could find??)
Don't know, was tempted to look at the others too deply.
> It's not bogus all the way -- it's a highly positive review of common lisp
> comming from a person who thinks all modern languages suck.
Isn't this a *primitive* view?
> So? That doesn't say anything.
Where is the causality? Why really is Common Lisp a
"monolithic ANSI standard language"?
> >Common Lisp didn't start its life as an ANSI standard.
> >The ANSI standard just followed what has done earlier.
Look at CLtL1 and CLtL2.
> >Common Lisp strived towards backwards compatibility,
>
> Okay, so you agree with Fare. Why attack him?
It just isn't the reason for a "monolithic ANSI standard
language".
> This is REALLY nit-picking, you know. I find it very boring to tell a
> highly intelligent and accomplished person the same thing over and over.
>
> But here it is one more time: Fare is talking about all the available
> words in Common Lisp.
I know that. How he writes it is misleading and opens the door
for multiple interpretations. My usual interpretation
of the word "library" is much more specific.
> "Wordset" would be, I believe, an equally useful term. "Library",
> however, will be immediately understandable to anyone with any other
> language background,
I was exactly fearing that this is not the case.
> and was probably the first word which popped to his
> mind.
"library" means something very specific to me - not something abstract
(like an ensemble of builtin functionality - rather something
that is external, under control of a certain mechanism and
identifyable as an entity).
Common Lisp has no library.
You would need to define wording a bit *before* writing a comparison.
Common Lisp incorporates all the functionality that is defined
by the standard - but not by means of a "library".
> I don't get _how_ that could cause any confusion at all, let alone offence.
Because the language is at best unprecise - which is *deadly*
for a comparison and leads to all kinds of misunderstandings.
Half of the things we are arguing on are misunderstandings
based on imprecise wording and the other half is
based on plain wrong understanding of the topic.
> >Come on. The object system and the type system in Common Lisp
> >are "hacked" together. Hey, it's useful but talking about
> >"well integrated" is a bit too much.
>
> I think Fare's point is that the job is done better than it was in most
> other languages.
Which ones? Like Cecil? Dylan?
> Not to mention that "unique on its own" is redundant. Unless, of course,
> you're reading to learn rather than nit-pick.
It just fails to acknowledge prior art. I'd consider this to be
"revisionism".
> >Describing Common Lisp, which I thought was the exercise we are talking
> >about.
>
> Ah. Not really -- this is a _review_ of Common Lisp. Description is part
> of the purpose, but it's more important to communicate the reviewer's
> opinion of the language and the reasons for that opinion.
Sure, but by what facts is this anecdote backed up?
What is the significance if this anecdote for the review?
> Seriously, though, I really like how Lisp's age seems to lend it
> perspective on issues like this. Other languages seem to imagine that
> they have to get threads added NOW; Lisp just kinda goes: okay, let it
> wait one or ten years.
Actually, I'd like to have it changed this round of the
ANSI CL work.
> >Read careful. The "semantics of the Common Lisp macro system".
> >The Common Lisp macro system is a procedural macro system
> >which is non-hygienic.
> >Which are the semantic problems that the Common Lisp
> >macro system has?
>
> Er -- symbol capture by default isn't semantic?
But what is the problem with the semantics of "symbol capture"?
Works nicely for me. I'm using it quite often.
> Okay, you complained about the type system and the object system. How
> about that?
I complained about the "integration" of both into Common Lisp.
> IMO, this NG is one of the worst for getting information I've been on.
> Even the Tunes listserv is better, because even though many of the people
> there don't know how to communicate, they at least aren't all primadonnas.
> If I needed a survey of Lisp, this NG is the last place I'd look.
Have you tried? There are already a lot of reviews
of Lisp and Common Lisp in the literature - why
not start there?
I just want to comment on this seperately.
> IMO, this NG is one of the worst for getting information I've been on.
(it is lightyears ahead of soc.culture.german ;-) )
Well, it varies, some posters are really helpful - some are not.
> Even the Tunes listserv is better, because even though many of the people
> there don't know how to communicate,
Sometimes people come from the "outside" and start topics
like "Is Lisp dying" or demand "prove Lisp is useful".
This is hard to swallow. Remember, some people on this
newsgroup have twenty years of Lisp experience.
In this time a lot of trends were coming and going, while
*some* people are not willing to go in the library and
just read or just read the FAQ or go to www.lisp.org .
> they at least aren't all primadonnas.
Hmm, using a killfile might be a solution, although sometimes
I find certain remarks from a certain person quite amusing.
But partly I agree with you.
> If I needed a survey of Lisp, this NG is the last place I'd look.
I think this shouldn't be necessarily so.
> Like the one I'm writing now.
>
> I'm not as hypocritical as I seem -- I recognise that I'm less valuble
you mean "valuable"?
Even if I think your (partly) defence of the tunes stuff
is wrong - discussing it might be helpful to others. They
have to decide on the arguments and get a better impression
what Common Lisp is really about.
> than many of the posters even in this thread. But I'm puzzled -- in other
> NGs, I _am_ valuble, my postings are light, humorous, and informative, and
> the whole NG is more pleasant.
The topics discussed in this thread are controversial - so
maybe a certain aggressivity comes in. Also keep in mind
that the Lisp community is highly diverse (unlike Python
for example, where two (?) implementations exist),
so there is more place for conflicts. Even if we'd
say all of them are parentheses lovers ;-) - this is not
really true - all of Lisp is constantly under debate
and under pressure to be defended. This is one reason
why Lisp survived the last fourty years based on a really
cute design - it evolves. Common Lisp has taken a break
for a few years - yet many people are experimenting
with new ideas using Common Lisp. The ANSI standard takes
care that we are not forced to put old code to the trash.
Yup. Which is why I go ahead and use only "defmacro", regardless
of whether I'm coding in Scheme or Common Lisp. All Schemes I've
run into so far (that have macros at all) have some kind of
low-level macro facility, which if it isn't "defmacro" already
can always be used to define it easily enough...
-Rob
-----
Rob Warnock, 8L-846 rp...@sgi.com
Applied Networking http://reality.sgi.com/rpw3/
Silicon Graphics, Inc. Phone: 650-933-1673
1600 Amphitheatre Pkwy. FAX: 650-933-0511
Mountain View, CA 94043 PP-ASEL-IA
no, I meant what I said and said what I meant. if I had meant something
else, I would have said that, instead. but now that you don't need what
I say to form an opinion about what I have meant, I'll just stop here.
you will probably invent the rest of what I had in mind, anyway.
Yes, 1st time; but I think Gareth means you're (:o) 2nd usage.
>> Oh, and if you're going to be pedantic at people you should refrain
>> from making such elementary errors as writing "they're" when you
>> mean "their". :-)
>
> Why should I have used the third person posessive? I meant to use the
> contraction for "they are", and as far as I can see, I did.
"and they are indentation is kinda messed up"? I don't understand.
Oh well, never mind.
I didn't say MORE hackable, I said its hackability. sigh. I'm saying
that MS-DOS would not have become a winner in the market if it had been
unhackable and people couldn't add fairly basic stuff to it and learn
more about it -- it's the same argument people make about free software,
for crying out loud! if you don't think it mattered for MS-DOS, you
should explain why the exact same thing is _the_ defining property of the
success of free software in some people's mind. initial deployment may
well have been because of the "IBM" brand, but how many other products
have had the "IBM" brand and _not_ become widely popular? the efforts to
explain the normal life of an IBM product fail utterly when that product
became a NON-IBM product.
I have to wonder, am I the only person left on this planet who remembers
the computer magazines of the '80s?
| Not quite at first, IIRC. I believe IBM would sell one of three OSes
| with the early PCs: PC-DOS, CP/M-86, and the p-system. MS-DOS was
| shipped as PC-DOS and was the default.
there _was_ no MS-DOS at the start. PC-DOS was a relabeling of QD-DOS
(Quick and Dirty DOS) made by one of Bill Gates' early victims, and very
little else. it was basically a port of CP/M to the 8086 without the
stupid incompatibilities that cost Digital Research their market position.
| If you don't like Microsoft, then you really should think about how much
| you want software companies to care about the bottom line.
your decision to give Microsoft and Bill Gates your full moral support is
not a necessary consequent of caring about the bottom line. I suggest
you think about how caring about ethics and legal business practices is
not necessarily the detriment to success that it would have been if
Microsoft had cared about them.
I also don't think drug czars, pimps, extortionists, and porn makers are
good models of how to make money, but there's no doubt that in each of
these categories of "business", the bottom line is very well cared for.
in case you haven't noticed, Bill Gates is actually defrauding people.
most people who engage in fraud will make big money for a while -- if
they had been utter, complete, and immediate failures, there would have
been no incentive to make laws against fraud.
| >> the mass market is _not_ the only market. the only thing we can say for
| >> sure in this business about those who believe that is that Bill Gates
| >> profits even more by having as many people disregard every other market.
| And why do they disregard every other market?
I was talking about people who claim Bill Gates is next to God, not the
people who buy his crapware, because they _are_ his market. it's the
people who argue _against_ creating software for something _other_ than
the mass-market that Bill Gates controls that I'm interested in.
| There have always been different operating systems and languages
| available, if you knew what you were doing and what you wanted. For the
| individual purchaser, gaining the knowledge was generally a bad move.
| The result is that the market is dominated by people who really don't
| know what they're doing, and this is a bad thing in general.
| Unfortunate, but I don't have a fix for it.
this is a twist on the old "but what can one man do?" argument, and it is
just as invalid. each man can do exactly what he wants. conforming to
the masses is a _choice_, and any other choice may be made. the fix is
therefore very simple: change your own ways, then change that of one more
guy. publicize your choice, understand what people base their decisions
on, then do something that makes a few people notice. you can't change
the minds of millions of people at once, you have to change a few minds
at a time, starting with yourself. if you deny that that option exists,
there is no fix for any problem at all, from _your_ perspective, that is.
why don't you _try_ to understand rather than repeat that you don't?
you're facing the same problem faced by people who aren't used to how
racial issues work in the United States. if you're used to say "black"
in your environment and some people have a serious reaction to that in
some other environment because it has a whole truck-load of very wrong
connotations, _you_ are the fool for not recognizing this and trying to
respect that the connotations are undesirable and use something else
without those same connotations, not the person who objects to your usage
or "terminology".
viz, "library" has a lot of connotations that are strongly invalid for
Common Lisp. listen to that fact. try to understand the history of that
fact. try to figure out why people object to the term along with such
things as that Common Lisp doesn't "link" with libraries, doesn't produce
"object files" and doesn't come with a "library manager", doesn't
"resolve" undefined symbols, etc.
on the other hand, how we choose to organize Lisp programs in memory and
on disk is a completely separate problem from the language. we might
very well organize the system such that (1) some functions are loaded
from disk on demand, (2) some functions are in some particular shared
libraries, (3) some functions are written in a different language and
actually form a static-language type "library" in the boot-up process.
none of this, however, has any bearing at all on the way Lisp sees these
functions. the concept "library" is therefore _destructive_ in getting
to the proper way to view a Lisp system, because you will forever focus
on the wrong part of the system and the way it is organized.
| Seriously, though, I really like how Lisp's age seems to lend it
| perspective on issues like this. Other languages seem to imagine that
| they have to get threads added NOW; Lisp just kinda goes: okay, let it
| wait one or ten years.
(what became) Common Lisp has also _had_ threads for about twenty years,
without the clamor for standardization that we see today. people have
been satisfied with the way things have worked in the various Lisps, and
the desire to standardize the obviously immature hasn't been very vocal
until fairly recently, _because_ neophytes in language land make a huge
point of having a very simple version of what most Lisps already support.
| IMO, this NG is one of the worst for getting information I've been on.
that's because you insist on deciding the form in which you will accept
it. other people have been near ecstatic about this newsgroup because
they are (gently) forced to think about unusual issues and rethink their
position on others. you don't seem to appreciate this interaction at
all, so of course you will not find what you're looking for -- as witness
your desire to force others to accept that "library" is acceptable here.
you will fail, because it is not the right concept. your insistence is
creating a lot of unnecessary friction. other people who insist on
bringing a lot of friction to the newsgroup for basically the same
reason: they don't want to learn things at the level they actually need
to learn them, but think they know a lot more than they do because they
feel they deserve to, by virtue of knowing something else well. all I
can say is that it's strange that it is people with this attitude that
call people here "primadonnas" and "all-so superior" and other evidence
of inferiority complexes hard at work. the fact is that there is nothing
wrong in being a novice at something if you are an expert at something
else -- if you really are good, you will not be a novice for long -- but
the more you pretend you're an expert, the longer it will take to become
one for real.
you are free to interpret things any way you want, but you should be
aware that I don't do _anything_ withing giving it full attention. it's
my one basic problem: I care too much, often about issues that other
people are _completely_ ignorant about.
I find it somewhat odd that you object so much to my visual layout. most
other people who have commented on this tell me that it is very obvious
that I spend a lot of effort making them visually pleasing, although my
deep respect for the capitalization of the individual word divides people
about half and half.
> IMO, this NG is one of the worst for getting information I've been on.
I feel I have to comment on that, despite the risk of adding to the
noise levels.
I have been lurking on this group for over two years now. The
discussions on it have repeatedly taught me new ways of looking at
programming and have often made me think.
In an attempt to redress the unfairness due to satisfied people not
being vocal, let me just offer a vote of thanks to the people who have
helped in this.
I shall attempt to make my next post have more relevance to Lisp than
just my signature ;-)
Christophe
--
Jesus College, Cambridge, CB5 8BL +44 1223 473 339
(format t "~@(~@{~31r~^ ~}~)." 595756 9556552524 643802 496307950)