The confusion surrounds the licensing agreements for the company's Java Software Development Kit and Visual J++ tools.
"The wording right now is a little convoluted," said Charles Fitzgerald, program manager at Microsoft. "We've said that if there's any ambiguity, if the license impedes your ability to work on a cross-platform basis, we'll change it."
Fitzgerald denied that the company's licensing agreement precludes developers from creating Java applications that work on multiple platforms, instead of just Windows, as an earlier report had suggested. Still, the company will change the wording of its agreement to clarify any confusion among developers.
Microsoft's Java strategy has spawned vocal camps of critics and supporters. Sun Microsystems invented Java so that applications could be written once and run on any platform, regardless of the underlying hardware or operating system. But in Microsoft's development tools and virtual machine, the company allows developers to create Java applications that exploit native Windows functions. Such applications will not run or will be partially impaired on non-Windows platforms.
The latest controversy surrounds whether Microsoft is legally forcing developers to use native Windows functions, rather than offering them a choice. Today, a survey of Java developers failed to turn up any who were prevented by Microsoft from creating cross-platform applications.
"There's never been any kind of pushing towards that, or even hinting that you have to use their [Windows] extensions," said Karl Jacob, CEO of DimensionX.
Jacob said that Microsoft's Visual J++ and Java SDK allow users to create Java applets using Windows-only ActiveX extensions, but that the tools make it clear when a developer is adding Windows-only functions.
DimensionX ships a commercial product, Liquid Reality, for Windows, Unix, and soon Macintosh that was partially built using Visual J++. Like other developers, DimensionX has used some ActiveX extensions in the Windows version of its product because it improves the performance of the application through Windows features such as Direct 3D and other multimedia capabilities.
"What they're doing is giving you enough rope," said Patrick Naughton, vice president of technology at Starwave. "It's up to you to tie yourself into it. It gives you the freedom of choice."
Naughton, who was one of the creators of Java at Sun, said he likes Microsoft's Windows extensions because Java technology alone does not provide all of the functions needed by developers. Starwave has created Java applets that exploit native Windows font support because the Sun's Java Development Kit supports only three fonts.
"It was my idea to go do this thing which would be write once and run anywhere. But it was kind of a utopian idea," Naughton said. "We were kind of na?ve to think that the world would switch to exactly one API for doing everything."
Other developers were less enthusiastic about Microsoft's Windows extensions for Java, but doubted whether Microsoft would actually force developers to use them through its tools.
"I'm not familiar with the licensing agreement," said Chris Biber, technology evangelist for Corel. "I would doubt that MS would really be able to do that. It would limit the applicability of their tool. But we are certainly not endorsing their strategy in terms of building Windows-specific extensions into it."