Interview: Larry Wall

January 17, 2001
Maya Tamiya

"World Domination? That's Hubris."

This interview took place at Perl/Ruby Conference which was held at
the end of last year at Kyoto International Conference Hall, Kyoto,
Japan by O'Reilly Japan.
We would like to thank Larry Wall, Ko Kazaana, Kenji Watari,
Takaaki Higuchi, and people at JLA who helped realize this interview --
Thank you very much!

In this interview, Larry discusses a wide range of topics, including his
job at O'Reilly, Perl certification, the commercialization of Perl,
competition between open source projects, the power of laziness,
Perl 6, post-modernism, software patents, documentation, and more.

CL:
First of all, how do you like it in Japan?

LW:
Oh, I like it a lot. But I've been here once before, at Tokyo, and my
family watches a lot of anime, "Otaku desu" ("I'm a nerd" in Japanese
:-)
So in many ways, everything seems so familiar, even before I never
came here. It seems interesting, still.

CL:
Do you still drive Honda Accord?

LW:
Yes, I still drive my Honda Accord. It's a 1977 Honda Accord. The
paint is almost all worn off :-)

CL:
Is it still running?

LW:
It's still running :-)

CL:
Would you call yourself a full-time developer?

LW:
That's a difficult question to answer.
I'm just paid to do whatever I want to do. Some of the time it's
development, and some of the time it's just goofing off, some of the
time it's learning more about the world so I can figure out where Perl
ought to be going, some of the time it's coming and getting talks at
the conferences...
Most of the development is actually done by other people now :-)

Larry kindly booted up his laptop and showed us the list of anime he
had watched, which included more than one hundred of anime titles,
from the classic ones to the latest ones. Most of them seemed to be
Japanese ones. He said that some of them were available as DVDs and he
could watch them in the bilingual mode, and that helped him learn
Japanese. When I said "Wow, that's Totoro!" as I was looking at the
list, he sang the Totoro song ("To-oo-toro, totoro-oo-"), and when I
said "That's Lupin 3!" he mimicked Lupin for us.

CL:
Would you get paid even if you were watching anime?

LW:
:-) I take time to watch anime. I don't know whether I'm allowed
to, but I do it anyway :-)

CL:
How many hours do you actually write code a day?

LW:
That varies. Many days I don't write any code at all, and some days I
spend all day writing code. So I don't know how to say it.

CL:
Are you satisfied with your current situation?

LW:
Yes and no. I mean, I sort of have to be satisfied with it because
that's what I picked to do.
But I'm never satisfied because I've been
always interested in too many things and I always want to do
everything at once.
Everything from developing, readings, to play my
violin, to ...whatever.

CL:
Have you ever thought of starting a Perl support company and going
IPO?

LW:
:-) No, I am not a sort of person who wants to run a
company. I think that would be even less fun than what I'm doing right
now :-)
There are other companies that are already working to support
Perl. So if I did that, that would just be duplicated effort.

CL:
Is it because you feel comfortable being at O'Reilly?

LW:
Yes. Essentially, my position is what you call a patronage.
It's a
very old-fashioned idea which goes back to the time when there was an
aristocracy and they would support artists and musicians.
They would have a patron, Tim O'Reilly is my patron.
He pays me to create things
to, kind of be in charge of the Perl culture.

CL:
So you consider yourself an artist.

LW:
Yes in many ways. I'm certainly not a manager :-)

CL:
And you don't consider yourself an engineer?

LW:
Oh, a little bit of that, too.
Some of modern engineering is necessary to good art.

But what I think of myself is a cultural artist. Not just
trying to write computer programs, but trying to change the culture
around me for a better one,
whether it's writing Perl or any of the other programs I've written,
or trying to change the way people license their software into open
source.

I think of myself as a hacker in that sense. Not in the sense that
people would break into computer but who will be working on a problem
until they solve it. And the problems that I really like to solve are
our cultural problems.

CL:
Would you give us an example of cultural problems?

LW:
Ten years ago or so, we had Richard Stallman's GPL, and Perl was
licensed under that.
And I discovered that that worked fine for the hacker community, for
the geeks, but it prevented Perl from being used in a commercial
environment.
So I wrote my own license.
But I didn't want to offend the free software, the GPL people.

