Search Results: "will"

25 May 2006

Martin F. Krafft: A non-official ID at the keysigning

Sometime during the Debconf6 keysigning party, I swapped my official German ID card (which some didn't accept and wanted to see a passport instead...) with my ID card issued by the Transnational Republic, as part of an ongoing experiment I conduct at various keysigning parties. I got the ID at Debian's 10th anniversary party in Zurich (which I attended on crutches, despite it being held on the rooftop of a club), and the process required the exchange of some currency as well as presentation of my passport to TR officials. The card itself looks very similar to the German ID card; it does correctly list my personal data and has my photo on it. However, it cannot really be considered an official identity card, because it was issued by an independent political group. Then again, read further down for what "official" can mean in some parts of the world. At the keysigning, I marked down those (few) who actually took note of the ID and refused to accept it: only one in ten did. What does this mean? I do not think it means that nine out of ten signing my key do not take keysigning seriously (or don't have a clue about it); you cannot expect people to know the look of the different passports of the various nations represented at the party. It also does not mean that the web of trust is flawed. To me, the most significant outcome of my little experiment is (and has always been) that a single signature won't do; a single trust path is not enough to verify a person's identity (as in: they are who they claim to be), but every additional trust path serves to strengthen the verification. The Debian project largely depends on the web of trust. Thus, I wonder whether our requirement of a GPG key signed by a single existing developer is enough for the general case. I am not quite ready to raise this issue yet within the project, but at least many more people now know about it (if they didn't previously). Those of you who have signed my key may feel cheated at this point. Similarly, those of you who have not yet signed my key may feel disinclined. If you are interested whether you were among those who accepted the inofficial ID, I'd be glad to let you know if you ask. If you do not feel comfortable signing my key, just don't sign it. And if you did already sign my key, you can revoke the signature. However, do consider what some folks told me in discussions following the experiment: there are nations out there who will readily issue IDs with unrecognisable photos, IDs with misspelt names, without expiration date, and multiple IDs at a time. In the case I illustrated above, I simply introduced a third, untrusted-by-Debian party into the web of trust: the Transnational Republic. In a way, this is what's happening whenever we sign keys by nationals of governments we do not trust, and I'd hope that would be most governments of this globe for most everyone. Then again, as Micah and Biella vigorously assert, it's only really about you and the signer: you are who you claim to be, and I either believe it or not. The government only takes a tangential role. So what to do? If you care for my opinion (which you do, you're still reading), then we should just keep on doing what we're doing and collect more keys (with that I mean everyone). At the same time, I do not think threads like this are necessary; the criticism/concern is valid, but it's too academic for the real-world problem that keysigning is trying to solve.

Jeff Bailey: I just love the smell of latex ...

... paint.

What were you thinking of? =)

I went to the Canonical support office today to attend while the Bell technician installed our ADSL line. It's always neat being on construction sites and watching the trades interact. Onsite there were some painters, cabinet makers, phone, network, and air conditioning. The place is looking quite nice.

As always in construction, nothing's perfect. The only thing horribly wrong so far is that part of the ceiling fell down because whoever put it up hadn't bothered to anchor it to the cement. Repairs will get made, and the guy it hit only got minor scrapes. In another few days, they'll all be finished, the carpets will be cleaned, and the space will be ready for us to move in.

It's going to be weird having an office to attend to again.

Next office steps: Get insurance, hire junior support techs.

24 May 2006

Joshua Kwan: MPD and irssi

I’ve recently started using mpd for my music needs (and pympd for the client, it’s very nice so far :D). I was surprised to discover that aside from a great big script that can be used to control mpd from irssi, there was no script that could be used to display current song information in irssi from an instance of mpd. So I wrote it. Hopefully someone will find it useful. Just load it up and set the mpd_* variables (host, password, and port), which default to working for a passwordless mpd running on localhost.

Carlos Parra Camargo: debian-cd-ng (Application accepted!)

I've just read that my project debian-cd-ng has been accepted in Google Summer of Code :-D
Summer Of Code

