[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: GPL & commercial software, the critical distinction (fwd)




Forwarded message:

> From: Matthew James Gering <[email protected]>
> Subject: RE: GPL & commercial software, the critical distinction (fwd)
> Date: Tue, 29 Sep 1998 18:41:25 -0700

> Jim Choate wrote:
> > The only objection to releasing an API is to 
> > stifle competition, *THAT* is a bad thing.
> 
> There are a number of other reasons -- principally support and backwards
> compatibility costs. If you release an API for a commercial application
> for ISVs, you better make sure it is relatively bug-free and mature. As
> soon as someone else's code relies on that API, you are stuck with
> making sure it continues to work as the product evolves.

This is bogus reasoning. If the API is released there is *more* motivation
for the original distributor to keep backward compatibility and bug-free. If
it isn't some pissed off set of programmers will write a replacement.
Furthermore the motivation to keep future compatibility is also increased.

You want quality code that is bullet-proof then release the API and let the
fittest survive.

If nothing else it's going to determine if your as bad-assed programmer as
you think you are.

> There is nothing wrong with public and private APIs, and we hope that
> the ad hoc private APIs from some midnight-oil-burning-hack to get the
> product to ship on time that have useful functionality will eventually
> be integrated into a mature public API.

If you release the API you'll find those midnight hacks go away, *not*
increase as you seem to be claiming. The history of quality over time of the
Open Software producers amply proves this.

Solaris, HP, BSD, NT, etc. *wish* they were as stable and popular as Linux.

> Modular OOP design means you have lots of interfaces, you don't
> necessarily want people to be able to dig in-between all the pieces of
> your program -- often you cannot protect application/data integrity if
> they do.

Malarky. If you're data structures are that fragile then you need to go back
to the drawing board.

> > Had Microsoft, for example, been required to publish their 
> > API's by the market we wouldn't be spending all this effort
> 
> You state free-market and then you are *requiring* someone to do
> something? How do you resolve that contradiction? Require = Force !=
> Free[dom]

Free-market *requires* fair competition, don't blame that requirement on me
I had nothing to do with it. Free-market does not mean carte blanche as to
what manufacturers can do, it means there are no outside regulations
applied. It says *nothing* about internal regulation applied by either the
producer or the consumer.

If you are seriously saying that the only workable market scheme is to let
people cheat and steal from others (which is what poorly written and
unreliable code does) then you need to quit typing and starting thinking.

> As far as *commercial* software vendors go, Microsoft is one of the
> better companies for publishing APIs and creating useful APIs and tools

Malarky. Microsoft has so many hidden, undocumented, incomplete API's it
isn't even funny.

> for Rapid Application Development. Do you subscribe to MSDN? Please do
> before you crucify Microsoft for lack of APIs, if anything they have too
> many.

Subscribe to the MSDN?

I work for Tivoli in Austin as a Senior Software Verification Engineer. I
spend about 8-10 hours a day banging on software running on:

SunOS 4.x
Solaris 2.x
HP/UX 9.x
HP/UX 10.x
AIX 3.x
AIX 4.x
WinNT 4.0
WinNT 3.51
W4W
W3.11
OS/2 3.x
OS/2 4.x
AS/400
Novell 3.x
Novell 4.x
IRIX 4.x
IRIX 5.x
DG Unix
Digital Unix
NextStep

networked via,

TCP/IP
IPX
SNA
Token Ring

databases we support,

Oracle
Sybase
Informix
DB2
DBMX

I've also worked on:

Pick
Linux (since 0.42)
QNX
SCO
Interactive
BSD
CP/M
C64
AmigaDOS
4DOS

It requires that I comprehend and write shell scripts, Perl, C, C++, REXX,
4TEST, CORBA IDL on these platforms. I started analog and digital electronics
in 1969, I started programming in BASIC/8 on a PDP 8/e in 1973. I built my
first 6800 based machines from the ground up in 1974 when I was a freshman in
high school. I've been employed in a hardware or software position since 1978
when I graduated high school. I've owned more different types of machines
than I care to remember. I've worked in a science museum building 40
exhibits over 7 years (2 of which are in the Smithsonian, 1 is at the
Exploratorium and 1 is at the Chicago Museum of Science and Technology,
and I worked on the IBM Leonardo exhibit.) and had the pleasure of running
their computer group for 5 of those years. I taught astronomy at the museum
for 3 years and explained exhibits to the visitors for 7 years. I've been
using MS Dos and Windows since the 1.0 days. I worked for the DoD building
non-Von Neumann computers (RTL architecture). I hold a NASA certification
(expired) for space rated soldering and mechanical assembly. I used to work
on cesium beam atomic clocks and LORAN-C equipment. I run my own custom
development business since 1984, and it's been on the internet since 1994
via ISDN. I've been running a BBS of some sort since '76 and had one
continously online since '83. I helped develop TurBoard the first NAPLPS
bbs software. I program in assembly on PDP/VAX 11, 6800, 6502, 8080, z80,
68k, 80x86, Sparc RISC, both types of POWER chips, & 8051.

My current assignment is to build an automated software test engine that
will test *all* the above OS'es with all the Tivoli products (are you
familiar with Tivoli?), with all the point-patches, maintenance releases,
and service packs installed in a user defined combinatorial environment.

Microsoft's API's suck rocks.

What do you do for a living?


    ____________________________________________________________________

                            The seeker is a finder.

                                     Ancient Persian Proverb

       The Armadillo Group       ,::////;::-.          James Choate
       Austin, Tx               /:'///// ``::>/|/      [email protected]
       www.ssz.com            .',  ||||    `/( e\      512-451-7087
                           -====~~mm-'`-```-mm --'-
    --------------------------------------------------------------------