So, rather than switching licenses, I said "Well, let's have both
licenses and you may distribute Perl under either of them at the same
time."
And that way, the computer crowd, they had their insurance that their
rights would not be taken away, and the companies had some insurances
that their rights would not be taken away, and everyone was happy.
That's sort of cultural hack that I'm talking about.

CL:
Some people seem to see the need for Perl certification. What do you
think?

LW:
I think someone else can do that :-) I'm not going to tell people
whether they're certified or not. My approach to language design has
always been that people should learn just enough of the languages to
get their jobs done. They shouldn't have to learn the whole language
to begin with.
But with certification, you have to be learning the whole
language. Some people feel more comfortable that way. I guess if you
want to hire experts, you want to make sure they're experts.
Certification is useful for that.

But most of the programming out
there is not done by Perl experts. It's mostly done by Perl novices,
and they sometimes make sloppy programs, that's ok. They learn by
experience to do better over time and eventually they become experts
and then, if they want to get certified and somebody wants to certify
them, that's fine. I just don't want to do that myself.

CL:
Would you give us your comment on ActiveState's Python/Perl for the
IA64 processor and Komodo (Python/Perl IDE)?

LW:
Well, Perl needs to be run on every architecture, and ActiveState has
been... active :-) in helping port Perl to Windows as well as to
various other architectures. I think what they're doing is
great. I've worked with the folks at ActiveState, and we listen to
each other.

CL:
Were you surprised when you first heard that Digital Creations and
ActiveState announced that they will add Perl scripting to Zope?

LW:
No, I was not surprised by that. I think that's a good play for
them. You know, ActiveState really does believe in Perl philosophy,
"There's More Than One Way To Do It."
One of the ways is the Perl way,
another way is the Python way. Both of those are valid, different
people like one or the other. They're in the business of enabling
everyone to get the job done.
Particularly, if Zope can be useful for
both Perl and Python programmers, that will be great. I think they
should add Ruby, too.
Well, for some reason people don't know about Ruby in the US very
much...

"1) I saw Larry reading a Ruby book intently while he
was having a breakfast at the Perl/Ruby Conference. 2) I
thought I was asked by Larry where the bathroom was at the conference
center, so I told him the way, but he was just practicing his
Japanese." (Thanks to Takaaki Higuchi)

CL:
Speaking of Ruby,
when you first named the language Perl, you looked
up all of the three letter and four letter words, and didn't like all
of those. What do you think of the name Ruby?

LW:
Oh, I must have missed that one when I was scanning... It's a good
name :-)

CL:
Once again about Ruby,
until a few years ago, I would recommend Perl
with no doubt because of its usability, its big enough development and
user community base, many good books, etc. Now, I think Ruby and
Python can also be good candidates. What should I do?

LW:
Obviously, you should still recommend Perl :-) It really depends on
the kind of the programmer you are talking to. Ruby and Python are
languages that are designed more with the computer science mind-set,
trying to be minimalistic.
Some people prefer that kind of language.
Perl was designed to work more like a natural language. It's a little
more complicated but there are more shortcuts, and once you learned
the language, it's more expressive.

So, it really depends on whether if you would just like to learn a
smaller language and then you just fight with it all the time, or,
learn a slightly larger language and have more fun.
I think Perl is still more fun than the other languages.

CL:
In general, there are some open source projects that compete with other
projects that have the same goal. This may be good because, for example,
it brings diversity and rivalry in a good way. But human resources
have always been the most valuable resource in open source projects
and from that point of view, it could be just duplication of
effort. Do you see this as a problem?

LW:
I don't think you can avoid that problem... In the area of computer
languages, there are just a certain number of people who are
interested in developing their own computer language. And you can't
stop them, they're just going to do it anyway :-)

It's not duplication
of effort in a sense that we copy all the good ideas from each
other. So all of those languages get better. They just make their
duplication of efforts in terms of implementing those ideas, because
they have to implement the idea in one way over here and in a
different way over there. But there are potentially some ways in which
different camps could cooperate.

We see the same thing happening not
just with free software. We have the same thing happening in
terms of over all language architectures. You have the whole idea of
compiling C or C++ down to machine code. Then you have the Java camp
which duplicated an awful lot of stuff, then you have Microsoft coming
out with C#, they're trying to do the same thing. That actually makes
duplicated work for us, because we want to target all of those
architectures :-)

On the other hand, it forces us to look at how we do our things and do
them in our way or in a general way so that we can do that. That
means when something else comes along later, we'll be able to do it
easily too. So it has its pluses and minuses.

