Open to the future?
Microsoft's Silverlight development tool may aspire to greater professionalism, but its maker is finding the licensed code habit hard to give up.
Microsoft's release of Silverlight 2.0 - a development platform for online multimedia applications - caused a ripple of surprise in the software world, not least because the software giant has made some Silverlight components available under an Open Source license and for developers to share free of charge. As Microsoft keenly points out, though, nobody will get a complete development environment for free.
"The whole of it is not an Open Source project," says Microsoft UK head of technology for development and platforms, Mark Quirk, "but there are other key elements that affect the control library and how fast you can build applications."
While bits of the code are available under a Microsoft Permissive License, Microsoft has also funded a company called Soyatec to integrate as yet unspecified Silverlight development tools into a software project that will be released under an Open Source Eclipse Public License. Novell is also collaborating with Microsoft to create Silverlight tools for Linux and Unix operating systems.
Developers should not expect too much: there is an important difference between free and Open Source, and also open APIs, warns Michael Azoff, senior research analyst at Butler Group. Nevertheless, he believes that licensing Silverlight 2.0 in this way will help Microsoft gain more developer support for the platform.
"It does show the Open Source bug is spreading," Azoff says. "It has to be remembered that creativity and evolution rapidly increases when people share ideas openly."
Alex Mackman is technical director at e-learning company CM Group, and also a Microsoft-certified partner. While CM Group gets a lot of Microsoft software under preferential terms already, Mackman believes that having Silverlight 2.0 components distributed under an open source license may represent a big draw for other development houses.
As well as support for high-definition video, Silverlight 2.0 adds features that improve integration with Java applications and services. They also improve Silverlight as a platform for business application development. Integrated support for the .NET Framework common language runtime 3.0 makes Silverlight much easier for .NET programmers to use, Mackman says.
"We have a media department with Flash expertise, but Silverlight 2.0 allows our own .NET and C# developers to get into multimedia development for the first time using their favourite languages," he adds. "There are also a whole load of additional controls that remove a lot of the donkey work that you had to do in Silverlight 1.0, like automated data entry forms right out of the box."
One part of CM Group's business involves the development of online e-learning applications, for example, and Silverlight gives the company richer presentation interfaces and interaction options within the content it provides.
"It is really good to see the sort of collaboration between design and infrastructure coding, something that has been talked about for a long time, but never really happened before," Mackman says.
Whether Silverlight 2.0 can challenge the dominance of Adobe's rival Flash platform remains to be seen, however. Flash has been around much longer, has better developer support, offers greater interoperability and is a truly open platform, says Butler Group's Azoff: "Flash is an open platform, and Adobe's view of itself is the Switzerland of the software world. Ultimately Silverlight is about the Windows platform, which is fine if you are a Microsoft house and a .NET developer - they do have great tools for Windows; but many vendors chose Java and Flash for what is (today) the only multi-platform solution."
Elsewhere Sun Microsystems is beginning to catch up with a rival open source RIA platform aimed at desktop PC applications of its own. Released in December 2008, JavaFX 1.0 includes a compiler, run-time tools, graphics, media, Web services and rich text libraries needed for Web development. An emulator will help programmers test mobile applications ahead of the Mobile FX version release expected later this year.
With multimedia Web applications dominated by Adobe and Flash for so long, Quirk believes Silverlight is actually broadening available choices rather than forcing developers into Microsoft's arms.
"If you look at it the other way around, there was only one choice other than Silverlight, so maybe Microsoft is seen as the company that helps developers avoid lock-in," he concludes.