Monday, June 8, 2009

Interview with Jamie Cameron, LumberJack extraordinaire

Ya know, one day you're out, grabbing a bite for lunch after a busy morning of grizzly bear wrassling. The next thing you know, some guy dressed like a lumberjack is settin his carcass next to you at the counter and ordering the 'tree-killer' special'.

I had the 'tree-killer special' yesterday and I was gonna warn the fella that he might regret that pound and a half of maple ham later tonight, something in the maple I guess. Well, that's all it took to get a couple fellas stuck out in the middle of a Canadian forest to start chewing the fat during the lunch rush.

I introduced myself and told him I was a bear trainer and ran a place out near here where I took care of misplaced and unwanted Grizzlie bears and Kodiaks. On the side, I am a network admin, just to help pay the bills, ya know.

He told me his name was Jamie, Jamie Cameron and he was a lumberjack trainer and a programmer on the side. Just to help pay the bills, ya know.

It occurred to me out of the blue where I knew that name from. I asked him if he was ever a seafood chef, but he said “no” (“cameron' is Spanish for shrimp) but I might have seen one of his programs if I was a network admin.

DUH! Now I knew. This is 'The' Jamie Cameron, the guy who brought us Webmin. That was it, I had a bunch of questions to ask him, but we didn't have much time left, and this is all I remember from the conversation.

BB - You started Webmin based on work you were doing for another company, did they ever try to 'take over' your project or did they just leave you alone ?

JC - They left me alone, as I didn't work on it as part of a company project. In fact, I don't think they even knew at the time exactly what I was working on.
(I had a job where they gave me that much space once, but I bet JC wouldn't have thought being a human mining canary was as much fun as I did.)

BB - By reading on various sites, We see that Webmin is licensed under the BSD license and the LGPL, is that correct and if so, why?

JC - No, it is BSD only .. at least for the core of Webmin. Some other modules have been released under a GPL license though. I chose BSD as it allowed others maximum flexibility to use Webmin in other products if they so chose.
(Is it just me, or is everyone else hearing the Digital Underground song “doowhatyoulike” in the background?)


BB - Webmin is almost 12 years old now, with downloads of it literally in the millions, there's no denying it's popularity. Does it surprise you at all when you hear about admins who still don't know about Webmin?

JC - Not really – many of the really serious admins that I know eschew GUI tools, and prefer to hack on config files directly or write their own scripts. Webmin is more targeted at the less experienced admins or regular Linux users who just want to perform simple system configuration tasks.
(I know quite a few lazy admins, I mean admins who like to find 'more productive' ways to get work done, who like to use Webmin also)

BB - Security is a huge issue in the server and network admin world and they often polarize in two camps (imagine that). One group being that security is incumbent on the software developer and the other group saying security falls on the shoulders of the admin. What is your position on security and how does that relate to Webmin?

JC - I try to make Webmin itself as secure as possible, which means avoiding remotely accessible exploits and preventing browser-based attacks like XSS and dangerous incoming links. A default install of Webmin is pretty secure – you can't do anything with in unless you know the system's root password. However, to some degree I am dependent on the user .. if SSL support (in the form of the Net::SSLeay Perl module) isn't installed on the system before you add Webmin, it won't run in SSL mode, which makes it less secure against packet sniffing attacks.

BB - Tux is one of very few mascots in the world associated with a 'tech' product. Isn't it about time he lay off the computer stuff and get a date?

JC - Definitely - I hear that the bird from Twitter is single.
(I heard that too, but I also heard she talks too much.)

BB - You first started working on Webmin on a Solaris system back when Solaris definitely was not an OpenSource system, How did you go from supporting a proprietary system to including OpenSource OS's and was that planned from the beginning?

JC - I started on Solaris as back in those days Linux wasn't as mature or accepted in the corporate world as it is now, so the company I worked for used Solaris exclusively on its web servers. However, a port to Linux came out pretty quickly .. in fact, I think even the very first 0.1 version of Webmin supported Redhat Linux. The good thing is that the Webmin code runs exactly the same on any Unix variant, as Perl provides a platform independence layer for me. So the effort in moving from Solaris to Linux was much less than it would have been for a traditional Unix application written in C.

That said, all Unix variants (and even Linux distributions) do differ a lot in the locations and format of their configuration files, which is what Webmin is primarily focused on managing. So there is still quite some work involved in supporting new operating systems.

BB - To me and a lot of users, Webmin is almost synonymous with OpenSource, It is an example of how good OpenSource software can be, high quality and still be offered for 'free'. What do you think about Webmin practically being a poster child for the idea that “OpenSource Works!”

JC - That would be cool, but there are many open source projects that have been incredibly successful and are widely used – Linux, Apache, Samba, Postfix, BIND, Perl, FreeBSD and so on. In fact, Webmin wouldn't be able to do a fraction of what it does without them, as it is effectively built on top of all those open source servers and languages.
(While this is true, ya gotta admit, Webmin makes all those more cool.)


BB - Is there a monthly secret meeting of all the well known OpenSource figures where you all play poker and smoke cigars, working out the future of OpenSource and Linux at the same time? Does Stallman cheat? Does Linus insist on always eating fish? ( this is a question for all our conspiracy theory friends)

JC - I'm sorry citizen, but that information is not available at your security clearance.
(You won't believe this, but he actually flashed a badge that had Tux dressed in Roman garb while he said that.)

BB - You have been terrific about communicating with users and working with project groups to make things work where Webmin is involved. Does staying close to the userbase make it easier to maintain quality or does it turn into a “too many cooks in the kitchen” ordeal at times?

JC - I'm always happy to get comments or suggestions from Webmin users .. in fact, that's where most of the good ideas for new features come from. Those who use it in the real world often have a better feel for what is needed that a developer (me) hacking on whatever interests him.
(I have some ideas for Webmin too, but they all involved coin slots and flashing red lights and he didn't seem as excited as I was about them.)

BB - Do you have an 'official' team of people helping you with Webmin now or do you still pretty much do the majority of the work?

JC - I do almost all of the core coding, but there is a semi-official team of translators who send in updates for the various languages Webmin supports. And there are many developers who write third-party modules that can be installed separately, rather than being part of the main package.


It's amazing how much time gets eaten up while you're eatin up. Jamie slugged me on the shoulder good-naturedly as he climbed off the stool and straightened himself out.

He had to get back to lumber jack camp before the new bunch of rookie cutters starting practicing on the bunk-houses again.

I waved goodbye as he walked out the door and realized he took my advice and didn't finish up the maple ham. The bears were gonna eat good tonight.

0 comments: