April 2004 Archives

Andy Oram

AddThis Social Bookmark Button

Related link: http://linuxworld.com/story/44624.htm

In a recent weblog I highlighted href="http://www.oreillynet.com/pub/wlg/4715#novell_linux_client">
Sun’s odd status in the industry’s evolution to free software.
I pointed out there that Sun has a verbally ambivalent and even
fearful attitude toward free software, and that they still take strong
actions in support of it, including their heavy investment in GNOME
and their choice to release the overwhelming bulk of StarOffice as the
open source OpenOffice.org.

You can’t always get the best information about a trend by
scrutinizing the statements of a corporate executive; like
politicians, executives sometimes have to say one thing while doing
another. Sometimes they have to take a step in one direction in order
to balance a more significant step in the opposite direction. I
believe Sun is wedded to proprietary software and will lag behind many
other companies in adopting free software, but they can still make
significant steps toward the latter.

Public relations were not made easier for Sun with its spectacular
Microsoft settlement. The relative standing of the two companies in
legal and ethical terms can be implicitly measured in the direction
that money went–from Microsoft to Sun–and the size–1.6 billion
dollars–of that transfer. But it would apparently be unseemly for Sun
executives to continue their Jeremiad against Microsoft, particularly
now that they seem to be exiled in Babylon, learning to interoperate
with Visual Studio and other Microsoft products.

All this is a far cry, though, from undermining the GPL. And even more
distant from suing people as SCO has done. Nor can I imagine Sun
trying to prevent hard-hitting exposés of SCO’s tactics, as
done by Pamela Jones in her famous

Groklaw

site.

Now that I’ve provided my own framework for examining Sun, I can let
you loose to read

Jones’s fierce excoriation of Sun president Jonathan Schwartz

in a LinuxWorld article, where all the claims in the previous
paragraph are lodged. Jones’s legal work has shown her practical
approach to idealism as well as her sharp analytical talents. There
are many valid criticisms in the article. But there’s also a strong
dose of attitude. The evidence does not support her major charges, in
my judgment.

Jones installed the Java Desktop System and was insufficiently
impressed by its display of GPL compliance. But Jones, with her legal
background, is much more concerned about licensing than most users.
The fact is that most JDS users will never see its installation
screen. JDS is a thin-client sort of desktop, meant for use on
corporate LANs. It will be installed by a system
administrator. (Admittedly, though, interest has recently developed
among home users.)

Like sparring politicians in this election year, Jones is setting up
to find the worst in Schwartz’s words. I think Schwartz’s ear is not
yet attuned in a fine enough manner to the worries of free software
proponents. For instance, his casual reference to forking fails to
show the depth of concern this danger holds for our community; he does
not do enough to reassure us that no actual forking is taking place.
Certainly, one could find all manner of sinister interpretations for
his boast they Sun is “very bullish on the future of intellectual
property in open source”–but one could just accept it for what I
believe it is, an awkward way of saying that open source is
economically viable. Schwartz’s embrace of DRM is indeed a
disappointment.

Sun is clearly tired of playing a marginal role in end-user computing,
and wants to bust into this huge and lucrative market. This is a major
corporate paradigm shift on their part, and I see no reason not to
wish them well. Part of their strategy is simply to give people what
they want, such as the ability to listen to music and play videos on
their computers. I should point out here that RealPlayer actually
works on the Java Desktop System, whereas I and my colleagues
have found difficulty getting their packages to install on other Linux
systems.

Another part of the strategy is branding Linux strongly with their own
corporate brand, a strategy where Sun is no different from Red Hat or
SUSE. Jones praises Red Hat and contrasts their marketing from Sun.
But last fall I heard Bruce Perens, Nat Friedman, and others rake Red
Hat over the coals for its new licensing policies around Red Hat
Enterprise Linux. Meanwhile, Red Hat sales and stock have been soaring
(while the free distribution it still gives backing to, Fedora, is
earning a lot of thumbs up), and Sun is doing very nicely with the
Java Desktop System. People have plenty of choice in the Linux market;
let them make their own decisions.

I personally don’t feel like the Red Hat Enterprise Linux licensing
regime is one I’d like to live under (although I currently run Red Hat
Professional Workstation on my laptop) and I have a criticism or two
of my own concerning the way Sun positioned Java Desktop System in the
market. But I won’t air those criticisms here because right now it
would just add kindling to the fires that already well-stoked.

Carefully argued and carefully targeted critiques of corporate
policies–such as the ones that free software Java proponents aim at
Sun to make Java completely open–are valuable contributions to
debate. Jones’s article has several of these. But head-on attacks on
a company or the basic business model it has chosen are not likely to
achieve change, or ultimately to win in the court of public
opinion. Punishing a company for crimes not yet committed won’t wash. So let’s not add wood to the Linux-versus-Linux fires,
folks. Let’s save that wood, and use it as industrious beavers to do
create strong structures and improve the ecology for all.

And when I’ve sunk to using a metaphor like that, it’s time to get
off the weblog.

What is Sun’s strategy and how is it different from other vendors?

brian d foy

AddThis Social Bookmark Button

iTunes 4.5 has a lot of ways to get to people to the iTunes Music Store so Apple can get their 99 cents.

When I select a playlist in iTunes, a little cirle with an arrow in it appears next to the name of the playlist. That arrow takes me to the Music Store and sets up the playlist to publish to iMix. Once I have published the list, the circle and arrow stay next to the playlist, allowing me to view or update the published list.

image

That arrow next to Current Favorites takes me to the iTunes Music Store and creates a list of all of the tracks in that playlist that the Music Store sells, which means a lot of the songs in my playlist were missing from the published version. It also creates a nifty, little quilt image from the first 9 unique album covers of the playlist.

image

I can send my published list URL to other people, and through that they can buy individual songs, or the entire playlist (but without a bulk discount). They can do the same things that they can do with the rest of the Music Store too, including listening to snippets of songs.

I do not know what advantage this should have for me, other than sucking away all of my money in 99 cent increments. Every time I visit the Music Store I run across something I want and would never buy an entire album to get. Damn you, iTunes Music Store!

Has iTunes Music Store cleaned out your bank account?

chromatic

AddThis Social Bookmark Button

Related link: http://www.soundratings.com/

