[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[FYI] Monit interview

From: Jan-Henrik Haukeland
Subject: [FYI] Monit interview
Date: 11 Sep 2002 17:20:02 +0200
User-agent: Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.4 (Civil Service)

For some strange reason monit seems to be very popular in the Czech
Republic. There's an article about monit on one of their popular Linux

And here's an interview with me they plan to publish in the near
future. Since most of us do not understand Czech I thought maybe it
would be interessting to post it to this list, it's a bit about
monit's and mine background.

> 1. What was your first touch with Linux? When did you find out that
> Linux exists, how did you start to use it? What was your breakpoint
> for deciding to be a regullar linux user?

I guess I found out about Linux back in 1993/1994 when I heard some of
my colleges at the Norwegian Telecom Research and Development
department discuss this new and exciting Unix system you could run on
a PC. Because I have always done my work on Unix I was sold on Linux

> 2. During your tries with linux, you have surely tested a lot of
> distributions.  What are your feelings about them, for which one
> have you decided and why?

Actually, I have never been particulary interested in trying many
different Linux distributions. For me, Linux is a plattform or a
vehicle for developing systems on. My priorities has been to find a
solid distribution so I could foucus on using the system to do some
work and not spend time on tweaking it. This means that I have tended
to go mainstream.

I used Slackware back in the early 1990's when this distribution was
popular and later I started to use RedHat and I'm currently using
RedHat 7.2. Politically I'm not very found of RedHat since I feel that
they have commercialized Linux and capitalize to much on other peoples
work. But on the other hand, if you compare RedHat with Lindows they
are not that bad. Alltough I have never tried Debian, I like the ideas
and philosophy in this distribution which I feel is more aligned with
the originally Linux and GNU philosophy.

> 3. You have worked on a several Linux projects. Can you describe
> them? When did you start development and why?

To start with the "why". For me and I guess for a lot of developers it
starts with an itch. That is, you need to do a thing smarter or
something does not work properly or could be done better. For
instance, monit, the popular monitoring program started when I needed
to automatically monitor and restart a couple of Java Servers that did
not work very well.

One of the most interesting but also one of the most frustrating open
source projects I have been working on was Apache JServ 1.1. Few
people know about this project. It was meant to be a new and better
designed Apache Jserv. I and a few others worked together with Craig
R. McClanahan who at the time stepped up and proposed this project and
was the principal developer and architect.

At the time when we worked on JServer 1.1, this was back in 1998/1999,
Sun, decided to open source and "give" to the Apache community their
in-house Java Servlet Engine reference implementation called Tomcat.
This contribution from Sun resulted in that we stopped working on
JServ 1.1 and instead waited for the new Tomcat code, since it was
expected that this code was better and should be taken as a starting
point for the new Servlet Engine.

It took a long time, almost 6 months from the announcement by Sun to
we actually got the Tomcat code from Sun. When the code finally
arrived it turned out to be a real mess. We where quite frustrated
from the long wait and by the state of the Tomcat code when we finally
could examine it. Our community and mailing lists also started to get
swarmed with corporate developers from Sun and from IBM at this
time. There was a lot of noise on the mailing lists and very little
focus. It wasn't fun anymore, and the main reason for doing unpaid
open source work _is_ that it's fun, so I left the project. Craig
stayed on and later proposed a total rewrite of the Tomcat system
based on our old JServ 1.1 architecture. This was accepted and is now
the current Tomcat 4.x release.

This was a long story, but interesting I hope. Some of it is also
summarized here by Craig:*checkout*/jakarta-tomcat/proposals/tomcat-4.0/Attic/catalina-proposal.html?rev=HEAD&content-type=text/html

> 4. The most known project in our country seems to be monit. Can you
> describe shortly your projects, your feeling about them etc,...

In the Scientific world there is a well known method called Occam's
Razor. Occams method could be paraprazed as: "Simple explanations are
preferred to complex ones". This is very relevant when developing
computer systems. The design philosophy in monit is simplicity. Monit
is a monitoring system and the reason I started to develop monit was
that I could not find a simple and reliable monitoring system. I found
lots of monitoring systems like, Net Saint and Big Brother but these
systems are big, complex, hard to configure and not to be to nice
about it, with a spaghetti architecture consisting of many pluggins
and shell scripts. Monit is (I hope) the opposite of these systems. It
does a few things good and reliable, it's easy to configure with a
comprehensive configuration file and has no pluggin architecture.

Another fairly popular program I have created is mmake, this is a simple system for building
Java programs. This system competes with Apache's Jakarta Ant. Again
simplicity has been the major goal, while Ant is a fairly complex
piece of software, mmake is a simple Perl script that utilize GNU
Make.  mmake does what Ant does and more. For instance it maintains
and use a dependency graph for files to build and support
C-preprocessing of Java files. It's amazing what can be done by
utilizing existing Unix tools and combine them into something new
instead of doing everything from scratch. I think mmake is a good
example off this.

> 5. Surely, some problems occured during development. Can you
> describe some of the them with your clues?

First, there is always the problem with staying focused and decide
what you want the system to be and to do. That is, what to include and
what not to include. You will always get lots of requests about
including different functionality and you will normally want to
stretch far to please your users. After all, having users using your
system is the primary motivator for keep on working with open source
systems. But if you do not stay focused you will one day wake up to
find that you have implemented NNTP support, i.e. the ability to read
and post news, into your monitoring system.

Another problem is fighting complexity. A C program with several
thousand lines of code is a complex system. I have found that the best
remedy against complexity is to start with a well designed modular
core system, and use known and good Design Patterns during development.

> 6. Did you have any cooperators on those projects? What was their
> work focused in? I have noticed one cooperator from a Czech Republic...

monit is my only project with a developer community built around
it. One of the first developers joining this community was Martin Pala
from the Czech Republic. He is a very competent and focused developer
and he has been a tremendous help in making monit a better product.
Martin has done lots of work on the monit system, from the new and
better alert functionality to architectural improvements.  Martin is
also a nice guy and having him on the project has really helped
building the community around monit.

Besides Martin there are also two developers from Germany and one from
USA. This is the core team, but we also get frequent contributions
from many other developers around the world using monit.

The community is built around a mailing list and a CVS repository
hosted by GNU. Any users and potential developers are more than
welcome to join the mailing list and community. More info can be found
at the monit web pages at:

> 7. What new features can we expect in the new releases of your
> projects?  What are you planning implement and in what timeline?

We are planning on adding SNMP support for monit, this will be a good
thing since many users are using monit on big server farms and this
will help in reporting abnormalities on the different servers.

In the immediate future (next week, in fact) we are planning on
releasing a new monit 3.0 version which will utilize process
information. This is a really cool feature created by Christian Hopp,
one of the core developers. With this feature you can get an alert or
monit will stop or restart programs based on process characteristic.
For instance, if your Java Application server is using to much memory
you can get an alert, or if the same Application Server is using to
much CPU monit can automatically restart the server.

> 7b. Surely you have a lot of responses from a happy users. It is
> quite a good success, what do you think about it?

Happy users is as I said above the main reason, at least for me, for
keep on coding.

> 8. Can you describe us your current work, maybe in research and
> academic field. What are you planning to work on in the near future?

Thanks for asking. I have been working for almost 6 months on a fairly
large project called zervlet. This is a rewrite of the Jakarta's
Tomcat Servlet Container in C. The plan is to provide a Toolkit, an
Application Server and a Library where you can write C Servlets
confirming with the Java Servlet API. You can read more about the
project here:

> 9. Do you use linux at home? If yes, for what? Please describe a little bit

Of course! I use Linux mainly for development. Normally I only use 4
visible applications on Linux, they are, XEmacs with gnus (the
excellent news and mail reader), xterm, Mozilla and XMMS for my MP3's.

> 10. What do you think about current position of Linux on desktop and
> server market? What are your views about its future?

I think that KDE and especially GNOME has done some impressive work
for the Linux Desktop. But unfortunately I'm not convinced that Linux
has a bright future on the common desktop. First, there is the
standard argument, "show me the applications", second I think the new
Mac OS X is going to be the prefeered "Unix" desktop in the future,
this system has already many excellent desktop applications. But I
still think that developers and technically oriented people will use
Linux as their prefeered desktop. I know I will.

On the other hand I think that Linux has a brilliant future on the
servers and on all the new embedded gadgets we will be seeing in the
near future. In fact it has allready started with, for instance the
Sharp Zaurus SL-A300 PDA with Linux and with Qtopia from my fellow
Norwegian company, Trolltech.

I think that when UMTS (or third generation mobile network) is finally
taking off we will see lots of thin clients converging Mobile phone
and PDA and running Linux. But this is primary going to be thin
clients and they will need to speak (wireless) with servers where the
main applications reside. For instance streaming application,
serverside applications for ordering stuff like tickets and for
looking up all sorts of information. I'm quite convinced that most of
these serverside applications will be running on Linux servers.

In fact I'm willing to bet that the future for large applications will
be on the serverside and clients will mainly need browser like
capabilities to utilize the serverside applications.

> 11. What is your opinion about the OpenSource and through-internet
> cooperation of developers?

I have always been a big fan of the GNU project and their altruistic
philosophy. Richard Stallman _is_ controversial but he and his GNU
Public License has nevertheless been a major factor for the success of
open source. The Copyleft clasul in GPL has been a stroke of genius
for protecting the intellectual capital. The BSD and Apache License is
a more commercial friendly license and because of this Apple for
instance was able to "take" NetBSD and base their Mac OS X on this
code without giving to much back to the community. Microsoft was
likewise able to base their IE browser on Mosaic which was covered by
the same license style. I'm not sure that I like that companies like
Microsoft and Apple can capitalize on other peoples free work like
this. This is also the main reason that I like the GPL with copyleft
and probably one of the reason Microsoft is so pissed about the GPL

Internet cooperation is the best thing that has happened for open
source development since caffeine. Projects like Linux, Apache and
monit would not come about if not for cooperation through internet.
Having a mailing list, a public CVS repository, a good idea, devoted
developers and users are a fantastic combination which can create
great stuff almost out off thin air.

> 12. Some words to our readers for the finish

I'm thankfull for your interest in monit and for giving me this
oppertunity to share some of my thoughts with you. 

Jan-Henrik Haukeland

reply via email to

[Prev in Thread] Current Thread [Next in Thread]