A few months ago, I was working with Aaron Tersteeg to make sure that we clearly summarized our involvement with the the Apache Harmony community. We got to talking about a few other projects that that I've been working on. Aaron told me about this "What If Alpha Software" concept that Intel was working to create. I realized this would be a great way to get the developer community to try out and comment on a few projects that I'm excited about.
I know my team has a number of projects that we don't know if we should continue, expand, or try to open source. It certainly will help my case when I go try to convince my management to expand a project if I have some comments from users who have tried it or if I have a solid list of potential collaborators if we go open source! I got really excited and decided that I HAD to get involved in the pilot phase of the What If site. The first project that we have decided to put on the Whatif.Intel.Com is our Integrated Debugger for Java*/JNI Environments. That's quite a mouthful. It is the prototype for Mixed Java/native debugging that we discussed at EclipseCon '07. See my earlier blog entry talking about it and how it relates to some other work in this area. I'm sure I'll blather on about it more over the next few months.
During the next 3-6 months, we'll have IDebug up on the What If web site and will be trying to get feedback on the software, its design, the interest level of the user base, and potential collaborators on an open source version. Vasily Levchenko got involved in the IDebug project recently (after initial design/development) and created the final packaging that appears on the web site. He and I will be answering any technical questions that come up. Vasily is a NetBSD hacker who has some interesting ideas about how the debugging model in IDebug should be tweaked. I'm sure we'll hear more about that over the next few months :-).
What am I hoping for from the IDebug pilot on the WhatIf site?
- Are there enough JNI developers out there to support an open source effort?
- Should native debugging hooks be provided by the JVM or should Java debugging hooks be provided by a native debugger?
- What should a unified Eclipse perspective (gui) look like for mixed Java and native code?
- Given the limitations of the prototype, does it work for real developers working on real JNI applications?... Hey, this means YOU!
You may ask, why don't we just open source it? Several of the many reasons...
- Too many project ideas, too few people... We need community feedback to decide which ones to do.
- To speed up our prototyping, we leveraged one or two bits and pieces from the Intel Compiler team. If we open source, we're probably going to need to replace those bits. If the overall debug model needs to change, those bits may not even be needed. It would not be efficient to implement those pieces only to turn around and remove them if the design changes in the community.
- Similarly, the gui components currently integrate into Eclipse 3.2 (The current release is 3.3 and will be 3.3.1 in a few weeks). If the views are considered good by the community, it may be worth updating it to integrate better with Eclipse 3.3.1).
Consequently, we're starting with this binary release on the WhatIf site to get feedback about the overall design and interested parties. If you're a Java developer who uses JNI, please look at it, kick the tires, and let us know what you think!