Like one spanish president said when he wons the elections:
Now, it's time to work
I'm a litte busy right now, i will post here more info as soon as possible.

Baruch Even: Debian in Google Summer of Code 2006

Congratulations to all whose projects were accepted, Debian received 60 eligible proposals, many of those were great projects which we would have loved to accept but we only had 10 slots that are paid for by Google so the competition was tough. The accepted projects are: All the accepted projects received email to them and their mentor, if you are a student whose project wasn't accepted, we'd still be happy if you will do the project even without the funding, if you need a helping hand or a mentor we will surely be happy to help you out, contact me at baruch@debian.org. The plan is that students who have a blog or setup one for the Summer of Code will be added to Planet Debian so everyone can follow their progress on their quest to help Debian improve. Cheers and thanks to everyone who helped make this happen!
Baruch Even
Debian SoC coordinator

Matthew Palmer: Testing the Testing of Your Tests

I'm writing an application in Ruby that makes heavy use of XMLRPC (the application of XMLRPC-over-Unix-socket fame), and so I'm using Mock Objects to mock out the XMLRPC client proxy and provide an interface that doesn't involve having a whole other infrastructure running on my laptop so I can run my test suite. For those who don't know, mock objects are objects which look and superficially act like the real objects you might use to communicate with an external service, but don't actually do the communication -- instead, they return canned responses to your calls. Why is this useful? Well, imagine that the real object talks to a SOAP service on the 'net (such as the Google search API). It means that every time you run your test suite, you need access to the Internet. The external service may also cost something everytime you talk to it -- or it may be impossible to use to test, since there's statistics generation or something going on that means that hammering it for test purposes is just impractical. In addition to returning values to your application, mock objects will usually record what has been called, so that after your test run is complete, you can also verify that all of the methods you wanted called have actually been called. This means that you can have a good idea that what you wanted to happen to the service actually would have been done. Handy. Some people have a (justified) ditrust of Mocks, because it's easy to make a mock object that doesn't perform like the real one (and hence invalidate your tests), but they provide a necessary evil in cases where you just can't use the real object when running your test suite. The XMLRPC proxy I'm using has a bit of a quirk. Everything runs through one method on that object -- XMLRPC::Client#call(). This seems really limiting, especially in a wonderfully dynamic language like Ruby. In reality, it's not too bad -- it makes the object interface easier to mock, and you couldn't emulate the whole thing with method_missing anyway, because you can have various Ruby-illegal characters in XMLRPC method names. The downside to this all-in-one-method thing, though, is that simply verifying that #call() has been invoked a dozen times doesn't really tell me much about whether the mock was used the way I wanted it to be used. My chosen mock object suite, Test::Unit::MockObject, whilst otherwise excellent, is (or rather, was) missing the ability to verify the arguments that are passed to your calls -- you can say "I need methods x(), y(), and z() called", but you couldn't say "I need the call y('foo', 'bar', 42) made". Of course, this change the mock object class is non-trivial, and needs to be tested itself (it'd be pretty lame if a class intended to facilitate automated testing lacked a test suite of it's own). I added a bunch of tests to the test suite, and got some good results. I had a couple of false starts, where I wasn't checking most of the corner cases (where bugs lurk in the shadows), but eventually I got a test suite that was fairly complete, which drove the new features I needed to a good place. So I carted my newly enhanced mock object class across to my production project, and off I went. Except that I was getting some downright weird failure messages when my code wasn't invoking the mock object the right way. Why? Because I hadn't tested that my failure messages were appropriate. Why was that? Because the assert_raise assertion in Test::Unit doesn't have a facility to make sure that you're passing back the right exception message, only that you're passing back the right exception class. Whisky, Tango, Foxtrot? Over. (This space intentionally left blank for me to insert the correction to this claim that the lazyweb is sure to provide) So I had to write a new assertion (assert_exception_message) which checked that both the right class and the right message came back. This code, of course, needs to be tested too, because otherwise you can't be sure that your test code is performing right. At this point, I was writing test code to test a new assertion I'd written so I could test the mock object class I had modified so I could test my application. At this point, things got a bit "meta". It got a bit difficult to separate out the tests from the tests' tests. But I fought through the brain melt, and shortly thereafter came out the other end with a properly working piece of actual application, and all was well in the world. By now, a certain Mr. Tendys is probably rubbing his hands with glee, as he gets ready to espouse at length about how this whole post just proves how utterly useless test-first programming (or even testing in general) is for producing economically-viable software. Let me analyse what I "spent" on getting all this functionality, though -- about 3 train trips home -- maybe 4 hours of time total, including writing the extra tests in my application to use the wonderful new features I'd made. That's not much, in the grand scheme of things. I've wasted that much time in a day skiving off work in the past because I was frustrated with what I was trying (and failing) to program, usually because I was swamped with bugs. What did that four hours of my time buy me? Heaps. I can now better verify my software works as anticipated. I have confidence that my software is a lot more robust than it was before. My tests identified several issues that passed my eyeball check, but blew up when I tried to actually use them in a particular way. But with the help of my tests, I identified the problems quickly and went on my way. Since I was working in a localised area of the application, I was immediately familiar with the code, and could stomp the bug almost immediately. If I'd only done end-to-end testing at the end of development (or worse, released it with the bugs still in there), the debugging would have been much harder because I'd forgotten little details about the code. I reckon that benefit, alone, has probably saved me 4 hours already, since I've spent whole days hunting down little bugs in an ad-hoc fashion in the past. I'm fairly sure most any programmer can empathise with me there.