Since publicizing Trustabit, I’ve run across a couple of similar projects. In particular, SoundRatings.com and iRate take advantage of rating systems to make recommendations — and download — unencumbered music.

brian d foy

AddThis Social Bookmark Button

Related link: http://wdb.apple.com/pr/library/2004/apr/21disney.html

Last week, Disney made some of its catalog available exclusively through the iTunes music store, which now has a Disney category in the Browser’s Genre pane.

Besides the classic Disney animated features, the genre includes The Nightmare Before Christmas, A Bug’s Life, and some others I forget to associate with Disney.

Too bad this is an exclusive deal, though. As much as I would like Apple, iTunes, and the iPod to succeed, I do not think anyone should have to use any of those to download music.

brian d foy

AddThis Social Bookmark Button

Related link: http://www.apple.com/itunes/download/

iTunes 4.5 is now available, and the download page explains some of the new things in the iTunes Music Store, including free weekly downloads.

brian d foy

AddThis Social Bookmark Button

iTunes Music Store apparently has a new user agreement, and it seems more generous than the old one. I wish I had saved a picture of the screen, because I only remember these new terms, which is about half of the items the new agreement listed.

  • Publish via iMix (which I have not seen yet).
  • Authorize up to 5 computers, up from 3
  • Unlimited CD burning, with the odd disclaimer that any playlist can be burned 7 times

This may be connected to the rumored, imminent release of iTunes 4.5 and its bevy of new features.

Did anyone bother to read the new agreement before they went back to searching for 80s music?

Andy Lester

AddThis Social Bookmark Button

When did we get so subservient to our new typeset-quality overlords that we have to apologize for anything done by hand? Why do we think that the Times New Roman Bold 24 point medium is more important than a well-written message?

Take a look at this sign from a high school drama department.


image

At the bottom, an apologetic addendum reads “Sorry for the hand written note… computers are not my friend today.”


Look at that sign. It’s wonderful. Its heading is clear, easily readable, and it catches the eye. The three bullet points are well-formed and thought out. The different colors help the reader differentiate between them.


Why would that sign have been any better if it was laser printed in Word? No clip art, or variety of fonts, or anything that any page layout program could offer, would make things better.


Where computers and printing help is in mass-produced items. Perhaps if this sign’s creator had to create a dozen of them to paste around the school, it might have been a work savings, but it couldn’t improve the quality.


In the World Of Business, there’s no reason to bow down to the God Of Laser Printing, either. In my web development department, we’ve got Gantt charts and task breakdowns and laser-printed output all over the place, and yet I asked my project managers to create this “dashboard” for each project:


image

That sheet of paper is from a standard 2′x3′ flip chart pad, taped up in our big common area, where everyone can see it from the end of the aisle of cubes. It’s not pretty, but it shows me everything I need to know. Each phase in the project is shown, with a red, yellor or green circle to show its progress. Check marks show what’s been done.


Pen and paper works on the small scale, too. Extreme Programming uses the concept of the “story card”, a 3″x5″ handwritten index card that shows high-level tasks to be done. They’re easily shuffled and reorganized.


Stop assuming that the computer is the way to go!
Step back and consider what your target format is. Is it something you’re mass-producing? Is it something that needs that “professional” look? Maybe you don’t actually the computer to take care of it for you…


(For an earlier blog entry along these lines, see
The Curse Of Designing With Microsoft Word.)

When do you leave the computer behind and take pen to paper?

Chris Shiflett

AddThis Social Bookmark Button

Related link: http://www.phpmag.net/itr/online_artikel/psecom,id,547,nodeid,114.html

As noted in the PHPCommunity.org Blog, the 03.2004 issue of PHP Magazine (print edition) features an article that describes the first few months of the project. The article, PHP Community: Part I, is now available from their Web site.

This is a good article to read if you’re curious to know more about the PHPC project or about my motivation for starting the project. If you’re interested in being involved in the development of PHPC, please see my most recent status report and subscribe to one of the mailing lists.

Many thanks to PHP Magazine for coming up with the idea for this series and for making this article available for free.

Jono Bacon

AddThis Social Bookmark Button

As a user of free and open source software, I have a deep respect for all projects that work hard to produce free software. As a member of this community, I also feel that it is my responsibility to let these projects know when there is a bug or problem with the software; constructive criticism is often one of the biggest gifts you can give to a project, after all, we won’t get anywhere if we keep telling ourselves how great we are. The purpose of this essay is to discuss a theoretical problem that has always faced free software, and is now beginning to materialise in some projects. The problem is that of refining our technology.

Contributors are the backbone of our community. We need hackers, documentation writers, sound engineers, usability testers, expo organisers, advocates and other generous participants. Without these people contributing, we would have no software, or we would have software that is significantly less feature laden and stable than we have now. The problem we are facing though is that every contributor who is getting involved with a free software project is essentially using their spare time and hard work to “scratch their own itch” and contribute the scratch to the project in question. This is not a problem per say, but the problem lies in the fact that not every personal contribution can be merged into the project. As an example, if someone wanted the clock in KDE/GNOME to be displayed in binary, they could write a patch and submit it to these projects. The patch may then be merged and added if it is good. Irrespective of the fact that 95% of the user-base may never use the feature, a patch is often rated on its technical quality and compliance; if it meets the grade it is often added.

We have a difficult decision to make here. Someone has contributed a patch that they have spent their time and effort creating, but the patch adds a feature that may detract from the general direction that the project is heading in. Do you allow the patch and possibly bloat the project up unnecessarily, or do you say no and possibly alienate a contributor? It is a difficult decision to make, and there is no clear option either way. One alternative is providing some kind of additional plugin system where these additional features can be added. This has occurred with various projects to a relative degree of success.

I think the most important aspect of running a free software project is having a sense of direction. Let us take GnomeMeeting as an example. It is quite clear from the direction of this project that there is a very definite and finite direction that the developers are pushing for. GnomeMeeting is aimed at being a light, easy to use, voice over IP application that allows you to talk with your friends and colleagues. In my experience of keeping a beady eye on the project, it seems that the direction has been rigorously followed. The result of this work is an application that is simple and easy to use.

