Bram Moolenaar: Vim, an open-source text editor

“The main author of the open-source text editor Vim
writes about how it came to be and how it is being developed. The
Charityware concept is discussed and why Bram chose to use it for
Vim. Diving into the data structures and functions to manipulate
them, he gives you some idea of how this complex program works.
Some of the new features that Bram has added in Vim 6.0 are

The GNU General Public Licence (GPL) is more restrictive.
Although it claims to ascertain the freedom of software, it
restricts the changes you can make. That is, you can make changes,
but when you distribute the modified software, you must make the
modified sources available as well. Thus people are not free to
keep these changes to themselves. I would say this in fact
restricts your freedom. On the other hand, allowing anybody to make
changes and keep those changes a secret, even though they profit
from the part of the program that wasn’t changed, also doesn’t
sound fair. That’s why I decided to add the condition that the
changes must be made available to me. I can then decide that these
changes are useful for most people, and include them in Vim. Or
decide that these changes have only a very small audience, and
allow a company to make a bit of money from their work. After all,
if the source code of a program must be freely available, it is
quite difficult to require users to pay money and make a living out
of your work.

I also don’t agree with the idea that all software should be
free and open-source. All people working on free software that I
know somehow make a living out of commercial software, either with
a full-time job or by studying to get a job later. Without
commercial software, how would these people make a living? I think
that free, open-source software and commercial software will
co-exist. Most commercial software cannot be open-source, because a
company would lose its advantage over competitors. Creating source
code is very expensive, and a company would not want to allow
others to get the results for free. Since software patents and
copyrights are a very weak protection, keeping the source code a
secret is still the best choice in most situations. Unfortunately,
this means that you are not able to learn from how commercial
software was implemented, or add a feature or fix a bug in the
program you bought. A solution can be making most of the program
open-source, and keeping a small but essential part a secret.”


Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends, & analysis