"Perl is the duct tape of the Internet" and other musings

Robert S. Thau (rst@ai.mit.edu)
Thu, 9 Jul 1998 13:43:10 -0400 (EDT)


Ron Resnick writes:
> I have a long list of grievances about these, esp. Jigsaw,
> but this is neither the time nor the place :).

Some of us might be curious anyway...

> What Open Source tools do you use?
>
> - OS? Well, that's pretty obvious. Linux or FreeBSD.
> - web server? Apache, or, perhaps Jigsaw, if you're of a Java
> frame of mind.
> - Development tools? gcc if C/C++ is your thing, JDK if you
> like Java. That's kind of a cop out, since it's $-free but
> not source-free. Still, that's 'kosher'. (Does anyone know
> if Gnu or others are working on something like a gnu java compiler?)

There are a couple of free Java VMs (Kaffe --- ftp.transvirtual.com,
and Japhar, which can be found at www.hungry.org); Japhar is LGPLed;
Kaffe is GPLed and much farther along. Currently available releases
of both VMs depend on the Sun class libraries, but the Kaffe folks
apparently have a clean-room reimplementation on the shelf, with the
release held up, so the story goes, pending legal clearances. Both of
these (and particularly Japhar) are still being shaken down by their
authors.

As for compilers, the main free example I'm aware of is guavac, which
is written in C++ (of all languages); I'm not sure how active this
project has been recently, though, or whether it supports the new JDK
1.1 language features (most notably the nested class syntax).

The home page is http://http.cs.berkeley.edu/~engberg/guavac/

Another alternative for running servlets, BTW, would be to use the
apache mod_jserv, which lets you run Java servlets for your dynamic
content, and have your static content served by C code which is
probably a fair bit faster, in the present state of the art.

> [PostgreSQL] sounds pretty good. So how come I've never heard of it,
> till I didn't start poking around? Why doesn't it get
> the press & hpye Linux, Perl, Apache, and that lot get?
> Is PostgresSQL to Oracle and SQLServer what Linux is to NT or Solaris?

Errrrmmmm... beats me; I heard of it quite a while ago. FWIW,
PostgreSQL is probably not more widely used because it has a
reputation for relatively poor performance compared to the other
available tools.

What I see people using more commonly is something called mysql, which
has a license which is not *quite* fully open source, but due to
restrictions which many find unobjectionable. (Royalty payments are
required for commercial redistribution of the server back-end, but not
for commercial *use*). See www.mysql.com if you want to know more
about this thing.

Note that the mysql license is liberal enough to give users most of
the benefits of fully-open source (peer review, you can fix it
yourself if you have to, and distribute the fixed versions), even
though it doesn't strictly comply with the Open Source Definition.
(In particular, the terms for redistribution of modified versions and
bugfixes are a *lot* more liberal than the oft-criticized Qt license).
In this sense, at least, it's closer to the "free software" ideal
than, say, the "free beer" Sun JDK distributions (which are available
without a fee, but require formal non-disclosures of anyone who wants
to tinker with the source).

The biggest problem with mySQL, IMHO, is that it does not support
transactions; PostgreSQL does support commit and rollback (though I'm
not at all sure about nested transactions). Mysql does let you
explicitly lock tables, which allows you to work around the lack of
transactions in some simple cases, but when you need rollback, you
*really* need it. The lack of stored procedures may also be a
headache in some cases.

Another real dark horse is GNU SQL, which was announced a while ago;
this was written by some Russian guys, released under GPL a while ago,
and I've heard little scuttlebutt about actual use of it. It may be
worth investigating. See http://www.ispras.ru/~gsql/

rst