Issue #21 July 2006

Ask Shadowman

After a badly-needed month-long hiatus, beloved readers, Shadowman is back. And his mailbox is full, yes it is.

Unfortunately, this month it's mostly full of questions that Shadowman answered a year ago. Or questions that are answered capably in the Red Hat knowledgebase, to which Shadowman can add little. Or questions like, "what kind of hat does Shadowman wear" -- perfectly fair questions that don't happen to lend themselves to interesting answers. (By the way, slickboop: the hat is a red fedora. You can even buy one if you want.)

Of course, email isn't the only way that Shadowman ever gets questions. Shadowman hears all kinds of questions, day in and day out, from friends he meets in his travels around the real world. Some of these questions are really good questions, but the answers never find their way to Shadowman's readers. This has always struck Shadowman as a bit of a shame.

Therefore, Shadowman is going to break his rule this month. Never before has Shadowman astroturfed his own questions -- but rules are made to be broken, so this month, Shadowman will answer two questions that he seems to be hearing from everyone lately... except from his readers.

Oh, and beloved readers: if this practice strikes you as dishonest, then feel free to deluge Shadowman next month with Questions That He Can't Refuse.

Got a question that you'd like Shadowman to answer? Ask him.

A friend of Shadowman asks:

Shadowman, I'm sure you're familiar with the writings of Richard Stallman, especially the Java Trap, in which he warns us about the dangers of writing free software that depends on non-free software. It seems like Red Hat is doing more and more Java-dependent work, first with Eclipse and now your purchase of JBoss, and free alternatives like gcj just aren't ready for prime time yet. Is Red Hat falling into the Java Trap?

To which Shadowman replies:

No. We're not falling into the Java Trap. We're working to break the Java Trap. There's a big difference.

Here's the fact: Java has become a dominant language both in the university and in the world of professional programmers. Yes, yes, Shadowman has heard the arguments about Java's alleged inferiority. "Hello World" takes 40 lines of code to write properly. The garbage collection is better in your favorite language. Today's Java programmers are yesterday's Visual Basic programmers. Wildly proliferating versions of Java runtime engines have completely undermined any promises of true portability. Your application server based on Ocaml and Jython is the future of computing. Maybe some of these arguments have their merits -- but all of them are completely irrelevant, because at this moment in history, Java is king.

Here's another fact: of the bazillions of lines of Java code out there in the wild, more and more are being released under some flavor of open source license. And those of us who are committed to the long-term success of open source software have two choices: we can ignore all of that code, or we can work to make sure that all of that code has a truly open environment to run in.

That's why we're fighting to break the Java Trap. And recruiting a whole company full of Java geniuses just gives us more ammunition for the fight.

Those of you with long memories might recall that, way back in the day, no software was truly free because there was no free C compiler. That's exactly why a bunch of smart people got together and built gcc -- and gcc had its fair share of hard problems in the first several years of its life. Now that some of the same smart people are trying to build gcj, why should we expect things to be any different? Good things take time.

Maybe gcj isn't quite ready for primetime in your particular environment. Do you think it'll always be that way? Do you think that Sun has an insurmountable lead in Java development?

Don't be so sure.

A friend of Shadowman asks:

I've followed the ongoing developments of the One Laptop Per Child Project, and I can't help but think that it's doomed to failure. It's not even proven that it's a good idea to put computers in our own classrooms, and yet you seem to think that we should be spending million dollars on cheap laptops instead of feeding starving kids. Do you really think that One Laptop has any hope of success?

To which Shadowman replies:

It's so easy to talk smack about the One Laptop project. The vision is ridiculously big -- quixotic, even. It seems like every time the topic of One Laptop hits slashdot, there's an army of naysayers who end up being modded +5 Insightful for recycling the same old pessimistic arguments.

One Laptop is risky, sure. It looks to tackle hard problems. But it's also completely brilliant, for two reasons that some people don't seem to fully appreciate:

First, power. The simple addition of a foot pump will allow a 12-year old without any access to electricity at all to power a fully-functional computer. Think that isn't important? Talk to a student in Bangalore sometime, and ask her if she'd like to have a self-powered laptop when the electricity goes out in the middle of her afternoon.

Second, access. Every one of these systems will use a wireless grid network protocol, developed at MIT, that should allow internet access to "just work" out of the box. Kids will take these laptops to well-connected schools, where they'll be able to download a whole world of content. Whereas right now, these kids have access to, well... pretty much nothing.

And people don't think this is revolutionary?

It all depends on execution, of course. Everything does. We must assume that the One Laptop team can make things work as advertised -- but if they succeed in solving these two problems, they can change the lives of millions of poor people in fundamental ways.

For some reason, a lot of folks refuse to believe that, which completely baffles Shadowman.

Shadowman does some reading occasionally, when he's not engaged in glamorous globetrotting exploits. Not long ago, Shadowman read a book called The End of Poverty by Jeff Sachs. Beloved reader, if you want to have an informed opinion about the One Laptop project, you should read Sachs's book. Not that Sachs says a word about One Laptop; he doesn't. But if you really want to understand the promise of One Laptop, you must first understand the backdrop against which it's being developed.

Sachs's fundamental argument is that to end poverty, we must first end the extreme poverty of those who live on an income of less than a dollar a day. Our first job, Sachs tells us, is to raise that 1/6th of the world up to the bottom rung of the economic ladder. One Laptop has absolutely nothing to do with that first job. It's not a job for technology, it's a job for politics -- and you can certainly get involved in that fight, if you're a "first things first" sort of person.

But then what? Economic development, that's what. For people who have reached the first rung of the ladder, our second job is to provide them with tools to help them to climb to higher and higher rungs. One Laptop is ideally positioned to be one of these tools. That's why the first incarnation of One Laptop is targeted not for the poorest African nations, but for developing nations like Brazil and China.

Geeks can be a pessimistic lot, though. Plenty of otherwise bright people are thoroughly convinced that poverty is an inevitable and unbreakable cycle. Worse, some of these people believe that poverty is in some way necessary: that for some to be rich, others must necessarily be poor.

Sachs demolishes these arguments very effectively -- but there are similar arguments that continue to follow the One Laptop project. To wit:

Governments are too corrupt to administer laptops to their citizens. A black market will develop for the laptops. It's smarter to supply people with refurbished computers anyway. It's unrealistic to think that laptops can be powered by kids. Laptops are useless to kids who can't even read. Computers in classrooms are distracting and make kids stupid. Cell phones are the way to go. (Does that about cover it?)

Some of these arguments are ridiculous. Some of them represent real problems that will need to be solved over time. But none of these arguments -- not one -- are an excuse not to try.

So, to answer the question: yes. Shadowman believes that, in time, the One Laptop Per Child project will dramatically improve the lives of millions of children all over the world -- and he's proud that Red Hat is part of the team that will work to make it happen.