Sam Ruby &
Two key members of the BSF development team, Sam Ruby and Sanjiva Weerawarana, helped me considerably in developing and researching this article. I had a chance to open up a dialog with them at the time about the future of BSF and as you'll see from the following account of our conversation, they were extremely helpful.
Sam Ruby: Unfortunately, no. Since it extends the spec and Tomcat is meant to be a reference implementation, I decided to make it available first as a JSP taglib. The Jakarta Project management committee decided to make a separate jakarta-taglib tree, so I opted to wait for that. And now there have been delays in making that project available. Sigh. I expect this to have been cleared up by April. I did integrate it with the build tool used by most Java Apache projects (ANT). I expect by May to have moved on to the XML-Apache projects in particular, I plan to integrate it [BSF] with the XSP component of XML-cocoon. XSP is an XML-centric implementation roughly analogous to JSP or ASP. Fortunately, it doesn't have a standards process to work through! I don't know how to adequately express in a sound bite how standards are simultaneously the most important yet frustrating things to deal with as a developer.
RH: How soon will you go open source with BSF? The last I heard was that you have legal, management and executive approval and that you had only one checkpoint left.
SR: One last issue to resolve and everything is a go (one lawyer decided to ask another lawyer to check into a patent issue). Should be a matter of days.
RH: What's the current progress regarding adding debugging support?
SR: This is only just now getting staffed.
RH: What is the current progress of creating components (JavaBeans) with any BSF scripting language?
Sanjiva Weerawarana: We're pretty much done with it and expect to release it to alphaWorks in the next two weeks. There are a few constraints of the current implementation but the basic idea is proven with what we've done.
RH: What is the total number of languages supported?
SW: All MS ActiveScript languages (including VBScript
RH: What kind of resources do you have dedicated to BSF?
SW: None of your business! Seriously, I doubt that the number has ever been much more than four inside IBM. Once it's open source, I expect the number to grow significantly.
RH: Are there any other future directions that are not covered in the white paper that you sent?
SW: The biggest one I have in mind is that the BSF concept could be implemented for C as well. Currently Win32 has a scripting architecture guys who develop in UNIX-land, however, don't have anything similar. It's quite doable to take BSF and do a BSF-for-C type of thing where the infrastructure assumes a C runtime rather than a Java runtime. The thing that you really need is something that pretends to [be] the equivalent of reflection; this isn't that hard. I think this could be a very attractive piece of software! We also plan on working on the compilation side of BSF quite a lot. One of our guys has developed a killer way to generate code and we're merging it with some other stuff and hope to dramatically improve the flexibility of the "compileScript" method of BSF. Yes, the description in this para[graph] is intentionally vague!! I think the issues with debugging and better error handling were listed in the paper I sent you.
RH: Any updates?
SW: Hmm. I think the user's guide with the latest version on alphaWorks is pretty up to date. We haven't been working on BSF much because we've been waiting for the open-source clearance to go [through].
RH: Where can I find more information about BSF?
SR: The primary URL is
RH:Can you provide a list of known products that are using BSF? (I heard NetBeans was going to add support for BSF to their IDE.)
SR: WebSphere and ANT are the ones that I've been involved with, as well as several unannounced IBM products.
SW: Please add Apache Xalan to this list it uses BSF for implementing the XSLT extensions.
RH: What is the status of submitting BSF to JavaSoft as a Java Specification Request as an extension for scripting?
SR: I've seen the draft submissions, so I know this is in progress. Sanjiva will have the up-to-the-minute status on this.
SW: The status on this is that I've finished filling in the JCP template as well as our internal stuff and it's with the IBM approval team awaiting evaluation. Those guys meet like once a month or so....so it'll get taken care of at the next meeting. I expect easy passing because we had preliminary approval from before.