Grab Bag Today - More on Open XML, Iron Projects, IBM's Spec Pledge
A couple of things to pop up on my blog today:
If you look to much earlier blog postings by me, you will see that I was invovled in the process of getting IronPython pulled into the Shared Source program. Jim Hugunin has been a great addition to Microsoft and the dynamic languages team. Their latest cool thing has been the work they are doing on IronRuby which I believe is under the development lead of John Lam at MS. Back in April their work on IronRuby became public at MIX (John's blog entry here), and as of earlier this week, the first code release is available (John's blog entry here, actual code drop here). I don't think it is up at RubyForge yet, but I believe that is their plan. No matter what - this is really cool to see the continued push for dynamic languages support in .NET and the great work with the community that these guys are doing.
Finally, something else that I have been meaning to comment on and have simply been lazy in getting to. Earlier in July, IBM announced its Interoperability Specifications Pledge to some fanfare online. I applaud their move to this newer language and updated list of specifications. People have a very short memory and there were some comments (Matt Asay for example) about how MS should do this too. We have been doing this for the past year - just check out the Open Specification Promise and the dozens of specs listed there. But - far be it for me to claim credit for this as there is a history to the concepts that tracks back to IBM and SUN first. Both of them had released a Covenant Not To Sue for specifications before MS released its OSP. In fact, we read their language very carefully as we approached the drafting of the OSP. The whole point here is to create an environment where a specification may be implemented by anyone, no matter what development model or source code license they may choose. This can happen in such a way that the patents necessary for implementation are a) available for use at no charge and in no conflict with various licensing models, and b) are retained by the rights holder so they may be used in other ways potentially for revenue-generating purposes. The OSP, or CNS, or ISP - all amount to the same conceptual approach which is the idea of enabling implmentations while still respecting IP rights. You should read the language around these things carefully as there are differences. For example, we though it was important that our OSP extend to both full and partial implementations of a spec while IBM limits theirs to only "fully compliant implementions" (check the definitions section at the bottom of the page). I don't believe this means that all specs should automatically move to this model - but it is one more choice in the spectrum of approaches available to all technology firms. In general, this is a really positive thing.