ActiveState is a company that will have a profound impact on the future of Open Source. Dick Hardt, the company's CEO, shares his thoughts on the future of scripting languages and Web programming.
|PHOTOS © MARK MCQUEEN |
Steve Ballmer might not like to brag about it, but Microsoft has been funding open source development since 1994. That was the year Dick Hardt first convinced a Windows NT product manager to pay him to make Perl run on Windows. Six years later, with Microsoft again footing the bill, Hardt’s company, ActiveState, is porting Perl to a new Microsoft platform — Microsoft’s .NET. But as Hardt recently told Linux Magazine’s Robert McMillan and Adam Goodman, ActiveState is about more than porting open source scripting languages. The company recently released code for its most ambitious project to date — Komodo, a Mozilla-based IDE (Integrated Development Environment) designed to make scripting a lot easier for those of us who don’t want to make Perl or Python programming a full-time obsession.
Linux Magazine: How did you convince Microsoft that it needed to support a port of Perl?
Dick Hardt: Well, at the time they had no scripting solution on NT at all.
LM: We’re talking about the mid 1990s here; did they even care about Perl then?
DH: Of course they did. They wanted NT to compete against Unix. This was 1994. This was before Microsoft “got” the Internet. So they were trying to position NT against Unix. Everyone on Unix was using Perl, and so they figured, “Well, we need a scripting language too.” They said, “Perl would be great, but can you also have it support OLE [Object Linking and Embedding -- Microsoft's compound document technology] automation so we can drive our objects?” And I said, “Sure it can.”
LM: So that’s how you began your relationship with Microsoft.
DH: That’s how the Microsoft relationship got started.
LM: That was 1994. ActiveState wasn’t formed until…
DH: Three years later, in 1997. While I worked for Hip [the Vancouver, BC ISP that Hardt founded before ActiveState] I was in the Bay Area, and the guy that wrote Undocumented DOS, Andrew Schulman, contacted me and said, “Hey, you should meet Tim O’Reilly.” So he set up a meeting in San Francisco, and that was the first time I met Tim.
We touched base every once in a while, and I got tired of the ISP business. So I sold that, took the Perl technology, and said, “There’s probably something I can do here. Lots of people are using it. People are saying, ‘Write us tools, we’re willing to pay for them.’”
At the same time, O’Reilly was saying, “Well, there’s probably something more we can do with Perl. We’re selling lots of books; there are lots of these developers.” So we sat down and had a conversation at Larry Wall’s house — Tim, myself and Larry — and I said, “We want to create a company; why don’t you guys invest in it? Let’s have a deep relationship.” And they did.
LM: So is Larry Wall an investor in ActiveState?
DH: No, but Tim is. O’Reilly & Associates has a sizable minority interest in ActiveState.
LM: So Larry really doesn’t benefit financially from you guys?
DH: Larry is not financially motivated. I mean, he gets a good royalty stream out of the Perl box; he gets a nice salary from O’Reilly. So he has everything he really wants. Larry is more motivated by the thought of having Perl run everywhere. And he wants to create a language that lots of people want to use.
The feedback I’ve gotten from Larry has been very positive. He thinks we are doing really good things for Perl and the community — legitimizing it and filling in areas where the community doesn’t fill things in. And that’s what we see as our biggest role. The types of things we want to help with are the things that a corporation can do; they are things that an individual can’t do.
LM: What do you actually contribute to Perl?
DH: Oh my, I would say we did two-thirds to three-quarters of the work on Perl 5.6. In an inadvertent way, Microsoft funded most of that, because they wanted to have fork() work on Windows because there was no fork() in Windows, which annoyed a lot of people. So we put the fork in Windows, and that was a lot of work.
LM: Has there been any friction between ActiveState and the open source community?
DH: Not from the core people. I’ve not had any friction with any of the core people in the Perl, Python and the Mozilla space. People that are core see what we’re doing as being a really good thing. They’ve taken the time to understand what we’re doing and gotten to know us.
I can totally understand why a number of people in, say, the Linux community would be very concerned about ActiveState. You know, we have a close association with Microsoft, and a lot of people are just very wary of them; there’s a lot of “Evil Empire” FUD around Microsoft. We get painted with that brush somewhat, which is unfair. But I can understand why it happens.
LM: Komodo — your Mozilla-based integrated development environment (IDE) for scripting languages — is one of the more interesting products from ActiveState, and it’s one that runs on Linux. What is the long-term vision for Komodo?
DH: The world is moving towards component-oriented development. If you think of the programming pyramid, at the very top you’ve got people who write device drivers. As you move down you get C, C++, and Java developers. You look a little further down and you start getting people that are full-time programmers using scripting languages.
A little further down are the people that I call occasional programmers. They don’t consider themselves programmers but they do some programming for their job. Most of that development is done in a scripting-kind of language.
There is a very large number of people on the bottom, and we think even more people are going to be programming. Say you have a system administrator. Is he a programmer? No. Does he do programming? Yes. Webmasters? Much of their job does not involve programming, but they all write scripts and other simple things. Analysts? A lot of people do data analysis, and they’ll write scripts that go in and analyze and pull together data. But they’re not really programmers. So those types of people are a big part of our market.
You definitely see a growth in people that are saying, “No, I’m not a computer science major. I just wanted to learn some programming,” because they know that’s a skill they need to do their job well. It’s like writing letters. Nobody dictates letters and has a secretary type them anymore; they just type them themselves. It takes a lot less time, and you get exactly what you want. I see the same sort of thing happening with programming.
LM: You guys are one of the first companies to release developer tools for Microsoft’s .NET platform. What do you think .NET represents to the open source community?
DH: I think there’s an opportunity for the open source community to build an open source implementation of the core .NET framework that would provide a cross-language and cross-platform mechanism — sort of like Java, but more language neutral and perhaps able to solve some of the problems that Java didn’t.
Microsoft has learned a lot about what didn’t work within Java. It’s not that they want to crush Java, but they had a bunch of really good ideas they were working on.
They needed to solve a bunch of the problems that happened on the Windows platform, and all this stuff sort of pulled together to become the .NET framework. They consider this stuff to be plumbing. They don’t consider the .NET framework to be a big competitive advantage, necessarily. All of the other stuff that they plan to build on top of it will be the real value-add for customers, because, for the most part, customers don’t really value plumbing anymore.
Microsoft isn’t going to sell the .NET framework anywhere. It’s just going to be on their stuff. They think it’s a positive thing for that technology to be on other platforms because some of their other stuff might then work there.
LM: So where does Microsoft get its competitive advantage then?
DH: Well, it’s basically in the pieces they’re building that sit on top of the framework.
LM: Do you think that the .NET framework will run as well on Linux as it does on Windows?
DH: It’s an implementation issue.
LM: How do you think that’s going to play out?
DH: It depends on how well somebody writes it — if they were going to write it.
LM: That’s what Corel is supposed to be doing, right?
DH: Um…I don’t think Corel is doing anything there. The rumor I heard is that Corel is looking to exit the Linux business.
LM: So what needs to happen for .NET services to work on Linux?
DH: Nobody can do it alone. It’s a big chunk of work. Microsoft had a lot of people working on it. The timing is now perfect for people to get involved because the spec is still being created. And the spec isn’t expected to be complete until the end of the year. You can actually change the spec now.
LM: What will be the first thing to happen for Linux? Will it be a runtime environment?
DH: Yes, it’s the runtime. In the framework there are two big pieces. One is the runtime, which will take a .NET framework component and execute it on your machine. You also need the base set of class libraries that this component uses. If you have that, you can build a component on a Windows machine and execute it on whatever other platform is implemented to the .NET specification.
People can take applications and move them wherever they want to. This is sort of like the promise of Java. Essentially, this is like a virtual machine [VM] but it doesn’t operate as a VM. Everything does get compiled before it actually executes.
LM: Who is going to do this runtime and library work for Linux?
DH: You know there are a lot of people who are interested in making this happen. By the time this article is published, there will be a coalition built around creating something like that. ActiveState is in a unique position because we, as an open source company, have the best working relationship with Microsoft. We have the best knowledge of the framework and we are not a platform vendor. So, we’d like to make it happen. However, it is obviously something that we can’t fund. Building Komodo is a big enough piece to bite off.
LM: How did the distribution vendors, like the Red Hats and the SuSEs, respond to this?
DH: I think a lot of people are saying, “What are we going to do about .NET?” There are three choices: do nothing, do another implementation or create something competitive.
Doing nothing — if the framework were not going to go anywhere, that could be a good thing, because then you wouldn’t waste any resources. But Microsoft is going to pull in the other people that want to run on their platform, so I’m not sure doing nothing is a good choice.
Creating something competitive means that now you have to compete against the Microsoft marketing engine. And you know Microsoft is very good at marketing.
If you go with an implementation, well, Microsoft is out there convincing everybody that it’s a good thing. You can only say, “Well we’ve got it too,” which totally dilutes that as a differentiator.
LM: You talk about .NET as though it’s actually here. Most people think it’s such ambiguous vaporware that we really can’t determine whether it’s going to be significant or not.
DH: I guess because we’ve been writing code to it for a year and a half, I consider it here. We have product that is pretty much ready to ship. Now, Microsoft hasn’t shipped the .NET framework yet, but we have product that’s ready to ship. It lets you take any Perl module and wraps it up and creates a proxy so it looks like a component in the .NET framework.
LM: When will the .NET support that you are writing into your products begin to be useful to regular users? Right now, it sounds like I’m not really going to be able to take advantage of that.
DH: Not today. Microsoft needs to ship their Visual Studio .NET. I can’t speak on behalf of Microsoft, but I’d say that they’re going to be in big doo-doo if they don’t ship that before the end of the year.
Let me back up a bit because I was going to explain the different .NET things and sort of got all caught up and excited about the framework. So you’ve got .NET framework, you’ve got Visual Studio and you have Web services. Those are very different things. Web services are the SOAP [Simple Object Access Protocol], UDDI [Universal Description, Discovery and Integration] and WSDL [Web Services Descriptive Language] specs, which I see as a huge opportunity for Linux systems as well. Here you’ve got a platform-neutral, language-neutral way of exposing components. I see that as the big component model for the Internet.
LM: The Microsoft model?
DH: SOAP, not the .NET framework. Yeah, they’ve put it in as the whole .NET initiative. But the only tie between those two things is you’ve got a keyword; you write something in their .NET framework and it can be published as a Web service. But anyone can create a Web service. IBM’s creating Web services; Ariba is doing things on the framework. A lot of people are heavily involved and that’s going up as a W3C [World Wide Web Consortium] spec. They took SOAP 1.1 as a basis and now they’re adding some pieces.
A Whole New Lock-in?
LM: A lot of people see .NET as another platform — one beyond the desktop — where Microsoft is somehow going to try and exert the same kind of proprietary influence that they now exert with Windows.
LM: So how are things going to be different?
DH: Okay, so Web services are standards. And everyone is pushing, saying, “This is a standard; there’s nothing proprietary.” And a lot of people are uncertain. Is Microsoft going to try to put something into .NET so that only their stuff works properly?
LM: What is the risk then? Is there no risk whatsoever that Microsoft will try to lock us in?
DH: Well, it’s always going to be important that somebody isn’t trying to make the standard proprietary, whether it’s Microsoft or somebody else. But there are a number of people all involved and they all have a vested interest. People have seen things, like how Unix fragmented, and they’ve learned from history. That was bad, that was evil.
The Linux community, for example, is figuring that out. We don’t want to have a bunch of different Linuxes, and the community has risen up to say, “We don’t want it to happen.” It’s working together like that so the same thing happens around a lot of these other standards.
Robert McMillan is editor at large with Linux Magazine. He can be reached at firstname.lastname@example.org.