Adam Rosi-Kessel: Cell Phones and Search Costs

I am one of the unfortunate hundreds of thousands of Verizon customers who eagerly ran out to buy the Motorola v710 Bluetooth phone when it first came out a couple of years ago. (For a short period of time, I could really turn heads with my wireless earpiece—now you look like an antiquarian if you don’t have a Bluetooth headset). It turns out that Verizon disabled all of the most useful Bluetooth features on the phone, and a class action lawsuit ensued, which predictably settled on terms quite beneficial to counsel, but less so to the affected class. The settlement provided several options for Verizon subscribers who had purchased the v710, only one of which had a substantial monetary value—namely, a $200 credit toward a new phone (or whatever the actual price we paid for the phone, assuming we still have receipts). The settlement period expires at the end of the month, so tonight I finally got around to cashing in on the victory. I was quickly reminded of how much I hate shopping for cell phone technology. Verizon provides more than a dozen options for cell phones, each of them mediocre in its own different way. (I should also mention that the Verizon Wireless website is, itself, mediocre in many different ways.) Cell phones have been around for long enough that it ought to be fairly mature technology; instead, you have to figure out which annoying shortcoming bothers you the least. The most expensive of the non-Pocket PC models, the Samsung SCH-a630, despite having a 2 megapixel built-in camera, has a lower image quality than the cheaper “LG the V” (better known as the LG VX9800), as well as crippled Bluetooth like the v710. I ended up settling on “LG the V,” despite its silly name and hefty form factor, because it seems to be the one model that Verizon decided not to cripple Bluetooth on. Apparently, it has complete OBEX support, and works quite well with Linux. It gets worse shopping for Bluetooth headsets. None of the top headsets recommended by cnet are even offered by Verizon. So instead you’re stuck perusing endless message board postings for threads with names like Which Bluetooth Headset is best for VX9800? trying to figure out which, in fact, is the best Bluetooth Headset for the VX9800. While some aspects of a Bluetooth headset are obviously personal preferences based on, for example, the shape of your earlobe, how often you drive in a convertible with the top down while talking on your cell, and whether you like to wear your headset to bed, I would really appreciate some objective metrics and brand uniformity. There’s no way to predict, for example, whether a particular model of Motorola, Jabra, or Logitech headset will be any good—some seem to be well received, while others have glaring design flaws. As a trademark lawyer, I’m disappointed by this state of affairs. I’d like to be able to identify a brand that I can trust and just go with it. This is especially true where it’s difficult to evaluate the quality of an item on first inspection (or over the Internet) and it’s an item you’ll keep for at least a while (two or three years for cell equipment). As things stand, there seem to be few real winners, and the search costs are inordinately high. Hopefully the invisible hand will eventually fix this situation, but I’m not going to bet on it.

