Thursday, February 24, 2005

At the pub with netbeans folks

There are a bunch of sun developers in town for an internal training seminar on netbeans. I'm the only non-Sun employee speaking at this seminar. I'm giving a little talk on the cluster build harness and my Feedreader tutorial (which won the ipod, BTW).

Anyway, last night a bunch of us got together at a pub in Burlingame. I got to meet Sanjeev of the safari netbeans project, a bunch of folks from the Java Studio Creator team, and more Petr's than you can shake a stick at :-)

One thing that really surprised me is the sheer number of developers they have working on netbeans. Between the netbeans core team, the JSC team, and other groups working on netbeans-related technologies, we're talking hundereds. My team has 3.5!

We talked about JDIC in netbeans, mac support (which Tim Boundreau is very keen on, and as of fairly recently, Apple is too), which openapis need to go, and which ones need to be beefed up. It may not always look like it from just reading the mailing lists, but these guys are pretty much on top of what needs to be done, and how to do it.

One of the major hurdles to improving netbeans, I learned, is Sun's legal department, and their attitude towards integrating open source projects. It's not enough for the lawyers to approve, say, the Apache License, and have that be the end of it. NO, they need to go through a month or two of painful wrangling for EACH library, even if they're all covered under the same license! Worse yet, no one knows how to fix this!

Another example: JDIC. It's LGPL, which makes their lawyers tremble. This is not without reason, as there's a valid debate about the LGPL as it applies to class files. However, there are 2 problems with this. Firstly, there's no doubt that the intent of the LGPL as applied to java libraries is to allow developers to drop a jar into the classpath and use it. Secondly, JDIC's copyright is owned by ... Sun! Are they going to sue themselves?!

This kind of insanity could, in my opinion, kill netbeans in the long run. Netbeans can't be slow on the uptake when adopting open source java technologies. They can't be reticent to have good support for JDNC, or struts, or anything else, simply because it's too hard to run through the bureaucracy of putting the library in a module.

It should work the other way, too. Netbeans has had technology like the commons VFS for a long, long time. Why did anyone feel the need to rewrite it?

Tim just wrote a prototype of something he's hoping will replace SystemOption (it's in contrib/options). When I told him there was already a commons library for doing exactly the same thing, he said it was easier to rewrite it than get approval to use the commons library.


No comments: