Friday, June 18, 1999 by Dave Winer.
This morning we are rolling out a new website and a new partnership.
The website is Linux.UserLand.Com. We think of it as our laboratory for development on Linux. Our goal is to connect editorial tools and content management software running on Windows and Mac with fast scalable server software running on Linux and other flavors of Unix.
The partnership is with Digital Creations, the company behind Zope, the leading content management software on Unix.
The first step was to do a Linux clone of one of our NT-hosted membership-based sites.
We chose WhoIs.UserLand.Com because it's a simple site, but it's dynamic and keeps a list of remembered domain names using membership and preferences. If it performs well on Linux, it's reasonable to assume that our other dynamic membership-based sites will perform well too.
It makes for a great A-B comparison. How do the two operating systems compare at deploying a functionally identical site? The answer is pretty clear. Linux runs faster. That's good, because that's what we want from Linux. A reasonably robust feature set so our sites can compete with the best sites at Yahoo, CNET, ZDNet, AOL, Netscape, etc. And high performance so our sites can scale up to serve millions of users.
http://whois.userland.com/ (The Windows NT version.)
http://linux1.userland.com/whois/ (The Linux version.)
The second step was to be able to send XML-RPC messages to software running on Linux, basically turning Linux into a scripting environment that could plug into compatible environments on other operating systems.
We chose to go with Zope (more on that later) because it gave us the best performance and easiest programming. We have this working now, and the source code is released and you can do anything you want to with it, with or without giving us credit. (How's that for a no-nonsense open source license?)
In doing this work we had to make a lot of choices. What database to use? What scripting language? Which web server? We tried working in PHP, but found that its interface to databases isn't uniform, and it's relatively low-level compared to the server environment we're accustomed to on Windows/Mac. PHP is comparable to WebSiphon on the Mac and ASP and Cold Fusion on Windows. Thru this lens we could see clearly how much more Frontier is doing for us on Windows. We want to build on something comparable on Linux.
That led us to Zope. More than anything else available on Unix, Zope is closest to the rich runtime environment of Frontier. And Zope is built on Python, the Unix scripting language that's closest in philosophy and design to our own scripting language, UserTalk.
And Zope is open source, which made it easier to invest. After all, we own it just as much as anyone else does. So we asked the Zope people if they would include our code in the standard Zope distribution and they said yes. Excellent! This is more proof that collaboration is possible, not only across operating systems, but across economic systems.
I like the way this is going. The net result is that Zope will soon speak XML-RPC, and that means that it will be easy to build distributed systems that leverage the advantages of all three operating systems, Mac OS, Windows NT and Linux. This will be historic when it's delivered.
So now I have stuff to say to our current users and developers.
First, we believe Windows/Mac make an excellent high-performance workgroup server, or even a public web server for a moderate-flow, membership-based dynamic site, serving up to 50,000 Frontier-rendered pages per day. However, if you want to deploy a public dynamic site handling more traffic, neither Mac OS or Windows NT, running on today's hardware, can handle that kind of load.
Also, the Mac/Windows platform provides the richest base of tools and browsers, far richer than Unix. Further, most computer users use Windows, with Macintosh a strong second. So the fact that we already have strong tools on these platforms is an advantage we fully plan to leverage with future products. The goal is to simplify the web-writing experience. As I've said before, having strong content management software on servers is critical to making that work, but it's also important to have easy-to-use software running on the popular desktop platforms.
Second, we are porting Frontier to Linux. As we take these first steps, there's nothing existing Frontier developers have to do, other than watch, or if you want, get involved and make a contribution. Our goal in getting Frontier to Linux is to create a high-level web writing system that can scale up to Yahoo or eBay levels of traffic. The first step is to start porting sites so we learn from others which issues to push and which to hold back on. Even Linux has its limits. We don't know how high Zope can scale. We're going to hop around quite a bit, try out lots of ideas, quickly, and see what makes sense.
We're opening this process because that's what makes sense to us. We're investing in Linux because that also makes sense. We're investing in Zope and Python because we're kindred souls, we have compatible philosophies, so it's easy to make our software compatible. We're publishing source code and tutorials to show people how to use their Mac and Windows skills to deploy scalable applications on Linux. Our focus is on building systems that leverage the advantages of all platforms. We don't have an allegiance to any individual platform. We don't want to see Microsoft or Apple lose. We just want to make great servers and web writing environments and help others do the same.
Pointers to all this stuff is on today's Scripting News home page:
Let's have fun!