Alexander Schmehl: When we arrived at home...

... yesterday evening, we fell into bed. Interesting: Although I managed to sleep very well in the airplane for something near to 10 hours (and so did alphascorpii), we still slept for another 16 hours when we got home. I think I'm getting old; that's the worst jet lag I ever had. So here is a list of things you can do at 3:00 AM in the morning, when you can't sleep because of jet lag problems: Perhaps I just finish reading The Da Vinchi code before someone, who went to the movie, spoils the ending. See you in... wherever DebConf7 will be.

23 May 2006

Edd Dumbill: So, you missed XTech?

If you missed being at XTech 2006, no need to worry, there's some great coverage out on various blogs right now.Suw Charman has some detailed transcripts of sessions she attended. Find them via the "related entries" bit of her XTech wrap-up post. I'd not had the pleasure of meeting Suw before last week, and I was enormously happy that she came to speak at the conference and contributed so generously in her blogging.(I also had a very interesting conversation with Suw about venues in London, which is all I'll say for now, but watch this space for news of a plot I'm cooking up for later this year.) Thomas Vander Wal has also written about his XTech experiences. It thrills me to bits that we were able to challenge and stimulate established web experts and newcomers alike.I'm really grateful to everybody who has blogged about XTech. It really improves the experience for everyone, and reaches out to those who were unable to attend. Through Planet XTech we were all able to get instant feedback and reflection on the conference. I've tried to read every word that has been written, good and bad, and will fold what I've learned into the planning for next year's event. And now is not the time to rest. XTech 2007 will be held in Paris, in May 2007. I will very shortly be announcing the theme and confirming exact dates and venue.

Biella Coleman: On Planet Debian

For many years a number of Debian Developers have suggested that I include my blog on Planet Debian. Over the last few years, a combination of inertia and resistance kept me away, but I think after my 3rd Debconf, my 2nd talk at Debconf, and writings on Debian, I decided it would be a nice idea. For those readers of Interprete, there will still be enteries there that won’t appear on Debian Planet as the only categories that are slated to appear are the posts related to Debian, technology and the anthropology of technology.

Ian Murdock: Motorola: Let s standardize Linux, Java

ZDNet Asia: “Unified standards in next-generation Linux-Java mobile applications will need to be established, as the cellular and IP (Internet Protocol) worlds collide in the future, says a senior executive from Motorola.”

Pierre Habouzit: The whole java/non-free affair

summary of the problem I've re-read most of the calm and useful posts (yes some exist if you look hard :D) in the java-tro^H^Hhread. Yes, the pro-java-in-non-free are right if we omit to mention all the difficulties it will imply if such a removal has to happen for a stable update[1] removing java from our mirrors do terminate the license solve most of the issues. Though, two major concerns remains:
  1. clause 2.f (you agree to defend and indemnify Sun and its licensors from and against any damages ... and so forth) is IMHO unacceptable, even for non-free, because debian isn't in a position where it can risk to see that clause exercised by Sun ;
  2. section 4 (and others of the same sort) makes the existence of java in non-free depending of Sun's mood: exercising clause 4 is trivial they just have to imagine a new kernel feature our kernel should support that we can't provide to terminate the license retro-actively. Many instances of that problem exists in the license.
The first problem in itself seems obvious, and none of the arguments of the pro-java-in-non-free have put me at rest. The second problem is a real concern because it means that our java support can be discontinued without possible clean upgrade path back to java-package. If Sun could not retire our right to redistribute one given version of java, then we could repackage the last version we can distribute with some debconf dialog to warn the user his java package won't be upgraded again, and that he must fall back to make-jpkg. But here, if Sun decides it, Sun can make the package simply disappear. And given the number of users that will concern, this is not a problem to be taken lightly.

