| Community Building Aims at Developers |
| Jun. 7, 2004 |
|
The success of open source developers in creating a community willing to coordinate and support projects is driving Microsoft to expand its own community programs. The company is creating Web sites focused on specific products and technologies, encouraging employees to post content on personal and Microsoft-sponsored Web logs ("blogs"), and providing licensed access to larger portions of its source code. The initiative is also meant to soften customer impressions of Microsoft as a large, unresponsive company by showing the individuals behind many decisions. But if Microsoft is not careful, it risks diluting its message and making contributors resentful if it doesn't act on their suggestions. Communities Aid Platform Adoption A strong community helps ensure that a platform has third-party products that run on it and provides support for customers who are evaluating, adopting, or deploying the platform. For example, much of the initial success and rapid adoption of Windows was due to the large library of application and utility software available for Windows. Microsoft’s Developer Relations Group (DRG) evangelists were able to build this community by evangelizing the benefits of Windows to developers, helping developers understand how to write Windows applications and utilities, and making free or inexpensive SDKs that aided in writing Windows software. By helping ISVs, Microsoft helped itself, because one popular new application could lead to sales of tens of thousands of copies of Windows, which in turn enticed more ISVs to build applications and join the Windows community. A Changing Environment Microsoft’s early community-building model could not be as effective today, given the wide use of the Internet for communications, the increasing number of Windows and other platforms, and the need to reach new developer constituencies. Ease of communications. The Internet lowers the barrier for organizations or groups that want to evangelize a platform, allowing them to set up Web sites, newsgroups, list servers, and source-code or SDK libraries that can be easily accessed from around the world. In addition, the Internet is spurring ongoing, widely visible discussions about platforms and technologies. Open source development projects like Linux and Apache have spurred vibrant communities where two-way communication between users and developers affects the future direction of the project, versus the perception of the one-way nature ("here is what we are going to do") of communication from large companies managing proprietary development projects. More platforms. As long as Microsoft focused on the desktop, it had little competition during the 1990s, but as PC networks and the Internet grew, the focus shifted to servers, where Microsoft is not dominant and an increasing number of platforms are vying for developers’ attention. In addition to strategic Microsoft platforms such as Windows, .NET and Web services, IBM offers a competitive platform running on multiple OSs with application and server products, such as the WebSphere family of products and Java Enterprise Edition (J2EE), that are not exclusive to Windows. Open source distributors offer a comparable platform for applications based on products such as Linux, Apache and J2EE. New developer constituencies. Microsoft's developer evangelism has had to expand beyond commercial developers to a wider audience. As applications mature, they can become trapped on the existing platforms and application developers themselves will often forgo a new platform in order to serve the installed base. For example, even Microsoft has been slow to move Office and other products to .NET, because it would involve rewriting a substantial amount of code to support .NET, and the majority of customers still use older versions of Windows. Corporate developers building in-house line-of-business applications and academic developers wanting to learn on the newest technology may be more willing to adopt new platforms first, and therefore, building communities that support these developers is becoming increasingly important. This larger base of corporate and educational developers, solution providers, and system integrators is so big and diverse that only community-based evangelism can reach all the potential developers. Community-Building Efforts To respond to the new environment, Microsoft is putting some of its code into shared and open source projects and creating new channels of communication. Expanding Shared and Open Source Projects Microsoft has already made substantial amounts of source code available to developers through its Shared Source programs. These programs give customers access to the source code for Microsoft products, such as Windows, so they can understand how their applications interface with Windows. In particular, access to the source code makes it easier to debug and solve problems with applications. Although customers cannot generally compile and build their own copy of the product, the Shared Source program lets them better exploit the Windows platform. Microsoft’s GotDotNet Web site includes workspaces, which are online collaborative development environments where developers can create, host, and manage .NET Framework-based projects. The GotDotNet workspaces enable collaboration on software projects without the barriers created by geographical or network boundaries by including the following:
Recently, Microsoft has gone beyond its GotDotNet workspaces and Shared Source model to put projects into a more open-source environment, where customers can modify Microsoft’s code, not just view it. For example, Microsoft has begun to use SourceForge, a large open-source development repository, and the Common Public License, a license used for open source projects, to make code available for the Windows Installer XML (WiX) toolset, which builds Windows installer packages from XML files, and the Windows Template Library, which makes it easier to write applications and interface components in C++. Expanding Interactive Channels and Web Sites Microsoft’s most focused community for developers has been the Microsoft Developer Network (MSDN) program. MSDN features four components:
A parallel program, Microsoft TechNet, which targets IT professionals and administrators, provides access to online information and evaluation editions of software. Over the last year or so, Microsoft has been supplementing the information at these sites with new focused sites, increased focus on newsgroups, and employee blogs. New focused sites. With the proliferation of platforms, several specialized sites have sprung up within Microsoft’s Web properties, including the following:
Perhaps the most interesting is Channel 9, an extension to the MSDN Web site. While focusing, at least partially, on key new technologies slated for Longhorn (the next version of the Windows client), such as Avalon (graphics), Indigo (integrated Web services), and WinFS (new storage model), Channel 9 is also trying to put a human face on Microsoft’s platform architects and developers. Named for the audio channel on United Airlines that allows passengers to listen to conversations between pilots and air traffic control, Channel 9 is designed to provide outside developers with some insight into what Microsoft is doing and why, while gaining feedback from outside developers about new platforms and their architecture. What is still uncertain, however, is whether customer responses on Channel 9 will have an impact on product plans or features. Increased focus on newsgroups. Although newsgroups are not new, Microsoft has been encouraging its employees, and some of its most loyal community members, Microsoft Most Valued Professionals (MVPs), to be more active in the many newsgroups for Microsoft platforms and products. Users typically use newsgroups for information about the capabilities of a platform, problem solving, and how to use the features of the platform. Employee blogs. Microsoft is also employing blogs (short for "Web logs"), informal discussions, reflections, and discussion threads posted on the Web, typically communicating the author’s personal opinions on a topic, to put a more human face on the company. Several Microsoft employees, including Chris Anderson, an architect on the Avalon team, S. Somasegar, vice president of the Developer Division, and evangelist Robert Scoble, are blogging, and in his keynote address to enterprise CEOs visiting Microsoft’s campus in May 2004, Bill Gates recommended that companies use blogs to reach out to customers—an unusual recommendation, given that this conference usually focuses on Microsoft solutions and Microsoft does not offer any blogging software. The informal nature of blogs encourages bloggers to express strong opinions and feelings about a topic. The entries offer more insight into the human side of the blogger and can contain links to other similar discussions. However, blogs can also contain relatively useless information, such as what movie the blogger watched the night before, or in the case of one Microsoft blogger, detailed (albeit humanizing) information about a flooded crawlspace. Exploding Sources Although the effort to provide more information to developers and IT professionals is worthy, it is creating several problems: Too many conflicting sites. With an ever-increasing number of sites and blogs, it is becoming too hard for a developer to know that he is getting the complete picture. For example, searching MSDN for ASP.NET will not locate documents on the same subject that are available at the ASP.NET site, nor will it locate relevant information posted on a blog written by a member of the ASP.NET team. A search engine that consistently found all relevant information from the current set of Microsoft sites might be more helpful to developers. Even Microsoft’s newsgroups illustrate this problem: more than 1,000 newsgroups cover Microsoft’s many products, versions of products (such as Windows 2000 and XP Professional), and specific product features (such as Terminal Services and Movie Maker). Knowing which group to read or post a message to can be confusing. Too much information is out of date. With platforms and products changing rapidly, Microsoft’s sites contain much information that is out-of-date and should be removed. For example, at its Windows Hardware Engineering Conference (WinHEC) in May 2004, Microsoft announced it was making significant changes to its architecture for the Next-Generation Secure Computing Base (NGSCB), its plan for implementing hardware-based security on PCs. But for several weeks after the announcement, no indication of the change was posted at any of Microsoft's developer Web sites, and the posted information on the deprecated architecture still appeared to be valid. Lack of ownership and commitment. With any blogger able to state opinions on the platforms, contradictory statements from Microsoft employees and teams are inevitable. While some developers may appreciate the opportunity to engage Microsoft in discussions and debates, others are likely to be overwhelmed by the volume of information and lack of consistency. Furthermore, with members of the community able to post information in workspaces and as part of Web sites such as GotDotNet, it is not always clear when Microsoft backs or stands behind the posted information at Web sites and blogs. Most documents, postings, or threads do not contain Microsoft’s typical disclaimer that the information is current but not necessarily accurate beyond the date of publication. Resources Background on Microsoft’s Shared Source initiative can be found in "Many Eyes Look Through Windows" on page 6 of the May 2004 Update. The Windows Template Library can be found on SourceForge at sourceforge.net/projects/wtl. The Windows Installer XML Toolset can be found on SourceForge at sourceforge.net/projects/wix. The Common Public License can be found at www.opensource.org/licenses/cpl.php. Microsoft's ASP.NET site is www.asp.net; GotDotNet is www.gotdotnet.com; TryIIS is www.tryiis.com; and Channel 9 is at channel9.msdn.com. GotDotNet workspaces are at www.gotdotnet.com/community/workspaces. MSDN subscribers can access a managed set of newsgroups at msdn.microsoft.com/newsgroups. The public newsgroups are at www.microsoft.com/communities/default.mspx. Robert Scoble’s blog (Scobleizer) is at radio.weblogs.com/0001011. Chris Anderson’s blog is at www.simplegeek.com. S. Somasegar’s blog is blogs.msdn.com/Somasegar. A list of blogging Microsoft employees is at blogs.msdn.com. |