FAQ: UI Automation Community Promise
Q. Why did Microsoft use the Community Promise approach for UI Automation?
A. It was a simple, clear way, after looking at many different licensing approaches, to reassure a broad audience of developers and customers that the specification(s) could be used for free, easily, now and forever.
Q: Have you used the Community Promise elsewhere for other projects?
A: Yes. We used a very similar promise for the XML Paper Specification. More details are available at the Windows Hardware Developer Center.
Q. How does the Community Promise for UI Automation work? Do I have to do anything in order to get the benefit of this?
A. No one needs to sign anything or even reference anything. Anyone is free to implement the specifications included with UI Automation. They do not need to make any mention of or reference to Microsoft.
Q. What is covered and what is not covered by the Community Promise for UI Automation?
A. The Community Promise for UI Automation applies to the UI Automation Specification located on the Microsoft Download Center. The Community Promise for UI Automation covers anyone who is building software that implements UI Automation. You can choose to implement only the mandatory required portion, or the mandatory required portion and any of the optional elements up to an including all of the specification. The Community Promise for UI Automation does not apply to any part of your implementation that does not implement the UI Automation Specification.
Q. What patent rights is Microsoft providing?
A. We are providing access to all patent claims that would necessarily be infringed by implementation of the UI Automation specification including patents that are necessary to implement required portions of both mandatory and optional parts of the UI Automation Specification.
Q. What if I don’t implement the entire specification? Will I still get the protections under the Community Promise for UI Automation?
A. The Community Promise for UI Automation applies if you implement all of the mandatory requirements of the UI Automation Specification. You may choose to implement all or none of the optional portions of the specification. Once you implement all the mandatory requirements, the Community Promise extends to the mandatory and any optional portions of the specification you implement.
Q. Does this Community Promise for UI Automation apply to all versions of the UI Automation Specification?
A. The Community Promise for UI Automation applies to the versions of the UI Automation Specification posted on the Microsoft Download Center.
Q. Why doesn’t the Community Promise for UI Automation apply to things that are merely referenced in the specification?
A. It is a common practice that technology licenses focus on the specifics of what is described in detail in the specification and exclude what are frequently called “enabling technologies.” If we included patent claims to the enabling technology, then as an extreme example, it could be argued that one needs computer and operating system patents to implement almost any information technology specification. No such broad patent licenses to referenced technologies are ever given for specific industry standards.
Q. Is this Community Promise for UI Automation sub-licensable?
A. There is no need for sublicensing. This promise is directly applicable to you and everyone else who wants to use it. Accordingly any other party, including your customers and vendors can directly take advantage of this same promise, and have the exact same protection that you have.
Q. Is this Promise consistent with open source licensing, namely the GPL? And can anyone implement the UI Automation specification without any concerns about Microsoft patents?
A. The Community Promise for UI Automation is a simple and clear way to assure that the broadest audience of developers and customers working with commercial or open source software can implement the UI Automation Specification. We leave it to those implementing these technologies to understand the legal environments in which they operate. This includes people operating in a GPL environment. Because the General Public License (GPL) is not interpreted the same way by everyone, we cannot give anyone a legal opinion about how our language relates to the GPL or other OSS licenses. However based on feedback from the open source community for similar documents, we believe that a broad audience of developers can implement the UI Automation Specification under the terms of this Promise.
Q. How does this differ from the Open Specification Promise and why isn’t the UI Automation Specification available under the OSP?
A. The Community Promise for UI Automation is much more like the OSP than it is different. It differs in that this promise requires an implementer to support the minimum required set of functions described in the UI Automation Specifications as functions that must be supported. In order to ensure that the UI Automation support is consistent from one implementation to another, a certain minimum set of functionality is required.