I honnestly believe that putting java into non-free, whereas we already have java-package that allow a quite satisfying integration of Sun's JDK/JRE into a debian instance, implicitely means that we are confident that java will stay in here forever (or for a significant enough time). And I see nothing that can guarantee such a fact, and I see too many things that can prevent this with a probability significantely greater than 0. Yes there I know there is a FAQ about those issues, where Sun promise they won't use their power to hurt people. But if they don't itend to, why did they put those clauses in the license ? With all the good will I can provide, that does not makes sense to me. If you put landmines in your garden, well, that's for a purpose, not for the garnishment. debian issues And then, I've a couple of questions there, for which I've seen no real answer: and I'll skip the questions I don't want to ask, or more precisely I don't want/fear to read the answer to: Disclaimer Don't get me wrong. I've been really happy when I've seen that java entered non-free (even if I don't like the language but that's another story and is off topic here), because that meant that progress had been done in the good direction, and that's a thing I just have to praise. But then I've heard people complain about the damn license, and went read it. And then, I've been really disappointed, and I felt betrayed by those three people:
yes, I'm a DD, but I'm also a Debian User, and I trust my fellow developpers to bring to debian packages that don't have license issues, and will be supported enough[3]. As a user, I feel betrayed because nothing that I expect from a package that is in debian (even in non-free) can be guaranteed for the java package.
Notes [1] since there is a 3 month delay, it means the new stable has to be ready in that delay [2] no to mention the haste and prematurity of that action [3] yes, even for non-free. the sole non-free package I install is the nvidia driver, that qualifies to the durability and support in debian criterium.

22 May 2006

Randall Donald: Yes I know about 1.0-8762

The NVIDIA 1.0-8762 drivers were released today. No wishlist bugs please. I am starting the packages now. Hopefully legacy packages will be arriving soon also.

Update:8762 now uploaded

Steve McIntyre: Moving irc.debian.org

We had quite a lot of discussion on the debian-project mailing list about changing the irc.debian.org CNAME to point at irc.oftc.net instead of irc.freenode.net. My early tally of public opinions went something like: I've had numerous other suggestions privately, via mail and (of course) IRC, in roughly similar proportions. On the strength of this support, we have decided to make the suggested move. The necesssary DNS changes will go ahead on the 4th of June.

Michael Koch: SUN JDK in Debian non-free

As most people know already SUN JDK is now included in the non-free section of Debian. There where much discussions about the license of the JDK. To me its very questionable in its current state. For sure it would be better if the license would be more clear. But lets no debate about this again. I wanna raise another question: Who will do the needed support for our users? Noone of the Debian Java maintainers group was really involved in the inclusion of SUN JDK in non-free. Noone from the team wants to really put much effort into closed source Java. I dont speak about closing bugs. I mean answering questions in the IRC channel or on the mailing list. People need help with everything from setting JAVA_HOME environment variable correctly to setting up running a bigger application with a runtime. As I see it. SUN JDK will only rot in our archive. Noone likes it. FTP-Master put work on our shoulders but we don’t do it. It would have been great if FTP-Master would have contact us to clear the situation before doing any blindfold action. I think this got totally lost in the current discussions inside Debian.

Edd Dumbill: Give me books, twice

Two books have recently been published that I want to read.The first of these I took delivery of instantly in PDF form, and a paper copy will make its way to me in due course so I have it as a handy reference.The second of these is going to take 12-14 days from Amazon (5-7 days if ordered through O'Reilly's UK distributor Wiley).
There's been a lot of talk on David Heinemeier Hansson's blog about PDF publishing, but to me it's simply a way of getting me the information I need quickly. Normally, I want the paper copy too.Another small but significant benefit is that PDFs weigh very little! Having just taught a Rails tutorial at XTech, I can vouch that there was no way we wanted to carry around 30+ copies of the Rails book on the offchance attendees wanted to buy it. Whereas some publishers have experimented with certain product lines available only as PDFs, I can't quite shake the feeling they're offering an inferior product in which they are not confident enough to commit to paper.My suggestion is that PDF and print is not an "either/or" choice, but an "and/or".

Erich Schubert: $age++ - that day of the year again...

