InfoQ

News

Microsoft is to Release Open-Source Compatible XAML/WPF Specs

Posted by Jonathan Allen on Apr 03, 2008 06:00 AM

Community
.NET
Topics
Rich Client / Desktop
Tags
WPF ,
XAML

Microsoft has released an early draft of the specifications for XAML and WPF under the Microsoft Open Specification Promise. This offers patent protection for implementers against claims by Microsoft, allowing open source projects to use the specifications.

The Microsoft Open Specification Promise essentially says that if Microsoft has a patent on a covered specification, then the patent will never be enforced against any implementation of said specification. They do not however promise to indemnify implementers against non-Microsoft patents.

Microsoft irrevocably promises not to assert any Microsoft Necessary Claims against you for making, using, selling, offering for sale, importing or distributing any implementation to the extent it conforms to a Covered Specification (“Covered Implementation”), subject to the following. This is a personal promise directly from Microsoft to you, and you acknowledge as a condition of benefiting from it that no Microsoft rights are received from suppliers, distributors, or otherwise in connection with this promise. If you file, maintain or voluntarily participate in a patent infringement lawsuit against a Microsoft implementation of such Covered Specification, then this personal promise does not apply with respect to any Covered Implementation of the same Covered Specification made or used by you. To clarify, “Microsoft Necessary Claims” are those claims of Microsoft-owned or Microsoft-controlled patents that are necessary to implement only the required portions of the Covered Specification that are described in detail and not merely referenced in such Specification. “Covered Specifications” are listed below.

This promise is not an assurance either (i) that any of Microsoft’s issued patent claims covers a Covered Implementation or are enforceable or (ii) that a Covered Implementation would not infringe patents or other intellectual property rights of any third party. No other rights except those expressly stated in this promise shall be deemed granted, waived or received by implication, exhaustion, estoppel, or otherwise.

The XAML specifications are divided into two parts. First is the Xaml Object Mapping Specification. This defines the XAML language itself and focuses heavily on parsing. The second specification is the WPF Xaml Vocabulary Specification. This covers the objects found in the Windows Presentation Foundation. Unlike the Object Mapping specification, the Vocabulary specification is more of an outline that a true specification at this stage.

RE: more outline than specification by Rob Relyea Posted Apr 5, 2008 9:54 AM
  1. Back to top

    RE: more outline than specification

    Apr 5, 2008 9:54 AM by Rob Relyea

    Yes, the Vocabulary specification is not yet totally complete...we want feedback on our first published version. It is missing several TextSyntax descriptions. Beyond that, we'd love to understand what else you think is lacking that makes it more of an "outline". Please do understand, it is meant to describe WPF's file format, not WPF in its entirety.

    Please feel free to give any details via comments on this blog post:
    InfoQ: Post about Xaml/WPF Xaml Vocab Specs

    Thanks, Rob Relyea
    Architect, Microsoft, WPF/Xaml Team
    robrelyea.com | /blog | /wpf | /xaml

Educational Content

Bindings, Platforms, and Innovation

This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.

Orchestrating Long Running Activities with JBoss / JBPM

This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.

Neo4j - The Benefits of Graph Databases

This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.

Realistic about Risk: Software development with Real Options

This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.

Communication Flexibility Using Bindings

This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.

Writing DSLs in Groovy

After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.

Scaling Agile with C/ALM (Collaborative Application Lifecycle Management)

IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.

Concurrent Programming with Microsoft F#

Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.