In separate efforts, Sun Microsystems and Microsoft are taking steps to try to satisfy developers irked with the vendors' recent policy decisions pertaining to application development.
For Sun, the company has conjured up new license plans for Java intended to satisfy developers who want an all-out open source Java while Sun strives to maintain compatibility within the language. Sun also has been flying the flag of its new JavaServer Faces (JSF) technology for Web application development within Java, seeking to have it become the standard. But not all are impressed.
Microsoft, meanwhile, has been holding to its stance that it will cease paid support for its Visual Basic 6.0 programming language at the end of March, no matter how many developers sign an online petition seeking a commitment to the language. Thousands have signed the petition so far.
Sun has been pelted with calls to make Java open source for roughly the past year. Competitors that have relied on Java, including IBM and BEA Systems, have been among those on the bandwagon pleading for an open source Java that would be less tied to Sun's control.
Inching in that direction, Sun last week announced two licensing schemes: the Java Internal Use License, or JIUL, and Java Distribution License, or JDL. The JIUL license lets developers change Java source code for internal use only, but relies on users themselves to respect compatibility. The JDL is a narrowly focused effort that allows for developing deployments of Java on specific platforms.
"I think Sun's making a lot of moves in the right direction to give Java the advantage of open source without actually having to open-source it," said Java developer Joseph Ottinger, editor of TheServerSide.Com, an online community for enterprise Java developers.
Open source provides the advantage of a contributing user community, but full-blown open source also could result in versions of Java that are not in synch with the official platform, reducing the quality of the Java brand, Ottinger said. "The biggest danger, from Sun's perspective, is that some major vendor would release an incompatible Java," said Ottinger.
"We're trying to respect the needs of both sides, to create a licensing and collaboration atmosphere that's as close to open source as possible while not violating the expectations of the rest of world around interoperability and compatibility," said James Gosling, CTO for Sun Developers Platform Group, during Sun's teleconference announcing the license plans.
Transition's rocky road
For Microsoft, the company is dealing with pleas to maintain a strong commitment to the legacy Visual Basic 6.0 programming language at a time when the company is intent on moving forward with its .Net technology.
As of Thursday, there were 3,876 signatures to a petition to save VB 6.0, including 235 developers classified as Most Valuable Programmers by Microsoft. The petition is online at http://classicvb.org/Petition/.
Moving from VB 6.0 to VB .Net has been challenging, both Microsoft and programmers agree.
"It's a different language," said Visual Basic programmer Don Bradner, who has been part of Microsoft's Most Valuable Programmer community, earlier this month. "It's like me telling you that you have to write InfoWorld in French."
Microsoft, while still committed to ending free support for VB 6.0 at the end of the month, believes it has a plan to hopefully satisfy discontented developers. Developers have been allowed two free incidents of support throughout the lifecycle of the product.
"Where Microsoft is really going to be placing our investment is in helping developers to move their skills to VB .Net and VB 2005," said Jay Roxe, Microsoft product manager for Visual Basic.
To that end, VB 2005, due in the second half of this year, will have the Edit and Continue function that has been popular with VB 6.0 developers. This feature provides the ability to pause a program while it is executing and allows changing of code and continuing to execute without having to stop and restart the program, according to Microsoft.
Also due in VB 2005 is a reuse feature called RegFree COM (Component Object Model), which allows developers to use existing COM controls, such as those developed with VB 6.0, without having to register them on their machine. Developers thus can reuse functionality while avoiding development problems that have plagued VB 6.0, according to Microsoft.
Additionally, Microsoft will continue free run-time support for VB 6.0, providing, for example, patches for security issues. But patches will no longer be issued for issues such as problems with tools.
The drive toward unity
Sun, with JSF, has encountered similar problems transitioning developers. Sun is pushing JSF as the preferred method for Web development but the technology must vie with other offerings such as Apache Software Foundation's Struts open source framework for building Java apps and OpenSymphony's WebWork Java Web app dev framework.
JSF is a bit too geared toward hiding complexity, which can be a turnoff to seasoned developers, according to Jason Carreira, a developer of the open source WebWork framework for Java.
"That's not the way hard-core developers like to work," Carreira said.
Contrasting WebWork with JSF, Carreira said WebWork has had components that can be placed on a Web page and customized by editing a template; JSF, however, requires that a new renderer class be written to perform this function.
JSF is intended to provide unity in Web development on Java via its API, said Craig McClanahan, a senior staff engineer at Sun who has been involved in developing both JSF and Struts.
"We want to establish an ability to have a component marketplace and in order to do that, you really need a single API that everybody writes to," McClanahan said. Components could range from buttons and text fields to components that perform background communications to a server for partial page refreshes.
McClanahan acknowledged that JSF is intended to attract the more corporate-type developers familiar with Visual Basic. Developers, though, can use JSF components and maintain investments in existing applications built on other frameworks, according to McClanahan. But new development ought to take place on JSF, since it is becoming the mainstream standard, he said.
McClanahan said he has proposed a next generation of Struts, dubbed "Shale," which is based on JSF being present in the environment. Acknowledging resistance to JSF, McClanahan said there is always pushback on any new API.
Sun, for its part, also is looking to update the Java Community Process (JCP) for adding to the Java platform, continuing on themes of transparency, participation, and cost efficiency that were highlighted last year.
Sun with the JCP process in the past year has reduced the time it takes to get a Java Specification Request (JSR) reviewed from 200 days to 125 days, according to the company. Additionally, Sun is heading up a smaller percentage of JSRs than in the past, letting others in the community take the lead.
Public feedback in the JCP also has increased, according to Sun.
For Sun and Microsoft, the success of their development technologies has translated into large communities of developers to please. It is only natural that there will be some level of dissatisfaction. As .Net and Java move forward, there will be developers seeking changes deemed too dramatic, such as those yearning for an open source Java, or those who find changes too disruptive, like the Visual Basic 6.0 devotees. The road ahead will require a tough balancing act for Sun and Microsoft.