So I'm 26 now. Time flies... I'll be having my final exams starting in three weeks, and my diploma thesis should be done by the end of the year. Then I'm heading out looking for projects to earn money on. ;-) Well, sounds like I'm looking forward to it - but I don't know. The last few years, I've been very uncertain about what I really want... almost like puberty... ;-) and on overall I've been rather unhappy the last years. I hope this year will become much better. I'll be having a joined birthday party with a friend who happens to have the same birthday. We'll just go to a bar and have some drinks, though. I've noticed that I've mostly been inviting girls... well, I just happen to have much more close friends that are girls than boys... I never had a hang for beer-drinking and soccer watching I guess, but I like to meeting a sweet girl in a nice cafe... and many of my friends just aren't in munich, so they won't be able to come. Like the technies I work with over the internet.

Carlos Parra Camargo: Powered by debian sarge

This weekend, i've been thinking about debian-cd and also, as you can see the debian logo at the right bar, i've installed a debian sarge in my personal server. In two days i will know if i've been selected to participate in Google Summer Of Code. I send two applications: rewrite debian-cd and a graphical tool to compile debian packages. I have to confess that i've already been working in debian-cd-ng (i call it debian-cd next generation, idea stolen from bzr) because i'm really interested in. For many years, i've been really interested in the debian world, it was a time that i was really interested in become a DD but i was afraid of the process. I'm looking forward a great piece of software to package it to debian, if i found it this summer, surely i will package it and try to upload to debian i hope that it's just a matter of time. Well, i've many exams in a week so i've to study a little harder for this week. The friday i've an exam about informatic rights, it's really interesting and it's greatful to have a subject that it isn't relationed with maths or programming. Pleasy notify me any bug on my english, thanks :-)

21 May 2006

Christian Perrier: Debconf - day 7

