Home
Directory
Archive
Frontier
DaveNet
Mail
Search
Guestbook
System
Ads

Saturday, April 25, 1998 at Pacific

Open Source and Frontier

In my meanderings thru the open source world over the last week or so I came across some people who are purists about open source. They have a rule, they won't use any software that isn't open source. I've got to respect that, I have rules myself.

I started thinking about this in the context of Frontier, where we have a proprietary closed-source kernel, that's maintained by a team of five paid people; but above that level, all the source of the Frontier environment is not only available, it's the only way the software is shipped.

The open source purists say that Mac and Windows users don't typically have compilers, but they haven't dug deep enough. Every Frontier user has a compiler. It's totally integrated into the Frontier environment. That's why we can ship the source to the environment.

We ship source, lots of it. The whole personality of Frontier is built out of scripts, all the source for those scripts is included in the basic download.

As you would expect, some people get a rush out of this, others rely on us and other Frontier developers to fix bugs, suggest workarounds, provide new features.

We keep code and data separate, so that it's easy to upgrade the code without disturbing the data. We've implemented callback structures and filters in various places so it's getting easier to enhance functionality without disturbing the base code. We're getting pretty good at this.

The new Betty responder structure is all about flow of logic. I don't think you can get anything like this in any other server-side environment, not Apache, IIS, Netscape. It's a combination of editing and scripting, a level no other scripting or web environment has attained.

I believe that if the results warrant it, you should learn from it. Something is working here that isn't working in other worlds, and that includes Linux. I believe it's the mix of incentives. Our incentive is to perfect the kernel, because we believe it will eventually pay off financially, balanced against the motivation of independent developers to build new environments based on the Frontier kernel.

The open source purists don't like our license agreement, that's OK because you can't please all the people all the time. The purpose of our license agreement is to keep the stuff we develop in the Frontier environment. We think that defines fair use of our intellectual property. We invest in making the enivronment richer and easier because that increases the value of the kernel. That's why we do it. It would be contradictory to our business purpose to allow our code to be ported to another environment, so we don't allow it.

Our code is there to serve as an example, a starting point, a way to learn about programming the Frontier environment, and programming in general.

Is this different?

Well, it's not really different! Think about it this way. Everything on your computer is software, including (some people probably don't know this) the processor that runs the software. If you were to open up a Pentium or a PowerPC processor, you'd see that there are levels inside the machine, and the top level, called microcode, is actually a piece of software.

When you buy an Intel box to run Linux, you're buying closed proprietary software. You're making a compromise, even the open source purists are. It's a good compromise to make, because setting up a chip production line is very expensive! When Intel gears up to produce a new chip they spend billions of dollars. To justify that, they can't ship the source code for the microcode. If they did, their competitors would get the benefit of their investment. They would lose their proprietary advantage, their stock would go down, and their shareholders would boot out the management, and replace them with people who took their investment more seriously.

Frontier works the same way, but on a smaller scale. To justify the investment, we keep the source for the kernel to ourselves, and ship applications in source to encourage other people to build on our kernel. We are incentivized to improve it. Ultimately, I believe it requires a professional commitment to move something complex and sophisticated like our kernel forward. We don't spend billions of dollars on it, but we spend a lot of money.

So here's the challenge to the open source purists -- please explain how you can keep your purity intact when you use a closed source system to run your open source software. Explain why this is different from the way the Frontier world works.

Thanks!

Dave Winer
April 25, 1998


This page was last built on 4/25/98; 8:56:24 AM by Betty Webmaster. webmaster@scripting.com