Many would say that GnomeMeeting is a simple example; it has a fairly singular set of requirements and aims. Things get considerably more difficult to manage when you look at more expansive software projects such as KDE and GNOME. I have been involved with KDE to varying degrees over the past four or five years and I love the desktop and greatly admire the people who work on it. The one criticism I do have though is that the sense of direction in KDE seems to be flagging somewhat. As someone who cares about the direction of the project, it seems only right to share these views. The reason why I am writing this in my O’Reilly blog and not in a private email to the KDE developers is that I think some of these points can be heeded by other projects. These points are not only directed at KDE; various other projects may find this essay interesting.

The problem I have seen with KDE recently has been an overload of features that I suspect the target audience will not need. The term target audience is always an interesting concept to get clear in your head, and this concept gets considerably more difficult when you take into account the vast range of users that KDE has amassed. The problem with a project such as KDE and GNOME is that they are essentially trying to please all the users all of the time. These projects want to please those who want a simple to use desktop, those who want to configure everything imaginable, those who want to remove chunks of the desktop and many other weird and wonderful uses. The problem is that you really cannot please everyone all of the time.

Let me share an example. My dad is a Windows user. He needs his computer to write letters in Word, browse the Internet in Mozilla (I moved him over to Firefox, OpenOffice.org is next) and that is about it. My dad is very much a task-centric user. The OS and GUI to him is of unimportance; it is all strange magic that eventually gets him to the point where he is sat in front of Word - this is where he feels comfortable. The Windows control center scares him, he doesn’t like options boxes, he doesn’t care about themes - options are just things that may possibly break the system.

My dad is the kind of audience that I expect KDE to target. He is a novice computer user who just expects things to work. He doesn’t care about half of the stuff that is present in KDE; he only needs the GUI to be able to manage his files and load his programs. The problem is that KDE is getting so feature laden that it is making the environment more complex to use. If I sat my dad in front of the KDE Control Center, I think he would give up straight away. The problem is not so much the way the KDE Control Center is designed; the tree topology works reasonably well, the problem is the sheer amount of stuff in there.

In some ways the GConf concept is a good one. Some features in GNOME may be so specific and advanced that the vast majority of people will not need to fiddle with them. The most common and basic options are available in the general configuration tools, but the more specific options are essentially stuffed somewhere in the background out of view. This is great because the target audience does not see them and is therefore not confused by them. The problem with this technique though is that you need to know obscure GConf keys to get lesser known options to work.

I feel the best option in a situation like this is to make the desktop and configuration available in a series of schemas. You could have an Easy schema that has the most common options available and removes choices that may be too advanced or are not needed by someone such as my dad. You can then have a Medium schema that satisfies those with a tweaking finger. The final option could be All, which is the current situation. The desktop would start initially in the Easy schema and if you need more options you simply change the schema. There should also be functionality to add and remove options and features from your chosen schema. This gives you the ability to tweak your desktop in the way you desire. As an example, if you don’t use Konqueror, you should be able to remove its options from your schema.

This is by no means a perfect scheme and would need to be refined by people with some concrete usability experience, but this would at least improve the situation to make the desktop work in a way that is better aligned with the needs and experience of the user. The more advanced user can always make an easy desktop more advanced, but the less advanced user simply gets lost with an advanced desktop.

Just to re-iterate, I have a great deal of respect for the KDE and GNOME teams. I know many developers personally, and these comments are intended to hopefully make people think of another way of making things work. We are getting to a point with our software where the desktop is going to play a key and integral part to new users and businesses. This means not only refining the technology that we already have, but working together to meet the goals and ambitions of desktop integration with the freedesktop.org project.

Sensible suggestions or random utterings? Chalk your thoughts below…

brian d foy

AddThis Social Bookmark Button

Related link: http://www.prnewswire.com/cgi-bin/stories.pl?ACCT=SVBIZINK3.story&STORY=/www/sto…

I flew out of Detroit’s McNamara Terminal yesterday. In the concourse is an “Online Cafe”, which is really just a cafe with a couple of computers with flat-screen moniters sitting along the wall. I figured they might have wireless access, so I fired up my PowerBook to check.

The entire terminal has wireless access. Although unlimited access costs $6.95 for 24 hours, I could get airport and flight information for free. I

image

This access would be great if I could pay for an hour of it (oh gees, did I just suggest micro-payments? $7 / 24 hours is about 30 cents an hour), but for $7 an hour, I will just do the crossword in the paper. Of course, most people will not be in the terminal for 24 hours, so I think the 24 hours of access is just a way to throw off people as they try to figure out if it is worth it. Somewhere in there is a black-market business in limited-time account trading.

Which other airports have concourse wireless?

Andy Oram

AddThis Social Bookmark Button

As a public service, I explain here how to get a new top-level domain
approved by ICANN.

Top-level domains–such as .COM and .ORG–remain a hot topic. Millions
of dollars rest on who can get a new one. And a lot of people are
wondering when this odd part of the Internet (the only part
artificially constrained from growth) will start to catch up with the
rest.

Eyes are now on the organization responsible for granting new
top-level domains, ICANN.
The last time it granted new ones, back in November 2000, it required
a non-refundable $50,000 just to submit a request. Forty-seven
organizations ponied up their money; just seven lucky ones got what
they asked for. And nobody outside ICANN could figure out why certain
domains–including such unlikely candidates as .AERO and
.COOP–entered into company of the elect while others did not.

Later, ICANN released a
report
concerning an “evaluation process” and a
purported plan
for “the possibility of moving forward some sort of limited new TLD
program”–both notable for their timidity and lack of any sense of
urgency.

Well, ICANN is in the middle of the process once again, this time for
just three new TLDs. Who will be the lucky one on this go-round? How
can you up your chances if you’re throwing your hat in the ring?

The answer is now available. View the diagram at the link that
follows.

How to get a new TLD approved by ICANN

Is the process any clearer?

brian d foy

AddThis Social Bookmark Button

Related link: http://www.michigan.gov/cis/0,1607,7-154-28077_28233_28254-72930–,00.html

The Michigan Broadband Development Authority, which offers loans to several sorts of groups that want to acquire broadband infrastructure, has a mandate from the Michigan legislature to make loans in the range of $0 - $100 million dollars.

I’d like a $0 loan, please. No, on second thought, make that a dollar. I need a sticker to put on my PowerBook.

How much do you need to get broadband?

brian d foy

AddThis Social Bookmark Button