But to me the whole progress is really driven in a Darwinian sense,
the way evolution works. You have variations of ideas, and then some
of them work better than others, and then those survive and continue
on. So it's actually important in the long run to have multiple
languages, multiple operating systems, and if you don't have that
competition, then we don't survive. We're dead. We're extinct :-)

CL:
When you first released Perl, did you expect it would grow into what
it is now? What do you think made Perl this successful?

LW:
I knew it would grow, I don't think I knew it would grow this
much. Back then, the limits of my vision were probably the Unix
operating system. To me I never thought about Windows or Mac or
anything like that.

It's that the world has become a larger place. The universe has been
expanding, and Perl's kind of been expanding along with the
universe. Because Perl is now much larger because the space is
stretching out, I don't know how much larger Perl is now.

CL:
It has an influence even on the world economy now...

LW:
I think so.
You can calculate very conservatively that any individual programmers
probably are saving tens of thousands of dollars a year, and if
there's a million or so Perl programmers out there, you multiply by
that and then you're talking about multiple billions of dollars that
people are saving around the world because of Perl every year.

So that's a big industry.
And then if you count languages that are maybe not Perl directly,
but have taken parts of Perl...
You know, they've borrowed regular expressions or other parts of Perl.

Ruby has borrowed a lot
more than that. Maybe about 60% or 70% overlap between Perl and
Ruby in the features I'd say, if you count some of those ideas, too.
In a sense, it's not so much Perl, but the ideas that are in Perl,
that I think are important. So I'm very happy to have been able to be
part of that.

CL:
Perl development is said to be started with the power of laziness, but
what power do you think make the development going right now?

LW:
Oh, good question... Hmmm...
I think it's still laziness. Laziness on a different level.
When Perl first was developed, it was laziness to get particular small
jobs done quickly.
But now, people don't want to have to use Perl plus other things. If
there is a job that really ought to be written in C++ or Java or Ruby
or Python or something like that, but they like Perl, and Perl may not
be the best tool yet for it, but they would like it to be.

So rather than learning a different language, they just want to extend
Perl toward what is better for that. So I think it's still laziness :-)

CL:
Do you think you will keep taking part in the Perl development
for all the rest of your life?

LW:
I believe so. Of course, someday I will become too stupid to participate :-)

When I announced the development of Perl 6 this summer, I said that it
was going to be a community design.
I designed Perl, myself. It's limited by my own brain power. So I wanted
Perl 6 to be a community design.

But one of the first thing that the community said was "We still want
you to be the language designer," so I'm still the language designer :-)
and I have to understand everything they've proposed, say "Yes" or
"No" or "Change this." So that's my big job right now, to weigh all
of those proposals they have made for Perl 6.

CL:
If you become... as you said, too stupid (sorry for my lack of
vocabulary) do you think the project will keep going?

LW:
:-) I expect so. There are many people who love Perl dearly and
would want to see it advanced whether or not I was in the part of it.

The main problem would probably be if I weren't there to say what was
good or what was bad, they probably quarrel, they probably fight over
what to do :-)

CL:
Perl developers seem to have many meetings offline,
including the Perl Conference we are having today.
Do you think that helps development of
Perl a lot?

LW:
Yes, it does. There are things that are difficult to decide over the
Internet. Things can be decided very rapidly in a meeting such as
"We're going to write Perl 6!" Also, when you meet somebody across
the net, you can be friends with them but until you meet them face to
face, it's often difficult to really understand how other people
think.

So just getting the people in one place and having them helps Perl
development.
People with similar interests find each other and be able to
go out after the meetings for dinner and they can talk over those
things. That's just a lot more efficient. So I think face to face
meetings are important.

CL:
Were the mugs
being thrown when you decided to write Perl 6 paper cups?

LW:
No, they were ceramic. They broke :-)

CL:
Did anybody get hurt?

LW:
Oh, no, he [Jon Orwant] was very careful. He found part of the room
so he could throw at. Nobody was there. He wanted to get our
attention, and he did. It was very well planned :-)

He didn't have in mind that we would decide to do Perl 6, he
just thought we were getting too comfortable and needed to do
something to keep people interested. And we felt that Perl 6 was the
right thing to keep people interested. That was the happening.
And it's true. People are very interested. So I am very grateful
to him for having started it even though he didn't know what he was
starting :-)

