
Hey just got this from here http://www.microsoft.com/interop/principles/default.mspx The days of lazy programmers are long gone... they should be able to develop systems that can run on any platform/browser. My 0.5 cents regards, Interoperability Principles Open Connections, Standards Support, Data Portability Published: February 21, 2008 | Updated: February 21, 2008 Microsoft recognizes that in an increasingly interconnected computing landscape, enabling interoperability between products from different vendors has become more important than ever. Spurred in part by the standards-based nature of the Internet, the computing industry has made great strides toward achieving effective interoperability between a wide range of products to meet customer needs. But customers are demanding more from all software companies. For its part, Microsoft recognizes the important responsibilities that it bears by virtue of the mission-critical use of its products by customers worldwide on a daily basis. Certain Microsoft products (Windows Vista including the .NET Framework, Windows Server 2008, SQL Server 2008, Office 2007, Exchange 2007, and Office SharePoint Server 2007, and future versions of these products, referred to in this document as “high-volume products”) have become so central to operational continuity of customers’ businesses that interoperability and data portability solutions are more valued than ever. To promote such interoperability and ensure the continued appeal of its products to developers and customers, Microsoft is committed to designing these high-volume products, and to running its business, in accordance with the following principles addressed to open connections to its products, support for industry standards and data portability. To guide Microsoft in its work under these principles, Microsoft will rely on input from the Interoperability Executive Customer Council, a customer advisory council consisting mainly of Chief Information Officers and Chief Technology Officers of large enterprises and government departments from around the world. In addition to other sources of community and customer input, the Council will provide important direction to Microsoft concerning matters such as which new or updated standards are most important for implementation in Microsoft’s products and how best to ensure interoperability in scenarios where existing industry implementations of a standard may subtly vary from one another. *Principle I: Open Connections to Microsoft Products* Microsoft is committed to establishing and maintaining open connections between its high-volume products and non-Microsoft products. There are two ways that products generally interoperate with one another: through external protocols and APIs. Microsoft will ensure that these connections are open so that any developer can use them to connect to our products. We will provide open connections as follows: 1. *Open Protocols. <http://msdn.microsoft.com/openprotocols>* Microsoft commits that all the protocols in its high-volume products that are used by any other Microsoft product will be made openly available to the developer community in a non-discriminatory fashion. These Open Protocols may include protocols that implement industry standards. 2. *Open APIs.* Microsoft commits that all the APIs in its high-volume products that are used by any other Microsoft product will be made openly available to the developer community in a non-discriminatory fashion. These Open APIs may include APIs that implement industry standards. 3. *Open Access.* Microsoft will publish its documentation for these Open Protocols and Open APIs on its website so that all developers will have the benefit of this technical information in a manner that takes advantage of the nature of open discussion on the web. Microsoft will not require developers to obtain a license, or to pay a royalty or other fee, to have access to all this information. Under Principle IV, Microsoft will establish a forum that includes a mechanism for others to provide feedback and commentary. This will foster the continued improvement of the documentation and facilitate third-party product development. 4. *RAND Patent Terms.* Some of Microsoft’s Open Protocols are covered by patents. Microsoft will indicate on its website which protocols are covered by Microsoft patents and will license all of these patents on reasonable and non-discriminatory terms, at low royalty rates. To assist developers in clearly understanding whether or not Microsoft patents may apply to any of the protocols, Microsoft will make available a list of the specific Microsoft patents and patent applications that cover each protocol. We will make this list available once for each release of a high-volume product that includes Open Protocols. Microsoft will not assert patents on any Open Protocol unless those patents appear on that list. Third parties do not need licenses to any Microsoft patents to call these Open APIs. 5. *Open Source Compatibility.* Microsoft will covenant not to sue<http://www.microsoft.com/interop/principles/osspatentpledge.mspx>open source developers for development and non-commercial distribution of implementations of these Open Protocols. *Principle II: Support for Standards* Microsoft commits to supporting relevant standards in its high-volume products and doing so in a way that promotes interoperability. What this means is: 1. *Support for Key Standards.* Microsoft supports many standards promulgated by standards bodies in its products today. We will rely upon customer advice emerging from our Interoperability Executive Customer Council and our ongoing community and customer engagement efforts to help us prioritize which standards we should support in any given product release. We will also continue to participate actively in standards bodies, contributing to the development of new standards and the improvement of existing standards. 2. *Broad Compatibility.* When the decision is made to support a standard in a version of a high-volume product, Microsoft will work with other major implementers of the standard toward achieving robust, consistent, and interoperable implementation across a broad range of widely deployed products. To that same end, Microsoft will document for the development community how it supports such standards and how it is working towards broad compatibility and interoperability. These steps will facilitate compatibility for customers in real-world scenarios. 3. *Extensions.* Microsoft will document extensions to a standard implemented in its high-volume products where such extensions are relevant to interoperability with other implementations of that standard. Microsoft will publish the extension specifications for the developer community on its website. In some cases Microsoft will also submit these extensions to the relevant standard-setting organization. These steps will enable developers who wish to do so to robustly interoperate with Microsoft’s enhanced implementation of a standard. As with its Open Protocols and Open APIs, Microsoft will publish information about its support for standards on its website, including the specifics of standards extensions, without requiring the developer to obtain a license, or to pay a royalty or other fee, to access such information. Microsoft will also make available a list of any of its patents that cover any extensions, and will make available patent licenses on reasonable and non-discriminatory terms. *Principle III: Data Portability* Once customers use one software product to store their data, they should be able to subsequently access that data in a form that permits its use in other software products. Microsoft commits to designing its high-volume products and providing documentation to enable such data portability. There are a variety of means to achieve these goals. Microsoft will meet these goals through methods such as the following: 1. *Industry Standard Formats.* Microsoft supports many data formats promulgated by standards bodies in its products today. We will apply Principle II with respect to any standards-based data formats in our high-volume products. We will incorporate customer advice from our Interoperability Executive Customer Council and our ongoing community and customer engagement efforts to give us guidance to prioritize which standards we support in any given product release. 2. *Open Formats.* Any data formats developed by Microsoft where the portability and interchangeability of customer data is critical—such as those formats in which users create and exchange documents—will either be offered to a standard-setting organization for standardization, or will be made available to enable independent implementation by the developer community. Such Open Formats will be documented in their entirety with the exception of portions understood by the industry to be “opaque by design,” such as objects embedded by other applications. Here again, access to specifications regarding Open Formats that are not standardized will be available on Microsoft’s website, royalty-free, and with no need to obtain a license. Patents, if any apply, will be made available for licensing on reasonable and non-discriminatory terms. 3. *Open Import/Export.* As another means to achieve data portability, Microsoft will provide “import” and “export” functions in various products that enable the transfer of user data from one application to another. 4. *Document Format Defaults.* Different customers will choose different default document formats based on their own information management and retention needs. We will design the core Microsoft Office applications to enable customers to set default file formats they use when opening and saving documents. These applications will also include a plug-in architecture that enables developers to add support for opening and saving additional document formats. Microsoft believes that the industry has a responsibility to come together to address the interests of users in interoperability and effective data exchange between widely deployed document format implementations. To this end, it will launch a Document Interoperability Initiative that will include an ongoing series of labs around the world where implementers of document formats optimize data exchange between implementations, community development of conformance testing suites for popular formats, and publication of document templates that enable optimized interoperability between different formats. *Principle IV: Open Engagement* Microsoft recognizes that no single company can address interoperability challenges on its own and that collaboration with customers, partners and other vendors is of critical importance. This collaboration includes open communication on the interoperability challenges that customers are experiencing and the ways in which those challenges can be addressed. In addition to our engagement under these principles with the Interoperability Executive Customer Council, Microsoft will increase our communications with the customer, information technology, and open source communities. What this means is: 1. *Interoperability Forum.<http://www.microsoft.com/interop/principles/forum.mspx> * Microsoft will create an Interoperability Forum for discussing and addressing interoperability related issues of importance to customers around the world. The Interoperability Forum will be an easy to use, web-based resource containing information about what Microsoft is doing in the area of interoperability, and will enable an open dialogue on issues of importance to users and information technology companies. Microsoft will continue to work through the Interoperability Vendor Alliance and other industry mechanisms to collaborate on the development of solutions to those issues. 2. *Open Source Interoperability Initiative.<http://www.microsoft.com/opensource/interop> * To increase interoperability with open source solutions, the Microsoft Open Source Interoperability Initiative will facilitate bilateral engagement between Microsoft and the open source community. This initiative will encompass a broad range of facilities, events, and resources supporting interoperability, including labs, “plug fests,” and technical content, as well as opportunities for participation in ongoing cooperative development. 3. *Document Interoperability Initiative.<http://www.microsoft.com/interop/dii/default.aspx> * Microsoft will launch a Document Interoperability Initiative to bring together industry members to address issues of interoperability and effective data exchange between widely deployed document format implementations. Developers may be interested in access to additional Microsoft technologies beyond those covered in these principles. Microsoft is open to discussing how additional technology sharing could provide customer benefits in particular scenarios with a view toward licensing its intellectual property on commercially reasonable terms.