Microsoft on Tuesday night released the source code for its Windows Template Library under the open-source Common Public License and posted it on SourceForge, the open-source code repository.
The Windows Template Library (WTL) is a library for developing Windows applications and user interface components. It also extends the Active Template Library (ATL) and provides a set of classes for controls, dialogs, frame windows, GDI objects and more.
The ATL is a set of template classes developed by Microsoft Corp. to aid in the development of ActiveX controls and Component Object Model (COM) objects. Theyre template-based C++ classes that simplify the programming of COM objects.
The COM support in Visual C++ allows developers to easily create a variety of COM objects, Automation servers and ActiveX controls.
This is the second time in as many months that Microsoft has released source code under the Common Public License, which was developed by IBM and is an evolution of the IBM Public License (IPL). The CPL was approved by the Open Source Initiative (OSI) in May 2001. The Eclipse open-source development-tool framework is licensed under CPL.
Last month, Microsoft made available on SourceForge an internally developed product called the Windows Installer XML (WiX).
Jason Matusow, manager of Microsofts shared-source initiative, told eWEEK in an interview Wednesday that the company expects advanced C++ programmers to be most interested in using the WTL code, which can be found here.
The WTL is essentially a lightweight windowing C++ template library that allows developers to build simple Windows graphical user interfaces on applications.
Visual C++ developers have used WTL to develop a wide variety of applications requiring a front-end Graphical User Interface (GUI). Applications using WTL have been developed for desktop Windows as well as for Windows CE and have ranged from basic utilities to commercial consumer applications, to vertical commercial applications.
“WTL has also been popular over the years with Shareware developers,” Matusow said. “WTL offers an elegant means for developers to use the power of C++ templates for expressing GUI elements, which generally results in small and efficient applications.
“More popular approaches for doing the same things, but with more power, are the Microsoft Foundation Classes (MFC) and Windows Forms,” he said.
The WTL has been available on MSDN for five years, and the last release of WTL had more than 90,000 downloads, “so there are a significant number of developers who do like this lightweight windowing library,” Matusow said.
“By putting it up under SourceForge, the WTL community can now directly contribute and fix and modify and improve the WTL code base itself, so it is no longer just something they consume but rather something they can pick up and modify,” he said.
In the first few weeks following the release of WiX, there were more than 80,000 downloads of that code, and a reasonably active community is providing quick bug fixes. “Several new projects have also been spun out around this WiX technology, and so we feel the CPL is the most appropriate license in terms of how the community wants to work and interact with the technology,” Matusow said.
“SourceForge is the appropriate location for these projects, given that 30 percent of SourceForge projects are Windows-based and there is a community doing application coding work who are turning to SourceForge as a location to identify these projects,” he said.
While all of the source code Microsoft has made available to date—excepting WiX and the WTL—has been under a variety of licensing mechanisms and all under its “shared source” umbrella, Microsoft still plans to label its WTL CPL program as one of its “shared source” options, Matusow said.
See Microsofts list of shared-source licensing options here.
The WTL has also not been supported by Microsoft Product Support Services, which was one of the biggest reasons to open-source the product, Matusow said.
“There are quite a few things that are not included within the supported arena but are helpful to people. The WTL is a widely used tool but was not supported, and one of the concerns in the community was seeing this technology improve and advance, and Microsoft was not doing that.
“Fundamentally, the reality is that we are working very hard on the .Net Framework and the improvement of .Net programming, so giving the community access to the WTL source code allows them to get in there and do self-support and improve it,” he said.
But Microsoft would still commit some resources to the project to help the community, make sure it got what it needed from them and ensure that there was strong project leadership to help the project flourish, Matusow said.