CL:
Even though you weren't the one who began throwing mugs, were
you having the same feeling in mind as he did that you needed
something new?

LW:
...I'm a very complicated person... I think parts of me were ready for
that, and parts of me weren't ready for that. It was like something
coming into focus where until it's in focus, you have no idea what you
are looking at, and then suddenly, it becomes very clear what you were
looking at.
That really was the way at that meeting. Jon basically came in and
said "We need to change our focus a little, I don't care how, let's
just change our focus." It was like "Oh, there, here it was,"
and everyone agreed.
It has become the translation capability, the place in which Perl
finds itself right now, or the competition, and everything. A lot of
things suddenly just began to make sense that it was time to redesign.
So we decided to do that, we're going to have fun doing it :-)

CL:
The development of Perl 6 seems to be done in a planned, organized way.
Have you been that way until now?

LW:
Until now, the process of the design of Perl has been
evolutionary. It's been done by prototype and modification over time.
I talked about becoming stupid, but I've always been stupid. Fortunately
I've been just smart enough to realize that I'm stupid.
I'm not smart enough to design the whole thing in a planned way, so
I've had to say "Well, let's add this and this looks good, so let's add
that," so at each step, I've been able to extend a little bit more.
That's been the way through the first five versions of Perl.

Now with Perl 6, we are taking a more organized approach. We're
gathering all the proposals that people have made and there are three
hundred and sixty one of them. I could read one everyday and it would
take me all year and I could take four days off :-) Christmas, Easter,
Memorial Day, Labor Day.

So in that sense it's more organized. The proposals themselves which
we call RFCs, in a sense, are not very organized at all, because many
of them contradict each other, they have all sorts of different ideas.
So my job now is to bring them into an organization.

But to me it's actually easier to take someone else's proposal so I
can say "Yes", "No", "...sort of." That's easier for me than if I had
to come up with everything myself.

CL:
Now, since Perl 6 is going to be developed under more organized way, do
you expect it to live longer? (Of course, I don't mean Perl 5 is dead,
though.)

LW:
One of the proposals, one of the RFCs was that Perl 6 should be the
last version of Perl. The idea is that if we make Perl 6 sufficiently
flexible, then there's no need for Perl 7, because you can always bend
the full language into whatever you want it to be.

That's one of the goals, to make Perl 6 sufficiently flexible. They
proposed that the final version number would approach two times pi,
6.28.... (everlasting but never reaches 7 :-)

CL:
Do you expect Perl 6 to be on schedule? (unlike Linux 2.4?)

LW:
It can't be on schedule, because there is no schedule :-) We are all
volunteers, so we get it done when we get it done. Perl 5 still works
fine, and we are continuing to support Perl 5, so we plan to take the
right amount of time on Perl 6.
We don't want it too fast or too slow. So it will probably be another
year and a half or so at least before the solid product.

CL:
Do you think Perl 6 will have a big impact upon world economy, too?

LW:
I don't know... Maybe. We'll try. You know,
just because you're trying to help,
it doesn't mean you actually help :-)
But our hearts are
in the right place.

CL:
Which part of Perl do you like most?

LW:
The part I wrote :-) ...no, that's a hard question, because I think
the important thing about Perl is not in its separate parts, but how
those different parts work together. So I guess the synergy of the
different parts is actually the part I like. The way that Perl work
together.

CL:
Then, do you have any part which you don't like?

LW:
Oh, I have a list of things I don't like. That's part of the reason we
are doing Perl 6. There are a number of things that are snagging during
the five versions, which we as a community are smarter now about and
I probably wouldn't put in if I've known back then what I know now.

So there are a number of ways which we can make some simplifications,
some of the funny looking global variables can become more object-oriented
attached to the appropriate objects such as files or
whatever the appropriate object is, some of them can become lexically
scoped rather than global.

What we've realized was that although we kept backward compatibility
through the first five versions, we now had the technology to do
translation.
We actually have a complier back-end that will spit out
several different things like C, Java, but particularly, Perl. You can
compile it down to a syntax tree and decompile it back to Perl.
So we thought if we can translate Perl to Perl, if we can translate
Perl 5 to Perl 5, why not translate Perl 5 to
Perl 6. So if we can do a translation step here, that frees us up to
do a redesign.

And this is like the first chance we've had to do this, a major
redesign. Maybe it's our last chance, so we should take it. It's
scary, but that's what we've decided to do. It's another experiment,
and it may succeed, it may fail, but we're going to do our best.

