TopCoder's Ira Heffan weighs in on Microsoft's pledge to open its technology.
With a Bachelor of Science in electrical engineering, a Master of Science in computer science and a Stanford law degree, Ira Heffan, the general counsel at TopCoder Inc., has spent his legal career immersed in intellectual property (IP) and open source issues.
Senior Editor Kathleen Richards talked to Heffan to get his legal perspective on a series of important developments impacting the world of IP, including a Feb. 21 Microsoft announcement that it would open access to documentation and key APIs. We asked Heffan what it all might mean for corporate dev shops.
What was your take on Microsoft's announcements?
Big software companies with proprietary models are trying to figure out how to be more open -- how to make it work with their business models. I think this is another example of a company looking at ways that it can be more open and allow more collaboration and interoperability, and at the same time still kind of maintain the intellectual property and business that it wants to.
Critics say this is an attempt to appease regulators and perhaps smooth the way for a Yahoo! takeover.
It's hard to know what their motivation is for doing this. It certainly seems like they've been heading in that direction anyway. In addition to what's going on in the European Union, they're trying to get standardization of their document format at ISO.
How should corporate developers respond to these announcements?
From a legal perspective, Microsoft has announced that they're going to make available information that they didn't make available before. And so having that information can be helpful in making a decision about what technologies you're going to use when you develop applications. In terms of what licensing Microsoft is going to require for these technologies ... that remains to be seen.
In the announcement, Microsoft said it plans to publish which protocols are covered by Microsoft patents. Why is that helpful?
Over time, open source developers have criticized Microsoft for announcing that Microsoft's patents cover certain technologies without being specific about which patents might be implicated. Microsoft has thousands of patents, and so it's very expensive for an open source project to review all of Microsoft's patents to see whether a particular technology might indeed be patented. If Microsoft publishes this information as announced, it will enable everyone to make decisions about whether to adopt a particular technology with knowledge about the extent to which it's covered by Microsoft's patents, and also with information about what Microsoft's 'reasonable and non-discriminatory terms' to use that technology might be.
Ray Ozzie noted that Microsoft's new principles will change how its engineers build their products. What do you think he meant by that?
What we've found in developing software with a community-based model is that there's a lot of value to be gained from increasing the transparency of your organization. By letting customers and developers see inside, they can give you feedback faster, and also are more willing to build on top of your technology. But everyone in the company has to get comfortable with the idea that it's better to have people interacting with, building on and using your technology than to keep it hidden and under strict control.
When Sun was talking about making Solaris open source, it took them a long time to actually release it because they had to go back into their code and make lots of changes so that Sun would feel comfortable making the code publicly available. In addition, they had to clear a lot of their own licensing issues in order to make the code available. So [what] I take from that [is], when a company's starting to become more open they need to change their practices, not only to make the technology itself more open, but [because] their code will be under greater scrutiny.
And on the flip side, how will this "openness" impact the engineering practices of Microsoft's partners and corporate developer community?
I think that having the APIs and the communication protocols be more open will allow more people to build in different and interesting ways on Microsoft technology. As a company that builds apps for other people, it's useful for us if we can deliver a solution to a client that builds on Microsoft technology. So for us, having access to that information would encourage us. We already build on .NET. We do a lot of .NET work. I think we'll continue to do that and will be able to take advantage of these APIs and protocols.
Will it result in more open source developers dabbling in Windows and .NET?
Any final thoughts?
I think so, because it makes it possible for them to plug in to the existing apps, because now all of sudden they're getting the information that tells them how to plug in and connect.
When Microsoft announced the deal with Novell in November 2006, Steve Ballmer said that customers had been telling him that Microsoft needed to find a way to work with open source, because Microsoft's customers 'demand strong interoperability among all their systems.' One could view last week's announcement as part of Microsoft's continued effort to find ways to meet that customer demand, to the extent their business model permits them to. Microsoft appears to be reserving the right to charge for the use of the technology that it's making available, but the availability of that information can only be helpful.
Kathleen Richards is the editor of RedDevNews.com and executive editor of Visual Studio Magazine.