This Saturday was my talk's (shared with Javier Fernandez) day so, obviously, everything was mostly centered on it for me of course. The point is for sure arriving in condition at the talk's moment (16:00, ie the very last formal talk of the Debconf). I first went to Mark's Ubuntu Q&A; session. Pretty live session and interesting confirmaiton by Mark that, even though Rosetta/Launchpad still remains non free software, we could in the future collaborate with WordForge to allow building networks of i18n resources. I quickly ran to the Google Summer of Code BOF to be able to give news about our i18n infrastructure project. I have been delighted to see that the project got ranked very high and we're really likely to have it accepted (I hope this can be leaked this way...:-))). Running again to the Lightning Talks BOF by Joey, I just arrived to be able to show that I can indeed pronounce Jeroune vanne ouolfelaaaaaar very well. Then I attended Erinn and Anthony talk about debugging, which was pretty informative for me, one of the very few who raised their hand when Erinn asked for people who have never used "strace". Thanks, Erinn and Anthony. The fun photo was a good occasion to relax down and forget about my worrying of "where the hell is my cotalker".... We then jumped in the pool and formed this nice swirl (yes, it was nice, Aigars!). The french dudes later began a very entertaining ballet at the diving platforms, all jumping together, lalala. Ido have nice pictures (by the way, everything is uplaoded now). The next hours were spent doing what's usually recommended when giving a talk: last minutes changes with Javier, up to the VERY last minute, where I of course added my beloved SpongeBob Square Pants picture in the slides. About the talk, well, from my point of view it went well. I would have preferred seeing more package maintainers in the audience but, hey, this was the last Debconf formal talk so many were probably tired..:-). Anyway, the world map are still a good fun and, yes, Frans, next time I'll try to be a little less slow (but, hey, everybody has seen me blogging abou tpeople who speak way to fast....). This time, my slowlyness and habit to speak as clearly as possible were in high contrast with Javier's high speed debit..:-) Good positive feedback anyway and good vibrations for me. Thanks to the audience. Coming back at the hacklab we used Javier Sola's last minutes in Mexico up to the end. A very constructive meeting along with Otavio Salvador, Nicolas Fran ois, Aigars Mahinovs, Javier himself and Rapha l Hertzog (who's involved in the GSoC stuff). We finally concluded about the task we can assign to the GSoC student if the project is accepted. This was a good meeting and a good way to reach an agreement between people who do not always agree. The remaining of the evening and night has been spent coping up with my mail backlog and doing a few hacking, l10n commits and various small stuff which accumulated during the previous days. As it happened since 3 days, I was happy enough to have Elizabeth online before going to bed and then we shared some love over the ocean. I even had the plan to send my "je t'aime" during the talk (she was listening, or trying to)....but it would have sounded silly. But anyway, I love her, fellows. The next day will be the last day....yet another "hug" day, I think...not the happiest but....see you at Debconf7!

Ian Murdock: Open-source Java and compatibility in the Java world

Sun is worried about compatibility in a world where Java is open source. I can’t say I blame them, and I say this as someone who spends a majority of his time thinking about compatibility in the Linux world, where we’ve managed to hold it together but still have a lot of work to do to match the relative consistency of the Microsoft alternatives (Windows and .NET, among others). After all, a platform is useless if there’s not a single, standard way for developers to target it. Question is: Does open source inherently lead to compatibility problems? Hardly. How many incompatible versions of, say, Apache are there? Or the Ps of the LAMP stack (Perl, PHP, Python)? Or MySQL? GNOME? KDE? BIND? CUPS? The only reason “Linux” and compatibility often come up in the same breath is because the term is used to describe so many different things. Yes, “Linux” has compatibility issues if you’re comparing Red Hat, SUSE, and Debian, but the actual “Linux” used by each of these “Linuxes” (that is, the Linux kernel) have few if any compatibility issues. It’s more the bits around the edges, like slightly different versions of core components with slightly different ABIs or APIs, not to mention the independently developed subsystems for configuration etc., that lead to the compatibility issues. If anything, the fact that the various Linux distributions share so many of the same open source components makes them far more compatible than the various implementations of UNIX ever were. James Gosling, the father of Java, highlights JavaScript as an example of the situation they’re trying to avoid in a recent podcast with Dan Farber. Today, he explains, there are dozens of AJAX toolkits, and the main reason for this is the need to paper over incompatibilities between the various JavaScript implementations. He’s absolutely right. If anything, though, the JavaScript situation is a good example of what might have been if we knew as much about the power of open source in setting standards in the 1990s as we know today. There are numerous JavaScript implementations today because there wasn’t a de facto standard implementation developers could just use when they needed one way back when (like there was with Apache etc. and wasn’t with some of the problematic “Linux” technologies like configuration management). What if there had been an open source JavaScript all along that became a de facto standard like Apache did? Would the AJAX world look any different today? Ironically, then, Java looks a whole lot more fragmented on its current trajectory as the various open source efforts (Apache Harmony, GCJ, GNU Classpath, etc.)—which exist only because the de facto standard implementation isn’t open source—mature and are more tightly integrated into the Linux distributions. So, what lessons does Linux have to offer Sun as it contemplates the future of Java and, more to the point, how to open source it? First of all, far from being a surefire path to turning Java into a veritable tower of babel, open source could actually help promote compatibility in the Java world. For one thing, if Sun’s Java implementation was open source, history shows there would be no need for another implementation. Case in point: Remember the other Harmony project? Secondly, what’s in a name? Absolutely everything. It’s entirely possible to open source Java without diluting the Java brand and the compatibility guarantees that brand promises. Most famously, this strategy has worked very well for Red Hat—Red Hat’s platform is open source, so you can fork it, but you can’t call the result “Red Hat”, which preserves the compatibility guarantee a successful platform requires. It’s not too late, but we’re rapidly approaching a time when it will be. For one thing, the open source implementations are getting better, and once the genie is out of the bottle, it’s damned near impossible to get it back in (see, again, JavaScript). As I said the other day, “open source Java” isn’t so much about licensing as it is about ubiquity, though licensing can get in the way of ubiquity. We’re almost there. Let’s take the final step we need to take to make Linux/Java as well integrated as Windows/.NET.

Next.

Previous.