CL:
You often mention about Post Modernism. It's definitely an important
and useful idea, but
it's an idea born before the 90's. In the next
decade, people may have problems we haven't even imagined before. And
in order to solve them, they may need a camel to fly or swim, too. I
don't know what it is yet, but will Perl 6 have such a new paradigm
(born in the 90's)?

LW:
Post Modernism was a reaction against Modernism. It came to different
realms at different times. It came quite early to music and to
literature, and a little later to architecture. And I think it's still
coming to computer science. I think computer science, by and large, is
still stuck in the Modern age.

Anytime you have a Modern to a Post Modern transition in a particular
kind of art or genre, they serve an over reaction to where Modernism
is. It's kind of disliked.
But really to me the essence of Post Modernism is not anti-Modern. It
is sort of at right-angles to what the Modern is, so there has to be a
period of time which is sort of deconstruction against the Modern.
But it recovers, and comes back to where you can mix together the
Modern, the Romantic, the Classical and the Baroque..., however you
want to classify the history.

Now, Perl's been a little bit anti-Modern. I think Perl 6 is mixing a
little more of the Modern back in, which is a healthier balance.
There's people who right now prefer Python or Ruby because of its
Modern aspects. We'll also feel it more common in Perl when we get to
Perl 6.

CL:
So in a sense, not being Post Modern could probably mean being very
Post Modern, for languages that came after the 90's (after Perl) that
are not designed in the Post Modern (TMTOWTDI) way are being
successful, too right now...

LW:
Well, one of the very basic ideas of Post Modernism is rejection of
arbitrary power structures. Different people are sensitive to
different kinds of power structures. Some people see the Post Modern
as threat, a different kind of power structure.
So, in trying to escape
that, they're being Post Modern, but they don't realize it :-) It's so
basic to the way we think nowadays. We are so Post Modern that we
don't realize how Post Modern we are anymore.

So I think even the
people who are still trying to be conservative and to be Modern in
computer scientists, are actually signs of Post Modern sensitivities.

CL:
Do you fear software patents?

LW:
Yes, I worry about some. I think that software patents are bad
idea. Many patents are given for trivial inventions. I think the real
problem with software patents is that they don't provide equal
protection.
If you're a large corporation, you can afford to pay the money
to register patents, but if you're an individual like me, you
can't.

So I think it really works against the open source
movement. I'd rather see them be protective with copyrights and trade
secrets, but not patents.

CL:
What do you think the future of free software and proprietary software
would be like?

LW:
I hope that most of the infrastructure will be open source software.
We have a word in English, "freeway," which is a road that is not a toll
road (which you have to pay to go on).
If you want to go to an attraction like Disneyland, you want to drive
free roads and pay there. So I think that the things that are
infrastructure like roads, electric lines, should stay free,
and you pay for the electricity, you pay for the gas.

I think operating systems work best if they're free and open. I think
computer languages work best if they are open source. Particular
applications are more likely to be proprietary. So, Microsoft Word is
maybe a little like Disneyland, you're willing to pay to use
that. But the operating system is more like a public road which you
should not have to pay to go on.

CL:
You mentioned at the first LinuxWorld Expo that the business world
and the open source world should have something like sex (that is
acceptable and fun for both). What do you think happened to the two
after that? Do you think they're having a baby now?

LW:
I think things are very disorganized right now. It's hard to know how
things are going to come out. There are a lot of people who are
interested in open source and there are a lot of companies that are
experimenting, IBM, in particular.
But whether those experiments will
be successful, we really don't know yet. The next a few years are
going to be very, very interesting.

CL:
You sound as if you're watching a soap opera.

LW:
Yeah, it's kind of like a soap opera :-)

CL:
Where would you position yourself among those three; free software
movement (like Richard Stallman), or open source movement (like Eric
Raymond), or Linus (interested in free beer :-)?

LW:
I'm really interested in all of those. I suppose more than the other
two, I'm probably with Linus. I'm interested in giving Perl away. I
want people to use Perl. I want to be a positive ingredient of the
world and make my American history. So, whatever it takes to give
away my software and get it used, that's great.

That's why I did the dual licensing. One license was to agree with the
free software people, and the other license was to agree with the open
source people. But those are both means to an end. So, I lean slightly
on Linus's direction there.

