Bram Moolenaar is the author of Vim, text editor which is very popular among unix enthusiasts.
27.6.2007 15:00 | Luboš Turek | read 28933×
RELATED ARTICLES
DISCUSSION
1. My first question is the one you are probably asked the most. How did Vim
come out?
At my first job I was using vi on Unix computers. For home use I bought an
Amiga computer. Quite fancy at that time, but there was no good vi compatible
editor for it. There was something that worked like Vi, called Stevie,
and it was open source. So I started fixing bugs and adding the things that I
missed. At first to make it do the things that Vi does, later adding new
features. And I still haven't stopped doing this.
2. You do the very most work on Vim yourself. Could you estimate how many
percent of actual code was written by you?
Most of the work on Vim is indeed done by me. However, some of the major
features were started by others: the port from Amiga to Unix, the GUI, several
interfaces, etc. So then I get a big patch, which gets included, and the
original author fixes reported problems for a while, but then he loses
interest and I end up doing most fixes myself. It's difficult to estimate how
much of the code was written by me, in many places I made small changes and
then how do you decide who wrote it. There must even be some pieces of Stevie
still in there somewhere.
3. Vim license used not to be GPL-compatible. Was it actually your choice to
change it or it was because of external circumstances?
The main reason to make the Vim license GPL-compatible was that some of the
libraries that Vim can be linked with are GPL licensed. When Vim is not GPL
compatible, that means the resulting binary cannot be distributed. One of
these libraries is gpm, for the Linux console mouse. Of course I like people
to be able to distribute Vim, and since it would be difficult to convince
others to let go of their license, the only option was to make the Vim license
GPL compatible.
4. Vim is proclaimed to be charityware. What's the context of charityware?
Quite a few people express to me that they think Vim is worth something. It
works better than commercially available editors. But most of the time I have
had a job that provides me with enough money to live a good life. So I don't
need to ask money for Vim. So when people still feel like they need to give
something back, it's better to give to those who really need it. Since I know
the project in Uganda very well, I decided this was the best place to send the
money.
5. Vim has obviously been helpful for ICCF. Do you dare to estimate how much
has been donated to ICCF because of Vim?
This is hard to estimate, but it certainly is getting more and more. When
ICCF Holland started we asked the people who visited the project to ask
friends and relatives to sponsor a child. Now that no teams go to the
project from Holland, the connection to Vim is the main source for new
sponsors. It's certainly true that most one-time donations come from Vim
users. But we also have our loyal sponsors from the early days.
6. Are there any different ways users can help you? Do you value thank-you
letters or are you too busy that they bother you?
I'm very busy, but getting a thank-you note once in a while certainly
stimulates me to continue working on Vim. If I would not get positive
responses from users I would have stopped long ago.
Obviously people can help by fixing bugs. I'm at a full time job again, and
doing Vim maintenance in my spare time only is not enough. The list of known
problems is growing longer. Some issues are easy to fix, some are more work.
There are also a couple of students who will work on Vim bugs because of the
Vim summer of code.
7. Great amount of money was donated by Microsoft or its workers. Am I
right?
That was a couple of years ago, when a Vim enthusiast working for Microsoft
setup a gift matching scheme for Uganda. I think it's still done at a smaller
scale, but since it's going through Canada I don't hear the details.
8. What are you currently working on? Who decides which features are
implemented?
Currently it's bug fixing only. We do have some features that would be nice
to have, but without them Vim is perfectly OK for most people. I also want to
avoid that Vim gets even more complicated. So new features must make Vim
easier to use. There is a voting list on the website, which I use to see what
people want most. When a clear feature is asked for often, and I have a good
idea how to implement it in a user-friendly way, and I have time, then it has
a chance of getting in.
10. What is your opinion on Python being used as scripting language?
Of the scripting languages I know Python is the best. It's very easy to
learn and powerful. That is why I used it for the Aap project and included
some features in Vim script (esp. Lists and Dictionaries). It's not perfect
though. But since it's an open source project everybody can help making it
better.
12. Despite of working on Vim, you're project leader of A-A-P. What actually
A-A-P is?
I have been unsatisfied with how "make" works. I knew it could be done much
better. From that idea the Aap project was born. This also included support
for up and downloading, and version control. I use it all the time to update
my websites and release a patch with a single command. It has all the
advantages of make, shell scripts and Python combined.
13. Can you imagine Aap replacing make in the future?
Unfortunately Aap isn't being used much. Without a reasonable group of
supporters it won't grow. For Vim I still need to maintain a makefile, since
I don't want people to force installing Aap. The result is that most people
never look into the Aap recipe. Also because you don't have to, since one
simple command will download, build and install Vim. Also, there are versions
of make with more features, which allows one to do most things. Even though in
this works in a very clumsy way, people see this as an excuse to keep using
makefiles.