On text editor bigotry

I have to say that as a Free Software developer, one thing I find very disappointing is people being needlessly hostile to a project of mine, and using incorrect reasoning to substantiate it. Nine traits of the veteran Unix admin is one of those gems.

Let me first say that I actually like vi[m] quite a bit. I’d even agree with people who say you can’t be a true Unix admin without knowing vi. Note I said knowing, not using for every task. On any Unix machine made before the turn of the century, you’re going to want to know vi to get around. Emacs I never got around to using; many of my coworkers swear by it. It looks like a fine program. I feel no need to needlessly hate on it just because I wrote a competing program

Originally I used elvis because it’s what the Slackware version I started with (2.3 IIRC) included; see trait number 4 from the article. I like vim as well. It’s a great program. It’s also very portable, as are emacs, pico and nano.

What vim is not however is ‘svelte’. It’s a pretty big boy these days, as it has a lot of features; that robustness and portability does have a trade-off.

How big is it? On my now ancient ia32 system it’s 1.5MB. Yes, megabytes. Too big to fit on a floppy disk by itself; remember those? Good times.

-rwxr-xr-x 1 root root 1758932 2009-09-21 07:24 /usr/bin/vim.basic

emacs is a somewhat healthier 5MB. As the author mentions, emacs does have a substantial feature set as well.

Nano, however, is just a tad smaller than vim. And by a tad I mean an order of magnitude smaller:

-rwxr-xr-x 1 root root 170040 2011-03-02 22:46 nano

That’s right, the bloated, easter-egg-including version of nano is 170K. So fine, let’s compare the
vim-tiny size as that’s probably a more fair comparison:

-rwxr-xr-x 1 root root 687572 2009-09-21 07:23 /usr/bin/vim.tiny

650KB. Better, but still substantial. In fact, there are emacs implementations (and otherwise great editors) that are also smaller than vim-tiny:

-rwxr-xr-x 1 root root 275724 2009-06-23 08:28 /usr/bin/jed
-rwxr-xr-x 1 root root 171736 2008-05-11 12:11 /usr/bin/jove

This actually isn’t a fair comparison either; the tiny
version of vim does not leave out its excellent on-line help system and probably a few features not absolutely essential for a ‘tiny’ vi implementation. In fact the full version of good old elvis is only 600KB. When we start paring that program down, its a little closer: elvis-tiny is 76K to nano-tiny’s 50K.

The point I’m making is don’t go around saying that vim is a sleek and sexy sports car nowadays. Its a great, feature-rich and rock-solid editing environment. It’s just not skinny, bony or gaunt, so don’t pretend it is.

Also I’m tired of this ridiculous ‘real sysadmins only ever use vi’ mantra. Now tell me we should only use the console even on our desktops, as X is just too cushy for a sysadmin and makes you weak over time. This is the computing version of that guy, you know, the one who’s really into cars and always is going on about how you can brake better with your foot than ABS could ever do. It’s 2011 for pity’s sake. Sysadmins coming out of school since 2000 have grown up on editors besides vi, they find the learning curve needlessly difficult and they had alternatives; they’re not bad people, they’re syadmins, i.e. they’re lazy.

Hate on other text editors if you want. Just don’t do it with incorrect information.

When Non-Free is “Free Enough”

[This is a repost of an article I wrote in 2001 on the University of Washington PINE license.  Restored here for posterity.]

When Non-Free is “Free Enough”
by Chris Allegretta

The University of Washington’s Pine mailer. A popular piece
of software, indeed, as is its editor component, Pico. So much so that
most people turn a blind eye to its license: a license, I feel, that is
as bad as anything that has ever come out of Redmond.

Virtually every major GNU/Linux distribution ships binaries of Pine and
Pico with the notable exception of Debian. After all these programs are
veritable mainstays of the Unix world. Ironically, according to the
legal terms of the program, Debian may be the only distribution legally
allowed to distribute the program!

From the
Pine Legal Notice
Redistribution of this release is permitted as follows, or by mutual
(a) In free-of-charge or at-cost distributions by non-profit concerns;
(b) In free-of-charge distributions by for-profit concerns;
(c) Inclusion in a CD-ROM collection of free-of-charge, shareware, or
non-proprietary software for which a fee may be charged for the packaged

Let’s say producer PhatHat makes a “Super Ultimate PowerPack 10 CD
Edition” distribution and sells it for $40 with support. That would
appear to satisfy section (c) of the notice, correct? But what if they
also include on those CDs binary only, “proprietary” drivers for oh,
say, the latest Ovidian video card. Now are they in violation of the
Pine license? I’d say yes. There is the “written permission”
clause, but that’s a highly outdated means of licensing software in
the wonderful electronic age in which we live.