CL:
Linus once said basically that he was a hard-boiled guy and he rejects
whatever he thinks should be rejected, considering only the technical
side of anything, even if that may make somebody weep or get hurt
feelings. How do you manage people in this respect?

LW:
I take more of the approach of letting people yell at each other :-) I
find if people have enough discussion, people will point out why each
other's idea is stupid :-) hopefully in a nice way :-) But it actually
helps me because once they've discussed an idea thoroughly, then I may
be seeing one or two other things they didn't think of.
They would pretty cover all the issues, and it's usually left to me
just to be the judge. The way I work is pretty like the Supreme Court.
All the lawyers, they prepare for their defenses for one side or the
other, and then they just present those and I say "Hmm...," maybe I
say "This guy's right," maybe I say "That guy's right," maybe I just
throw it to different court to decide again :-)

To me it's important to make the decisions, but also not to make too
many decisions. Officially, I'm the dictator. I'm always the dictator
because people want me to be, and the reason they want me to be is
because I don't actually act like a dictator :-) If I acted like a
dictator then they won't want me to be one.

That's my approach. Linus may be a little bit more dictatorial, or at
least he would like to think of himself that way and people accept
that.

CL:
You mentioned before that you think differently from Linus, where Linus
preferred to stay out of the Linux business because business brings
troubles, but you would rather be close to it. But it turned out to
be that Linus had been, in a sense, in the center of Linux
business. What did you think when you found that out?

LW:
Transmeta, yeah... :-) Well, they're not really in the operating system
business, they're in the hardware business, so I think it's still true
that Linus is not directly involved in commercializing Linux.

In a sense, I'm not, either, really. ActiveState are really the people
who are commercializing Perl, and while O'Reilly makes a lot of money
off of Perl by selling Perl books, giving conferences, it's really
sort of a side-effect. So both of us have found places where we're
sort of on the edge.
We don't want to limit some marketplace in how it decides to make use
of what we've written. On the other hand, we would like to be close
enough to it, so we have some positive influences in how things
develop.

CL:
Hackers like Linus and Miguel are little younger than hackers at your
age, probably including Richard and Eric? Do you see any difference
between them?

LW:
...ummmm..... Of course... well, I think that the newer, younger
hackers are... I don't know... they're hard to classify... I think
they're probably just as diverse as the old hackers are. You know,
we're all over the map and they're all over on the different map.

I think maybe, the older hackers, we grew up in a time when most of
the software was produced in a corporate framework that assumed they
would own their software. So we had to do a lot of the work, sort of
on the side, sneakily. In a way, that tended to limit our vision. So
we did a lot of small projects and gave them away because if you do a
large project the company notices it and you're in trouble.

I think now the younger programmers can afford to have a larger
vision. So, you know, something like Gnome or Linux, you can have a
vision like that now, and not feel like you're going to get in trouble
with it. I think I was lucky to have as larger vision as Perl when I
did :-)
At that time, you talked about little languages, like "I wrote a
little language that do this", or "little language that do that." For
several reasons I said "I want a bigger language" :-)

CL:
They sometimes mention "World Domination"...

LW:
You know, "Laziness, Impatience and Hubris", that's Hubris :-) We say
it jokingly, but there's some elements of truth to it. There's a way
in which you have to have both hubris and humility, because hubris
itself will not let you be an artist.

To be a good artist, you have to
serve the work of art and allow it to be what it is supposed to
be. Maybe that's less than what you would like it to be, if you were
purely driven by world domination. Linus talks about world domination,
but he's not going to turn Linux into Windows in order to do
that.
He's going to make sure that it stays Linux. So really, Linus is
an artist also, Linux is his work of art, and that is more important
to him than world domination. He would mind world domination, but
that's not his first goal.

CL:
Perl is not just a great program, but it also has great documentation
base that is online and available for free.
But not all developers
love to write documentation. Do you see any problem around it?

LW:
Well, the approach we took was to make it as easy as possible for the
programmers to write documentation. Rather than enforcing them to
write documentation in some fancy format, we came up with a very
simple way to put the documentation right in a program. They can add
the documentation to programs with their ordinary text editor. It's
called POD, Plain Old Documentation.

