When Microsoft releases Service Pack 2 for Windows XP later this year, some software developers may find their applications no longer work on updated Windows machines.
Microsoft has made something of a trade-off with the update, focusing on security improvements at the expense of backward compatibility. The Redmond, Washington-based vendor is calling on all software developers to test their code against the beta version of Service Pack 2, or face the possibility that the update will break their handiwork.
Windows XP Service Pack 2 (SP2) is more than the usual roll-up of bug fixes and updates. It is also being used to make significant changes to the software that are designed to improve security. These changes can render applications inoperable, Microsoft warns.
"It may surprise some of the developers that we are changing some defaults, and that may affect the way some of the older applications run," says Tony Goodhew, a product manager in Microsoft's developer group. "Developers should absolutely be checking their applications against Windows XP SP2."
To help developers, Microsoft has created an online training course that details the implications of installing SP2 on Windows XP machines. The course covers the impact on existing applications and includes code samples. Microsoft has never before offered such a course with a service pack release, according to Goodhew.
Large vendors of software are getting help from Microsoft to make sure their applications are compatible with SP2, Goodhew says. Smaller vendors and others, such as enterprise software developers, need to do their own testing. "It is really up to developers to do the due diligence," he says.
If developers do find that SP2 breaks their applications, it most likely means that they were not following best practices in terms of security when writing their applications, according to Goodhew.
"SP2 will break some applications because they are insecure," he says. "Security is important, and it is not just a Microsoft problem but a developer community problem. We all need to work together to create a more secure computing environment."
"It doesn't really matter how long it is going to take you to do the work; security is an important issue and developers need to start doing that work now," Goodhew says.
Although Microsoft says it has been informing developers about the implications of SP2, not all were aware of what the changes will mean for them.
"I'm afraid now, I have somehow missed this message," says a Windows developer who asked not to be named. "Was it buried in too many marketing messages? Was it dependent on me searching it out?"
But Patrick Hynds, chief technology officer at CriticalSites, a Burlington, Massachusetts-based software development and integration provider, says Microsoft is not leaving any developers flat-footed. "I think Microsoft is doing enough, we're still months in advance and they are actively informing people," he says.
One place Microsoft is informing developers are the Developer Days, or DevDays, events it is hosting around the world. The first such event was held last month and many more are on the agenda. Hynds spoke at one of the first DevDays events.
"Microsoft is getting the message out on something that had to be done. I would be a big critic of Microsoft if they weren't doing this kind of update," Hynds says.
Changes to Windows XP made by SP2 fall into four main areas: network protection, memory protection, e-mail security, and browsing security. The most affected parts of Windows are RPCs (Remote Procedure Calls), DCOM (Distributed Component Object Model), Windows Firewall, and memory execution protection, according to Microsoft.
Many of the changes can disrupt functions of Windows and other applications, says Thor Larholm, a senior security researcher at PivX Solutions in Newport Beach, California. "By design, many of the new security improvements will break functions for a wide range of applications," he says.
However, the trade-off is a good thing, according to Larholm. "Microsoft is finally starting to favor security over functionality to such an extent that it is impacting its own development tools and other products," he says.
Microsoft's Visual Studio .Net is one of the applications affected by Windows XP SP2. The developer tool's remote debugging feature won't work because of the improved Windows Firewall, previously called Internet Connection Firewall, which will be turned on by default and will close all ports, Goodhew says.
Another product that Microsoft needs to update is the .Net Framework. The new memory protection features in SP2 require developers of certain applications to mark their code with memory execution permissions. If they don't, the protection features could interfere with the application, according to Microsoft.
"The great bulk of applications will not be affected by memory protection. The number one that leaps to mind is execution environments with just-in-time code generation. The .Net Framework is one," Goodhew says.
Microsoft plans to come out with updates to its Visual Studio products and the .Net Framework at around the same time it releases Windows XP SP2 to address the compatibility issues, Goodhew says.
SP2 went into beta last year and Microsoft plans to release the update in mid-2004. Compatibility issues should not hold back its release, Goodhew says. "We're aiming to release SP2 midyear. As far as we stand, we're still on track to do that," he says.