Subject: Re: Innovation and APIs (Re: What Lisp to choose?)
From: Erik Naggum <>
Date: 2000/06/07
Newsgroups: comp.lang.lisp
Message-ID: <>

* Erik Naggum
| ... it seems you should retarget your efforts to improve quality in
| the components you use.

* Martin Cracauer
| And how do I do it when I can't change them without working
| full-time for the vendor?

  You talk to the vendors (plural) that you could purchase something
  from and choose the one (oh, no! :) that listens to you.

  I wonder where the notion that you cannot affect a software product
  except by tinkering with the source code comes from.  It's bogus.

| Sorry, I should have worded differently: if you want innovation you
| can't get when working inside existing multi-vendor frameworks,
| isn't it preferrable to implement a thing like CAPI on your own,
| basing just on Common Lisp, Posix/Win32 and X11/basic windows draw
| routines?  (Over using existing frameworks you cannot control).

  No, I don't think so.  I want to be good at what I do, and I have
  found, after having become good at perhaps 20 different things in as
  many years, that if I can find somebody else with like attitude, or
  better yet, a whole bunch of people with like attitude, we don't all
  have to be good at the _same_ things.  Sometimes, I'd like to go to
  a doctor and say: "Hey, I broke this, can you fix it?" and let him
  do his work, instead of studying the parts of medicine that I need
  to fix it and hope I learned it in time not to have done ill worse.

| I say that using an existing API (over doing it yourself) saves A
| time, but it costs B time that it is not specilized for your needs,
| it costs C time to work around bugs in implementation or
| documentation, it may cost D time to do something about it when the
| vendors fails to continue the product in an appropriate manner.  And
| that B + C + D easily > A.  And when it it, it often is in annoying
| quantity, including risks for your own project or company.

  What a sad, paranoid view of the world!  Here's a suggestion: Drop
  the crap you're working on and take a week's vacation right now,
  during which you ponder seriously whether you ever again want to
  work with incompetent suppliers.  If you conclude that, yes, you
  want to work with incompetent suppliers, go back to work.  If you
  conclude that, no, you do not ever want to deal with any supplier
  who is incompetent, buy firearms and ammo and go back to work :)
  _or_ get a new job.  According to the newspapers and the screaming
  idiots in the IT business, there is a shortage of people who know
  just about _anything_.  (Never mind that there are unemployed IT
  people, too, we don't want to be honest while marketing, do we? :)
  If you can't get a new job where you don't have to deal with a lot
  less incompetent suppliers, do something else that you're good at.

| That is a bad situation, and there are several ways to approach a
| solution.

  Some situations have only one solution, and it's the opposite of
  "approach": it's "butt out!".  I honestly don't think people should
  try to solve the problems created by using Microsoft products.

| The other is to do the current things right, so that users and
| customers will be freed of the "doesn't-work-anyway" expectation and
| will have their head free to even recognize advanced concepts.

  I'm worried about your fixation on "advanced concepts" and
  innovation, so I'm sorry I brought it up to begin with.  There's
  such a mind-numbing lack of competence in any IT field that you
  don't have to be brilliant to be extraordinary, and you don't have
  to excel to deliver consistently high quality.  People don't do
  quality work because they can get away with not doing it, and all
  you need to do is to make sure nobody gets away with around you.
  I know: I do just this.

| I think that the OpenSource community did a lot in the latter regard
| and that using single-vendors APIs will lead to forced changes in
| your software that is contrary to it.

  Some day, I hope to find out what Open Source _really_ is a solution
  to.  So far, the only thing that really stands out is "at least it's
  not Microsoft", and I was pleased that Rob Pike seems to have the
  same insight.  I don't think we have solved anything of importance
  with Open Source, except how to threaten software development in the
  long term to the point of extinction or utter non-innovation.  The
  sad fact is: people don't contribute for free to anything that they
  can't charge to a "surplus/luxury account", and in programming,
  that's what they know _too_ well.  Add the pain of solving some
  really hard stuff to the equation, and a lot fewer people will want
  to contribute for free.  To engage the masses of people that Open
  Source relies on, you can't _do_ really hard stuff for long.  At
  some point, those who give away will want a return on investment.
  If they find out that they killed a lot of software companies or
  blocked a lot of ways to make money by giving too much stuff away,
  they will turn on Open Source and blame it for the reduction in
  their options.  So Open Source is a luxury phenomenon, to vanish or
  be sharply reduced when we can no longer afford that luxury.

  If this is not what you expected, please alter your expectations.