That's been very successful for several reasons. One of them is
because it's very easy for the programmers to write, and they can be
lazy. And because it makes writing with program itself, it's sort of
understood that the program is not complete unless documentation is
also there.
If you do not have the documentation out here over the side, people
can kind of ignore that like "Oh, here's my complete program" and we
won't talk about the documentation, but if the documentation is
supposed to be right there with it, people will notice that it's not
there. In a programming language, you have to clear things ahead of
time and if you don't, you're in trouble. Well, if you don't put the
documentation, you're sort of culturally in trouble.
That works out very well to encourage people to put at least some
documentation.

Then we have people who are interested in making sure
that documentation is good. They'll take the documentation that other
people write maybe is not so good, and they'll make it better. Those
people are very valuable also. So a lot of things work together to
make that possible. There are things that we could do better, though.

CL:
Do you like writing documentation, yourself?

LW:
Oh, I've written my share that is. Also I've written a help to write a
book, so... :-) For me, writing is a love-hate relationship. I love to do
it and I hate to do it at the same time.

I find it very challenging to do writing, but that's because my
standards are pretty high. I think that writing should not just convey
facts, but also be another work of art. That is another way in which I
hack on culture.

I think that the camel book raised the standards in
the community, for computer textbooks. It's important that they do not
just convey the facts in a dry fashion, but also they are entertaining
to read at the same time.
That really is
practical because if you're going to write a book like the camel book,
it has to be for a broad audience. Then you have to go slow enough so
that the novices can keep up, but if you go that slow, the experts
will get bored. But if you throw jokes every now and then, they'll
read it over for jokes :-) and the occasional facts that they might
have not known yet. So it'll work out.

CL:
It's nice to be able to make people smile or happy, and you especially
seem to enjoy doing that a lot. Do you think this has anything to do
with your doing open source project?

LW:
Yes. To me, no pursuit in life, programming or writing, or even
walking down the street, none of those activities worth while unless
you can do it with joy. If any ideology is so serious that you can't
have fun while you're doing it, then I think it's probably too serious
:-)

CL:
By the way, do you prepare jokes before the talk?

LW:
Some of them :-)

CL:
What was the most surprising thing that happened this year in regard
to open source as a whole?

LW:
I think the way IBM has embraced the open source philosophy has been
quite astonishing, but gratifying. I hope they'll do very well with
it.

CL:
Then what do you think will be the biggest thing that is going to
happen to open source next year?

LW:
Well, I'd like to predict Windows to be open source :-) but I don't
think that is going to happen.

CL:
What was the biggest news that made you surprise this year or in this
century with regard to Perl?

LW:
At the beginning of this year, I didn't know we were going to do
Perl 6. That was a very sudden realization at the Perl Conference I
have been enjoying. It was like, at the beginning of one morning we
didn't know we were going to do Perl 6 and at the end of the morning we
did know it, having a meeting.
That was quite an interesting
morning. So in a sense, Perl 6 was a surprise of this year.

CL:
Then, what do you think will be the biggest thing with regard to Perl
next year?

LW:
Well, we are going to have to do a lot of work on Perl 6... I think
there will be a lot of continued excitement around Perl to
appear. Kinds of networking, you mentioned mp3 earlier, mp3.com, their
web site is written almost entirely in Perl :-)

I think that the most interesting things will be things that I cannot
possibly predict, because I'm only one person and there are many
creative people out there. Somebody out there is going to do something
that's far more surprising than anything that I would do. I was
surprised by the whole web thing in the first place, and was surprised
that Perl's written to be pretty good for that. So, who knows what's
next, you tell me :-)

Larry answered our questions very graciously, even during his break in
spite of his having five interviews on that day only! When we
finished, we said "Thank you very much," and he said "Dou itashi
mashite ("You're welcome." in Japanese)."

CL: But then, doesn't it mean that the Open Source
Definition is kind of library vendors friendly? If it really
does, wouldn't it be unfair?CL: What would you say about the idea that OSI and FSF
do not stand against them but do help and encourage free software
developers to obtain patents, and make those patents available only
for use in free software?

CL: There were benchmarks this year that said
PostgreSQL was faster than commercial ones or, even MySQL. Although I
think Postgres has had a good reputation of having advanced features
such as the powerful data model, rich data types and high
extensibility, I don't think it has had a reputation of being very
fast. What happened to PostgreSQL in regard to the speed improvement?
CL: As you have mentioned, PostgreSQL is distributed
under BSD license, not GPL, which theoretically means that Great
Bridge can take the software and make a proprietary version of it. Do
you have such a plan?