I went to the Detroit Beer Co. for lunch today. If I did not want to watch TV while I waited for my food, I could have checked my email through their free wireless service. They did not advertise it on their carry-out menu, but right there on the hostess station were two wireless routers and a big sign announcing free wireless access.

I went to Borders to look for a book, and they had huge LCD screens hawking their T-Mobile hotspot, which I can also get in Starbucks. I have to pay for those if I want them, but there is so much free stuff around, why should I?

After that, as I was walking back to the hotel, which also has wireless that pops in and out (and I have my own Airport set up), I had to walk under an awning that seemed to say something more than what its designers had intended.*

image

Now I want like to turn my phone into an 802.11 detector. It is already a camera (it took that picture) and a PDA. Wouldn’t that be cool?

* )( is the war-chalking symbol for an open network.

Where have you found unexpected Wi-Fi access.

Andy Oram

AddThis Social Bookmark Button

Early in the campaign to free Mordechai Vanunu, the Israeli nuclear
whistle-blower, I bought a T-shirt that showed Vanunu’s face and
quoted the epiphanic Biblical passage where God says to Jeremiah, “I
gave you as a prophet to the nations.” For a long time I was a bit
embarrassed by that grandiose quotation. But today, as Vanunu is
released from prison, I sense that it is accurate. Vanunu resembles a
prophet in many ways: testy, unruly, over the top in his
pronouncements, incapable of delivering a message without delivering
discomfort as well, but ultimately, in a deep way, correct.

The world of 1986, when Vanunu revealed that the Israeli government
had assembled a nuclear arsenal of hundreds of weapons, is different
from the world into which he is re-emerging (with his ultimate freedom
still undetermined–he may be barred from meeting with journalists or
leaving Israel). Vanunu, a principled pacifist, blew the whistle on
the Israeli government in the hope of pushing forward disarmament the
world over. He boldly put forward the proposition that nuclear weapons
do not make us safer, but rather put us more at risk. The world he
re-enters is a confirmation of his warning.

The Israeli government was incensed that Vanunu had revealed its
secret, but who expressed surprise at his revelations? None of the
Arab countries batted an eyelash. Washington yawned. The only people
from whom the Israeli arsenal was a secret were the world’s
public. After Vanunu, normal Israelis had a chance to debate the
nuclear option. Most of them, of course, ignored and excoriated the
prophet. It’s still open to debate whether Israel needed its weapons
to stay alive. After all, it managed to win over its enemies in every
conventional war. We know its weapons make everybody around it less
safe.

Today, Asia is awash in nuclear weapons. The end of the double
hegemony of the U.S. and the Soviet Union in the Cold War era meant
that a lot of countries couldn’t depend on a nuclear umbrella from a
super-power and decided they had to get a bit of their own.
The Bush administration has largely abandoned any reasonable program
to get North Korea to give them up (it would require a guarantee of
their safety), and both the Americans and the Europeans realize that
weaning Iran away from its program will take much longer than they had
hoped.

Outside Asia, even leftist Brazil is teasing us with a possible
nuclear weapons program. As one speaker from the
American Friends Service Committee
said at an event I organized around Vanunu (an event I held at my
synagogue, angering the Rabbi and many synagogue members), “Any
technology that’s fifty years old is hard to keep secret.”

Vanunu was recently quoted in the press as saying that the Zionist
state should disappear and that Jews should live in a Palestine
controlled by the surrounding Arab majority. This is again the
hallmark of a prophet. The question is not whether the idea is
shocking to Zionists. Vanunu has never claimed to have easy answers.
The question is whether his statement is a stark recognition of
reality.

What is the effect of the nuclearization of world politics?

brian d foy

AddThis Social Bookmark Button

Related link: http://www.ddj.com/articles/2004/0405/

Matt Stephens and Doug Rosenberg (co-authors of eXtreme Programming Refactored: The Case Against XP) wrote “The Irony of Extreme Programming” for the latest Dr. Dobbs Journal (which you can also get online with a membership).

They point out some of the things that I have thought for a while: eXtreme Programming (XP) has a lot of nice ideas, and it mitigates some problems, but it is neither a religion or a cure-all. In fact, it can create some problems of its own if not used well.

I like that they step back from the hype to look at some of the problems. I think the programming world (or maybe just the world, unqualified) tends to get too caught up in using a particular process or technique, even if common sense says something else. I have often told those close to me that if they cannot criticize their favorite thing, they do not know it well enough.

They quote an email one of their readers sent them:

The pair programming is mind numbing. With this XP stuff, software development is no longer a professional occupation, it’s just another type of assembly line work.

Different people have different ideas about that, and as I write this from Detroit, home of the Henry Ford Museum, I wonder if those great innovations I learned in elementary school, like division of labor and the assembly, caused the same reaction. I would certainly expect that demoting a master craftsman to the assembly line would cause some problems, so why do some shops insist on doing that to senior developers just so they can say they practice XP?

brian d foy

AddThis Social Bookmark Button

Sleepycat Software, the guys behind Berkeley DB, had an ad in a recent Dr. Dobbs Journal with the hook “Where’s the sleeping cat?”

The rest of the ad copy told me where the sleepy cat was (the usual suspects—Linux, Apache, and so on), saying “you may very well have used Berkeley DB without knowing it.”

I like the idea of this ad. Perhaps Perl and a lot of other infrastructure workhorses could do the same thing—so “Where’s the Camel?”

Have you seen good ads for open source products?

Andy Oram

AddThis Social Bookmark Button

Related link: http://www.mysql.com/news-and-events/users-conference/

If you attend enough computer conferences, you run into
every occupation on Earth. At the
MySQL Users Conference
last week, I sat next to a person at lunch who announced
proudly that his job was to destroy data. He works for a
firm that specializes in data services for law cases, and at
the end of many cases the judge orders the total destruction
of data related to the case.

On the other side of me, at that lunch, sat a database
administrator whose facility is planning a migration from
Oracle to MySQL. A few years ago, people might assume a site
would start with MySQL and move up to Oracle as its needs
grew. Now there’s a quiet trend in the other direction. (I
should mention here, though, that MySQL managers downplay
the obviously competitive situation and like to say that the
different products are for different markets.)

My lunch partner said his firm would save an enormous amount
of money on both licenses and support. I was left with the
impression that Oracle took a big risk by moving from a
perpetual license to a four-year one: they set the timetable
for this company’s move.

In this article I’ll cover:


The business model: why did MySQL grow so fast?

MySQL represents the most impressive market success, exceeded only
perhaps by Apache, in free and open source software. In terms of
installed base, MySQL has left the technically impressive rival
PostgreSQL in the dust. It has marginalized mSQL, SQLite, and SAP DB
(the last of which I’ll return to
later).
It has started to challenge the proprietary database
companies on their own turf, as already mentioned. Nobody
can say why licensing costs for proprietary databases have
plummeted in recent years, but one suspects that it’s due to
MySQL’s competition, as are the large discounts Microsoft
has offered certain customers.

Not convinced yet?

  • MySQL AB claims an installed base of five million systems,
    the largest of any database engine.

  • The mysql.com domain sees almost as much traffic as
    ibm.com.

  • Six hundred attendees flocked to the recent conference.

  • MySQL AB has recently started, and has been heavily
    marketing, its own publishing outlet,
    MySQL Press.

  • MySQL has made the use of a database so commonplace that
    industry observer Clay Shirky, in his recent article
    Situated Software,
    writes:

    You can of course build these kind of features [rapidly
    developed applications for small, localized groups of users]
    in other ways, but MySQL makes the job much easier, so much
    easier in fact that after MySQL, it becomes a different kind
    of job. There are complicated technical arguments for and
    against using MySQL vs. other databases, but none of those
    arguments matter anymore. For whatever reason, MySQL seems
    to be a core tool for this particular crop of new
    applications.

So how did MySQL achieve this charmed status?


A textbook case of a disruptive technology

MySQL, first of all, illustrates in almost pure form the
sequence of events Clayton M. Christensen documented as a
“disruptive technology” in his ground-breaking book The
Innovator’s Dilemma
. Early versions of MySQL lacked the
basic features, such as ACID transactions and referential
integrity, that experienced users expected from a relational
database. In a pattern familiar to anyone who has read
Christensen’s book, knowledgeable observers dismissed MySQL
as a toy.

But MySQL’s very simplicity made it so small and fast that
it quickly won over small users who wouldn’t even understand
what they were missing and how to use the fancy features
offered by “real” database engines. In particular, MySQL
proved ideal for the exploding area of dynamic Web content.

Most indicative of its mantle as a true disruptive
technology, MySQL proved that many of the missing high-end
features weren’t as indispensable as people used to
claim. For instance, referential integrity (jeez, who could
be opposed to integrity?) wasn’t required in a database
when it could be achieved in the application code, often
more reliably. You could also achieve efficient locking
without row-level locks; in fact, supporting row-level locks
took so much overhead that the application was almost better
without them.

Having rewritten the rules for what constituted a useful
relational database engine, MySQL AB proceeded to invest
resources to implement the very features which they were
originally sneered at for lacking. Bit by bit they have
added check-off items to their T-shirts. And what’s most
interesting is how they found the resources to pull off this
kind of upgrade cycle.


The importance of dual-licensing

Of course, any agreement under which you release free
software (other than the public domain) is a license, but
“licensing” usually refers to selling licenses. And MySQL AB
has become one of most successful companies with a
completely complementary dual-licensing model: they offer
everything under an open license for certain users, but
charge money for everything under other circumstances.
(These circumstances will be discussed further down under
The licensing of free
software
.”)
As we’ll see, the parallel existence of GPL licensing and
commercial licensing leaves a mark on every aspect of the
company.

The CEO of MySQL AB, Marten Mickos, said that more than half
of their money comes from license fees. This contrasts with
an impression of open source software left by Novell vice
president Chris Stone in his keynote (described
later).
Stone, claiming that Novell had already settled on a
maintenance model for revenue, suggested that, because of
this, the move to open source will not be as hard for Novell
as for other traditional computer companies. The remarks
implied that an open source business model has to be a
support model, but MySQL AB staff pointed out that support
contracts have been shown to be insufficient to fund software
development. It may be enough in the future, but it’s not
yet.

The other side of dual licensing is equally important. In
terms of adoption, open licenses do more for a software
project than twenty thousand billboards and glossy ads. The
GPL allowed MySQL to penetrate millions of sites that would
never have otherwise known about it.

But the GPL also created a hotbed of user participation that
can be witnessed to this day, as MySQL AB employees
repeatedly ask their users for feedback. MySQL AB also
benefits directly from contributions; for instance, its most
feature-rich storage engine, InnoDB, started as an outside
project.

But MySQL would have remained a stepping stone to other
databases for many people, were it not for its continual
growth and improvement. This rate of improvement is not
exceedingly fast (managers stress that they always check for
stability, correctness, and performance before releasing
enhancements) but it’s fast enough to give customers the
impression that features are worth waiting for–that what
they want will in due time be added to the product.

And there’s a symbiosis between technical development and
payments for licenses. Each requires the other. If a
substantial body of enhancements to MySQL grew up outside
the company–even if they were put under the GPL and MySQL
AB could incorporate them into its version of MySQL–they
would not be part of the value MySQL AB could offer paying
customers. There would thus be few paying customers, and MySQL AB
could not afford to hire people to keep up development. In
order to keep up with customer needs, MySQL AB has managed
one of the coolest tricks in open source development:
keeping most development in-house. And making users happy
about it!

Founder David Axmark told me there’s tremendous power in
having a product unambiguously associated with a single
company. Whereas Linux and Apache belong to everybody and
nobody, MySQL is taken seriously by large companies with
money to spend because there’s a company that owns a
trademark on it and markets it like a proprietary product.

So MySQL succeeds at maintaining two faces. To paying
customers, it’s a traditional, responsible vendor. To
programmers and database administrators, it’s a flexible,
responsive network of independently-minded developers in
free-software style.


SAP adds its muscle

Nobody would be sorry to have the backing that comes from
such a large and well-established corporation as SAP. But in
addition to SAP’s prestige and endorsement of MySQL, what is
the main contribution of the partnership?

Not MaxDB. This is the new name for SAP DB, and was honored
with several sessions at the conference, all poorly
attended.

And probably not the money SAP invested in MySQL AB as part
of the partnership they announced in May 2003. Certainly
this helped to spur the enormous hiring campaign MySQL has
been on during the past year. (They announced that they
doubled the size of their company to 134 staff.)

The impression given by Kaj Arnö, in his presentation
on the SAP partnership, was that the best part lies in the
expertise SAP brings to areas where MySQL needs to upgrade.
SAP DB contains a number of features that MySQL AB would
like to implement, and through the partnership they can do
so much more quickly. In particular, MySQL 5.1 is supposed
to contain server-side cursors, views, standard error
handling, standard security handling, schemas, and
constraints.

There are three reasons for incorporating SAP DB features
into MySQL:

  1. They are genuinely useful.

  2. They are needed to run SAP.

  3. They are ANSI-compliant.

We have to start with the understanding that complete
compliance with the ANSI SQL standard (one always has to
ask, “Which standard?”) is pretty much impossible. See, for
instance, the negative assessments by SQL standards experts
Michael M. Gorman
and
Peter Gulutzan
(the latter now a MySQL AB employee). But MySQL AB would like to
approach compliance with the core SQL standards. They don’t plan
complete compliance even with this limited part, because it would
require them to sacrifice other crucial selling points: speed, and
ease of use and management.

Meanwhile, Arnö laid out a roadmap for merging MySQL
with MaxDB, beginning with a proxy that translates the
protocol used by a MySQL client (and eventually, the
particular syntax of MySQL commands where they differ from
MaxDB) into a format a MaxDB server can recognize.


The licensing of free software

As I said
earlier,
dual-licensing is central to MySQL’s business model. So
under what circumstances must you license MySQL? There’s a
“nice guy” answer that’s fairly clear, and a formal legal
answer that’s considerably murkier.

The nice guy answer is (I believe I am quoting Monty
Widenius directly here): “If you distribute MySQL for free,
you get it for free, but if you charge money for it you give
us money.” I believe this covers most cases neatly. For
instance, I think everybody agrees that a store can run its
inventory application on MySQL, or an airline book tickets
through its Web page backed up by a MySQL database, without
paying for it. These businesses are not making money by
distributing MySQL; they’re just users. And I’m pretty sure
the GPL covers them.

Most situations requiring payment are also clear. If you
enhance the MySQL source code in some way and sell it
without distributing the source code, you have to pay a
license.

But what about the case of the application service provider?
This is a common problem in GPL-land that I don’t believe
has even been resolved. At a Birds of a Feather session at
the MySQL conference one evening–a session well attended by
about 25 very interested people–one programmer for a game
company laid out a situation where they run their multi-user
game on a server backed up by MySQL, and distribute only a
client. Do they have to pay a license? After all, they’re
not distributing MySQL itself.

Zak Greant, a long-time MySQL public figure (listed in the
conference brochure as their “community advocate”) said the
game company should pay. The game could not run without
MySQL, and the client was the means of access by paying
customers.

Several attendees then tried to extend Greant’s
reasoning. Why, then, shouldn’t users of Web browsers pay
license fees for accessing Web pages backed by MySQL? Well,
besides the absurdity of trying to enforce such a payment
regime, the Web server does not use a proprietary,
specialized protocol as the game does.

I found Greant’s argument strained, but I appreciate the
need for MySQL AB to share in the profits from services that
depend on MySQL.

(UPDATE, April 22: Zak wrote to explain the thinking behind
asking a game company to pay a license on a system where the client
and server use the MySQL protocol. It makes a lot more sense now. If
the client and server communicate using the MySQL protocol, the client
is no doubt written with the MySQL library that implements the
protocol. (Who would reinvent the wheel just to save a few bucks?)
Under the GPL–although perhaps not the LGPL–the game client is an
extension of MySQL and qualifies for the commercial license.)

The length and heat of this late-night
argument shows that open source licensing still has to shake
out. But let’s remember that proprietary licensing is an
even deeper pit.

There are clauses in most software licenses (such as
prohibitions of reverse engineering) that are flat-out
illegal. Many more clauses are so ambiguous that any guess
about their interpretation by the courts would be as good as
a coin flip. Many organizations probably pay a lot more in
license fees than they’d have to pay if they took the time
to examine the licenses with a fine-toothed comb and showed
a willingness to go to court. And of course, we’re still
arguing over what’s covered by fair use, what constitutes a
trade secret, and whether the DMCA outlaws Web links to
illegal code.

So let’s see if we can pull ahead of the pack in free
software. Let’s see whether the field can establish a system
that’s readily understandable, fair, and conducive to
growth. I’ll return to this question when covering
Brian Behlendorf’s keynote.


Cluster around and take a close look

My own close look at the new MySQL Cluster product leaves me
puzzled, and several other people I talked to at the
conference had the same feeling.

At recent LinuxWorld conferences, I’ve noticed several
companies marketing cluster solutions that support MySQL.
MySQL AB has apparently decided these companies had a good
idea. At this conference, they announced their own
clustering solution and offered several sessions on it.

MySQL Cluster is a separate network of nodes that replicate
data through striping. The key for each table row (which is
added behind the scenes if the programmer does not specify
it) is hashed to determine which nodes store the row.

At the MySQL server, the clusters are supported by a new
storage engine (a.k.a. table type) that has many of the
features of InnoDB, but apparently not all. Other than
specifying the new storage engine, programmers don’t need to
make any changes to their code, although some types of
optimization are different when working with clusters.
Developer Mikael Ronström–who has been working on this
technology for over 15 years and did an implementation for
phone company Ericsson before coming to MySQL AB–claimed
that MySQL AB offers five to six nines of availability.

Now for the catch. All databases handled by the cluster have
to be stored in primary memory. One can spread the data
across several nodes, but their combined memory is a limit
on the size of databases.

In discussions, it seemed to several of us that any company
willing to devote 6, 8, or 12 systems to their database will
have more data than fits in a few system’s memory. MySQL
Cluster will add disk storage eventually, but it will take
some time to come, and when it does it will probably erode
some of the vaunted speed advantages of MySQL Cluster. For
instance:

  • Updates will no longer be so fast (nearly as fast as reads,
    currently).

  • Restarting nodes will take longer.

  • Restarting as the main way of recovering from
    inconsistencies may become less appealing.

Emic Networks
gave me a data sheet that compared their product, Emic Application Cluster, to
MySQL Cluster. Everybody is very polite about these matters, of
course, and says that different products are appropriate for different
markets. Essentially, MySQL Cluster offers speed–particularly for
updates–whereas Emic offers larger data sizes. Emic is also more
robust at handling soft failures, such as a node overwhelmed by a high
volume of queries. The key market for MySQL Cluster seems to be
telecom (where the technology emerged), whereas Emic has customers in
more traditional business areas.


So, what is Novell’s Linux client environment?

Not desktop! No–a Linux client. That’s the word I heard
from keynote speaker Chris Stone, the vice president on
whose advice Novell spent 250 million dollars to buy the
companies Ximian and SUSE. When I asked how Novell would
combine all those assets into something new and
synergistically superior, Stone said he couldn’t announce
anything yet, but promised something he called a “Linux
client environment,” something “completely new and
different” and “much better than simply substituting Linux
desktop systems for Microsoft desktop systems” as
Münich did.

Stone also said during his keynote (perhaps in answer to the
anticipated questions about Ximian being based on GNOME
while SUSE features KDE) that people shouldn’t ask “KDE or
GNOME?” but rather that, “The money lies in giving each
customer what it needs.” This might be a Linux-based kiosk
for call centers, a PDA environment for mobile users, and so
on. Specialization is the path to success.

I thought, as I listened to Stone’s keynote, how vendors
switching to open source tend to go through stages.

  1. First, a tentative recognition of the historic shift to free
    software.

  2. Then a phase of loudly announcing over and over (in words attributed
    to Steve Jobs), “We love open source.”

  3. A mingling of their traditional proprietary offerings with
    open source software they licensed from elsewhere.

  4. A serious commitment to adding value in the open source
    area. Further stages are likely to emerge, but I haven’t
    seen them yet during the evolution of major vendors.

HP appears to be in the third stage, whereas IBM has reached
the fourth. Apple lies between the third and fourth stages,
because few people use Darwin on its own (or other software
released under a free license by Apple). Sun is the outlier
here, having jumped into the fourth stage through its
release of OpenOffice.org and JDS, while barely sticking
their toes into the second.

Stone’s speech reflected the second stage of development,
and Novell’s offerings the third. They already sell a number
of their products on SUSE, and can use them to tie together
SUSE with Netware. These products include Novell’s directory
offering, eDirectory, which offers single signon and other
sophisticated identity services, and their clustering
filesystem, Novell Storage Services.

While the 250 million dollar expenditure shows the grit in
Novell’s teeth as it determines to reach the fourth stage, I
can’t say they’ve reached it yet. Ximian is still Ximian and
SUSE is still SUSE. But Stone is hinting that Novell has a
broader vision, and in fact sees the Linux market as broader
than most conventional vendors do.


Snips from the discard bin

Brian Behlendorf of Apache likes to see software development
as an art as well as a science. In his keynote he decried
the approach to development where “software engineers as
cogs.” He also described some of the government efforts
around the world to move from proprietary software to open
source software, driven by pressure from U.S. companies to
get serious about enforcing licenses, and the resulting new
laws that countries have to pass to conform to World Trade
Organization regulations. “The WTO is the open source
software field’s best friend,” Behlendorf put it.


Apple Computer faces a challenge that precisely mirrors
Linux: having captured hearts and minds as a desktop system,
Apple’s Macintosh is trying to push its way into heavier
applications as a server and a basis for clusters. Dr.
Ernest Prabhakar of Apple gave a keynote listing the many
levels where Apple uses free software and insisted they try
to conform to standards when innovating (”to enhance and
open, rather than embrace and extend”). And in classic free
software style, Apple includes development tools on every OS
X system shipped–and not just standard tools such as
gcc, but Apple’s finest programming
environments–so that every user in theory can be a
developer.


Why would
Trolltech,
the vendors of the cross-platform Qt toolkit, show interest
in a conference about a database? While Qt is most famous
for building interfaces–particularly as the basis of the
KDE desktop–its APIs form an umbrella over a huge range
programming activities. Now these include connecting to
relational databases. Thus, Qt takes its place next to Perl
DBI, JDBC drivers, and other APIs from the many other
languages that interface to MySQL. And I suppose this is a
benefit to people who want to build interfaces for many
different platforms, because they can settle on a unified
programming style and expect such conveniences as having
data types from different parts of the application conform.

Most of the API is familiar to any programmer who has made a
connection to a database, but Trolltech went a bit farther
and offered a C++ class that replaces SQL altogether. This
was perhaps going too far. SQL syntax is very flat and very
frustrating–a legacy of its origin in the 1970s, when
language designers expected end-users to type in their
queries manually–but it fits the job it has to do. Trying
to specify the same activities in C++ syntax is even more
awkward and less streamlined. Trenton Schulz of Trolltech
told me that many people expressed the same opinion I had,
and that the non-SQL interface might be removed.


The annoying but irreplaceable syntax of SQL continued to
show its face in MySQL Query Browser, a new graphical tool
for viewing and manipulating data from a MySQL database.
This tool is in some ways an IDE for writing SQL, complete
with such debugging aids as single-stepping and breakpoints.
In other ways, the tool is just a convenient way to look at
and change data, or compare two results from different
queries.

What are the important trends in MySQL adoption?

brian d foy

AddThis Social Bookmark Button

I had to fly Northwest today. I did not get to make these plans, and was not very happy about the airline choice (but once I got to Chicago and saw exclusively Northwest planes I understood). Since I was new to Northwest, I had to stand in their general public line rather than zip through the frequent flyer bow-and-curtsy line.

I got up to the self-service kiosk and started to read the instructions, which were clear, but before I could do anything, a supercilious employee appeared at my elbow and started to help me. Then I realized that everyone else using a self-service kiosk also had a Northwest employee helping them, although everyone else seemed to have a friendly valet.

I got through the self-service check-in with much finger pointing by my personal valet, until he looked at my bag and sighed “That’s overweight, so you have to pay more”. I ended up standing in another line, so I could complete my self-service check-in by talking to a real human, as soon as one was available.

According to one of the kiosk valets, who told me that he only has this job because he is too old to quit, Northwest axed their staff in favor of the computers, and it has no plan to deal with people who cannot check-in through the kiosks, so they have only one ticket agent working at a time. We were in the limbo line—the one ticket agent had to serve all first class and frequent flyers in line before she could help us, and people kept getting in the first class line.

A soldier on his way back to the middle east got put in the limbo line behind me since his two duffel bags were overweight (we can stuff a lot of junk in those bags). Then, an entire family had to stand behind the soldier because there was a problem with their ticket. So much for computers replacing real live people.

This little exercise only made us 45 minutes late to the gate, but the plane was one and a half hours late itself so it all worked out.

Have computers automated inefficiency and frustration in your life?

brian d foy

AddThis Social Bookmark Button

Today my wife and I checked in to the Hilton Garden Inn in Detroit, where we will live for the next month. The hotel has free internet, and the instructions say that I simply have to plug my laptop into the data port and access a starting web page. We want to use two computers though, so the single data port is a bit of a problem.

Instead of following the instructions, I plugged in an Apple Airport. I figured that I would have to do a bit of gymnastics to get networking magic to recognize the Airport since it cannot access a web page, but when I tried it from my PowerBook, it just worked. The NAT stuff must handle all those details for me. My wife was online in a couple of minutes with her iBook. We both got free high-speed internet, set-up in under four minutes just by plugging things in.

It gets better though. When I checked the wireless icon in my menu bar, I found that the hotel a wireless access point too, and that I could connect to it. The signal strength was much weaker than the airport six inches from the desk, so I do not need to use the hotel wireless. The last hotel I stayed at (The Comfort Inn in Warwick, RI, four days ago) had pay-per-day wireless access, so my wife and I had to pay individually since we could not hide our two computers behind an Airport.

But it does not stop there. I can print to the laser printer in the hotel business center, and do it from my hotel room. I can do it directly, it says, or I can access the PrinterOn website and upload files along with some special codes found on the instructions, and the stuff magically shows up in the business center. If I cannot upload the files, I can email them to a particular address with a couple of markers at the top of the email that tell the printer what I want. And, at the Hilton Garden Inn, it is free.

Life is good.

Which other hotels have free high speed access?

Jacek Artymiak

AddThis Social Bookmark Button

Related link: http://undeadly.org/cgi?action=article&sid=20040409000001

Daniel Hartmeier took over the job of the editor of the OpenBSD Journal after James R. Phillips and Jose Nazario announced their resignation on April 1, 2004. This is excellent news for the OpenBSD community. We all thank James and Jose for their excellent service to the OpenBSD community.

brian d foy

AddThis Social Bookmark Button

A couple of days ago, I got back from 15 months of active duty with the Army. My home office is a mess. I dumped out all of my bags and my foot locker onto the floor, and I am trying to separate the mess into several piles. Mountains of mail and magazines take up all of the space on my table, and my desk barely has room for my laptop.

Somewhere in all of that mess, I set down my cell phone yesterday, but I have not really wanted to use it, so I have not bothered to look for it. I could probably call it and find it quickly by looking for the vibrating thing (or better yet, let my cats find the vibrating thing), but that means I would have to find my cordless phone too.

Since I have been back, I have had to update a big portion of my address book and I can now actually use iCal. The Nokia 3650 can sync all of these things, and I want the updated versions to show up there. That is, if I can find my phone.

I noticed, though, that I have Salling Clicker running, and it tells me that my phone is in range, so it must be on this side of the apartment. And, if it is in range, I can sync it.

iSync has no problem, and it connects to the phone, updates the address book, calendar, and To Do items. Wireless networking means not only do I not need to find the missing cable, but I do not even need to know where the phone is.

Wouldn’t it be nice if my Mac could point at my phone, or the access point?

Jacek Artymiak

AddThis Social Bookmark Button

Related link: http://www.netfilter.org/news/2004-04-15-sitecom-gpl.html

It looks like Sitecom GmbH got themselves into trouble by not understanding what are the obligations of using GPL-licensed software.

Once again we are reminded that freedom does not equal anarchy. GPL-licenced software is not public domain software; it is free for the taking, but when you start modifying it, you are asked to share your modifications with the world.

Fortunately, there are more business friendly licenses, like the BSD license and its many variations. They are particularly suitable for embedded systems, hardware firewalls, etc.

Sitecom probably wouldn’t have gotten themselves into this legal knot if they used pf.

Tony Stubblebine

AddThis Social Bookmark Button

Updated: I’ve added a FAQ section at the bottom.

We just launched O’Reilly’s single sign on system. Effective immediately you’ll be able to access oreilly.com, Safari Bookshelf, O’Reilly Network, MacDevCenter.com, ONDotnet.com, ONJava.com, ONLamp.com, Perl.com, WindowsDevCenter.com, and XML.com using a single account and password.

We hope you find this system more convenient and intuitive to use.

There are several additional sources of information.

  • Existing users will receive an email with more information about their account.
  • You can also read the official system bulletin.
  • If you’re having account troubles, send email to accounts@oreilly.com

This is a big change for us, so we’ll be keeping a close eye on the changes over the next few days. If you have any questions or concerns I’m happy to address them here or through email.

Frequently Asked Questions

Why can’t I login?

You need to login with your email address now. A lot of our sites previously required a user id.

Your password may have changed or you may no longer remember your password. Click the “Forgot your password” link on the login page. You will receive a numeric password that will allow you to access your account and reset your password.

Why did my password change?

If you had more than one account on our sites we reset your password. You should have received the new password in your email. If you didn’t receive an email, you can retrieve a new password from the “Forgot my password” link.

You’ll be required to change your password when you login

What’s a screen name?

We’ve kept your old login name around for use as a screen name. It’s now your public identifier on our sites.

Why did my screen name change

In cases where two or more users shared a screen name, we incremented the duplicate names.

This eliminates confusion across our sites where chromatic on OReillyNet may not be the same user as chromatic on XML.com. There would now be a chromatic and a chromatic1.

I’m a Safari customer and I can’t login

You may not have signed up for Safari through O’Reilly. Try logging in through http://search.safaribooksonline.com. You will be automatically directed to the correct Safari portal for your account. You can read more in this note to Safari customers.

Why didn’t you give more warning/communicate this better?

This is a big change for us and for you. We’re reading all of the emails and comments and adding new information to this weblog. Please check back as needed. If you want personal help from our Support Group send email to accounts@oreilly.com.

Jono Bacon