However, because of Debian’s stance on not shipping non-free software in
their standard distribution, they could pass this portion of the
licensing terms for distributing Pine. But Debian doesn’t put Pine into
their main archive. In fact they wont even ship binaries of Pine or
Pico! The source code, along with various patch files, can be found in
Debian’s non-free section because the distribution terms violate
the Debian Free
Software Guidelines

The license must not place restrictions on other software that is
distributed along with the licensed software. For example, the license
must not insist that all other programs distributed on the same medium
must be free software.

This is actually just one reason Debian doesn’t include Pine binaries.
Want more? Read on.

Suppose tomorrow the Pine license changes to something more
restrictive, say, completely closed source, binary only redistribution.
Are all those distributors who were already in violation of the
license going to simply drop the package from their distribution? I doubt

Why, you ask? Simple, because they can’t stop distributing the program,
users have come to rely upon it to read their email and edit their
documents! Read the debian-user
mailing list sometime and see how many times users of other
distributions scream “Ahh! where’s Pine and Pico, my life will end
without them!” The users are not at fault, their old “Open Source”
operating system included Pine and Pico, so why shouldn’t Debian? The
programs are “Open Source” after all, aren’t they?

The thing is, they aren’t. The Pine license is not a
Free Software
license, nor does it meet the Open Source
. Why is it included in the distribution, then? Well,
So back to our new license scenario. I hear you saying “I highly doubt
Pine will go proprietary, it’s published by a university”. Fair enough.
Suppose instead that Pine’s maintainers get new jobs more demanding of
their time, or something else stops them from maintaining the program
full time. Now a security issue arises that requires patches to the
source code. What can our distributors do then?

Well, what is normally done in situations like
this is that programmers from outside the project will go back to the
last release of the program, and fork a new version of the program from
there with their own patches. This is what
the OpenSSH developers did when the
original ssh program went commercial and there was no support of
the older, more open version.

So they can just fork a new copy of the program, right? Wrong. You
can’t fork Pine and produce modified binaries, this is

by UW, it’s specifically addressed in the Pine FAQ. In
fact, later on the FAQ brazenly
states, In particular, the earliest Pine licenses included the words:
“Permission to use, copy, modify, and distribute this software… is
hereby granted,” but some people tried to pervert the meaning of that
sentence to define “this software” to include derivative works of “this
software”. The intent has always been that you can re-distribute the UW
distribution, but if you modify it, you have created a derivative work
and must ask permission to redistribute it.

So, people who support Open Source and Free Software are perverts for
thinking you should be able to ship modified binaries of a program!
The wording could have been “change” or “twist”, but the word chosen was
“pervert”. I feel this is an intentional slander of proponents of the
GPL and other Free Software licenses.

hy do I feel this licenses is as bad as Microsoft’s licenses? I
don’t, I think it’s worse. With any commercial license, you do not ever
expect to see or have rights over the source code to the software.
In the case of Pine, users are lulled into thinking they have
rights to do what they want with the software, but really they don’t.
And if UW makes the license more proprietary or simply stops updating
it, there’s nothing they can do about it.

So, what can we do? For one thing, stop referring to Pine and
Pico as Open Source! And if you can’t handle that (and you know who you
are), at least don’t nominate them for awards
specifically for Open Source programs! Also do not lump Pine and Pico
in with other GPL covered programs on web pages or when discussing Free
Software, as this may confuse people into thinking that Pine and Pico
are in fact also Free Software programs, which they are not.

Another thing you can do it educate your peers, when they
say Pine is “Free” or “Open Source”, mention that the license restricts
modified redistribution, and have them read it over for themselves.

You can also use free alternatives to these programs. The mutt mailer is very similar program to
Pine, once you get used to the slight difference of starting up at your
messages and not at a menu. There are keymaps you can download to make
mutt behave like Pine. You can also use (weren’t you waiting for the
plug?) GNU nano instead of Pico
to edit your files.

Yes, I am the author of GNU nano. I am biased in this regard. But nano
is itself evidence that Pine may indeed be “free enough” for people, when
perhaps it shouldn’t be. Pine and Pico have been around for ten years,
and nano is the first project I’m aware of that attempts to remedy the
licensing problem by making a complete clone of the software starting from
scratch. The question comes down to: do you want full rights over the
software you use, or is Pine “free enough” for you?

Chris Allegretta, chrisa@asty.org