After a first short interview with the education and marketing head of the project, we've been lucky enough to get a second interview with the drivers of the NetBeans initiative. This time, it is Tim Boudreau, Senior Product Manager of NetBeans Open Source at Forte Tools - Sun Microsystems who is answering the questions.
The first piece, as you might have noticed, has not been published in English :-). We plan to correct that (and translate this one) very soon. Stay tuned.
What is NetBeans?
That's actually a very interesting question. When you first think of NetBeans, you probably think "It's a Java IDE." Really, it breaks down into four categories:
- Java IDE - a tool for developers to create, debug and deploy Java code
- A cross-language IDE - there is already basic support for edit/compile/execute of C and C++, with more languages on the way.
- The NetBeans Tools Platform - NetBeans is very modular, with a set of well documented APIs for plugging in additional functionality.
- NetBeans as a general application framework - since it is possible to use the NetBeans core as a generic large desktop applications, with all of the modules and IDE-like aspects stripped away, a number of companies have released non-IDE Java applications which consist of the NetBeans core plus modules to support application functionality, ranging from BEA's Campaign Manager marketing management application, to a tool for designing coal mines (!)
So NetBeans is a platform for the integration of other programming tools - debuggers, UML tools, version control systems, just about anything can be seamlessly integrated into the environment. This is particularly important because the whole is greater than the sum of the parts. Being able to work with a best-of-breed profiling tool, debugging tool and EJB tool in the same environment means you learn one UI for all of these things, and NetBeans provides the "glue" by which these tools can interoperate - making developers more efficient.
Why Open Source?
Well, for one thing, no single vendor can provide all of the tools the development community wants or needs. Any single vendor of a product will concentrate on what it sees as being strategic features. So there can be a lot of things a developer would like to have in an IDE which a company might not see as strategic to implement. With open source, there is the opportunity both for people to implement those features they'd like to see, and the opportunity for other vendors to implement them and sell those modules commercially. So the development community gets what it needs.
I've always believed that software development works best as a collaboration between those who write the software and those who use it.
The best way to make a product your market wants is to let that market participate in the design of the software. And there is no better way to do that than open source.
"Why Open Source" is a particularly interesting question in the case of a large company like Sun. For example, Sun has developers who do work on NetBeans in the Czech Republic (NetBeans was originally a Czech company which Sun bought in 1999), California, Israel and St. Petersburg. Open source in this sense amounts to a set of best practices for distributed development. Open source development is very efficient and self-managing. Linux and Apache did not come from nowhere, and any large company that wants to remain competitive needs to learn why these projects work and adopt useful practices that can be found there.
How does this relate to the .NET initiative and .NET development tools?
As I'm sure you know, Sun is committed to the SunOne vision of open standards for web services - support for building web services is available in Sun's commercial module set for NetBeans shipped as Forte for Java Enterprise Edition.
That being said, there is nothing stopping third parties from building .NET development tools on top of NetBeans. IDOOX (http://www.idoox.com), founded by Roman Stanek, who also started the Czech company NetBeans, for example, has a set of tools for building SOAP based web services - their tools open source and hosted on NetBeans.org. It's a very level playing field.
How does Mac OS X's Java2 support affect its future, in your opinion?
Well, it's great for the Mac to have a world class IDE which can support multiple languages. In the past, the Mac hasn't really shone as a development platform - especially for things like enterprise applications. With the arrivale of Java 2 and NetBeans on the Mac, this makes it a viable platform for enterprise development, and a very nice one at that.
Is NetBeans fully functional for developing on Mac OS X?
Absolutely.
Are you working directly with Apple in this project or not?
Our cheif architect and one of the founders of the project spent a week at Apple helping to iron out some of the difficulties with the threading model the MRJ uses to make sure the IDE would work on the Mac.
Anything else that would be of interest to Spanish-speaking developers?
There's been several localization proposals recently, including Spanish, Russian and Czech. Since all text in the IDE is handled using resource bundles, it is fairly easy to create new localization bundles to enable all text within the IDE to appear in another language. While I don't know if work is underway on a Spanish localization at the moment, I'd be surprised if there weren't one sometime in the future.
Is there any specific support for building multilingual applications?
Certainly - the I18N module can go through an application, find all of the hardcoded strings and replace them with resource bundle references, and provides a wizard to create that resource bundle. So you basically step through all the strings in your code, provide translations, and like magic, you now have an internationalized application.