<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
	xmlns:media="http://search.yahoo.com/mrss/"
>

<channel>
	<title>How Software is Built &#187; support</title>
	<atom:link href="http://howsoftwareisbuilt.com/tag/support/feed/" rel="self" type="application/rss+xml" />
	<link>http://howsoftwareisbuilt.com</link>
	<description></description>
	<lastBuildDate>Fri, 25 Jun 2010 19:53:36 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<!-- podcast_generator="podPress/8.8" - maintenance_release="8.8.4" -->
		<copyright>2006-2007 </copyright>
		<managingEditor>scottswigart@technologyevangelism.com (How Software is Built)</managingEditor>
		<webMaster>scottswigart@technologyevangelism.com (How Software is Built)</webMaster>
		<category>posts</category>
		<ttl>1440</ttl>
		<itunes:keywords></itunes:keywords>
		<itunes:subtitle></itunes:subtitle>
		<itunes:summary></itunes:summary>
		<itunes:author>How Software is Built</itunes:author>
		<itunes:category text="Society &amp; Culture"/>
		<itunes:owner>
			<itunes:name>How Software is Built</itunes:name>
			<itunes:email>scottswigart@technologyevangelism.com</itunes:email>
		</itunes:owner>
		<itunes:block>No</itunes:block>
		<itunes:explicit>no</itunes:explicit>
		<itunes:image href="http://howsoftwareisbuilt.com/wp-content/plugins/podpress/images/powered_by_podpress_large.jpg" />
		<image>
			<url>http://howsoftwareisbuilt.com/wp-content/plugins/podpress/images/powered_by_podpress.jpg</url>
			<title>How Software is Built</title>
			<link>http://howsoftwareisbuilt.com</link>
			<width>144</width>
			<height>144</height>
		</image>
		<item>
		<title>Interview with Alexandre Julliard &#8211; Head of the Wine Project / CTO of CodeWeavers</title>
		<link>http://howsoftwareisbuilt.com/2008/09/09/interview-with-alexandre-julliard-head-of-the-wine-project-cto-of-codeweavers/</link>
		<comments>http://howsoftwareisbuilt.com/2008/09/09/interview-with-alexandre-julliard-head-of-the-wine-project-cto-of-codeweavers/#comments</comments>
		<pubDate>Tue, 09 Sep 2008 23:04:47 +0000</pubDate>
		<dc:creator>campsean</dc:creator>
				<category><![CDATA[Sean Campbell]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[Leadership]]></category>
		<category><![CDATA[support]]></category>

		<guid isPermaLink="false">http://howsoftwareisbuilt.com/2008/09/09/interview-with-alexandre-julliard-head-of-the-wine-project-cto-of-codeweavers/</guid>
		<description><![CDATA[Interviewers: Scott Swigart and Sean Campbell
Interviewee: Alexandre Julliard.
In this interview we talk with Alexandre. In specific, we talk about:

Developing an open source project in cadence with Windows
Philosophies about how Linux should reach out to Windows users
The leadership model used in the Wine project and deciding what goes in
Deciding what applications to support and what to [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Interviewers:</strong> <a href="http://howsoftwareisbuilt.com/about-scott-swigart/">Scott Swigart</a> and <a href="http://howsoftwareisbuilt.com/about-sean-campbell/">Sean Campbell</a></p>
<p><strong>Interviewee: </strong><a href="http://howsoftwareisbuilt.com/about-alexandre-julliard-cto-codeweavers/">Alexandre Julliard</a>.</p>
<p>In this interview we talk with Alexandre. In specific, we talk about:</p>
<ul>
<li><a href="http://howsoftwareisbuilt.com/2008/09/09/interview-with-Alexandre-Julliard-Head-of-the-Wine-Project-CTO-of-CodeWeavers#cadence">Developing an open source project in cadence with Windows</a></li>
<li><a href="#http://howsoftwareisbuilt.com/2008/09/09/interview-with-Alexandre-Julliard-Head-of-the-Wine-Project-CTO-of-CodeWeavers#philosophy">Philosophies about how Linux should reach out to Windows users</a></li>
<li><a href="#http://howsoftwareisbuilt.com/2008/09/09/interview-with-Alexandre-Julliard-Head-of-the-Wine-Project-CTO-of-CodeWeavers#leader">The leadership model used in the Wine project and deciding what goes in</a></li>
<li><a href="http://howsoftwareisbuilt.com/2008/09/09/interview-with-Alexandre-Julliard-Head-of-the-Wine-Project-CTO-of-CodeWeavers#deciding">Deciding what applications to support and what to leave out</a></li>
<li><a href="http://howsoftwareisbuilt.com/2008/09/09/interview-with-Alexandre-Julliard-Head-of-the-Wine-Project-CTO-of-CodeWeavers#difficulty">The difficulties of working with the closed Windows API and Wine&#8217;s relationship with Microsoft</a></li>
</ul>
<p><span id="more-181"></span></p>
<p><b>Sean Campbell:</b> To start, please tell us a little bit about your background as it relates to Wine, your role as CTO with Crossover, and that sort of thing.</p>
<p><b>Alexandre Julliard:</b> I&#8217;ve been working on Wine since the beginning of the project, 15 years ago, when I was still a student. For a number of years, I worked on Wine in my spare time, and then in 1999, I joined CodeWeavers to do Wine development full time. I&#8217;ve since become CTO of CodeWeavers where, essentially, all we do is build around Wine.</p>
<p><a name="cadence"></a> </p>
<p><b>Sean:</b> With a project of that longevity, what interesting evolutions have you seen, in areas like a community evolution or a usability evolution?</p>
<p>At the same time, as the Windows platform and the types of applications on it evolves, does that create a race condition of sorts, where you&#8217;re trying to catch up to everything that&#8217;s changing, and at the same time, adding new features to Wine?</p>
<p><b>Alexandre:</b> Yes, mostly the evolution is driven by Microsoft and how Windows is evolving. And clearly, in that time frame, Windows has become much more complex. One of the major transitions we had to make was from 16 bit to 32 bit, which was very hard for Microsoft, and very hard for us, too, as we had, of course, the same problems.</p>
<p>The sheer size of the Windows API is, I would say, the major factor in the evolution of Wine. The first versions were small, self-contained binary code that just provided all the APIs. Then we had to make the code much more modular, to split things up, to define interfaces between the different areas of the code. We also had to start being very serious about regression tests. At the beginning, we were just hacking things until it worked. But, it became clear that it wasn&#8217;t scaling, and that we needed regression tests to be able to nail down the behaviors of the APIs, and make sure that when we add more stuff, we don&#8217;t break the old APIs.</p>
<p>That was a major factor in the evolution of Wine, and the fact that it&#8217;s really becoming stable is because of the huge test suite that we now have.</p>
<p><b>Sean:</b> Given that you have to deal with the potential of really any Windows application running on Wine, you&#8217;ve got a massive set of applications, and I&#8217;m sure, lots of legacy applications that your users hope will still run, in cases where maybe the legacy application isn&#8217;t even really fully supported by Windows anymore.</p>
<p>But before I ask about that, I&#8217;m curious about what you are doing around 64 bit, given that you had a big evolution from 16 to 32. You take somebody who puts 64 bit Vista on their machine, and inevitably, iTunes will only kind of sort of work until they get it working, or there will be some kind of issue with their TiVo software package</p>
<p>Of course, those examples are just consumer grade stuff, but, there are also issues with drivers, with smart cards, and on and on. Have you started to see those issues creep up on the roadmap as something you&#8217;ll have to address? Or, is that just far enough out from your perspective that it&#8217;s still predominantly a 32 bit world?</p>
<p><b>Alexandre:</b> Well, it&#8217;s clearly on the roadmap, but it&#8217;s not something we&#8217;ve had a problem with yet. There are simply no 64 bit applications that anybody wants to run that don&#8217;t have a 32 bit version. We don&#8217;t run drivers, so we don&#8217;t have the problem of the kernel being 64 bit. That&#8217;s not an issue for us; it&#8217;s just the applications.</p>
<p><b>Sean:</b> That makes sense. Let&#8217;s talk a little bit about the QA process, then. Can you give us a sense of how many people are on the QA team? What&#8217;s the method of doing QA? How much user involvement versus core members from Crossover are involved in supporting Wine? Your relationship to Crossover and Wine seems a little bit analogous to the way Canonical is to Ubuntu, but maybe that&#8217;s a mischaracterization.</p>
<p><b>Alexandre:</b> The relationship of CodeWeavers to Wine is maybe more like Red Hat to Linux, in the sense that we&#8217;re one of the contributors, but we don&#8217;t direct anything in the project. Obviously, I&#8217;m personally directing things in the project, but CodeWeavers doesn&#8217;t have a word in my choices with Wine maintenance.</p>
<p><b>Sean:</b> That&#8217;s a good clarification.</p>
<p><b>Alexandre:</b> As far as QA, we have several approaches. At the start, in Wine itself, we have a regression test suite, which basically performs unit tests of very specific Windows APIs. We test them one by one, call them with all sorts of parameters and test the return values and all the parts of the behavior of a single API. It is purely automated, so it is run after each change.</p>
<p>We also have higher level application level tests, and we do some of that at CodeWeavers. We have a team of three or four people who test the applications. We also have automated mechanisms, based on a tool called CXTest, which has been written by CodeWeavers specifically for Wine testing. For instance, it lets us  run application installations in a fully automated way.</p>
<p>And then, we also rely simply on bug reports from the community. We have an application database on the Wine website where people can report what works, what doesn&#8217;t, and a public bug tracking system. We try to leverage the power of open source where all of these people are willing to help and everybody tests a different application and reports problems.</p>
<p><a name="philosophy"></a> </p>
<p><b>Scott Swigart:</b> Linux is obviously becoming more popular, specifically on the desktop, which certainly must be good for you guys because of things like the ASUS netbook. It seems like there&#8217;s more demand for Linux desktops than ever. Certainly the vast majority of people are running Windows, but Linux is starting to penetrate into mainstream thinking.</p>
<p>I encounter two predominate thoughts. One is that we should make Linux as much like Windows as we can, because that&#8217;ll make it very easy for people to move from Windows over to Linux, and that&#8217;s the ultimate goal.</p>
<p>It seems like you guys are aligned with that school of thought. Wine and CodeWeavers exist because they recognize that some people are just going to have to run Windows apps as part of what they do, either at work or at home. Office is probably the most the common one that people want to run.</p>
<p>But there&#8217;s another camp that says, &#8220;The problem is Windows. We&#8217;re not going to solve it by making Linux more like Windows, and we shouldn&#8217;t we even go down that path.&#8221;</p>
<p>Do you ever encounter that point of view? What is your response to the idea that making Linux like Windows is a problem, rather than a solution?</p>
<p><b>Alexandre:</b> It&#8217;s certainly something we hear a lot. Many people don&#8217;t like Wine because of that, because they think that Linux should get its own applications rather than using the Windows ones. I think that, with the number of Windows applications out there, it&#8217;s simply not realistic to hope that all of them could be brought to Linux right away.</p>
<p>The motivation for Wine has always been to make a transition possible. And once enough people get on the Linux desktop, then you create the demand for real Linux applications. I certainly agree that the goal shouldn&#8217;t be to make Linux just like Windows; there&#8217;s no point. Linux is different and should remain different, but there needs to be a way to enable people to switch, and that&#8217;s where we come in.</p>
<p><a name="leader"></a> </p>
<p><b>Sean:</b> In a different area, you&#8217;ve been leading the Wine project for a long time&#8211;what has that position of leadership been like? In a lot of open projects, you see a certain amount of churn at the leadership level, or you see the project evolve into something else, which causes the leadership team to change. But you&#8217;ve had a very steady focus for a long time leading this community.</p>
<p>What kind of leadership style have you taken with the Wine community? Is it the benevolent dictator? Is it a very community-oriented decision making process? Give us a sense of what decision making looks like in the Wine community. Is it top down or bottom up driven? Because every community we&#8217;ve talked to about open search projects seems to be just a little bit different.</p>
<p><b>Alexandre:</b> Well, it is clearly the dictator model.</p>
<p><b>Sean:</b> [laughs]</p>
<p><b>Alexandre:</b> I&#8217;m really making the decisions, and I think part of the reason people accept my decisions is because I&#8217;ve been around for so long. And I&#8217;m the only one who&#8217;s been around since the beginning, so I have an overview of the project that nobody else has.</p>
<p>I&#8217;m a big fan of the dictator model, not just because I&#8217;m the dictator in this case, but because I think it&#8217;s really the most efficient. It cuts down on discussions, on politics, on all that stuff that can cause a project to lose a lot of time and cause trouble between developers. I think it&#8217;s good to have a very clear way of making decisions and not to lose time over decisions, even if they may not always be correct.</p>
<p><b>Sean:</b> That totally resonates with my entrepreneurial experience. Sometimes it&#8217;s better to make the decision that&#8217;s 85% right if you can evolve it later. You&#8217;ll at least have made a decision as opposed to just getting deadlocked and not making anything at all, especially if you can do 85% goodness while you&#8217;re waiting to fix the 15%.</p>
<p>On a different topic, what was the rationale behind the versioning scheme for Wine? Obviously, the project was in use for an extended period of time before it hit &#8220;version 1.0.&#8221; But yet, after some years of development, you felt it was time to go to 1.0. </p>
<p><b>Alexandre:</b> The idea was to provide something that people can really use. Given the size of the Windows API, it just doesn&#8217;t make sense to release something like this only half implemented, because nothing works. Most applications really require large percentages of APIs to actually be working, so that&#8217;s why we didn&#8217;t want to create false hopes and release something that wouldn&#8217;t support anything beyond Solitaire.</p>
<p><b>Sean:</b> So what led you to finally decide you&#8217;d reached the 1.0 milestone? Was is just that you felt you had covered enough of the Windows API, or was there some other instigator?</p>
<p><b>Alexandre:</b> One part of it was support for enough applications that people find interesting today, which are not the same that people found interesting five years ago. There were also some questions of internal design and a number of things we wanted to clean up to make sure that we can grow from here without needing to re-architect things and break compatibility and things like that. So, we wanted to make sure that 1.0 was a good foundation for the future.</p>
<p><b>Sean:</b> Tell me a little bit about the process of getting an application &#8220;supported,&#8221; although I realize that&#8217;s kind of a gray issue because certain things will work and certain things won&#8217;t? What&#8217;s the process around filtering out, &#8220;Well, that&#8217;s somebody&#8217;s pet application, but we don&#8217;t really feel a lot of people use it?&#8221;</p>
<p>Is that a fairly subjective judgment on your part? There are things like Office that are fairly easy to establish that everybody uses. But, there&#8217;s probably that second tier or third tier of applications that I imagine it&#8217;s a little hard to decide about, especially if it&#8217;s a vocal sub group that wants it supported.</p>
<p>Where do you draw the line between the core things you&#8217;re going to support and the things that you push off to the community?</p>
<p><b>Alexandre:</b> Clearly, we need to go where the market goes and try to figure out what applications people want. But in general, it&#8217;s very hard to say, &#8220;I have this application and I want to make it work.&#8221; What we usually end up doing is to fix bugs all over the place, and then we look at 10 applications and we find out that three of them work and we decide that we aren&#8217;t going to support the others for now. </p>
<p>It&#8217;s really more reasoned by how well an application is already working than by a conscious decision of concentrating on one application instead of another one.</p>
<p><b>Sean:</b> It sounds like sort of a mixture where there are certain things that you obviously want to work on, as well as other things where the decision is made by the amount of friction it takes to get it working and the amount of work you have to go through.</p>
<p><b>Alexandre:</b> Yes. And the process of getting an application to work is fairly slow, so we depend a lot on the community and on people spending the time to make their favorite application work. Once they do that, it becomes an application that we support. And it is sometimes the case that one developer is the only one in the world who cares about this application, but that&#8217;s really enough to make it work and support it.</p>
<p><a name="deciding"></a> </p>
<p><b>Scott:</b> Talk a little bit about what some of the most important applications are. From my perspective, on the outside, it seems like Photoshop is something that comes up a lot, and both the older version and the current version of Office seem to be really high priorities for people. What do you see as the top five applications that everybody wants to run?</p>
<p><b>Alexandre:</b> Office is clearly one of the major ones, though it has changed a bit. A few years ago, there was no discussion, everybody wanted Microsoft Office, and today, it&#8217;s a bit less so. People are happy with OpenOffice, and there is less pressure on Wine to support Microsoft Office. Photoshop is in high demand, as is Outlook (more so than Office as a whole), and games are fairly big too.</p>
<p><b>Scott:</b> I noticed that there is a Crossover product specifically for games.</p>
<p><b>Alexandre:</b> Yes, that&#8217;s fairly recent actually. We noticed that running their favorite games was something that people really wanted to do with Wine, and it turns out that most games are fairly easy to support, compared to something like Office. The range of APIs that games use is much smaller.</p>
<p><b>Scott:</b> Outside of the 16 to 32 bit change, what was one of the hardest changes you had to go through?</p>
<p>Have you had the experience of waking up one morning to realize that Microsoft has released some update to &#8220;X&#8221; product, or a Service Pack, or a particular OS change that was particularly more painful? Can you describe for us one of the more challenging engineering things that you had to deal with as Windows was evolving?</p>
<p><b>Alexandre:</b> The truth is that Microsoft cannot change things easily, because they are a slave to compatibility just as we are. We typically don&#8217;t suddenly find out that we need to support something that we hadn&#8217;t planned for. </p>
<p>The most problematic thing for us recently is that applications are starting to depend on features that are only present in recent Windows versions. For a long time, you couldn&#8217;t release a Windows application if it didn&#8217;t run on Windows 95. So we had Windows 95 compatibility and everything was fine. Now there are more and more applications that don&#8217;t bother with 95 compatibility, so we find that a lot of the architecture that was good enough for 95 support is not good enough for XP.</p>
<p><b>Sean:</b> What do you think about the VMware Fusion and Parallels coherence and unity features, since this is starting to blur that line of what OS you&#8217;re running? People are starting to see the option, for example, of running XP on a virtual machine under Linux, and that&#8217;s where you load your Windows only apps. </p>
<p>What&#8217;s your opinion about actually running the app on Windows through something like Wine or Crossover versus using a virtual machine where your Windows apps go, even though you&#8217;re living in your Linux partition most of the time?</p>
<p><b>Alexandre:</b> There are different aspects to that scenario. Clearly, no matter how much effort VMware and the others make, they cannot get the level of integration that we can achieve with Wine, where the applications can integrate with the Linux applications in all sorts of ways.</p>
<p>The other thing is that with Wine, you don&#8217;t need a Windows license, and you can be completely independent of Microsoft if that&#8217;s what you want. That&#8217;s something you will never get with VMware.</p>
<p><b>Scott:</b> At the technical level, as you&#8217;re working to support an application, I&#8217;m guessing that you guys have implemented a large set of Win 32 APIs, so you start running the applications and see what does and doesn&#8217;t work, right?</p>
<p>How do you trace that, as an application&#8217;s running? What are some of the tools or diagnostics or whatever you use to figure out where it broke? Maybe it&#8217;s because the application hit an API that you haven&#8217;t implemented, or it hit an API that you&#8217;ve implemented, but it&#8217;s not 100% compatible. Talk a little bit about how that works.</p>
<p><b>Alexandre:</b> The main difficulty we face when we run an application that doesn&#8217;t work is to find out why. We have some mechanisms, we have a lot of traces in the code. In particular, we have a way of tracing every single call that the application makes to the Windows APIs. We have an integrated Wine debugger in case of a crash and things like that.</p>
<p>Really, what it boils down to is, you look at the traces and you try to spot in the trace something that doesn&#8217;t look right. That&#8217;s pretty hard. You need a lot of experience to be able to find those needles in the haystack.</p>
<p>Once you have found something that doesn&#8217;t behave quite right, usually it&#8217;s trivial to fix. You just write a test case, see how it&#8217;s supposed to behave under Windows, and change the implementation. That&#8217;s really the easy part.</p>
<p><a name="difficulty"></a> </p>
<p><b>Scott:</b> I guess that since you&#8217;ve always got the Windows API as a reference, it&#8217;s no mystery.</p>
<p><b>Alexandre:</b> Actually, the Windows API is a mystery and that&#8217;s why you have to run all of these tests.</p>
<p><b>Scott:</b> [laughs] Right.</p>
<p><b>Alexandre:</b> And it&#8217;s the same way with documentation, it’s very incomplete, so the tests are the only way of finding out how it&#8217;s supposed to behave.</p>
<p><b>Scott:</b> What kinds of interesting or surprising things have you learned about the Windows API? In some ways, you looked closer at the Windows APIs than just about any programmer who builds applications for Windows. As you have looked at it from your unique perspective, what&#8217;s been interesting or surprising about the Windows APIs themselves?</p>
<p><b>Alexandre:</b> Well, I don&#8217;t know if it&#8217;s surprising, but the bad quality of the API is clearly the thing we take from that. Most APIs are buggy or don&#8217;t behave as recommended or just have some have corner cases that get triggered by some applications that nobody knows about, probably not even Microsoft.</p>
<p>People just write code and try it on Windows, and it works, and they don&#8217;t know why. Likewise, nobody knows why it doesn&#8217;t work on Wine, so we have to figure out why the code works on Windows. We actually find a lot of bugs in applications. Wine is a great debugging tool for applications.</p>
<p><b>Scott:</b> [laughs]</p>
<p><b>Alexandre:</b> The thing is that the Windows API actually goes to a lot of effort to hide the bugs. Whenever the application does something incorrectly, the Windows API tries to hide it instead of crashing or showing an error.</p>
<p>It&#8217;s good in a way that it doesn&#8217;t crash, of course, but it also prevents people from debugging their applications. So, we find a lot of bugs that if the Windows API were a bit more straightforward in what it accepts, the bugs wouldn&#8217;t have made it into the applications.</p>
<p><b>Sean:</b> Have you seen any kind of evolutions over time, whether positive or negative? Have you seen evolutions in the API in terms of quality, or do you feel like you could sometimes get a sense of which way the wind is blowing with the Microsoft development process internally just by where you see them put emphasis on the API from release to release or service pack to service pack?</p>
<p><b>Alexandre:</b> Yes. In the recent API, they have clearly made an effort to try to avoid security issues like buffer overflow and things like that. That&#8217;s clearly something they are now adding to the new API that they never cared about before.</p>
<p>Lately it seems they are more trying to spot bugs early and to crash when something is incorrect, instead of just hiding the bug. That’s definitely a positive evolution.</p>
<p><b>Scott:</b> Have you seen Microsoft&#8217;s relationship to your project change at all over the years? I don&#8217;t think it&#8217;s any secret that Microsoft views Linux as a competitor, so they&#8217;re not really out to make stuff run better on Linux. What&#8217;s been your relationship, if any, to Microsoft, either as a company or individually&#8211;has anybody been at all supportive of the work that you&#8217;re doing?</p>
<p><b>Alexandre:</b> Actually, we&#8217;ve not had any contact with Microsoft at all. We know that they are very aware of Wine, and they watch what we&#8217;re doing very closely, but we&#8217;ve never had any kind of official contact, either support or threats or anything. They just don&#8217;t talk to us.</p>
<p><b>Scott:</b> They have just completely left you alone? They never sent the lawyers, but they never sent tech people to help you out either?</p>
<p><b>Alexandre:</b> No.</p>
<p><b>Sean:</b> We&#8217;ve reached the end of our time, but I wanted to thank you for taking the time to talk with us today.</p>
<p><b>Alexandre:</b> OK. Thanks.</p>
<img src="http://howsoftwareisbuilt.com/?ak_action=api_record_view&id=181&type=feed" alt="" /><!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark this:</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://howsoftwareisbuilt.com/2008/09/09/interview-with-alexandre-julliard-head-of-the-wine-project-cto-of-codeweavers/&amp;title=Interview+with+Alexandre+Julliard+%26%238211%3B+Head+of+the+Wine+Project+%2F+CTO+of+CodeWeavers" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://howsoftwareisbuilt.com/2008/09/09/interview-with-alexandre-julliard-head-of-the-wine-project-cto-of-codeweavers/&amp;title=Interview+with+Alexandre+Julliard+%26%238211%3B+Head+of+the+Wine+Project+%2F+CTO+of+CodeWeavers" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http://howsoftwareisbuilt.com/2008/09/09/interview-with-alexandre-julliard-head-of-the-wine-project-cto-of-codeweavers/" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://howsoftwareisbuilt.com/2008/09/09/interview-with-alexandre-julliard-head-of-the-wine-project-cto-of-codeweavers/&amp;title=Interview+with+Alexandre+Julliard+%26%238211%3B+Head+of+the+Wine+Project+%2F+CTO+of+CodeWeavers" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit.php?url=http://howsoftwareisbuilt.com/2008/09/09/interview-with-alexandre-julliard-head-of-the-wine-project-cto-of-codeweavers/&amp;title=Interview+with+Alexandre+Julliard+%26%238211%3B+Head+of+the+Wine+Project+%2F+CTO+of+CodeWeavers" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.sphere.com/sphereit/http://howsoftwareisbuilt.com/2008/09/09/interview-with-alexandre-julliard-head-of-the-wine-project-cto-of-codeweavers/" rel="nofollow" title="Add to&nbsp;SphereIt"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/sphereit.png" title="Add to&nbsp;SphereIt" alt="Add to&nbsp;SphereIt" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+Interview+with+Alexandre+Julliard+%26%238211%3B+Head+of+the+Wine+Project+%2F+CTO+of+CodeWeavers+@+http://howsoftwareisbuilt.com/2008/09/09/interview-with-alexandre-julliard-head-of-the-wine-project-cto-of-codeweavers/" rel="nofollow" title="Add to&nbsp;Twitter"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&nbsp;Twitter" alt="Add to&nbsp;Twitter" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://howsoftwareisbuilt.com/2008/09/09/interview-with-alexandre-julliard-head-of-the-wine-project-cto-of-codeweavers/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Interview with Leon Shklar &#8211; EVP &#8211; Media Technology &#8211; Reuters</title>
		<link>http://howsoftwareisbuilt.com/2008/04/26/interview-with-leon-shklar-evp-media-technology-reuters/</link>
		<comments>http://howsoftwareisbuilt.com/2008/04/26/interview-with-leon-shklar-evp-media-technology-reuters/#comments</comments>
		<pubDate>Sat, 26 Apr 2008 00:05:14 +0000</pubDate>
		<dc:creator>campsean</dc:creator>
				<category><![CDATA[Sean Campbell]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[source code]]></category>
		<category><![CDATA[support]]></category>

		<guid isPermaLink="false">http://howsoftwareisbuilt.com/2008/04/26/interview-with-leon-shklar-evp-media-technology-reuters/</guid>
		<description><![CDATA[Interviewers: Scott Swigart and Sean Campbell
Interviewee: Leon Shklar
In this interview we talk with Leon Shklar &#8211; EVP of Media Technology for Reuters. In specific, we talk about:

Moving Reuters.com to an open source stack
Choosing and supporting open source software
Making code changes to open source packages
Licenses and governance in open source projects
The perception and reality of open [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Interviewers:</strong> <a href="http://howsoftwareisbuilt.com/about-scott-swigart/">Scott Swigart</a> and <a href="http://howsoftwareisbuilt.com/about-sean-campbell/">Sean Campbell</a></p>
<p><strong>Interviewee: </strong><a href="http://howsoftwareisbuilt.com/about-leon-shklar-evp-technology-reuters/">Leon Shklar</a></p>
<p>In this interview we talk with Leon Shklar &#8211; EVP of Media Technology for Reuters. In specific, we talk about:</p>
<ul>
<li><a href="http://howsoftwareisbuilt.com/2008/04/26/interview-with-leon-shklar-evp-media-technology-reuters#moving">Moving Reuters.com to an open source stack</a></li>
<li><a href="http://howsoftwareisbuilt.com/2008/04/26/interview-with-leon-shklar-evp-media-technology-reuters#choosing">Choosing and supporting open source software</a></li>
<li><a href="http://howsoftwareisbuilt.com/2008/04/26/interview-with-leon-shklar-evp-media-technology-reuters#changes">Making code changes to open source packages</a></li>
<li><a href="http://howsoftwareisbuilt.com/2008/04/26/interview-with-leon-shklar-evp-media-technology-reuters#licenses">Licenses and governance in open source projects</a></li>
<li><a href="http://howsoftwareisbuilt.com/2008/04/26/interview-with-leon-shklar-evp-media-technology-reuters#perception">The perception and reality of open source companies</a></li>
</ul>
<p><span id="more-151"></span><br />
<b>Sean Campbell:</b> Leon, could you introduce yourself?</p>
<p><b>Leon Shklar:</b> Sure. I am EVP of Technology for the Media division of Reuters (now Thomson-Reuters Markets).  </p>
<p>I hold a PhD in Computer Science from Rutgers, and I have been doing some part time teaching there as well. That came in handy in team building – the team includes some of the former Rutgers students and other people working together through a couple of startups and other jobs. </p>
<p>I have been at Reuters for a little over two years. Prior to that, I was responsible for the technology side of the Wall Street Journal Online. I am pretty proud of what our team accomplished both at WSJ.com and here at Reuters so far.</p>
<p>To wrap up on the history, I worked for Belcore from 1990 to 1996. Before that, I worked with a small software company, called Computer Corporation of America, which made DBMSs for IBM mainframes.</p>
<p>In 1996, I took the plunge into the world of startups. We started a small company in &#8216;96, and then it got acquired in &#8216;99. Then everything went up in 2000 and came crashing down in 2001. When things started going south, I joined Dow Jones, and was responsible for the Wall Street Journal Online, from summer 2002 to spring 2006, which is when I went to Reuters.</p>
<p>On a related subject&#8211;with a friend who worked with me together in a couple of jobs, we wrote a book on Web Applications Architecture that came out in its first edition in 2003, by Wiley. The second edition is supposed to come out later this year. </p>
<p><b>Sean:</b> It looks like it has some really good reviews. Scott and I have actually been lead authors on three technical books too. The joke my CTO gave me once was that &#8220;All authors like the act of having written. The act of writing, though, they are not so sure about.&#8221;  I&#8217;d have to say I agree with that.</p>
<p>Tell me a little bit about the technology stack that Reuters sits on, in terms of how you guys use open source, what are the major products, and how that underpins the organization. </p>
<p><a name="moving"></a></p>
<p><b>Leon:</b> The responsibility of our team includes both consumer web sites and business-to-business media products. The former include the family of Reuters.com web sites–eighteen of them to be precise, for different countries and regions. The latter include text, pictures, and video products distributed over the Internet and via satellite. Overall, quite a mix of current and legacy systems, and not all of them are compatible. Our team is on a mission to bring all of media systems to a common platform.</p>
<p>Over the last two years, we migrated Reuters.com sites from Microsoft .NET technologies to the open source stack. There is some similarity in what we have done back at Wall Street Journal Online and here. When I started at Wall Street Journal Online, there were a bunch of disjointed pieces. The site itself was based on Vignette, there were some scripts, and there was a pretty big buy-in on the company side into Solaris and Sun and commercial tools. The company already had licenses for WebSphere and Oracle, which of course are pretty expensive.</p>
<p>I don&#8217;t think the open source components were as robust in 2002 as they are today, and the migration there was away from Vignette, heterogeneous scripts, and all kinds of obsolete CGIs and stuff like that, to a cohesive platform based on the Oracle tier, WebSphere, and a bunch of applications built on top of that.</p>
<p>The OS platform was Solaris. It wasn&#8217;t a cheap environment to run, because Solaris systems weren&#8217;t cheap. The Oracle licenses and WebSphere licenses are not cheap either, in terms of maintenance and upgrades. But we ultimately got the system to be pretty solid, by the time I left in 2006.</p>
<p>When I interviewed for the job at Reuters, the main question that I was asked, well, can you fix the site? It is not standing up. </p>
<p><b>Sean:</b> Tell us a little bit about that. Was the issue page load times, or that users felt the site wasn&#8217;t responsive; what was the real issue? </p>
<p><b>Leon:</b> It was a combination of problems. Response time was not very good, and the site wasn&#8217;t able to sustain the load at peak times. The other problem was that the implementation of changes was very slow.</p>
<p>The site was implemented as one big blob. To make even small changes, you pretty much needed to deploy the whole code-base. </p>
<p>That was a very difficult thing indeed. I am not religious about open source versus Microsoft, but one thing that&#8217;s true is that the bar for doing good work with open source is much higher. You need much better people. To build simple things with .NET is pretty straightforward. So you may have lower average technical levels on the team, when the requirement is just to write to code according to a functional spec. My personal feeling is that .NET by its nature is too permissive to bad coding practices. </p>
<p><b>Sean:</b> Where do you feel .NET is too permissive in terms of coding practices, by comparison to open source? </p>
<p><b>Leon:</b> Ultimately, all the door-opening in .NET is done through tools. There is not reasoning from first principles. You write functional code in tools and it gets compiled and then it all theoretically comes together. .NET is designed to do things for you, and that is a perfectly good thing when you&#8217;re building simple web sites. </p>
<p>It becomes not necessarily such a good thing when you&#8217;re building complex and scalable applications. By the way, that&#8217;s part of the reason why .NET is so successful&#8211;80% of sites are rather simple, and they don&#8217;t have an incredible requirement in terms of performance flow and even the frequency of changes. So for those, it&#8217;s perfectly good.</p>
<p>It&#8217;s not a very high bar that you need to pass in order to be able to write code for .NET. And it&#8217;s much easier to hire people, which means the team is not as expensive.</p>
<p>All that&#8217;s fine&#8211;it&#8217;s just when you get to something like 10-20% of the general population of sites, that you start running into real challenges in using .NET. I&#8217;m convinced that you can write good software in anything, and I expect that the implementation of MSN.com, for example, is done well (though you never know). I would guess that the people who are doing it have good expertise and knowledge of that technology.</p>
<p>Unfortunately, that is more of an exception rather than the rule. On average, the expertise level of .NET web development teams I&#8217;ve seen is considerably lower than the expertise of open source teams. With open source, you have a big challenge in building a really strong team. The advantage is that you have full control over the platform that you&#8217;re building, and ultimately, when you have a problem, you can reason from first principles.</p>
<p>I have seen the best .NET sites with very annoying intermittent errors in them, and nobody knows how to find them. The reason for that is, if the tools do help, there is not much you can do. It&#8217;s very difficult to look at elements of the code; it&#8217;s very difficult to trace HTTP messages through and to figure out, &#8220;Well, it&#8217;s this missing header that&#8217;s really causing this strange behavior.&#8221; </p>
<p><a name="choosing"></a></p>
<p><b>Scott Swigart:</b> Talk a little bit about the infrastructure that you guys are built on now. Are you on sort of a LAMP stack? </p>
<p><b>Leon:</b> It&#8217;s LAMJ. </p>
<p><b>Scott:</b> So it&#8217;s Java instead of PHP or Perl. </p>
<p><b>Leon:</b> Right. We have Linux boxes with Apache fronting Tomcat. The backend is MySQL with master-slave replication.</p>
<p>We have a number of application components that we built on top Struts. Of course, we built our own platform with our own application components, but we tried our best not to reinvent the wheel. </p>
<p>The content management system is something we had a lot of pain and discussion over two years ago, but we were not able to find the one that everyone liked. I&#8217;ve seen a number of commercial products, and generally, the problem with them is that the amount of effort to customize and support them is close to that of building your own. </p>
<p>Drupal was not there yet, and we ended up building a content management system, which is specialized to support our custom applications. Because it is specialized, it doesn&#8217;t pretend to be generic, and users are quite happy with it. </p>
<p><b>Scott:</b> Mark Frons expressed the same kind of thing&#8211;he sees that as an area that&#8217;s ripe for some open source project to coalesce around, because right now everybody seems to be building their own CMS to some degree. </p>
<p><b>Leon:</b> That&#8217;s true, and there are not very good commercial products either, that I know of. Vignette was trying to build a content management system; I don&#8217;t think they succeeded. There are a bunch of other companies like Documentum and Interwoven that have content management systems. They&#8217;re very generic, and they don&#8217;t appear to be very robust in what we need.</p>
<p>So what ends up happening is that if you use one of those, the effort involved in installing, supporting, and customizing it is as high (or higher) as the effort for building a very custom system of your own. </p>
<p><b>Scott:</b> In terms of the stack that you&#8217;re built on top of&#8211;MySQL and Linux and things like that&#8211;do you rely on your own expertise and the community and things like that for support and figuring out problems? Do you get support from a vendor?</p>
<p><b>Leon:</b> I would say that 95% of the time we rely on our own expertise and we rely on the information that&#8217;s available in the community. When we were first deploying MySQL, we didn&#8217;t have enough expertise, so we had to get help from MySQL. All the tuning they did for us was very, very useful.</p>
<p>We have a support agreement through UNISYS that covers MySQL, Apache, and Tomcat. We almost never contact them with questions regarding Tomcat, Apache, or MySQL, but when we need it, we have this backup. </p>
<p><b>Scott:</b> One aspect of the value from their acquisition by Sun that MySQL talked about was that they had been looking at doing an IPO in a fairly turbulent market. And with Sun, they felt that Fortune 500s would feel safer about using MySQL if it is backed by another Fortune 500. I would be interested to get your take on that, as a MySQL customer with long-term involvement with open source products.</p>
<p><b>Leon:</b> I am not necessarily excited about it. This is conjecture, but when I heard about Sun acquiring MySQL, it didn&#8217;t make sense at first. The only context in which it does makes sense is that Sun starts distributing MySQL with Solaris, because Sun is trying to gain acceptance for Solaris, as an alternative to Linux. </p>
<p>My concern with that, and one of the reasons we went with Linux to begin with, is that the open source tools are built for Linux first, and only then ported to Solaris. </p>
<p><b>Sean:</b> It&#8217;s the LAMP stack, not the SAMP stack. </p>
<p><b>Leon:</b> Exactly. So if MySQL is going to become part of the SAMP stack, sooner or later they are going to start doing development on Solaris and porting it to Linux. </p>
<p><a name="changes"></a></p>
<p><b>Sean:</b> Some people say, &#8220;Hey, the great thing about Linux, and Apache, and a lot of these kinds of things are that they are open source, so if I really run into a problem, I can get into the code and fix it.&#8221;</p>
<p>But other people say, &#8220;Well, I have no interest in doing that. I don&#8217;t want to run my own private fork of Linux or Apache. I use those as a product. There is value in the fact that they were built using an open source methodology, but they are not something that I am going to really go in and muck with.&#8221;</p>
<p>What&#8217;s your take on all of that? </p>
<p><b>Leon:</b> It is not a good thing to create your own branch of an open source product. That said, if we are in a critical situation, it&#8217;s not completely out of the question to go into the code and put a fix in, and then submit it, and make it part of the community so that it goes into the next release. Ultimately, when the next release becomes available, you replace this little emergency fix that you made.</p>
<p>But going into the code is the last resort, and you would only do that if there is no other way. We have people that know (or can analyze) the code for open source products pretty well. At the same time, we do have support agreements with Unisys and MySQL, and we would rather they did that, if deemed necessary. </p>
<p>If need be, we can work with them to figure out what the problem is, and try to come up with some temporary fix or workaround. It is clearly not a sustainable scenario to constantly make changes to open source components. To be specific, making changes to Apache, Tomcat or MySQL code is not a good idea, except as a short-term measure. </p>
<p><b>Sean:</b> It sounds like, in a practical sense, those situations just don&#8217;t really come up very often. The products that you are building on are mature, and you are not doing such exotic stuff that you are taking them into a use case where they have never been used before.</p>
<p><b>Leon:</b> We try not to. These are fairly sophisticated products. When we first deployed our system, we ran into the kinds of bugs that required people to go into the code. Not to make a change, but to understand the code and to find a workaround.</p>
<p>Most of the time, if you have an exotic error, you don&#8217;t have to fix the code. Once you understand the implications, you probably can come up with a workaround. </p>
<p><b>Sean:</b> So you are talking about having a really high bar for your staff, if people have to be able to trace into the code of the web server, and things like that. But on the other hand&#8211;like you said&#8211;the scale of the stuff that you guys are doing is way outside of that 80% kind of case for web sites. </p>
<p><b>Leon:</b> Yes, it is. And let me put it this way. I don&#8217;t remember a scenario where we actually had to change Tomcat code. We never changed the base Apache code either, but then there are plug-ins that are distributed with Apache. We did change those, even the ones that are considered part of the standard distribution.</p>
<p><b>Sean:</b> I suppose that the plug-ins are a little more special purpose than the core web server, and they are not necessarily used by everyone the same way. </p>
<p><b>Leon:</b> I would also say that they are not as mature, because not so many people are using them. The number of people using Apache is enormous; the number of people using a particular plug-in can be two orders of magnitude lower. </p>
<p><b>Sean:</b> Many times, people are using a lot of open source stuff around the LAMP stack, like components, unit testing tools, automated build systems, and libraries. </p>
<p><b>Leon:</b> We use that as well&#8211;we use Subversion as the versioning system, we used Maven, and we used to use Ant. That&#8217;s pretty much the primary environment. </p>
<p><a name="licenses"></a></p>
<p><b>Sean:</b> How do you evaluate which open source projects to bet on? If you just go to SourceForge, there is a lot of stuff there, some of which is kind of abandon-ware, whereas some is very actively maintained and being worked on. </p>
<p><b>Leon:</b> You try not to use the libraries that don&#8217;t have a lot of activity around them. You also need to look very carefully at their license; you don&#8217;t want to use a viral license. </p>
<p>There are a couple of different licenses, as I am sure you know, for open source. One type lets you do whatever you want. Another type lets you do whatever you want, but you can&#8217;t resell it. Then there are a number of really bad licenses, where you use the code as you wish, but all the code that you write becomes open source.</p>
<p>And those, we don&#8217;t want to use. </p>
<p><b>Sean:</b> We had an interesting conversation with the president of the Apache Foundation, and he talked about some of their tenets. One of them is that any Apache project has to have maintainers from at least three different companies, so that no one company can force the direction of the project a certain way.</p>
<p>Which is a little different from how MySQL works, or a lot of the Sun stuff works, where it&#8217;s very much corporate governance versus community governance.</p>
<p>The other thing that he talked about was that they strive for a very commercial-friendly license, where you can embed stuff with the Apache license in commercial software and you&#8217;re not required to open source your derivative works. </p>
<p><b>Leon:</b> That&#8217;s critical.</p>
<p><b>Scott:</b> On one hand, you&#8217;ve got open source, and then a sub-community of that is the Free Software Foundation, which is very much ideologically oriented around the idea that &#8220;the world would be a better place if everybody released their source code for everything.&#8221; </p>
<p><b>Leon:</b> I don&#8217;t buy into that. I&#8217;m very much in favor of the commercial model, and I guess my conviction is very close to that of MySQL, because they do derive commercial benefit from open sourcing their code. They made a conscious decision; and they&#8217;ve got many people in the community contributing to the evolution of their code. At the same time, they obviously invested a lot of money.</p>
<p>In the end, their revenue is not coming from licensing&#8211;it&#8217;s coming from services, and they&#8217;re the primary experts on the database. Consequently, they have the ability to charge premium money for those services. I&#8217;m totally in favor of this sort of approach to open source where software is a commodity, and you get interested parties to contribute to its evolution. </p>
<p><b>Scott:</b> On the closed source side, if you&#8217;re using Microsoft stuff or VMWare stuff or stuff from Adobe or whoever, do you feel like you feel like you have to look at the EULAs to the same degree? </p>
<p><b>Leon:</b> With open source, you do have to pay more attention to the licensing. With commercial software, generally I haven&#8217;t found it to be a problem.</p>
<p>As a side issue, open source and closed source are not born equal. I wouldn&#8217;t use an open source component in a Microsoft environment. If I were forced to use a Microsoft environment, I would probably get a commercial database. If I had to build a system on the Microsoft OS, I would use SQL Server. I would not use one of open source projects, because I don&#8217;t feel they&#8217;re robust enough. There are not enough acceptances. There is not enough power and attention from the community. It&#8217;s very, very limited. </p>
<p>I would rather not run MySQL on Windows in production. I would most definitely not run one of those open source databases built for Windows, which are not MySQL. I don&#8217;t want to name them, but there are a number of them that were built for Windows and are considered open source projects, and they&#8217;re not so good. </p>
<p><b>Scott:</b> For open source that only runs on Windows, the community is probably a magnitude smaller than open source that primarily targets Linux.</p>
<p><a name="perception"></a></p>
<p><b>Leon:</b> That&#8217;s one consideration, and the second consideration is that Microsoft is not the primary environment that attracts the open source community. I don&#8217;t want to sound like a bigot, but I do believe that the average expertise level of developers that work on Linux is higher than the average expertise level of developers that are working in Windows. And it&#8217;s not because Windows is not good and Linux is good. Windows is an excellent operating system that went through a couple of evolutions.</p>
<p>It&#8217;s just a completely different scenario. It&#8217;s relatively closed, and the conscious decision that Microsoft made at different times was to build something that targeted 80% of the development community, and it&#8217;s done well for them. </p>
<p><b>Sean:</b> One of the reasons that I like my Macbook is that I can run any OS on it that I want at this point.</p>
<p>Yet they&#8217;re a closed source company, by and large. And they&#8217;ve got this massive innovation that they&#8217;re driving. I just saw the iPhone sales numbers this morning. Yet you take another example of a big company like Google, who gets a lot of credit for being open source, but they&#8217;re not really in a sense.</p>
<p>They&#8217;ve built their business on open source and they have some projects, but it&#8217;s not like they turn around and say, &#8220;Well, here are all the algorithms we use. Just go deal with them.&#8221; And then you&#8217;ve got companies like MySQL, that are purely open source, and they&#8217;re out to make a profit.</p>
<p>So I&#8217;m curious, as you look out across these different vectors, how do you think innovation plays into that? Because from my perspective, when I look at open source products, the more technical the product, and the more the product is by developers for developers, the more innovation seems to stream out.</p>
<p>But when they get into more commercial products like Open Office, to be frank, does it really have the same innovation level? That&#8217;s not to say that I&#8217;m in love with Outlook. I&#8217;ve got my problems with that too.</p>
<p>From the standpoint of acquiring technology in your role, when you&#8217;re looking for stuff that&#8217;s innovative, do you see a similar sort of breakdown, where the more technical the open source project is, the more likely it is to be innovative?</p>
<p><b>Leon:</b> First, there is something very interesting that you said that I was kind of itching to respond to immediately. Think of Google, think of Apple. They&#8217;re not open source. But there is a perception of open source. </p>
<p>I&#8217;ll give you an anecdotal example from real life. We started using the Google appliance for search, and we were planning to deploy it and they had a bug that was preventing us from going live. And they actually guard their code and algorithms quite closely.</p>
<p>So we said, &#8220;All right guys, when are you going to fix the bug.&#8221; And they said, &#8220;Oh, the next release is in three months.&#8221; But that doesn&#8217;t work for us. We went back and forth and in the end they said, &#8220;You know, guys, we understand. We can&#8217;t release it sooner than that, so here is the code.&#8221; </p>
<p>I put a lot of value in that. It&#8217;s a different philosophy. Yeah, it&#8217;s closed, but Microsoft would never in their life do that. </p>
<p><b>Sean:</b> Microsoft actually does make the Windows source available to certain customers, governments, etc., but I don&#8217;t think that&#8217;s widely known. </p>
<p>About the second part of the question, is there an innovation continuum in open source, where certain projects have innovation that is arguably better than in a closed source model, whereas in others maybe it struggles to really hit the mark and bring things forward? </p>
<p><b>Leon:</b> You definitely have a strong point, and you gave an example before. I don&#8217;t think Open Office is necessarily innovative. I don&#8217;t use it. It has kinks still, and it&#8217;s too much trouble. </p>
<p><b>Sean:</b> That&#8217;s an easy one to throw a stone at in terms of its innovation, but I want to get your sense as someone who has to acquire and find the right technology, where you think the soft spot is.</p>
<p>For example, the Mac is amazing for UI innovation and fidelity of user experience. On the other hand, go try and find a really good database product for the Mac. </p>
<p>On the flip side, I don&#8217;t&#8217; think people have seen Vista as the paragon of great UI innovation, you know what I mean? </p>
<p><b>Leon:</b> Just to elaborate a little bit on this example of Open Office, I don&#8217;t believe it&#8217;s quite fully an open source project. It&#8217;s heavily sponsored by Sun, and if it was strictly an open source project, the community would not spend this much effort in building an office product.</p>
<p>So there is a difference in an open source project that is supported by the community and a company deciding to open source something. When Sun open sourced Solaris, it didn&#8217;t suddenly become an open source operating system in the full definition of the word.</p>
<p>The fact that something is not closed source doesn&#8217;t make it open source. There is also a community element. </p>
<p><b>Scott:</b> Right&#8211;who&#8217;s allowed to contribute and who controls the direction of it. </p>
<p><b>Leon:</b> I believe that open source projects with strong community interest in them and strong community participation in them are all pretty innovative. Not all projects that are based on public code are innovative open source projects.</p>
<p>The other part of that is, taking Apple as an example, it is proprietary, but at the same time I can take an Apple laptop and open a command window and I can type my Linux command. </p>
<p>As far as business decisions go, catering to 80% of your audience is good, but it has a price. In the case of Windows, you don&#8217;t get a very strong following on the side of cutting edge developers. Because developers don&#8217;t love Windows machines. I don&#8217;t know a single one. </p>
<p><b>Scott:</b> Oh, I know some extremely passionate .NET developers.  </p>
<p><b>Leon:</b> Ok, maybe it&#8217;s my bias coming through…</p>
<p>[laughter]</p>
<p><b>Sean:</b> As usual, we have a lot more questions we wish we could have asked, but I want to be sensitive to the time, as we&#8217;d scheduled an hour, but thanks for taking the time to chat.  This was a great conversation.</p>
<p><b>Leon:</b> Thank you. </p>
<img src="http://howsoftwareisbuilt.com/?ak_action=api_record_view&id=151&type=feed" alt="" /><!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark this:</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://howsoftwareisbuilt.com/2008/04/26/interview-with-leon-shklar-evp-media-technology-reuters/&amp;title=Interview+with+Leon+Shklar+%26%238211%3B+EVP+%26%238211%3B+Media+Technology+%26%238211%3B+Reuters" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://howsoftwareisbuilt.com/2008/04/26/interview-with-leon-shklar-evp-media-technology-reuters/&amp;title=Interview+with+Leon+Shklar+%26%238211%3B+EVP+%26%238211%3B+Media+Technology+%26%238211%3B+Reuters" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http://howsoftwareisbuilt.com/2008/04/26/interview-with-leon-shklar-evp-media-technology-reuters/" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://howsoftwareisbuilt.com/2008/04/26/interview-with-leon-shklar-evp-media-technology-reuters/&amp;title=Interview+with+Leon+Shklar+%26%238211%3B+EVP+%26%238211%3B+Media+Technology+%26%238211%3B+Reuters" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit.php?url=http://howsoftwareisbuilt.com/2008/04/26/interview-with-leon-shklar-evp-media-technology-reuters/&amp;title=Interview+with+Leon+Shklar+%26%238211%3B+EVP+%26%238211%3B+Media+Technology+%26%238211%3B+Reuters" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.sphere.com/sphereit/http://howsoftwareisbuilt.com/2008/04/26/interview-with-leon-shklar-evp-media-technology-reuters/" rel="nofollow" title="Add to&nbsp;SphereIt"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/sphereit.png" title="Add to&nbsp;SphereIt" alt="Add to&nbsp;SphereIt" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+Interview+with+Leon+Shklar+%26%238211%3B+EVP+%26%238211%3B+Media+Technology+%26%238211%3B+Reuters+@+http://howsoftwareisbuilt.com/2008/04/26/interview-with-leon-shklar-evp-media-technology-reuters/" rel="nofollow" title="Add to&nbsp;Twitter"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&nbsp;Twitter" alt="Add to&nbsp;Twitter" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://howsoftwareisbuilt.com/2008/04/26/interview-with-leon-shklar-evp-media-technology-reuters/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Interview with Britten Martin &#8211; Group Manager &#8211; Customer Service and Support &#8211; Microsoft</title>
		<link>http://howsoftwareisbuilt.com/2007/12/21/interview-with-britten-martin-group-manager-customer-service-and-support-microsoft/</link>
		<comments>http://howsoftwareisbuilt.com/2007/12/21/interview-with-britten-martin-group-manager-customer-service-and-support-microsoft/#comments</comments>
		<pubDate>Fri, 21 Dec 2007 01:24:34 +0000</pubDate>
		<dc:creator>campsean</dc:creator>
				<category><![CDATA[Sean Campbell]]></category>
		<category><![CDATA[beta]]></category>
		<category><![CDATA[Britten Martin]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[process]]></category>
		<category><![CDATA[support]]></category>
		<category><![CDATA[support engineers]]></category>
		<category><![CDATA[system center]]></category>
		<category><![CDATA[triage]]></category>

		<guid isPermaLink="false">http://howsoftwareisbuilt.com/2007/12/21/interview-with-britten-martin-group-manager-customer-service-and-support-microsoft/</guid>
		<description><![CDATA[Interviewers: Scott Swigart and Sean Campbell
Interviewee: Britten Martin
In this interview with Britten Martin we talked to him about:

The role of support inside Microsoft.
A walkthrough of how a support request is handled.
The ways in which the outside community can interact with the internal support processes.
How a product is supported differently in beta than when it&#8217;s finally [...]]]></description>
			<content:encoded><![CDATA[<p><b>Interviewers:</b> <a href="http://howsoftwareisbuilt.com/about-scott-swigart/">Scott Swigart</a> and <a href="http://howsoftwareisbuilt.com/about-sean-campbell/">Sean Campbell</a></p>
<p><b>Interviewee:</b> <a href="http://howsoftwareisbuilt.com/about-britten-martin-group-manager-customer-service-and-support-microsoft/">Britten Martin</a></p>
<p>In this interview with Britten Martin we talked to him about:</p>
<ul>
<li><a href="http://howsoftwareisbuilt.com/2007/12/21/interview-with-britten-martin-group-manager-customer-service-and-support-microsoft/#support">The role of support inside Microsoft.</a></li>
<li><a href="http://howsoftwareisbuilt.com/2007/12/21/interview-with-britten-martin-group-manager-customer-service-and-support-microsoft/#walkthrough">A walkthrough of how a support request is handled.</a></li>
<li><a href="http://howsoftwareisbuilt.com/2007/12/21/interview-with-britten-martin-group-manager-customer-service-and-support-microsoft/#community">The ways in which the outside community can interact with the internal support processes.</a></li>
<li><a href="http://howsoftwareisbuilt.com/2007/12/21/interview-with-britten-martin-group-manager-customer-service-and-support-microsoft/#beta">How a product is supported differently in beta than when it&#8217;s finally released.</a></li>
<li><a href="http://howsoftwareisbuilt.com/2007/12/21/interview-with-britten-martin-group-manager-customer-service-and-support-microsoft/#bugfix">How a bug eventually become a fix in the product.</a></li>
</ul>
<p><span id="more-122"></span></p>
<p><b>Scott</b>: &nbsp;Britten if you could just introduce yourself for the record. That is usually a good place to start, and then I&#8217;ve got an initial question after that.</p>
<p> <b>Britten</b>: &nbsp;Cool. So, my name is Britten Martin, I am a group manager within CSS which is Customer Service and Support. I&#8217;ve been with Microsoft since 1999 where I came in as a support engineer supporting Windows 2000. So I have been a support engineer, I have done some work with our outsource partners in a partner technical lead role, then I moved into frontline management and did that for about three years. In my current role I am a manager of managers, I have an organization of about 75 people and I am the global sponsor for System Center Support, which is your SMS and MOM products.</p>
<p><a name="support"></a><b>Scott</b>: &nbsp;So  talk a little bit about what falls under the scope of support inside of Microsoft. I mean, engineering rather has its domain, marketing has its domain: what is support defined as and what are kind of the responsibilities roll up under that inside Microsoft?</p>
<p><b>Britten</b>: &nbsp;That is a good question. It really depends on which segment of support. It is a great clarifying question, Scott, because I am within Commercial Support which is the enterprise-based support, your back&#8209;end, your servers, many of your big customers that buy dedicated support contracts, the government, many of the major companies around the world. We also have certainly have a consumer end which is your home user running Vista, Office, also Xbox, Zune. Any product that you can think of that is released by Microsoft has support. So really what it is, the thing that separates, I think, Microsoft from other companies in that, is that no matter what&#8217;s out there, you can pick up the phone, call 1&#8209;800&#8209;MICROSOFT, tell them what your product is, and you&#8217;ll get through to someone to support your issue. Although it certainly depends on the customer segment that you are in, who you are routed to, where you go and how much it costs.</p>
<p><b>Scott</b>: &nbsp;Sure.</p>
<p><b>Britten</b>: &nbsp;In Commerical Support, we support customers who have technical how-to questions about the products and certainly those who are getting error messages.† Also, if you need help setting it up, if you need more consultative type services, we do that as well.</p>
<p><b>Scott</b>: &nbsp;OK. Then one other thing I was somewhat curious about too is &#8209;&#8209; one thing I have always been curious about I guess &#8211; is how a problem works its way through the cycle.</p>
<p><b>Britten</b>: &nbsp;OK.</p>
<p><a name="walkthrough"></a>: &nbsp;So, you start out when the phone&#8217;s ringing and you have one customer, two customers, and three customers: they seem to be having a similar issue. How does it work its way through the process from the technician helping them on the phone, to maybe later on deciding it needs a KB on it, to maybe a hot fix, to maybe being rolled up in a Service Pack?</p>
<p><b>Britten</b>: &nbsp;That is a good question too. OK. I will speak in today&#8217;s terms because major things have shifted over the last couple of years. There used to be a lot of process behind just what you were saying, which is, you know: &quot;When do we do a KB? How many issues before we make a hotfix?&quot; Nowadays with the advent of blogs, which is kind of, what you are doing, you know, what this interview is about, in support we have become a lot more proactive with getting immediate information out to our customers. I will give you an example from my group, within System Center: last week we had an issue with SCCM, the new version of SMS. Just like you described: one call, two calls, three calls. All of a sudden we are like, &quot;Wait a minute, there&#8217;s something going on here!&quot;</p>
<p> So we got some information together, dumped it out into our blog so it was out there. On the back&#8209;end our support engineers, who are your front&#8209;line resources, are working with the escalation team, our escalation engineers who do the debugging, who look at source code, who work with the product group. They are debugging the issue, and they get it down to, &quot;OK, this is clearly a bug.&quot; At that point, that escalation engineer has a hotline per se to the product group, they pass along all of their research, they are reproducing the steps, reproduce the issue, send it on to them, all the documentation.</p>
<p> Then it is kind of in the product group&#8217;s hands to decide, &quot;Is this something that we need to fix now. Do we need a hotfix, is it just something that we can put documentation out.&quot; You know kind of that form of decision making process. In this case it was a major issue, it was a deployment blocker, huge customer pain, so they released a hotfix. Then once again, depending on the urgency, is it a publically available hotfix or is it something that you have to call support to get a hold of? In this case, we knew this was a major issue so we made it available out on Microsoft.com, put a KB article out there, and linked the hotfix to it. Therefore, customers could immediately just go and download that hotfix.</p>
<p> Down the road certainly that&#8217;s going to be in the Service Pack 1 or similar, so you can pretty much figure for all of our major products, any bugs that we fix, or any hotfixes we release up until, there&#8217;s a cut&#8209;off date, will make it into the Service Pack.</p>
<p><b>Scott</b>: &nbsp;And then talk to me a little bit about the timeframe, right, between the time where maybe the first few calls came in, until the time that hotfix and that KB article are out there. </p>
<p><b>Britten</b>: &nbsp;Well, once again it is very, very dependent upon the criticality and the widespread nature of it. </p>
<p> In this case from first call to KB/hotfix was about five days. In addition, some of those delays &#8209;&#8209; they had identified the code, they had written a hotfix within about two days, but there were some delays, you know, going through legal on official KB review, and getting everything up there and replicated. So from beginning to end, about five days.</p>
<p><b>Scott</b>: &nbsp;Yeah, that is fast. I do not think most people would ever think of Microsoft turning something around that quickly.</p>
<p><b>Britten</b>: &nbsp;Some times, I think Microsoft is seen as very slow to respond, but in reality, itís often not the case.† †If it is truly a deployment blocking issue or something that causes widespread customer pain you will see a quick turnaround on it and you will definitely see the documentation out there in a timely manner. I have been here eight years, I have seen issues where it was tough to figure out what the fix was, what the resolution was. Where it was something that would hide itself into multiple components so it was a complicated fix to write, it takes a little longer. However, if we can identify it, if we do a good job on the support side with identifying it, providing reproduction steps to the product group, you know, they can turn it around quickly.</p>
<p><b>Scott</b>: &nbsp;So one question then too, would be, what does the triage process look like if after reproducing the bug you quickly realize that it has security implications versus something that&#8217;s a deployment blocker, which might be the next layer and then further down which are just kind of usability or general  problems in using the software?</p>
<p><b>Britten</b>: &nbsp;Yeah, I think, once again when you are running into security type issues what you get with that is even more resources thrown at the problem. We have security aliases internally, they have product group members, and they have certainly a high-level support presence as well, that if something comes out we can fire it up and quickly. There †is a whole process that is enabled. Let us say there is a new Sasser or Blaster or any of those. We have processes in place that will quickly call together members of support, product group. We have open lines 24 hours a day. It is kind of the war room type mentality.</p>
<p> It has product group members on it. It has support members. So people on the field can call in and say, &quot;Look, I have got an issue with this bug or with this security hole and just want to make sure I have the up to date information&quot;. So they can call into this grid, they can get the information.</p>
<p> On the back&#8209;end, it is hard to say how long it is going to take, depending on the fix but you are going to have even more resources available. You will see a fix as quickly as we can get it out there. After the Sasser/Blaster/Nimda pain, we really turned the corner not only on product development but also on the support side to ensure we could have a quick turnaround.</p>
<p><a name="community"></a>: &nbsp;What do you think the level of community involvement is in the support process because obviously that is a huge piece of the open source model. Right down from many eyes looking forsecurity bugs to a very well populated mailing list where there is a high discussion level, traffic, and things like that. However, at the same time with the closed source support process while the team is staffed potentially adequately with full time employees, there are general concerns out there with a closed source model in terms of how much the community can get involved.</p>
<p> So what are the avenues the community can actually affect the support<br />
process at Microsoft and/or see what is happening under the covers of the support process?</p>
<p><b>Britten</b>: &nbsp;Yeah, I will tell you that it has really been something we have been working on for the last few years. The product groups and the support teams have been trying to find ways to tap into that community model because there are many folks out there that do our support day in and day out with customers that have a lot of knowledge that could be helping the broader community.</p>
<p> So, one of the things that we have is the MVP program, the Microsoft Most Valuable Professional. One of the things that these folks do is to actively take part in the public newsgroups for our products. I can point to a couple of products &#8209; Small Business Server is the poster child for that. It has a very strong community. Customers can go up to the Small Business Server forums and post problems and the MVPs will quickly get involved to help resolve the issue.</p>
<p> There is a lot of energy around building a stronger MVP community and empowering the MVPs to help solve customer issues. Many of the product groups have CPE, Customer Partner Experience, teams, that are really focused on tapping into that partner community.</p>
<p> Another example from my world System Center Essentials, or SCE. We actually launched support for that on a complete forum based model, where we had engineers from CSS monitoring the forum, and we worked to build strong partner participation. If the partner could not answer the question, or did not answer the question within 24 hours, someone from support would jump in. We are trying to grow more community presence around support.</p>
<p> </span>Globally, there is more partner presence out there as well. A good example is SoftGrid or Softriciy, a recent acquisition. In Europe, before Microsoft took over, there was not really a ton of dedicated support. It was all done through the community. Therefore, we have been looking and trying to learn from them on how they involve the partners, and how we can keep that type of interaction going. I know there is a log of energy around this and it is a<br />
huge initiative. </p>
<p><b>Sean</b>: &nbsp;Well, one question which is really back to the second part of the original question which, is that a lot of the product groups in Microsoft are being affected by the open source model.† For example recently we talked to Shawn Burke who has been instrumental in getting the source code† for the framework out the door. How much of push to learn from the open source community is affecting the support team in general? For example could you see a day where the status on bug fixes is more open and less a black box until the actual fix arrives out on the web?</p>
<p> <b>Britten</b>: &nbsp;So thinking more about &#8209;&#8209; I am partner, I am out there. I find a bug or a hole, I put it out there, and really being more transparent if that is going to be fixed. Is that kind of&#8230;?</p>
<p><b>Sean</b>: &nbsp;Yeah, exactly. I realize it&#8217;s not going to be a plate glass window &#8209; it never is. But at the same time I think a lot of people will look at support right now and say, once I send in my support request I don&#8217;t really have a lot visibility of how they are stacking it, ranking it, prioritizing it, and where it goes, until maybe I get an email that says you have been deferred. Right?</p>
<p> So I am just curious, I know a lot of the product groups specifically are trying to expose a fair amount of their development processes, so I was curious if maybe that was making its way over to the support side.</p>
<p><b>Britten</b>: &nbsp;You know it is a fair point. Let&#8217;s say you are running a beta version of the product and you are involved in the one of the official beta programs, such as TAP ñ our Technology Adoption Program.† †The beta version is fully supported and you can actually go and directly file a bug. In addition, I know that they try to make a lot of that process transparent, so you know if the bug is a duplicate. Is it being fixed? Is it being deferred to the Service Pack 1&#8230;whatever. So actually, I know on some levels we do that.</p>
<p> On the support side, I think we make good use of our blog. There is a huge blogging effort, because there is a lot of knowledge within our support engineers and within our internal databases. For one reason or another that has never been made public. So I think we try to do some of that as well. But I can see the point. I mean maybe someday and maybe that some day is not too far away where you can log in and say, here is a bug that I submitted. Alternatively, even better for Windows, here is the bin of things that are going to be fixed in the next two weeks, months, whatever.</p>
<p><b>Sean</b>: &nbsp;Exactly</p>
<p><b>Scott</b>: &nbsp;Well, and so you know not every support request anymore comes in through a phone call, right? There are things like the Connect site. There are things like Windows Error Reporting services. I guess if you would not mind talk for a minute about some of the different channels that, a problem can kind of come in through and&#8230; Go ahead.</p>
<p><b>Britten</b>: &nbsp;No, no, it is fine. So today, and if I use Americas Commerical Support as a kind of a measuring stick, somewhere around 85% of our support issues come in via the phone &#8209; very traditional means of operation. We are really trying to push more of our online type offerings. One is online submission where you can go up and create your issue; you can attach data, submit it to a support engineer. That support engineer reviews that data and calls you back, hopefully with an answer.</p>
<p> The Connect site is a lot more beta focused at this point. I am not an expert there, but that&#8217;s where you get into many of the cool things where you can actually submit bugs and all that. We also have the managed forums, which we talked a little bit about. The managed forums are a completely different avenue. Most of those are staffed by Microsoft support engineers as well as product group representation and the partner community.</p>
<p> </span>So you have an issue with Windows, you can go up to a specific Windows forum, post a question. You might get an answer fromsomeone in the product group, a partner, or a support engineer. Therefore, you have those as well.</p>
<p> </span>On the consumer side, they do really cool things with automated responses. Therefore, you submit an issue and it checks your data, checks your error log to see if it is a known issue. Before you would hear back from the support engineer, you might get an automated response with, you know, try these two things. If this does not work respond back and the engineer will contact you, then as you said, you had the whole Watson or error reporting. The error reporting stuff is very cool, because regardless of bugs filed or anything else that goes on, all the product groups take all of their Watson or their error reporting data and they make sure that as they look to roll out service packs, with new versions of products especially, they want to handle those top 15, top 20, top 50 Watson issues. They want to make sure that they are knocking those off.</p>
<p> Therefore, it is an interesting mix of many different avenues for customers to submit data, and in some cases, a Watson log, the error reporting, customers might not always think they are really contributing to the next version of the product, when in essence, they truly are.</p>
<p>  <a name="beta"></a>: &nbsp; I realize, too, that you are right, that is largely a mechanism for when a product is in Beta. I guess, I have two questions, but one is a follow up on this thread initially. Talk a little bit, I guess; about how a product is supported differently while it is in beta, versus once, it has been released?</p>
<p><b>Britten</b>: &nbsp;That is a good question. We have a few different types of beta opportunities for customers.† There are more formal relationships, such as TAP (Technology Adoption Program) and RDP (Rapid Deployment Program).† With these formal programs, customers agree to deploy this product into some type of production environment. In return, they get access to submit bugs, they get access to product group members, and they get<br />
  access to dedicated support engineers. </p>
<p>From within support, let us say we have a new version of Windows, we might have three or four support engineers in the US dedicated to this beta support. These engineers get a hold of the product early, they get access to product specs, they visit the product group, and they may even get to go out on site to customers who are deploying this product so they get some real world hands on experience.</p>
<p>Now, that is for the structured beta program. If you&#8217;re not a customer in one of these programs, you likely can still download beta copies of the software. Even in these situations, there is support out there, through the forums that we talked about before. Once again, you probably get answers from those same beta engineers and some of the product group folks. You just do not have that one-to-one interaction in a lot more, you know.</p>
<p>Does that make sense?</p>
<p><b>Scott</b>: &nbsp;Yeah. Yes, very much so. One of the other things that &#8209; I will kind of circle back to something you said earlier &#8211; If it needs code to solve the problem, you know, if it is not just configuration file that was messed up or any one of the myriad of things that could cause a problem. You know, some registry key got corrupted or whatever. However, it actually needs the coding hot fix, you could hand it over to the engineering, send it over to the product team and they triage it, compared to other stuff.</p>
<p> I mean, have you ever run into situations it seems like this would inevitably happen where they&#8217;ve got their engineers dedicated to building the next version of the product, and meanwhile, there&#8217;s an endless list of bugs in any complex software that they could be tasking engineering resources with. In addition, it seems that they kind of have to make that call about pulling people off engineering new features to work on a hotfix or something like that.</p>
<p><b>Britten</b>: &nbsp;Yeah.</p>
<p><b>Scott</b>: &nbsp;And how does that process of triage work? Because support is kind of on the front line with the customers, it seems like sometimes you guys might have to go back to them and say, &quot;Um, you know the time frame that you&#8217;re looking at fixing this in probably isn&#8217;t really going to work, so think about it again.&quot;</p>
<p><b>Britten</b>: &nbsp;Right. In addition, I will tell you, it is really dependent upon the product group. You look at something like Windows. Windows has a whole team, and you hear it from time to time called Win SE. ,Windows Sustained Engineering. They have a whole team dedicated to current version, and whatever supported versions are out there, on the hotfix front.</p>
<p> </span>With some of the smaller products, you may run into situations where they have to pull developer resources off the next version to fix current version or legacy version problems. However, I tell you, in my time here, I have never seen that as being a blocker in getting something fixed. If there is truly an issue that needs to be resolved in the current version of the product, especially if its security related, you can be assured that they will find someone to handle it.</p>
<p> However, as a general rule of thumb, all big product groups have sustained engineering, folks that are dedicated to current version problems, or legacy version, so it is not necessarily that huge resource problem that you would think.</p>
<p><b>Scott</b>: &nbsp;OK. Therefore, many times, they are not pulling people off features. They have people who are dedicated just to the maintenance and hot fixes.</p>
<p><b>Britten</b>: &nbsp;Right. That is your sustained engineering folks, for the most part. As I said, I think you would run into some smaller product that might not be in that same boat, but the major ones have sustained engineering.</p>
<p><b>Scott</b>: &nbsp;It seems, too, like support, it is a little bit of a difficult situation, because, I guarantee, if I call with any bug, it is a critical show&#8209;stopper. The world will end if it does not get fixed. So how do you kind of manage customers, who are generally going to feel the importance of their bug is high, but Microsoft does not necessarily determine it so in the grand scheme of things?</p>
<p><b>Britten</b>: &nbsp;Yeah. I tell you, our people are experts at conflict management and really setting customer expectations, and certainly the empathy piece as well. I mean, you have to be empathetic with the situation, but you also need to be very transparent and upfront.. It is saying, &quot;Look, here&#8217;s where the bug is at this point. It is something that may or may not get fixed. Here&#8217;s the timeline.&quot;</p>
<p> With many of our customers in the Commercial space, these customers also have account managers that are Microsoft employees that really serve as the liaison between support and the customer. Therefore, we do a lot of work with the account managers to help us on the customer maintenance side of things, when maybe the messaging isn&#8217;t as good as we&#8217;d like it to be.</p>
<p> However, frankly, all major problems end up getting fixed. They might not get fixed in the period the customer would like to see it, but, between a hotfix, the next service pack, and the next version of the product, all issues do end up getting resolved.</p>
<p> Once again, it is really just dependent upon how many customers are having the same problem. Is it something that other customers could run into? In addition, really prioritizing, like you said before. I mean, the product group, while they have a sustained engineering team, has a limited number of resources, and they need to prioritize what are the big-ticket items that need to be worked on.</p>
<p> However, that skill of conflict management is one of the key pieces for successful support engineers, because, every day, when we answer the phone, when we respond to an email, that is generally that networking administratorís worst day of the year. The servers are down. They are catching heat from their management.† Something is going on, they are being yelled at. Our engineers deal with this on a day in and day out basis and as a result, they get very good at handling the heat.</p>
<p><a name="bugfix"></a>: &nbsp;So one question  I am curious about is, how do you deal with it when the support engineer knows that it is really a usability issue and not a bug, sure there is a sequence of phone calls and bug reports, but it is pretty clear that this isn&#8217;t a bug, it is more of an issue of usability. And it might be in the land of the undiscovered feature right? We were told, if I remember, some person in the office team told me that something like 90 percent of the feature requests for office, are already in the product, but nobody knows the feature is in there. So how do you people educate the product teams and what does that flow look like? How do you finally classify that, &quot;OK this isn&#8217;t really a bug, it is an issue of usability?&quot;</p>
<p><b>Britten</b>: &nbsp;That is a good question.</p>
<p><b>Sean</b>: &nbsp;Because obviously the product team, like everybody else is blind to what they build, right? Of course, it is useable. Because I built it, I mean every developer has fallen to that problem and we all have seen some pretty horrible UIs over the years. So how does the support team educate the product teams on this point?</p>
<p><b>Britten</b>: &nbsp;Yeah. In the past, if you back up five years, 10 years, support was as you said an island. We were out here, taking all the heat and there was limited interaction with the product group. About five years ago, things drastically changed.† we started doing what is called supportability in our world. We review what are the top issues, how long does it take us to solve those issues and how much do they cost the company for us to support these issues?</p>
<p> Therefore, we came up with a list of the top 10 issues. We then present that back to the product group. Now the interesting thing about that is the product group actually funds us to do support for their product. So, when they see that a problem in their coding is †costing them $800,000. they to take some notice , and say wow OK, what does right look like, what are we missing here?</p>
<p><b>Sean</b>: &nbsp;Well, just a quick follow up to that. What are some examples of things where you feel like you touched the product, and you made a real delta that the customers ended up bettering from, but at the same time you folks probably would never personally got credit for it</p>
<p><b>Britten</b>: &nbsp;That is right. I donít have a list in front of me but DNS is one that consistently scored high for Windows 2000 and even some into Windows Server 2003.In addition, there was so much push and so much interaction that there were some major changes that happened later in 2003 and into 2008 that have drastically changed the way DNS works. </p>
<p>Another one I can give you that clearly had all the supportability people driving this was terminal server licensing. Terminal server licensing, when you go back to 2000 and once again, kind of into 2003 with a complete and utter nightmare for something that should be very simple. Consistently that silly process ended up top two, top three on our supportability list for Windows Server. And some very small tweaks based on advice provided by support completely changed this, dropped out of the top 10, out of the top 20 in support issues and saved the company a lot of money.</p>
<p> Those are two examples of technologies I know we beat on. However, on all the products out there, SQL, Exchange, Windows, SMS, MOM, they had the supportability groups that review the top 10 issues. In fact, I was just in Redmond last week, looking for the SMS side and they do cool things with it. I mean they look at top 10 issues for previous version of the product, look at the top 10 issues for current version, and review whether or not they fixed the top 10 call generateors? If not, what do we need to do to make sure it is in the next version that we do? Support is a huge data mine that we are just starting to realize the power of all the data that we have.† We are a great voice of the customer.</p>
<p><b>Sean</b>: &nbsp;One quick follow up to that and then Iíll turn it back to Scott. I am curious because you mentioned that five years ago there was some type of a change, right? In addition, all of a sudden, you folks were a lot more integrated. What drove that? In addition, I realize with all changes ongoing, there is probably stuff you can say and stuff you cannot, but I am sure somebody reading the interview is going to be like, &quot;Wait, wait, and ask him that.&quot; So what drove it at a high level?</p>
<p><b>Britten</b>: &nbsp;I think that is fair. I wish I had some great and gory backroom drama to share, but if it happened, I just donít know the details.† In my opinion, you know, part of it was just the fact that, wow, especially on the Enterprise side, Windows Server 2000 started to really turn the corner and become a huge enterprise related product. People were out there buying it and implementing it and someone on the CSS side as well as, I can guarantee you, the Windows product group was like &quot;We need to tap into this.î </p>
<p> Around this time, I was a support engineer and I suddenly realized that the product group was really listening.† In all businesses you started hearing about some monthly conference calls where we were there to provide feedback on top issues.</p>
<p> It was a time when we were moving from being just a consumer, home user company to being a legitimate player in the enterprise. In addition, there was a lot of pressure at that point to make sure these products were just better, and I think someone realized &quot;Wow, CSS has a lot of knowledge out there; we need to tap into it.&quot; </p>
<p><b>Scott</b>: &nbsp;Well, how much now do you guys get involved in product development from the standpoint of, you guys are looking at the product, while it is in development and saying, &quot;You know what, if that error happens, there is no way we will able to trace it back and figure that out. We need instrumentation here, we are going to need these things, spit it out to a log file, we are going to need these kind of support features built into the product to be able to kind of quickly<br />
  and officially troubleshoot things.&quot;</p>
<p><b>Britten</b>: &nbsp;That is a huge piece of our beta involvement. I know we talked about it before. For each beta, we dedicate engineers from our support teams to the pre-released product. Well, one of the way they make an impact is by providing that ongoing feedback to the product group. They are not only working with beta customers, they are not only answering newsgroups, but they are also messing with the product itself.</p>
<p> </span>Therefore, they filed their own bugs. They have supportability war room meetings where they say, look there needs to be some logging here, or this error message does not make sense, or if this component is blowing up, I need something to trace it back. That is generally our involvement. </p>
<p> </span>We do spec review. So many of our engineers have been on betas before, they are hooked in with the product group contacts. As the next version of the product is being planned, our engineers get involved to review specs, and just generally throughout the beta process from the beginning of our involvement through RTM, we are providing that ongoing supportability feedback.</p>
<p> </span>So not only are we always supporting our customers, but we also look to help the product group on the supportability side. It is like you said, I mean, they are focused on here is a new component, here is a new thing that customers can use, maybe not always focused on how would I support that if it breaks?† Letís be honest Ö if we donít provide our feedback to the product group on what we need, it just causes more pain for us once the product is released.</p>
<p><b>Scott</b>: &nbsp;One other one question is, so a new product is coming out and how do you get support folks up to speed on it?  In the OpenSource model the development team in some cases is the support team and there is a tight integration between that team and the open source community so there isn&#8217;t really a need to educate the &quot;support team&quot; in this case. So how do the support engineers come up to speed on a given product?</p>
<p><b>Britten</b>: &nbsp;This is another benefit of our involvement on the beta side.† †We get access to the source code. We get engineers playing with the product. We get that constant interaction with new builds of the product as it comes out. As a result, months, in some cases years, before the product actually ships, we have experts on this product.</p>
<p> </span>Now, our experts certainly might be great technical writers, but we have a group called Global Technical Readiness. These folks are really program project managers who will say, &quot;All right, we need Vista training for our support engineers.&quot; Therefore, they get their list of top issues. They get a list of new components, features, all of that. In addition, they start mining for data using these beta resources to come up with, &quot;Here&#8217;s what engineers need to know. Here are the troubleshooting pieces; here are the top issues we have seen with our beta customers. Make sure engineers know this and that.&quot;</p>
<p> </span>Therefore, over the course of this beta cycle, we are also in the background writing our own training. So these engineers write the training and as RTM approaches, depending on the training strategy, they might train all their engineers or a subset of the engineers. However, the knowledge is based off spec; it is based off beta engineer experiences, and beta engineer customer interaction.</p>
<p>  In addition, the product group, in recent years, has really stepped up to help with training. They will review our training. They will provide insights. They will attend beta deliveries of the training and help the trainer get comfortable with the material and the product.</p>
<p> </span>In some cases, the product group will also do a session of live meetings on, &quot;Hey, here&#8217;s how we intended you to support the product. Here are the supportability features that we thought would be helpful.&quot; Therefore, you get a lot of interaction with the product group as well. From the beginning of the product to the end, not only are we helping customers on the beta side, but also our selfish win is to get the training that we need.</p>
<p><b>Scott</b>: &nbsp;So, let me ask the flip side of that, right? So, you mentioned Configuration Manager. You&#8217;ve got System Center Configuration Manager 2007 coming out. Everybody wants to learn it&#8230;</p>
<p><b>Britten</b>: &nbsp;Sure.</p>
<p><b>Scott</b>: &nbsp;&#8230;because everybody is motivated. Have do you rather incent people to keep wanting to support the previous version when there is something new, shiny, and interesting.</p>
<p><b>Britten</b>: &nbsp;At least on the Commercial stage, I do not know that I have ever really run into that problem.</p>
<p><b>Scott</b>: &nbsp;OK.</p>
<p><b>Britten</b>: &nbsp;Just simply because, in the enterprise customer segment, what you generally see is not the consumer model where a product releases, and everybody goes and gets the new version. However, it is a gradual uptake, usually. So, say Configuration Manager. Right now, and I can give you the specifics on this one, it is 10% of our total SMS volume. Therefore, engineers get a couple of SCCM cases, but they get the majority of SMS 2003.</p>
<p> </span>In our minds, that is beautiful. Because what happens is, slowly over time they can build their SCCM knowledge while still providing that long held knowledge on SMS. They can help those customers resolve their issues. Therefore, it is a slow mix that generally happens. I do not know, it is &#8209;&#8209; they are tech junkies. They love the new stuff, but I guess maybe we all know that we have to pay our dues with the old stuff as well. [laughing] I do not know.</p>
<p><b>Scott</b>: &nbsp;OK. That makes sense.</p>
<p><b>Britten</b>: &nbsp;That&#8217;s a good question but it never really happens quite that way on the Enterprise side of support.</p>
<p><b>Sean</b>: &nbsp;What it sounds like for you folks, is that from an enterprise standpoint, you can point to pretty clear statistics on customers who are significant accounts. Alternatively, you could point to customers who, for lack of a better phrase, probably spend a fair amount of revenue, right. In addition, it is probably easy to also look at the segment of the market and say, &quot;We&#8217;re not going to give up 15% of SMS just because SMS, the latest version is out&quot; &#8209;&#8209;or in this case, obviously the rebranded version.</p>
<p><b>Britten</b>: &nbsp;Right.</p>
<p><b>Sean</b>: &nbsp;Because you folks can point to real metrics in terms of your percentage of the number of people who are putting in support requests and things like that.</p>
<p><b>Britten</b>: &nbsp;Right.</p>
<p><b>Sean:</b> Thanks for taking the time to talk with us Britten.</p>
<p><b>Britten:</b> No problem.</p>
<img src="http://howsoftwareisbuilt.com/?ak_action=api_record_view&id=122&type=feed" alt="" /><!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark this:</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://howsoftwareisbuilt.com/2007/12/21/interview-with-britten-martin-group-manager-customer-service-and-support-microsoft/&amp;title=Interview+with+Britten+Martin+%26%238211%3B+Group+Manager+%26%238211%3B+Customer+Service+and+Support+%26%238211%3B+Microsoft" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://howsoftwareisbuilt.com/2007/12/21/interview-with-britten-martin-group-manager-customer-service-and-support-microsoft/&amp;title=Interview+with+Britten+Martin+%26%238211%3B+Group+Manager+%26%238211%3B+Customer+Service+and+Support+%26%238211%3B+Microsoft" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http://howsoftwareisbuilt.com/2007/12/21/interview-with-britten-martin-group-manager-customer-service-and-support-microsoft/" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://howsoftwareisbuilt.com/2007/12/21/interview-with-britten-martin-group-manager-customer-service-and-support-microsoft/&amp;title=Interview+with+Britten+Martin+%26%238211%3B+Group+Manager+%26%238211%3B+Customer+Service+and+Support+%26%238211%3B+Microsoft" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit.php?url=http://howsoftwareisbuilt.com/2007/12/21/interview-with-britten-martin-group-manager-customer-service-and-support-microsoft/&amp;title=Interview+with+Britten+Martin+%26%238211%3B+Group+Manager+%26%238211%3B+Customer+Service+and+Support+%26%238211%3B+Microsoft" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.sphere.com/sphereit/http://howsoftwareisbuilt.com/2007/12/21/interview-with-britten-martin-group-manager-customer-service-and-support-microsoft/" rel="nofollow" title="Add to&nbsp;SphereIt"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/sphereit.png" title="Add to&nbsp;SphereIt" alt="Add to&nbsp;SphereIt" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+Interview+with+Britten+Martin+%26%238211%3B+Group+Manager+%26%238211%3B+Customer+Service+and+Support+%26%238211%3B+Microsoft+@+http://howsoftwareisbuilt.com/2007/12/21/interview-with-britten-martin-group-manager-customer-service-and-support-microsoft/" rel="nofollow" title="Add to&nbsp;Twitter"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&nbsp;Twitter" alt="Add to&nbsp;Twitter" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://howsoftwareisbuilt.com/2007/12/21/interview-with-britten-martin-group-manager-customer-service-and-support-microsoft/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Interview with Rod Johnson &#8211; CEO &#8211; Interface21</title>
		<link>http://howsoftwareisbuilt.com/2007/09/10/interview-with-rod-johnson-ceo-interface21/</link>
		<comments>http://howsoftwareisbuilt.com/2007/09/10/interview-with-rod-johnson-ceo-interface21/#comments</comments>
		<pubDate>Mon, 10 Sep 2007 21:41:40 +0000</pubDate>
		<dc:creator>campsean</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[frameworks]]></category>
		<category><![CDATA[J2EE]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[meritocracy]]></category>
		<category><![CDATA[methodology]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[process]]></category>
		<category><![CDATA[spring]]></category>
		<category><![CDATA[support]]></category>

		<guid isPermaLink="false">http://howsoftwareisbuilt.com/2007/09/10/interview-with-rod-johnson-ceo-interface21/</guid>
		<description><![CDATA[
Interviewers: Scott Swigart 

Interviewee: Rod Johnson
 
In this interview with Rod, CEO of Interface 21 and founder of the Spring framework, we asked him about:

Development methodology of Spring framework
Contributors to Spring
Selection of code and features for the Spring framework
Ways in which developers support open source
Open source development cycle 
Importance of technical support
Code aggregation in open [...]]]></description>
			<content:encoded><![CDATA[<p>
<p><strong>Interviewers:</strong> <a href="http://howsoftwareisbuilt.com/about-scott-swigart/">Scott Swigart</a> </p>
<p>
<p><strong>Interviewee:</strong><a href="http://howsoftwareisbuilt.com/about-rod-johnson-ceo-interface21/"> Rod Johnson<br />
</a> </p>
<p>In this interview with Rod, CEO of Interface 21 and founder of the Spring framework, we asked him about:</p>
<ul>
<li><a href="http://howsoftwareisbuilt.com/2007/09/10/interview-with-rod-johnson-ceo-interface21/#springframework">Development methodology of Spring framework</a></li>
<li><a href="http://howsoftwareisbuilt.com/2007/09/10/interview-with-rod-johnson-ceo-interface21/#springdevs">Contributors to Spring</a></li>
<li><a href="http://howsoftwareisbuilt.com/2007/09/10/interview-with-rod-johnson-ceo-interface21/#includedfeatures">Selection of code and features for the Spring framework</a></li>
<li><a href="http://howsoftwareisbuilt.com/2007/09/10/interview-with-rod-johnson-ceo-interface21/#supportingopensource">Ways in which developers support open source</a></li>
<li><a href="http://howsoftwareisbuilt.com/2007/09/10/interview-with-rod-johnson-ceo-interface21/#cycle">Open source development cycle </a>
<li><a href="http://howsoftwareisbuilt.com/2007/09/10/interview-with-rod-johnson-ceo-interface21/#support">Importance of technical support</a></li>
<li><a href="http://howsoftwareisbuilt.com/2007/09/10/interview-with-rod-johnson-ceo-interface21/#aggregation">Code aggregation in open source development</a></li>
<li><a href="http://howsoftwareisbuilt.com/2007/09/10/interview-with-rod-johnson-ceo-interface21/#startup">Choosing open or closed source within small businesses</a></li>
</ul>
<p><span id="more-93"></span></p>
<p><strong>Scott Swigart:</strong> Rod, thanks for taking the time to chat.  If you don&#8217;t mind, please take a moment to introduce yourself.</p>
<p><strong>Rod Johnson:</strong> I am the founder of the Spring Framework, which has become the effective standard for enterprise Java development. We also have a spring.net edition. I am CEO of Interface 21, which is the company behind Spring. I&#8217;m also the author of several books on J2EE development. </p>
<p><a name="springframework">
<p><strong>Scott:</strong></a> Great! Talk to me a little bit about the development methodology of the Spring framework. How does that work? Every open-source project seems to have its flavor. Tell me how Spring is built. How do ideas go from conception to features to in production or in development to release?</p>
<p><strong>Rod:</strong> OK. I think when people try to understand what open source is, they instantly think about code and that the software is created by a disparate, far-flung group of people who work in their spare time. In fact, to understand the open-source model you need to step back from code and look at the totality of things, which includes documentation, includes support for users, and includes the discussion of ideas. </p>
<p>What we see in the core of our software is that the vast majority of the code is written by a small group of exceptionally good people. I don&#8217;t believe there is any other way to produce exceptionally good software. We have known for many years about what Fred Brooks calls the The Mythical Man-Month.</p>
<p><strong>Scott:</strong> Right.</p>
<p><strong>Rod:</strong> Open source doesn&#8217;t change that. We know that if you throw more people at a problem you don&#8217;t get a better solution. And it doesn&#8217;t matter what approach to distributing the source of the software you use. You&#8217;re not going to change that fundamental fact. If you want exceptionally good software, you want a cohesive team of exceptionally good people and you really want that team to be as small as possible. </p>
<p><strong>Scott:</strong> How is that team motivated to work on the project?</p>
<p><a name="springdevs">
<p><strong>Rod:</strong></a> The core people who connect to Spring daily are employees. They are being paid to do this. That model works very, very well if you look at open source in terms of the enterprise Java space and also obviously of the Linux space. You see that the model is evolving towards paying the contributors who write the code. For example, I think 21 out of the top 25 committers on Linux are employees of large corporations. The majority of the committers on Spring are Interface 21 employees. Another good example of this is JBoss, the Java application server. The majority of the code there comes from employees of JBoss, who are now employees of Red Hat. </p>
<p><strong>Scott:</strong> I want to get your insight on the Linux kernel. My understanding of the Linux kernel is that unless Linus likes a certain patch, it&#8217;s not going to make it into the kernel. And yet, the bulk of the development is done by people who work for IBM, people who work for Red Hat, Intel, AMD, whoever. Right? Corporations are doing the bulk of the work. And yet what makes it in or out of the kernel isn&#8217;t really under the control of a company. Do you have any insight into how that works?</p>
<p><strong>Rod:</strong> I am not an expert on Linux kernel governance. From what I see, one thing that is very, very important to developing high quality software and maintaining that software in high quality for the long-term is consequences: consequences of success, consequences of screwing up.</p>
<p>In the case of Linux, what we have is not a single entity, but we have a number of companies (and in Linus&#8217; case partly also an individual, obviously) and a number of parties that are really baked into the system because there are large consequences if they screw up.</p>
<p>I don&#8217;t think one entity needs to be responsible for a piece of software. I think you can end up with a kind of partnership, but there have to be consequences if something is screwed up. That is one thing that scares me about the rather naive volunteerism view of open source because what are the consequences to a volunteer? Sure, in many cases they may be professionals. They may feel as a sense of personal ownership that they cannot be satisfied unless something is as good as it possibly can be. But there ultimately are problems because they don&#8217;t necessarily suffer the same kind of consequences if something isn&#8217;t taken forward. </p>
<p><a name="includedfeatures">
<p><strong>Scott:</strong></a> What people have told me is that there is sort of a developer Darwinism that happens. In other words, to get your code in you have to submit it to a mailing list. You have to submit it to what one person described as a &#8220;full contact code review” and in some mailing lists you&#8217;ll just simply flat out get ridiculed and won&#8217;t be taken seriously if your code isn&#8217;t to a certain level. So, it seems reputation based, I guess. You can&#8217;t really get code in until it&#8217;s passed code review and up the chain of maintainers. So, on one hand there isn&#8217;t a lot of consequence to writing bad code, except maybe it was a complete waste of time. Your inability to do it well was pointed out for the whole world to see. So, it seems there is a certain amount of pressure to sit up straight and code well, especially if you&#8217;re going to try to get stuff into very high profile, very core open-source products like the Apache, or Linux, or some things like that.</p>
<p><strong>Rod:</strong> Yeah.</p>
<p><strong>Scott:</strong> One of the things that you pointed out is that people who are going to use open source shouldn&#8217;t consider it a free ride. It isn&#8217;t just something that you should just leech off if you want the stuff that you&#8217;re dependent on to continue to thrive, grow, and be there for you, and continue to be enhanced down the road.</p>
<p>But, at the same time, most of the core contributors to open-source products are highly skilled people who are employed by a company, and this is what they do all day long. So, if I&#8217;m going to be a user of open source, how could I best contribute?</p>
<p><strong>Rod:</strong> The first thing is that I would hate to give the impression that openness means nothing. There is one interesting characteristic, for example, about a piece of software like Spring, which is overwhelmingly written by one company, compared to closed source. </p>
<p>You have the ability to work up to being a committer of the software. Not many people will take that up. And we may choose to approach you to see if we can hire you if you do it. And that is a way of expanding and renewing the developer base. </p>
<p>So, it is open in the sense that there is opportunity for people to come to be committers on the software through the community based on merit. That is interesting because if I want to be a contributor on the Java-based IBM&#8217;s WebSphere, I&#8217;m sure I could add some value based on my background to WebSphere, but I can&#8217;t put my code in there. There is no way I can do it without becoming an IBM employee.</p>
<p><strong>Scott:</strong> Right.</p>
<p><a name="supportingopensource">
<p><strong>Rod:</strong></a> So that is a genuine difference. There is a true meritocracy. So, coming back to your question, which was “How do you pay? How do you contribute back?”</p>
<p><strong>Scott:</strong> Yeah, how do you contribute?</p>
<p><strong>Rod:</strong> Well, I think the first thing is to remember that although it&#8217;s very important that there is that meritocracy based on code there are several reasons that the majority of users are never going to contribute to that code. The majority of users are not going to modify and compile it. The majority of users are going to use it essentially as if it&#8217;s a shrink-wrap product.</p>
<p>I make all of our consultants just use the binaries. If they&#8217;re working with our product with customers, we don&#8217;t like them to be working with the source code and making changes to the source code of our product.</p>
<p>The interesting thing is that it simulates more accurately how end users use it. So, often we&#8217;ll go into customers where we&#8217;ll see that they just realized that you can mount the source code and if you want to step through the same work source code…</p>
<p><strong>Scott:</strong> Right.</p>
<p><strong>Rod:</strong> …so, it just doesn&#8217;t make sense for most end users to even consider modifying the software. Consider that Spring is 1.2 million lines of code. Some of that code does things like transaction management, the fundamental configuration of your application.  Some of it executes in virtually every runtime call set. It doesn&#8217;t matter whether its open source or closed source, you really don&#8217;t mess with code that does that kind of thing unless you know what you&#8217;re doing.</p>
<p><strong>Scott:</strong> Right.</p>
<p><strong>Rod:</strong> The process of knowing what you&#8217;re doing…For example, in our transaction infrastructure I, myself, as the original co-designer, made a change about a year ago. I spent almost a day conceptualizing the current state of the code (which one of our other guys had modified) and figuring out exactly how I could do these [changes] in a safe way.</p>
<p>I am a strong enterprise Java developer with 10 years experience. I originally co-designed this module so I know how it is meant to work, yet it still took me almost a day to feel that I can safely make a change without risking breakage of a core part of the software. </p>
<p>Imagine if I were someone coming from outside who didn&#8217;t have 10 years of experience, hadn&#8217;t co-designed the module. What is the probability that I&#8217;m going to make that change in a robust way unless I spend maybe five days fully getting inside it? </p>
<p>Now, if I am an end user and I am writing software, for example for a bank, like many of our users, they don&#8217;t want to pay me for five days to figure out how the Spring framework works internally. That is irrational. There is little economic benefit for end users. There is a high probability of being economically irrational in modifying the open source software. </p>
<p>Another good example is Linux. I did a lot of C-programming early in my career. I can code in C. Am I ever going to look inside the kernel and change any of the kernel? This makes no sense, whatsoever. So, code contributions and changes are not likely. However, there are many other things I can do if I wish to give something back. </p>
<p>One thing I can do is to help other users of the software. Most open source projects have forums and mailing lists. Every time a developer answers a question for a user that developer is distracted and can&#8217;t write code to improve the product. Both things are important but no one can do both simultaneously. </p>
<p>One thing that has worked brilliantly with Spring is, especially early on, we made a big effort in the core development team to answer users’ questions and be really, really helpful. That set up a virtual circle, where users saw the Spring development team was really helpful when they were first starting up. Gradually they used the software more and became experienced. Then, they see other people asking questions and they think, &#8220;Hey I know the answer to that question. Maybe Ron doesn&#8217;t have to spend time answering that question. I&#8217;ll get in there and I’ll help the other user.&#8221; That&#8217;s a valuable way of giving back.</p>
<p>Another thing is promoting the software because open source software, like any other form of software, can only be successful if it is popular. For example, you like a particular piece of software. You wonder whether there is a user group for that software in your city. Maybe you have time to organize the user group. Maybe you can persuade your manager to provide coffee and a room if someone else is willing to organize it. </p>
<p>Another way that you can contribute is through issue tracking. If you see something that you think can be better, go and report it. An issue tracker is the enhancement request. That works very, very well with open source because that is one area where access to the code really matters. We see people who make enhancement suggestions with pretty deep knowledge of the code. We might get an enhancement suggestion saying, &#8220;By the way, if this class extended some other class it would allow the possibility to do X, Y and Z. Have you considered that?&#8221;</p>
<p>What happens is that one of our developers looks at it and says, &#8220;Oh God, I would never extend that class. Oh, but I see what he&#8217;s getting at. Oh, yeah! He&#8217;s right. It would allow X Y and Z. So, I wouldn&#8217;t do it that way but I can see that there is a lot of value in what he suggested.&#8221; The ability to look at the software is quite interesting from that point of view. It&#8217;s not necessarily so interesting in terms of modifying the software but it&#8217;s quite interesting in terms of the ability to provide suggestions with as little or as much context as you want. </p>
<p>Finally, and this is the way in which I think most financial organizations will end up giving back, go find someone who is contributing to or sustaining that software and buy a support contract. Not only is that going to sustain the software very effectively but also open source software needs the ability to have maintenance, especially as open source moves into the enterprise. What happens if a system that does trading goes down at 2 AM?</p>
<p>There&#8217;s not much point if one of your guys gets paged. He didn&#8217;t ultimately write the software that is involved in it and the fact that it is open source doesn&#8217;t really make any difference. The need for a similar level of SLA and mission-critical support is exactly the same.</p>
<p><a name="cycle">
<p><strong>Scott:</strong></a> So, that’s one of the things that I want to drill into a little—two things actually. One is support and the other is the software development lifecycle.</p>
<p>It looks like if you take a look at something like Spring, there is nothing magic about the way it is built perhaps. You probably have internal meetings. You come up with plans. You come up with specs. Engineers are assigned. Software is written. It goes to quality assurance. </p>
<p>Open source gives you much tighter coupling to the user base and the community at large. They provide better issues because they look at the source code and even recommend a certain implementation and talk about the merits of a particular implementation. They file bugs directly into the same bug database that your internal people use. So, open source gives you that tighter coupling with your users. But—and I don&#8217;t think this is unique to Spring—I am finding this a lot; it is still built the way software has always been built.</p>
<p>Good people. Good process. Good QA. You have people assigned to do documentation. You have people assigned to do QA. Even though those are not the things that people would volunteer for, you&#8217;re not dealing with a bunch of volunteers. You&#8217;re dealing with paid employees.</p>
<p>Am I accurately summing it up?</p>
<p><strong>Rod:</strong> I think you&#8217;ve got it. You raised one really interesting question there. You said that the community uses the same issue-tracker as we use. That is obviously true. We don&#8217;t have anything around the software in terms of management of bugs that isn&#8217;t publicly visible.</p>
<p>A big part of open source, to me, is free use of information. I know who wrote a piece of code, I know when it was last changed; I know what issue that person was trying to fix when they wrote that code. I can see all that information.<br />
It also means that there is a great deal of security in adopting software that was produced by small companies. For example, at Interface 21, there are slightly under 50 people. We&#8217;re growing pretty rapidly, but that&#8217;s still a pretty small software company.</p>
<p>So, let&#8217;s suppose that our product was closed sourced. We would, in each deal, be dealing with escrow agreements, that kind of thing. Frankly, other people would not think of using our software. They wouldn&#8217;t necessarily know whether the internals of our software were any good. They could see it from the outside, but they wouldn&#8217;t know, for example, what&#8217;s our philosophy of bug fixes, what is the quality of the documentation internal to the code, or what is the quality of design.</p>
<p>I do believe that there is a very strong benefit in open source. I believe that all that information is freely available. You could look at the software, and I would strongly encourage [that for] customers making significant adoption decisions.<br />
They&#8217;re probably never going to modify the code, but they should send some of their best guys to spend a day looking at the code. See what they think of it. See whether or not you think this code is maintainable, whether or not the language idioms reflect best practice. That&#8217;s a very interesting benefit. </p>
<p><strong>Scott:</strong> One of the other things you talked about was support. That comes up a lot with open source, because the way to get support isn&#8217;t always as obvious as with closed source. If you buy something from Adobe or you buy from Microsoft or you buy from Symantec, it&#8217;s obvious where you go to get support.</p>
<p>In the open source world, it seems there are two models. One is, &#8220;OK, you pay MySQL, you buy their enterprise software and you get support.&#8221; It’s the same thing with RedHat and the same thing with Spring, I&#8217;m guessing &#8211; can you purchase a support agreement from Interface21?</p>
<p>The other option seems to be that you go to someone like Open Logic, who supports everything, and you just pay them for support across a lot of products. Now, you&#8217;re probably a little biased in your answer, but what do you think about the two different ways of getting support on a product? </p>
<p><a name="aggregation">
<p><strong>Rod:</strong></a> There is nothing wrong with an aggregation model if you&#8217;re looking at, effectively, as a broker who is providing the ability to reach the bloke who wrote the software.</p>
<p>Where the aggregation model, I believe, is flawed, is in cases where essentially it&#8217;s not providing the ability to reach the people who wrote the software, and also where it is not providing the ability to pay for improvements to the software. So, what am I buying? So, let&#8217;s suppose we&#8217;ve agreed that we need to give something back. If we&#8217;re adopting free software for potentially the next 10 or 15 years, we need to give something back.</p>
<p>We care not only about how we get bugs fixed or how we get our production systems working, we also care that this software is still going to be mainstream in five or ten years or at least hasance of being mainstream because if it isn&#8217;t, we&#8217;re saddled with an expensive legacy. We also care, clearly, about the software evolving to accommodate new features that are coming forward in the industry over time. So that means: First, we need the ability to make critical fixes if necessary, to ensure that there&#8217;s no risk that our production systems are affected. </p>
<p>Second, we need to be concerned about where that investment is going to come from in terms of sustaining the product and moving it forward. So, we&#8217;re not just paying for an insurance policy today, we&#8217;re paying for the insurance company to be there tomorrow, and for the premium we&#8217;re paying to the insurance company tomorrow to be meaningful.</p>
<p>This is where some of the aggregation models, particularly what Open Logic calls it&#8217;s &#8220;Expert Community,&#8221; totally fall down. Because with the Open Logic model, not a cent of what you&#8217;re paying is going into writing software. You are not paying a cent towards writing software. That can never work in the long term. What you&#8217;re doing is paying, presumably- I haven&#8217;t looked at their price point, but I&#8217;m assuming their price point must be pretty low &#8211; a low price point for something that is not comparable with true enterprise support.</p>
<p>There are two problems with the model. One problem with the model is that it does not do anything for the health of the goose that lays the golden eggs. It says, &#8220;Well, I&#8217;m not going to feed the goose. I don&#8217;t care about feeding the goose; I&#8217;m just going to scrape up the golden eggs.&#8221; Obviously, the goose isn&#8217;t going to be there tomorrow, if that becomes the dominant approach.</p>
<p><a name="support">The second problem is you just cannot get good quality support out there.</a> Let&#8217;s suppose that I&#8217;ve got a piece of software that may have a lethal, critical problem in production. Now even though I think, for example, that the Spring Framework is a fantastic piece of software, the best pieces of software in the world have bugs in them. It&#8217;s impossible to write perfect software. It doesn&#8217;t matter whether it&#8217;s open source or closed source.</p>
<p>So, you&#8217;ve got a critical problem in production, and it&#8217;s really hard to resolve. You will see this happening with both commercial companies and closed source companies and open source companies. They all need to assign resources to work on a resolution of that problem until it&#8217;s fixed. When the developer in San Francisco clocks off work, he hands it over to the guy in Australia, who continues working on it until, probably, the guy in Romania starts work at the end of his day. And you need to be able to pay for that, and you cannot support that quality of support with essentially paying pocket money to volunteers.</p>
<p>Obviously, I have a vested interest. My company represents a different model. I hate it when people sell open source short. I hate the view that, &#8220;I only use this open source thing because it is going to be cheaper&#8221;. I feel so strongly about that because I used to be on the other side. I used to be the person making purchasing recommendations. In the financial industry companies where I worked, I would look at TCO. It made no sense to me to say, &#8220;Hey, I can save $100,000 here on a support contract.&#8221; </p>
<p>What I needed to look at was where, for example, one of the systems that I was involved in designing handles $5 trillion annually. If anything goes wrong with that system and we can&#8217;t fix it for a day, the cost to that company could be in the tens of millions of dollars. In fact, if it was down for two days in that example, the consequences to the UK economy could be quite catastrophic. So, I&#8217;m not going to be making the decision on, &#8220;Well, you know we can choose open source here and we can save $100,000 on a support contract.&#8221; I am more likely to be thinking, &#8220;OK, well if open source software seems to fit our requirements really, really well, what do I do if I have a mission critical outage? Who do I pick up the phone to call? Who can organize a team to work on this until it&#8217;s fixed?&#8221;</p>
<p><strong>Scott:</strong> One follow-up: It seems that we are talking about the extremely large enterprise accounts that are handling enormous amounts of financial transactions or things like that. They have enormous vested interest in the quality and the future of the software that they are running. It seems like smaller organizations, whether they are choosing closed source or open source, kind of get to draft off of that. </p>
<p><a name="startup"></a>
<p>Talk about the decision for the smaller organizations. For a 50-person company, how is the decision different than it is for an enormous financial exchange?</p>
<p><strong>Rod:</strong> That&#8217;s an interesting point. For the smaller companies it depends on what you&#8217;re doing. For smaller companies who are not doing something that is as mission critical, it may be that the software effectively is free to them, and they don&#8217;t have the same requirements around mission-critical support.</p>
<p>Yet frankly, from my point of view as a chief executive of an open source company, if people who don&#8217;t need that kind of mission critical support don&#8217;t buy it because, for example, their company simply can&#8217;t afford it, good luck to them. I would love to see the 50-person company grow into a 500-person company with a website that has a huge amount of traffic for which they need to buy a support contract.</p>
<p>So, I think that open source expands the market and it brings the software to a new audience of people who don&#8217;t necessarily have the need or capacity to pay. Essentially, good luck to them! No one should give open source money out of the goodness of their hearts. They need to look at what they need as an organization and who can satisfy that.<br />
So, for example, for every job where I have personally been involved, I would have been getting support contracts for the open source I was using because of the nature of those businesses. </p>
<p>However, let&#8217;s suppose I was working for a start-up, a dotcom that is trying to build up some kind of community site and is trying to get traffic. It doesn&#8217;t really matter if it goes down some of the time. The software that my company is developing is rapidly evolving. At that point I wouldn&#8217;t have a support contract. Let&#8217;s think about Twitter. Twitter is a great example here. Twitter clearly went through that. Then it became successful. Now they are encountering technology limitations, which are causing frustrating outage. Now you are getting into a different set of business needs. Now they are reaching the point where it is going to harm the growth of their business unless they improve the uptime of their infrastructure.</p>
<p><strong>Scott:</strong> So, in other words, your goal as a start-up is to grow to the point where you need a support contract. </p>
<p><strong>Rod:</strong> I have never put it in those words before but I think it&#8217;s an interesting way of thinking about it. In a way, you have a greater ability to pay the price that is appropriate to your business needs.</p>
<p><strong>Scott:</strong> Right. At some point if you are a start-up and you&#8217;re not successful, then the open source that you are using is probably not as valuable to your business as if you are a start-up and you become very successful and you grow. You become an ongoing concern. Well, now your infrastructure has value because your business has value and you need to treat it as such.</p>
<p><strong>Rod:</strong> Yeah. I mean what I would suggest is that in the early days people should look at purchasing things like consulting and training around open source.</p>
<p><strong>Scott:</strong> Right.</p>
<p><strong>Rod:</strong> I think that makes a whole lot of sense because it is simply going to reduce their total costs by making their developers more efficient.</p>
<p><strong>Scott:</strong> Right.</p>
<p><strong>Rod:</strong> So, the needs profile of the end-user is significantly different.</p>
<p><strong>Scott:</strong> Well, I really appreciate you taking the time to chat. </p>
<p><strong>Rod:</strong> No, I think that was an interesting discussion. Thank you for following up. </p>
<p><strong>Scott:</strong> Thanks very much.</p>
<p><strong>Rod:</strong> Thank you, Scott.</p>
<img src="http://howsoftwareisbuilt.com/?ak_action=api_record_view&id=93&type=feed" alt="" /><!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark this:</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://howsoftwareisbuilt.com/2007/09/10/interview-with-rod-johnson-ceo-interface21/&amp;title=Interview+with+Rod+Johnson+%26%238211%3B+CEO+%26%238211%3B+Interface21" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://howsoftwareisbuilt.com/2007/09/10/interview-with-rod-johnson-ceo-interface21/&amp;title=Interview+with+Rod+Johnson+%26%238211%3B+CEO+%26%238211%3B+Interface21" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http://howsoftwareisbuilt.com/2007/09/10/interview-with-rod-johnson-ceo-interface21/" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://howsoftwareisbuilt.com/2007/09/10/interview-with-rod-johnson-ceo-interface21/&amp;title=Interview+with+Rod+Johnson+%26%238211%3B+CEO+%26%238211%3B+Interface21" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit.php?url=http://howsoftwareisbuilt.com/2007/09/10/interview-with-rod-johnson-ceo-interface21/&amp;title=Interview+with+Rod+Johnson+%26%238211%3B+CEO+%26%238211%3B+Interface21" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.sphere.com/sphereit/http://howsoftwareisbuilt.com/2007/09/10/interview-with-rod-johnson-ceo-interface21/" rel="nofollow" title="Add to&nbsp;SphereIt"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/sphereit.png" title="Add to&nbsp;SphereIt" alt="Add to&nbsp;SphereIt" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+Interview+with+Rod+Johnson+%26%238211%3B+CEO+%26%238211%3B+Interface21+@+http://howsoftwareisbuilt.com/2007/09/10/interview-with-rod-johnson-ceo-interface21/" rel="nofollow" title="Add to&nbsp;Twitter"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&nbsp;Twitter" alt="Add to&nbsp;Twitter" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://howsoftwareisbuilt.com/2007/09/10/interview-with-rod-johnson-ceo-interface21/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
