Why I Hate FirstClass

by Allen B. Downey

In our discussion of electronic discourse, it is easy to focus on how we use tools like FirstClass, and not think enough about the message we send by using FirstClass in the first place.

Paying a lot of money for FirstClass, and using it to the exclusion of other tools, is effectively a strong endorsement of proprietary software and the values it is based on. It obscures important information about how the Internet and its applications work, where the underlying ideas come from, and what values this technology is intended to serve. Also, it makes us less effective users of computer technology, and less independent consumers of software.

By imposing proprietary software on the campus community without mention of alternatives, we do a disservice to ourselves, our students, and the next generation of computer users.

What is proprietary software?

There are two kinds of software in the world, free and proprietary. Free software comes with a license that allows users to modify it, fix it, or port it to a new machine (or hire someone to do those things). When you buy proprietary software, you get a license that allows you to run the program and that's it. You can't make copies or let other people use it. If it doesn't work correctly, or you need to add a capability, you can't modify it. All you can do is ask the vendor, wait, and pay more for the next release.

In general, free software is small, cheap, reliable, and universal (in the sense that it runs on any hardware). Proprietary software is generally big, expensive, unreliable, and available only on platforms that the vendor thinks are economically worthwhile.

What's wrong with proprietary software?

In the history of software, there is a repeating pattern: great ideas, like internetworking, email, newsgroups, and the world wide web, are developed by the Free Software and Open Source communities and made available in the form of simple, reliable tools like mh, rn, and the original web browsers. Later, these ideas are coopted by proprietary software makers and made available in the form of expensive, feature-bloated programs like FirstClass that are always more expensive and usually less capable and less reliable than the originals.

At the same time, the proprietary knockoffs have the annoying habit of breaking the fundamental concepts that made the original systems work.

Taking FirstClass as an example, here are a few of the concepts that form the basis of electronic discourse, and the ways FirstClass violates them:

  • Inclusiveness: The fundamental goal of the Internet, and the applications that run on it, is to be inclusive. They should allow any two people to communicate, regardless of the hardware and software environments they use.

    FirstClass provides software only for Windows and Mac OS. Two years ago, they claimed to be developing a FirstClass client for Linux, but they have apparently dropped this project.

  • Universal addressing: The Internet in general and email in particular are based on the idea of universal addressing. Every person has a unique email address and every machine has a unique IP address. If I know your email address, I can send you mail, and if I send your email address to someone else, they can send you mail.

    FirstClass breaks this fundamental capability by blurring the line between real names, nicknames, and email addresses. For example, I regularly receive email from FirstClass users that includes other addresses in the Cc: field. The other addresses look like email addresses, but if I reply to them, I find that, no, they are nicknames created by the sender.

  • Interoperability: Email works because all the programs that handle email can talk to each other, using a protocol named SMTP (simple mail transfer protocol). This protocol provides guarantees about how mail gets delivered and what happens if something goes wrong. The system can only make those guarantees if every program that handles mail abides by them.

    FirstClass provides a non-standard model of mail delivery that is not compatible with the rest of the email universe. For example, one of its more insane features is that it will not deliver mail if the recipient's mailbox is full. Also, it allows users to "unsend" mail, but since this feature isn't supported by SMTP, it may or may not work, depending on the recipient's environment.

Individually, none of these design flaws is fatal. After all, plenty of people use FirstClass happily, and they seem to be willing to forgive the expense (buried in an IS budget) and unreliability (in comparison to Windows and MacOS, it's not that bad). But taken together, they make FirstClass a prime example of everything that is wrong with proprietary software.

What should we do?

Given the investment the college has made in FirstClass, we are probably stuck with it. But if we are ever in a position to reevaluate it, I hope we will look for alternatives that are more in keeping with the values of the college and our educational goals.

In the meantime, some minimal steps include making the community aware of the alternatives to FirstClass, making FirstClass more interoperable with other software, and thinking about the implicit messages we send with the tools we choose.

For more information about Free Software and related issues, see my related essay, "A Free Software Reader".

Update: August 29, 2007

A friend in a school district in Florida described a problem they have encountered related to the way FirstClass handles nicknames:
The standard mail program here is First Class; however, we have a
number of people who want to use Outlook as their mail client.  They
have noticed something that is causing them some consternation.

The scenario we've seen is this:

1.  Bob originates an email in First Class and sends the email to Fred.

2.  Fred uses Outlook and has his First Class mailed pop'd into Outlook.

3.  Bob copies Tom (who Bob selected from his First Class contacts)

4.  When Fred receives the email from Bob in Outlook, Fred sees no
indication that Tom was copied.

Fred knows that Tom needs the information in the email too, so Fred
forwards the email to Tom.

Now Tom has two copies of the email from two different people in the
same department and it looks unorganized.

This sounds like FirstClass might have changed the behavior I described in my original essay. Instead of including nicknames in the Cc: field (which was a terrible idea), it seems to be dropping the contents of the Cc: field altogether (which is still terrible, but a different kind of terrible). The obvious solution is that FirstClass should do what any civilized mail handler already does, which is look up nicknames and replace them with proper email addresses. Or am I missing something?