<?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; process</title>
	<atom:link href="http://howsoftwareisbuilt.com/tag/process/feed/" rel="self" type="application/rss+xml" />
	<link>http://howsoftwareisbuilt.com</link>
	<description></description>
	<lastBuildDate>Fri, 25 Jun 2010 19:53:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<copyright>2006-2007 </copyright>
	<managingEditor>scottswigart@technologyevangelism.com (How Software is Built)</managingEditor>
	<webMaster>scottswigart@technologyevangelism.com (How Software is Built)</webMaster>
	<ttl>1440</ttl>
	<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>
	<itunes:subtitle></itunes:subtitle>
	<itunes:summary></itunes:summary>
	<itunes:keywords></itunes:keywords>
	<itunes:category text="Society &#38; Culture" />
	<itunes:author>How Software is Built</itunes:author>
	<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" />
		<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 [...]]]></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%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F12%2F21%2Finterview-with-britten-martin-group-manager-customer-service-and-support-microsoft%2F&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%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F12%2F21%2Finterview-with-britten-martin-group-manager-customer-service-and-support-microsoft%2F&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%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F12%2F21%2Finterview-with-britten-martin-group-manager-customer-service-and-support-microsoft%2F" 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%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F12%2F21%2Finterview-with-britten-martin-group-manager-customer-service-and-support-microsoft%2F&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?url=http%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F12%2F21%2Finterview-with-britten-martin-group-manager-customer-service-and-support-microsoft%2F&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%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F12%2F21%2Finterview-with-britten-martin-group-manager-customer-service-and-support-microsoft%2F" 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%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F12%2F21%2Finterview-with-britten-martin-group-manager-customer-service-and-support-microsoft%2F" 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>3</slash:comments>
		</item>
		<item>
		<title>Interview with Bob Bray &#8211; Geospatial Architect &#8211; Autodesk</title>
		<link>http://howsoftwareisbuilt.com/2007/09/12/interview-with-bob-bray-geospatial-architect-autodesk/</link>
		<comments>http://howsoftwareisbuilt.com/2007/09/12/interview-with-bob-bray-geospatial-architect-autodesk/#comments</comments>
		<pubDate>Wed, 12 Sep 2007 17:50:21 +0000</pubDate>
		<dc:creator>campsean</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[autodesk]]></category>
		<category><![CDATA[bob bray]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[governance]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[process]]></category>

		<guid isPermaLink="false">http://howsoftwareisbuilt.com/2007/09/12/interview-with-bob-bray-geospatial-architect-autodesk/</guid>
		<description><![CDATA[Interviewers: Scott Swigart and Sean Campbell Interviewee: Robert Bray In this interview with Bob, Architect for Geospatial Products at Autodesk, we asked him about: Introduction of open source within Autodesk Role of project steering committees Decision to create an open source product Open source impact on closed source product Developer and engineer adjustments to 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>
<p><strong>Interviewee:</strong><a href="http://howsoftwareisbuilt.com/about-bob-bray/"> Robert Bray<br />
</a> </p>
<p>In this interview with Bob, Architect for Geospatial Products at Autodesk, we asked him about:</p>
<ul>
<li><a href="http://howsoftwareisbuilt.com/2007/09/12/interview-with-bob-bray-geospatial-architect-autodesk/#intro">Introduction of open source within Autodesk</a></li>
<li><a href="http://howsoftwareisbuilt.com/2007/09/12/interview-with-bob-bray-geospatial-architect-autodesk/#psc">Role of project steering committees</a></li>
<li><a href="http://howsoftwareisbuilt.com/2007/09/12/interview-with-bob-bray-geospatial-architect-autodesk/#transition">Decision to create an open source product</a></li>
<li><a href="http://howsoftwareisbuilt.com/2007/09/12/interview-with-bob-bray-geospatial-architect-autodesk/#impact">Open source impact on closed source product</a></li>
<li><a href="http://howsoftwareisbuilt.com/2007/09/12/interview-with-bob-bray-geospatial-architect-autodesk/#devs">Developer and engineer adjustments to open source process</a></li>
<li><a href="http://howsoftwareisbuilt.com/2007/09/12/interview-with-bob-bray-geospatial-architect-autodesk/#design">Differences between feature design in open and closed source</a></li>
<li><a href="http://howsoftwareisbuilt.com/2007/09/12/interview-with-bob-bray-geospatial-architect-autodesk/#docs">Test and documentation for Autodesk open source</a></li>
<li><a href="http://howsoftwareisbuilt.com/2007/09/12/interview-with-bob-bray-geospatial-architect-autodesk/#contrib">Community contribution to open source projects</a></li>
<li><a href="http://howsoftwareisbuilt.com/2007/09/12/interview-with-bob-bray-geospatial-architect-autodesk/#biz">Business reasons for creating open source products</a></li>
</ul>
<p><span id="more-98"></span></p>
<p><strong>Sean:</strong>  Bob, why don’t you give us some background on your role with Autodesk.</p>
<p><strong>Robert:</strong>  I&#8217;ve been in software development working for independent software vendors for about 17 years now. My current title is Architect for Geospatial Products. So, I&#8217;ve gone through the various ranks, from being a programmer in the trenches, in the cubes, to managing a product development team, to my current role as architect.</p>
<p>So, as I said, I&#8217;ve been through various things, mainly in closed source. Until roughly 18 months ago when we open sourced MapGuide. I think it was about six months before that that we really started heavily investigating that idea and started to put the ball in motion to actually make that happen. Basically, I&#8217;ve been involved in an open source project very actively for the last 18 months, and I won&#8217;t say that I was the key  driver that made the decision that we were going to open source this, but I basically took it from that decision point and said, &#8220;OK, these are all the things we need to do&#8230;&#8221; and made that happen.</p>
<p>The product itself is MapGuide.The open source version is called MapGuide Open Source. The closed version is Autodesk MapGuide Enterprise. The codebases are the same. There&#8217;s one open source code stream for the whole product. There are a couple of minor functional differences between Enterprise and open source, but they are extremely minor, and we are trying to close as many of those as we can, actually. What we really have with the Enterprise version is basically a commercially tested and supported version. It&#8217;s much like the Red Hat model or the MySQL model, in that respect.</p>
<p><strong>Sean:</strong>  So, just out of curiosity then, if there are some functional differences, what led to those? I mean, they&#8217;re minor, like you said, but was some of that just by the nature of having to switch from closed source to open source? Is there some functionality that just couldn&#8217;t make it over that transform right away?</p>
<p><strong>Robert:</strong>  Basically, that is exactly it. We have a commercial desktop mapping product called AutoCAD Map 3D. We used some technology from that in the Enterprise version of MapGuide, and we do that for compatibility between the two products. So, those particular pieces, our coordinate system library, in particular, and our raster image handling library; those are things that we just could not open source at the time.</p>
<p><strong>Sean:</strong>So, when Autodesk made the switch, did you model against an existing open source project in terms of how you wanted to handle QA or how you wanted to establish a community feel? You look at different products, like Subversion &#8211; I&#8217;ve heard they had one vote in the entire history of the project, right?</p>
<p><strong>Robert:</strong>  [laughs]</p>
<p><strong>Sean:</strong>  Literally. I watched their presentation at OSCON, and at least that’s the public face of things &#8211; that they had one vote. Or, for example, we talked to PostgresSQL yesterday, and they said, &#8220;It&#8217;s a very communal democracy&#8221; in terms of their decision process. They don&#8217;t really have a hierarchy. I know it varies across the projects, so did you look at the open source community and say, &#8220;Well, now that we&#8217;re going to open source this, we&#8217;d like to mimic this particular project&#8221; at least in some aspect?</p>
<p><strong><a name="intro">Robert:</a></strong>  Absolutely. So, when we made this decision, one of the first things I did was take a broad look across all of the projects. I was mainly focused on looking at the geospatial projects, because, if you will, our kin in the community is all of the open source projects &#8211; things like MapServer, GDAL, PostGIS&#8230; All those open source projects are very close in nature to us, so I certainly did look at those.</p>
<p>I also read a couple of books. The one I liked best was Karl Fogel&#8217;s book, &#8220;Producing Free Open Source Software.&#8221; Of course, he led the Subversion effort, but if you read that book you wouldn&#8217;t know there was only one vote in Subversion.</p>
<p><strong>Sean:</strong>  [laughs]</p>
<p><strong>Robert:</strong>  [laughs]</p>
<p><strong>Sean:</strong>  I was a little surprised, too. But, these were two guys from Google, so technically they&#8217;re reinforcing each other in their viewpoint, at least. It&#8217;s not just one guy saying it. They&#8217;re committers on the project&#8230;</p>
<p><strong>Robert:</strong>  I&#8217;m shocked.</p>
<p><strong>Sean:</strong>  Yeah, yeah. I was a little bit, too. But that&#8217;s part of the fun part of this investigation is some of the stuff we hear, and then we get to cycle back and say, &#8220;Really? So tell us a little more about that.&#8221; </p>
<p><strong><a name="psc">Robert:</a></strong>  So, we definitely took the approach of forming a community, and the project, and I say not from day one, but within six months, became a community driven effort. MapGuide has always been a product that, it&#8217;s almost like there&#8217;s a religious following of users out there. Even when it was a commercial product, it had some real hardcore, dedicated users.</p>
<p>So a handful of those users said, &#8220;Wow! This is going to be great!&#8221; They knew nothing about open source at the time either, but they kind of all jumped on board right away, started testing the open source version, and started getting active in that.</p>
<p>So, when we formed the community, basically, because we were modeling after MapServer and some of the other open source projects on the geospatial side  and I really felt that was important  we basically created a project steering committee for the product out of that group of people. So that project steering committee, right now, consists of three people from Autodesk and four people from outside in the community.</p>
<p><strong>Sean:</strong>  Are those people then the chief committers on the project?</p>
<p><strong>Robert:</strong>  Actually, that&#8217;s an interesting thing, because I would say there are a couple of people there that are active committers; the rest of them are users.</p>
<p><strong>Sean:</strong>  Got you. Because the interesting thing to me about this is that, obviously, a lot of these projects have grown up over time. PostgresSQL has a 20 year history, and to become a committer on their project, they told us, &#8220;Well, we wait two to three years to figure out if we can make you a committer, because we&#8217;ve been around for 20 years.&#8221;</p>
<p>But, if you birth a project out of the ether how do you determine who&#8217;s going to be a committer? Because, obviously, there&#8217;s probably a stampede of people at the start that say, &#8220;I&#8217;d like to be a committer, I want to be involved at the highest levels,&#8221; that kind of thing. How do you go through that winnowing out process?</p>
<p><strong>Robert:</strong>  There&#8217;s a URL I can send you, (http://mapguide.osgeo.org/psc.html) but basically what I did was draft a set of rules for the project steering committee to follow that include who can be a committer and how they become a committer.</p>
<p>We basically go through a similar process to, I think, Postgres &#8211; although we probably wouldn&#8217;t be two years in the road doing it. Basically, people start submitting some code from the open source community. They submit it to a developer, we&#8217;ll have that developer review it, and then do the actual commit. It&#8217;s almost in a patch style, right? Then, once we&#8217;re comfortable with them, we&#8217;ll vote to make them a committer &#8211; it&#8217;s a project steering committee vote.</p>
<p><strong>Sean:</strong>  Got you.</p>
<p><strong>Robert:</strong>  So, it&#8217;s kind of interesting, because, again, the project steering committee is not the core developers; again, it&#8217;s a core set of mainly users.</p>
<p><strong><a name="transition">Sean:</a></strong>  Once you transitioned over and said, &#8220;I want to make this an open source product, &#8221; since you came mainly from a closed source background, what was the thing that most pleased you about being able to transition into an open source development model? What was the thing that you were, I guess, either most afraid of or most reluctant to see transition over? Because, obviously, the models are pretty different.</p>
<p><strong>Robert:</strong>  I think I was scared to death for quite a while&#8230;</p>
<p><strong>Sean:</strong>  [laughs]</p>
<p><strong>Robert:</strong>  …because it was completely unfamiliar territory to me. I&#8217;ll be honest, right? I&#8217;d never worked with an open source project before. I&#8217;ve used a few, but I&#8217;ve never really participated in an open source project. So, from my perspective, open source projects were these big free for all things, and I&#8217;m like, &#8220;Oh, my God. What are we getting into here?&#8221;</p>
<p>But, when I stepped back and actually looked at it, what I realized is that open source projects…yeah, they run a little differently than commercial projects, but they follow a fairly well-defined process; or at least the large projects do, that are successful. You can see a well established process there. It&#8217;s not a free for all, anybody can commit code, and a thing like that. So, that was my biggest fear going in; it was the step into the unknown, right?</p>
<p><strong><a name="lessons">Sean:</a></strong>  What do you think was the biggest lesson learned from that? Now that you&#8217;ve got a couple of years at it, what would be the thing you might&#8217;ve done a little bit differently, given an opportunity? It&#8217;s apparent you wouldn&#8217;t have changed any decision to go open source, and that rings through clear. But, is there anything you would&#8217;ve changed during the process of going in that direction?</p>
<p><strong>Robert:</strong>  If anything, I would&#8217;ve been more open with the community right from the get go. I think I had a lot of reservations going into it, and so I didn&#8217;t really communicate as much as I should&#8217;ve right up front about what we were doing, how we were going about it, and all of that. So, I think I would&#8217;ve been much more open around communication right from the get go.</p>
<p><strong>Sean:</strong>  OK…</p>
<p><strong>Robert:</strong>  That&#8217;s the biggest lesson I think I learned.</p>
<p><strong>Sean:</strong>  &#8230;then what was kind of the biggest positive that you got? I didn&#8217;t want to leave that off the table either.</p>
<p><strong>Robert:</strong>  The biggest positive is that from a community perspective we are getting a lot more up front review; a lot more users using features before they go into, say, the commercial version or whatever, right? We&#8217;re getting a lot more early feedback on things that we&#8217;re thinking about doing or the ways we&#8217;re thinking about implementing new features, lots of early feedback that has a very, I would say, positive influence on the end result of the code that we actually write.</p>
<p><strong><a name="impact">Sean:</a></strong>Well, I&#8217;m curious, too. That&#8217;s a functional change in the product, but have there been any change to the engineering process on the closed source side of the product? So, you guys open source it, that obviously rattles around and after a couple of years; I&#8217;m wondering if that has had any kind of change in the way you guys have developed internally, just having an open source mirror of the project, so to speak.</p>
<p><strong>Robert:</strong>  Well, it&#8217;s not an open source mirror. We only have one copy of the code, and that&#8217;s the public one. So, any change that we make to the code, whether it&#8217;s for the commercial release or for the open source release, typically gets vetted through the same process. We’ll go to request for comment. That&#8217;ll go out to the open source community, because it&#8217;s going into the open source version, one way or the other. So, we get early feedback on pretty much everything that goes in. </p>
<p>Of course some features that we may plan are for the enterprise version only, and those of course do not go through public review. Also we reserve the right to decide which features go into which enterprise release and we make no announcements about that because we are a public company right?</p>
<p><strong>Sean:</strong>  Right, right.</p>
<p><strong>Robert:</strong>  We don&#8217;t comment on that. We don&#8217;t do anything like that in the RFC process. But at the same time, the open source community certainly gets to vet all this stuff early. So, any code changes, and basically the whole product&#8217;s development process, are morphed into more of an open source development process for both the commercial and open source releases, because, again, we only have one copy of the code and we have one development process.The entire engineering team has basically transitioned to an open process, which is quite interesting.</p>
<p><strong><a name="devs">Sean:</a></strong>  Taking it down one level, as we talked to people sometimes as they&#8217;ve gone through this change, and the engineering team has a variety of differing reactions to it…various resistance points, or to put it maybe slightly more diplomatically, just things they have to learn as they go through the process. So, anything that would be worth talking about there in terms of lessons learned by the engineering team as they walked through this?</p>
<p><strong>Robert:</strong>  Yeah, I think there were a lot of lessons learned. Immediately it comes back around to being open about the kind of change we want to make and how you actually communicate with an open source community, because communication within the internal engineering team is quite different in my experience than communication with an open source community.</p>
<p><strong>Sean:</strong>  Now all of a sudden it&#8217;s a much more communal feel and development managers all of the sudden, I assume, had to make the switch from assuming everybody was on the payroll; there had to be a little bit more negotiation that affected the process of getting something developed, vetted, built, etc.</p>
<p><strong>Robert:</strong>  That&#8217;s definitely part of it. But also for our internal developers, I mean, they&#8217;re used to this kind of hierarchy of being able to walk down the hall and talk to somebody else. They&#8217;re used to being able to call a meeting and go in and start scribbling some stuff on a whiteboard.</p>
<p>With an open source development community that doesn&#8217;t really work anymore. You need to use the mailing lists a lot more. You need to use things like IRC for communications. So, it was really a complete change in the way you communicate.</p>
<p><strong>Scott:</strong>  So, that&#8217;s one of the things that I wanted to drill into because you&#8217;re obviously steeped in closed source development methodology. You&#8217;ve been in open source long enough to where you&#8217;re now immersed in that.<br />
What do you see as the differences, kind of taking them side-by-side when you think about the aspects of the SDL, right? …how’re ideas envisioned, how they&#8217;re kind of tasked for somebody to code them, how they&#8217;re put through QA, how a product is released&#8230; If you don&#8217;t mind, I wouldn&#8217;t mind just kind of walking through how each of those is sort of fundamentally different in a closed source versus open source project.</p>
<p><strong>Robert:</strong>  Sure.</p>
<p><strong><a name="design">Scott:</a></strong>  So, I guess starting with analysis and design and that sort of thing, how do you see analysis and design and requirements differing in open and closed source?</p>
<p><strong>Robert:</strong>  Sure. The requirements from a closed source perspective, I mean, we have project managers who basically go out and talk to our users. They&#8217;ll do focus groups. They&#8217;ll do surveys; all kinds of things like that just to basically pin down to a set of requirements for release of commercial software.</p>
<p>For open source software, you have a community of users who propose some ideas or a developer who proposes an idea. It gets kicked around on a mailing list for awhile. Eventually somebody either just picks it up and implements it, or the other option is they just walk in with something they&#8217;ve already written and say, &#8220;Hey, how about this? Isn&#8217;t this great?&#8221; So, the difference is really to me that it&#8217;s a little bit more organic, if you will, in the open source community. Whereas analysis and requirements and product definition is a much more rigid process in the closed source world, in the open source world it kind of happens organically.</p>
<p><strong>Scott:</strong>  So, where do you see those potentially? I&#8217;m guessing that both sides have their advantages. What do you see as the advantages of focus groups, meeting with customers, and project planning and what do you see as being the advantages of kind of more of the organic method of sort of showing up with a feature and saying, &#8220;What about this?&#8221;</p>
<p><strong>Robert:</strong>  If you show up with a feature and it&#8217;s already got a prototype or an implementation done &#8211; it&#8217;s a lot easier to talk about because you can actually see it and you can play with it. Whereas in the closed source side, you&#8217;re talking more in the abstract, if you will. So, the advantage in the open source side is really that you typically get a lot more users providing some feedback on it, at least if they&#8217;re really interested. Eventually you get to experience it before it actually goes in, which are both useful things.</p>
<p>On the closed source side, I mean, the advantage is that the release potentially comes out with a set of features that are much more…I won&#8217;t say well-defined because I think that&#8217;s the wrong term, but a release will typically come out that is much more cohesive as a whole. Instead of having a bunch of new things sprinkled about like a typical open source project has that’re mostly unrelated, a typical commercial product release will have the sort of features that are more or less a cohesive unit, if you know what I mean. Does that make sense?</p>
<p><strong>Scott:</strong>  Yeah, yeah. When I was a developer one of the problems with me kind of deciding what should be in the product was that I could have a project manager come along and say, &#8220;The product should really do X.&#8221; I would try to convince them that it shouldn&#8217;t, not because I had a better knowledge of the customer than them, but because I knew what a mess that would be to try to code given the existing architecture.</p>
<p>Do you feel that that kind of thing happens on an open source project because a lot of the people working on it kind of know what it would take to code it? Like, they might shy towards or away from certain things?</p>
<p><strong>Robert:</strong>  Yeah, you don&#8217;t see that in the open source world in my experience.</p>
<p><strong>Scott:</strong>  OK. So, ideas get proposed on the mailing list, things like that. You guys have internal developers who are still working on it. Is it that everybody sort of volunteers to work on different things or do your own internal developers get tasked with certain features? Obviously in the community it&#8217;s sort of all volunteers, so somebody external has to decide to pick something up and run with it. I guess, talk a little about how that works in terms of actually getting the work done.</p>
<p><strong>Robert:</strong>  So, it doesn&#8217;t work all that differently for us because we do have an enterprise version of the product and we do have a product manager who still does all those typical closed source things. What typically happens is that the features that we foresee as important to get into the product will basically go through a similar process as a typical closed source world, but then we transition them over to the open source world.</p>
<p>So, we&#8217;ll basically write up, you know… if we have an idea we&#8217;ll either code it first, or more likely we&#8217;ll write what we call a &#8220;request for comment” document that basically describes the change we want to make then actually put it out there to the open source community to vet. Again, because we&#8217;re sponsoring it, the things that have somebody behind them who’s actually going to write the code will typically get approved by the PSC.</p>
<p>But, the benefit that I&#8217;ve seen in that is that we get a lot of really good feedback, positive influence, and changes to those RFCs before they actually get coded because we have a pretty broad user community out there in open source basically providing us with some really solid feedback.</p>
<p><strong><a name="docs">Scott:</a></strong>  Then in terms of things like QA and documentation, how much of that kind of gets done by the community? How much of that do you guys still have to take on?</p>
<p><strong>Robert:</strong>  For the open source project we do no QA. The open source community is responsible for all QA. So, between the software development team itself and the open source community, that&#8217;s where all testing happens for the open source releases. We do not have any type of internal QA or formalized QA process on the open source project.<br />
We&#8217;ll decide that we want to cut a release, and the project steering committee will release a beta. We&#8217;ll get some users testing it, providing us with bugs. We&#8217;ll fix those bugs. </p>
<p>Autodesk has traditionally done betas, but they&#8217;re fairly late in the game. I would like to see us actually release our betas a lot earlier than we currently do to get more of that community testing done earlier in the cycle. Then, we have more of a chance to fix bugs, and make changes before we do our final release. We&#8217;ll go through basically one or two betas and a couple of release candidates. We&#8217;ve done up to two. We may do a third on 1.2, and then we&#8217;ll release the code. </p>
<p>So, with open source there&#8217;s no formal QA process other than the unit test has to run successfully on every build. But basically, it’s users hammering it, whereas for the closed source project we have our rigid, internal QA process. We have our internal QA team that does a fairly formal quality assurance testing that you would expect from commercial software.</p>
<p><strong>Scott:</strong>  Do you feel that one way or the other is more effective at kind of wringing the bugs out of the product?</p>
<p><strong>Robert:</strong>  What my gut tells me right now is that a blend of the two is actually best. The nice thing about the rigid QA testing is that when you release the product, you know exactly which code paths have been tested and which ones have not. What you don&#8217;t get out of that typically is the kind of real world testing that a user will put it through. So, my current thinking is that a blend of the two approaches would be better.</p>
<p><strong>Sean:</strong>  Just a piece of context &#8211; how late is late for you guys? If the project has a 36-month development cycle, or 24 months, or whatever, from the initial release definition or spec process down to when you actually have people buying the product, how far along on that trajectory are you guys typically releasing betas?</p>
<p><strong>Robert:</strong>  In commercial software typically our first beta release is about four months before release, and that for us is late. Part of that, though, is because Autodesk has adopted an annual release cycle, so that has dictated shortened cycles for everything. But, if we could find a way to release those new features earlier for beta testers to test, I think that would be a huge improvement and a way to blend the best of the open source world with the closed source commercial QA testing.</p>
<p><strong><a name="contrib">Scott:</a></strong>  One of the challenges people sometimes run into when they open source an existing project is that on day one when you open source it, all the jobs on the project are already filled. You already have a team of 10 or 100 or 500 or whatever number of people who are engineers employed working on the projects, and they&#8217;re already sort of doing everything. So, there isn&#8217;t necessarily a feature that&#8217;s just waiting for somebody in the community to write.</p>
<p>So, from this perspective that kind of caused a lot of consternation internally about what was that going to mean for the people whose job was to work on the project. It kind of created issues with the community on day one about OK, well great, what do you really want us to do? I mean, what&#8217;s really open for us to work on that you&#8217;re not already working on?<br />
Did you guys run into anything like that on this? I&#8217;m interested in kind of comparing the experiences. You obviously have a different product, and I&#8217;m interested if you ran into similar things or not really.</p>
<p><strong>Robert:</strong>  I would say we ran into the exact same thing. In fact, community contribution I think has been slow. It was really slow in the first year for two reasons: one, it&#8217;s a fairly large and complex codebase. It&#8217;s not the easiest thing to jump into. Two, for that exact reason. We had developers that were doing everything, so why do I need to do anything?</p>
<p>That has changed, however, I think in the last…I think this last six months or so we&#8217;re starting to see much more significant community contribution. Again, MapGuide is more of an application development platform for web mapping than anything else. It&#8217;s not really a product you install and start using. You install it. You build an application. You display it to a bunch of users. You refine it. A typical web product, right? So, what we&#8217;ve seen is that a number of people have seen limitations with respect to what they can do particularly around the client end of the product. They want more flexibility in the AJAX client. So, they started with some simple submissions &#8211; really just adding some little functionality.</p>
<p>But, of late we&#8217;ve actually had a solutions organization that got heavily interested in MapGuide early; DM Solutions in Ottawa. Basically, what they did is they actually wrote a new client front end; a new AJAX front end for MapGuide. They are actually now in the process of donating that back to the project. So, that&#8217;s a very significant piece of code that grew out of a need. Once they started developing some applications, they thought, “Hey, I&#8217;ve got some limitations here. We could probably do something about this with our experience.” So, they started writing some code. Sooner or later they had deployed it a couple of times for a couple of their customers. Eventually they came back to the project and said, &#8220;We think this will be useful for everyone, so we&#8217;d like to donate this.&#8221;</p>
<p>So, I think again it&#8217;s a matter of time on those commercial projects that choose to open source. I think eventually the time will come when developers will come onboard. But it takes a little bit of time for that exact reason. Initially, what do we need to do? Don&#8217;t know.</p>
<p><strong>Scott:</strong>  Well, it sounds like you guys are doing it the right way. I mean, the other reason sometimes why companies open source something is just because they want to sunset it to some degree. They&#8217;re done with it. They&#8217;re tired of it. They don&#8217;t want to put people on maintaining it, so they just say, &#8220;Here, we open sourced it. Community &#8211; go take it from here.&#8221; Those ones usually just kind of die pretty much on the spot.</p>
<p><strong>Robert:</strong>  Well, for us there&#8217;s some interesting history here you guys should probably know that I maybe didn&#8217;t introduce early enough for you. MapGuide was first released as an Autodesk product in 1996-1997. About three years ago we took on a complete ground-up rewrite. We were about halfway through that effort that we decided to open source.</p>
<p>So, we basically have a legacy product there in MapGuide. We started a complete rewrite project. We actually completed that complete rewrite project. That&#8217;s what we open sourced. But, halfway through it we decided the right thing for the future of this product was to actually open source it and we intend to continue maintaining and being a huge part of the development community on that project, but at the same time getting some open source involvement.</p>
<p><strong><a name="biz">Scott:</a></strong>  Yeah, that seems to be key. It seems to be key when the company that&#8217;s open sourcing it is going to continue to invest in it &#8211; that really seems to be a key to success. You know, companies seem to open source for a lot of different reasons. Sometimes it&#8217;s because they feel like maybe they&#8217;re not in the best position to do a certain piece of work &#8211; like if it requires porting to a different platform or architecture &#8211; or they feel like the community will have great ideas that they won&#8217;t generate internally.</p>
<p>Sometimes companies do it as a market disruptor. They see that the market is saturated with closed source, proprietary solutions, and by being the first ones to open source they can radically change the market. For you guys, what was your motivation in going open source? Why did that make sense for this particular product?</p>
<p><strong>Robert:</strong>  Well, I&#8217;d be lying if I said market disruption wasn&#8217;t a huge factor, because it certainly was. What we recognized halfway through this project&#8230; I mean, again, it&#8217;s basically a piece of web mapping technology. It&#8217;s basically a web based GIS platform. So, what we realized about halfway through&#8230; We lifted our heads up and looked around. We saw that web-based GIS was growing in popularity by leaps and bounds and ESRI is pretty entrenched. They are a commercial competitor. All of our other competitors have products in this space as well.</p>
<p>Then you&#8217;ve got Microsoft. You&#8217;ve got Google and Google Maps. You have Yahoo! Maps. There&#8217;s a bit of a commoditization around web mapping that we discovered. What we really realized is that the revenue opportunities for us are not in the platform per se, but more in the solutions that we can deliver on the platform. Does that make sense?</p>
<p><strong>Scott:</strong>  Yeah. So, by open sourcing the platform and being still heavily invested in it, you&#8217;re in a great position to provide solutions on top of that platform that might be hard for your competitors to match.</p>
<p><strong>Robert:</strong>  Right, because we can influence the platform&#8217;s direction as well as direction of our solution providers. Again, we&#8217;re a company founded in establishing developer partnerships. It&#8217;s really partners that develop solutions on our product.</p>
<p>All of our partners now can influence the direction of the open source project by either: a) actively becoming involved in development on the platform; or, b) hiring companies that specialize in open source development to go enhance the platform in some ways that they never could when it was a closed source project.</p>
<p><strong>Scott:</strong>  So, how does it work? Has open sourcing it disrupted the market and provided a lot of the benefits that you guys were initially hoping it would?</p>
<p><strong>Robert:</strong>  It&#8217;s definitely been disruptive and that&#8217;s beneficial. The larger benefit for me, though, is the fact that our solution partners now have an opportunity to influence the new platform in ways they never have before. They get to see things coming early. Typically we release the open source version two or three times a year, so they are getting features faster and they can start to work with them.</p>
<p>On top of that, they can influence things. The idea of this whole AJAX front end is a great example of that. It&#8217;s where a solutions development partner for us basically came in and developed a whole new client framework that&#8217;s going back into the platform.</p>
<p><strong>Scott:</strong>  Have you guys at this point had to contend with anybody who has wanted to do a really strong fork of the source? How have you prevented that or dealt with that?</p>
<p><strong>Robert:</strong>  I don&#8217;t see anybody wanting to do a fork. It&#8217;s LGPL licensed. That helps a lot in that respect.<br />
My crystal opinion on that, by the way, is that if you have a project that has a good community behind it, that is a cohesive community, I don&#8217;t think you&#8217;ll see a fork.</p>
<p><strong>Scott:</strong>  Yeah, it seems like there&#8217;s definitely a high bar. Forking is the nuclear option. For somebody to fork and have it get traction, they have to be making at least the same amount of investment in it as you guys are. That would be a pretty high risk thing to take on.</p>
<p><strong>Robert:</strong>  Right.</p>
<p><strong>Scott:</strong>  It seems like as long as the company is really meeting the needs of the community and supporting the community in the right way, it doesn&#8217;t really happen. But Netscape is an example of where it did and the outcome of that was Firefox. People really felt like the main sponsor was really not taking it in the right direction and they had a better idea.</p>
<p><strong>Robert:</strong>  Exactly. Let&#8217;s be honest &#8211; that&#8217;s one of the reasons that the project steering committee, who really do have control, is actually four community people and only three employees. We can always veto something because it only takes one vote to veto. But, in my experience so far, working with this committee in the last 18 months, I don&#8217;t see us ever actually using a veto. </p>
<p><strong>Scott:</strong>  Great.</p>
<p><strong>Robert:</strong>  In communities you can suddenly get a rift with the company that wants to maintain control, or sometimes you get a rift in the development team itself. Drupal is a good example of that. They had a rift in the middle of the development team, and that resulted in the fork of Drupal. I don&#8217;t think that&#8217;s a common thing.</p>
<p><strong>Scott:</strong>  Right.</p>
<p><strong>Robert:</strong>  If you have a good, well-oiled community, I don&#8217;t think that&#8217;s likely to happen in a company that&#8217;s open.</p>
<p><strong>Scott:</strong>  Great.</p>
<p><strong>Scott:</strong>  This was fantastic. This was really informative from our perspective. It&#8217;s nice to be able to talk to somebody who&#8217;s got so much experience in both realms and can provide some objective insight about their experiences on both sides. So, this was really great for me.</p>
<p><strong>Sean:</strong>  Yes, same here. And Bob, we&#8217;ve extended this courtesy to everybody. We&#8217;re just curious if there&#8217;s anything else you want to get on the record or another question you&#8217;d like to propose, or things along those lines before we wrap up?</p>
<p><strong>Robert:</strong>  No, I think the only thing we really didn&#8217;t get to was one of your questions earlier about QA and documentation; I didn&#8217;t touch on the documentation piece. I would say that&#8217;s one of our biggest weaknesses with open source right now was that we really don&#8217;t have a solution around documentation in the community right now.<br />
That&#8217;s something that I think will still take time to formulate. Everybody is busy and nobody has time to write documentation. That&#8217;s actually my experience as one of the issues with open source projects.</p>
<p><strong>Scott:</strong>  Unless you&#8217;ve got a sponsor who staffs that, it&#8217;s just not the most fun stuff to work on.</p>
<p><strong>Robert:</strong>  Right. So for now, most of the open source documentation has been staffed by Autodesk. But that&#8217;s getting harder and harder for us to continue. So, that&#8217;s one of the places that I am, if anything, a little concerned about for the future; the documentation and trying to get a way to continue to staff it.</p>
<p><strong>Scott:</strong>  I don&#8217;t think that&#8217;s unique. Part of the problem is the people who really, really work on it, don&#8217;t really need the documentation. So, they don&#8217;t necessarily feel the need as much as the people who aren&#8217;t as active in the community itself.</p>
<p><strong>Robert:</strong>  Right. But the problem is that it&#8217;s hard to get new users on board when you don&#8217;t have good documentation. That&#8217;s really the challenge.</p>
<p><strong>Scott:</strong>  Right.</p>
<p><strong>Sean:</strong>  Well, Bob, I really want to thank you for taking the time. I couldn&#8217;t agree more that it was a great interview. It was really, really nice perspective we got. </p>
<img src="http://howsoftwareisbuilt.com/?ak_action=api_record_view&id=98&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%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F09%2F12%2Finterview-with-bob-bray-geospatial-architect-autodesk%2F&amp;title=Interview+with+Bob+Bray+%26%238211%3B+Geospatial+Architect+%26%238211%3B+Autodesk" 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%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F09%2F12%2Finterview-with-bob-bray-geospatial-architect-autodesk%2F&amp;title=Interview+with+Bob+Bray+%26%238211%3B+Geospatial+Architect+%26%238211%3B+Autodesk" 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%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F09%2F12%2Finterview-with-bob-bray-geospatial-architect-autodesk%2F" 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%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F09%2F12%2Finterview-with-bob-bray-geospatial-architect-autodesk%2F&amp;title=Interview+with+Bob+Bray+%26%238211%3B+Geospatial+Architect+%26%238211%3B+Autodesk" 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?url=http%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F09%2F12%2Finterview-with-bob-bray-geospatial-architect-autodesk%2F&amp;title=Interview+with+Bob+Bray+%26%238211%3B+Geospatial+Architect+%26%238211%3B+Autodesk" 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%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F09%2F12%2Finterview-with-bob-bray-geospatial-architect-autodesk%2F" 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+Bob+Bray+%26%238211%3B+Geospatial+Architect+%26%238211%3B+Autodesk+@+http%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F09%2F12%2Finterview-with-bob-bray-geospatial-architect-autodesk%2F" 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/12/interview-with-bob-bray-geospatial-architect-autodesk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Interview with Matt Gibbs &#8211; Development Manager &#8211; UI Framework and Services &#8211; Microsoft</title>
		<link>http://howsoftwareisbuilt.com/2007/09/11/interview-with-matt-gibbs-development-manager-ui-framework-and-services-microsoft/</link>
		<comments>http://howsoftwareisbuilt.com/2007/09/11/interview-with-matt-gibbs-development-manager-ui-framework-and-services-microsoft/#comments</comments>
		<pubDate>Tue, 11 Sep 2007 21:40:20 +0000</pubDate>
		<dc:creator>campsean</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[frameworks]]></category>
		<category><![CDATA[matt gibbs]]></category>
		<category><![CDATA[methodology]]></category>
		<category><![CDATA[process]]></category>
		<category><![CDATA[triage]]></category>

		<guid isPermaLink="false">http://howsoftwareisbuilt.com/2007/09/11/interview-with-matt-gibbs-development-manager-ui-framework-and-services-microsoft/</guid>
		<description><![CDATA[Interviewers: Scott Swigart , Richard Bowler Interviewee: Matt Gibbs In this interview with Matt, we asked him about: Approaching open and closed source SDL Development challenges for UI Framework and Services team Handling security within feature development Incorporating SDL into ASP.NET Launching multiple distributions with open source Testing against multiple operating systems Testing cycle for [...]]]></description>
			<content:encoded><![CDATA[<p>
<p><strong>Interviewers:</strong> <a href="http://howsoftwareisbuilt.com/about-scott-swigart/">Scott Swigart</a> , <a href="http://howsoftwareisbuilt.com/about-richard-bowler/">Richard Bowler</a></p>
<p>
<p><strong>Interviewee:</strong><a href="http://howsoftwareisbuilt.com/about-matt-gibbs/"> Matt Gibbs<br />
</a> </p>
<p>In this interview with Matt, we asked him about:</p>
<ul>
<li><a href="http://howsoftwareisbuilt.com/2007/09/11/interview-with-matt-gibbs-development-manager-ui-framework-and-services-microsoft/#intro">Approaching open and closed source SDL</a></li>
<li><a href="http://howsoftwareisbuilt.com/2007/09/11/interview-with-matt-gibbs-development-manager-ui-framework-and-services-microsoft/#challenges">Development challenges for UI Framework and Services team</a></li>
<li><a href="http://howsoftwareisbuilt.com/2007/09/11/interview-with-matt-gibbs-development-manager-ui-framework-and-services-microsoft/#security">Handling security within feature development</a></li>
<li><a href="http://howsoftwareisbuilt.com/2007/09/11/interview-with-matt-gibbs-development-manager-ui-framework-and-services-microsoft/#sdl">Incorporating SDL into ASP.NET</a></li>
<li><a href="http://howsoftwareisbuilt.com/2007/09/11/interview-with-matt-gibbs-development-manager-ui-framework-and-services-microsoft/#distros">Launching multiple distributions with open source</a>
<li><a href="http://howsoftwareisbuilt.com/2007/09/11/interview-with-matt-gibbs-development-manager-ui-framework-and-services-microsoft/#testing">Testing against multiple operating systems</a></li>
<li><a href="http://howsoftwareisbuilt.com/2007/09/11/interview-with-matt-gibbs-development-manager-ui-framework-and-services-microsoft/#feat_testing">Testing cycle for features</a></li>
<li><a href="http://howsoftwareisbuilt.com/2007/09/11/interview-with-matt-gibbs-development-manager-ui-framework-and-services-microsoft/#bugfixing">Managing bug fixes and feature stability</a></li>
<li><a href="http://howsoftwareisbuilt.com/2007/09/11/interview-with-matt-gibbs-development-manager-ui-framework-and-services-microsoft/#dev_cycle">Following a development cycle</a></li>
<li><a href="http://howsoftwareisbuilt.com/2007/09/11/interview-with-matt-gibbs-development-manager-ui-framework-and-services-microsoft/#microsoft">Microsoft philosophy on product development</a></li>
</ul>
<p><span id="more-95"></span></p>
<p><strong>Scott Swigart:</a></strong> Hi, Matt. Before we start, go ahead and introduce yourself.</p>
<p><strong>Matt:</strong>I&#8217;m Matt Gibbs, and I&#8217;m the Development Manager in the UI Framework and Services at Microsoft. My team is responsible for ASP.NET and AJAX as well as parts of Silverlight. </p>
<p><strong><a name="intro">Scott Swigart:</a></strong> Thanks! We’ve been commissioned to look into the premise that open source and closed source SDLs [Software Development Lifecycles] are fundamentally different, and that the differences manifest themselves in the final products in tangible ways.</p>
<p>That&#8217;s not to say that one is better than the other &#8211; certainly both models have their strengths and weaknesses &#8211; but it&#8217;s really designed to get information out there for two audiences: one is software vendors who are looking at building products. One of their first choices is whether they are going to go with an open source or a closed source model, and we want to look at some of the ramifications of that choice.</p>
<p>The second audience is people bringing products into their organizations, and we want to uncover some of the basic expectations that they could have around open and closed source, or some of the characteristics of each model that might impact their choices.</p>
<p><strong><a name="challenges">Richard Bowler:</a></strong> You&#8217;ve been the Development Manager for ASP.NET for about a year, right? </p>
<p><strong>
<p><strong>Matt:</strong> </strong> Yes, about a year. </p>
<p><strong>Richard:</strong>  What would you say are the major development challenges with that product? </p>
<p><strong>Matt:</strong> I think for us, the biggest challenge is that we have a large customer base, so as we innovate, we have to be very sensitive to backwards compatibility. We have a fairly complex platform, so innovation is challenging when you&#8217;re trying to make sure that existing applications people have built with it continue working. </p>
<p><strong>Richard:</strong>  It&#8217;s a pretty complex project, and it&#8217;s built on another complex project, which is the CLR; to co-develop with the CLR team, do you just take what they give you and work from there, or how does that work? </p>
<p><strong>Matt:</strong>  We work really closely with them. In fact, we meet regularly to go through code changes we&#8217;re making with members of the CLR team, so that we&#8217;re all in sync. </p>
<p><strong>Richard:</strong>  It sounds like you&#8217;ve been able to direct feedback to them, saying, &#8220;We really need this kind of capability, let&#8217;s fold it into the next release,&#8221; or something like that. </p>
<p><strong>Matt:</strong>  Yes. And they&#8217;re pretty sensitive to how their changes impact us. They run compatibility tests and stress tests against our scenarios, as well. </p>
<p><strong>Richard:</strong>  It seems like a huge challenge, when you consider the number of software products that Microsoft has on the market that interoperate. It seems like a huge challenge to keep them all working together. </p>
<p><strong>Matt:</strong>  For the framework we&#8217;ve actually held a pretty strict line. I am part of a committee where we review things that were classified as &#8220;potentially breaking a developer’s code,&#8221; and the default was that those weren&#8217;t allowed &#8211; that was kind of the highest priority. Things like &#8220;security fixes&#8221; would be allowed. Then there always needs to be a way to get back to an earlier version’s behavior, through a configuration parameter, for example. </p>
<p><strong><a name="security">Richard:</a></strong>  Speaking about security, we talked with Michael Howard, and also with James Whittaker about the SDL. It looks like it&#8217;s really paying off for you guys. Were you involved in the development internally when the SDL was being instituted at Microsoft? </p>
<p><strong>Matt:</strong>  Yes, actually I worked with Michael Howard on IIS where we ran into a few security issues that helped highlight the need for a more structured approach. </p>
<p><strong>Richard:</strong>  I know what the benefits are, because we discussed it with Michael and James. But what were the main difficulties in shoehorning those new processes over the top of existing SDL processes? </p>
<p><strong>Matt:</strong>  I don&#8217;t think it really came down to process difficulties, as much as it came down to just helping developers recognize that the mindset they had been using needed to be front-loaded with security all along.<br />
In our first round, everybody recognized that we needed to pay even more attention to security, and make it a higher priority. But then the realization was that it can&#8217;t be one phase in the development process. It really needs to be something that we pay attention to all along.</p>
<p><strong>Richard:</strong>  To put it another way, then, you had to get a wrench on the culture. You had to make security important in everyone&#8217;s mind. </p>
<p><strong>Matt:</strong>  Right, and it really had to be the case that everybody came to the same conclusion. You couldn&#8217;t just tell people it was important &#8211; they had to see what kind of impact it had to customers, and recognize it themselves. </p>
<p><strong>Richard:</strong>  Did you get much internal resistance from individual developers, or was there pretty much across-the-board buy-in? </p>
<p><strong>Matt:</strong>  It was pretty wholesale &#8211; everyone recognized it. I think particularly since I&#8217;ve been involved in web platforms, and we saw a couple of places where we&#8217;ve made mistakes, everybody recognized, &#8220;OK, we have to do something different, and be more practiced in this,&#8221; because otherwise we’re not going to get the right outcome. </p>
<p><strong><a name="sdl">Richard:</a></strong>  Where was ASP.NET in the process of instituting the SDL? Was Version 1 out before the SDL really came to the fore? </p>
<p><strong>Matt:</strong>  No, when the process was launched we were already in development. It was during that cycle where we decided to take a break, and we went back and said, &#8220;We need to invest time in this process.&#8221; Everybody did some extra security training, and then we essentially stopped development, and did a pass for just security. We looked at every feature, all the code, looking for specific issues, just to make sure we had done all the right things. </p>
<p><strong><a name="distros">Scott:</a></strong>  One of the things that I found looking at the open source side of things, is just the sheer number of distributions that they have to ship for a product. MySQL for example, I think has 16 distributions, because it has to run on all of these different flavors of Linux, none of which the people working on MySQL really have a lot of control over. Those versions of Linux are all rev’ing independently of each other, so the underlying operating system that it&#8217;s dependent on is changing all the time. You&#8217;ve got a whole ton of applications that are built on top of MySQL, and are therefore dependent on it.</p>
<p>I can&#8217;t even really imagine exactly how to test that, and I know that in the open source world there are issues about, &#8220;This version of MySQL isn&#8217;t compatible with this version of WordPress, which isn&#8217;t compatible with this version of Linux.&#8221; So, they are always fighting these compatibility issues as things just rev independently of each other all the time.<br />
Microsoft has some rather similar challenges, in the sense that IIS revs with the server. ASP.NET revs on its own timeline, which isn&#8217;t tied to the base operating system, and Atlas is also on its own timeline to some degree.</p>
<p>Talk a little bit about the kind of test matrices that Microsoft builds, and the amount of resources in terms of hardware and testers that come to bear when you guys are getting ready to release something, or while you&#8217;re developing something to ensure compatibility with all the versions of all the things you ship. </p>
<p><strong><a name="testing">Matt:</a></strong>  It&#8217;s probably more expensive than you might initially think, because in the same way that there are a bunch of different Linux distributions, we also still test against a lot of different supported versions of the operating system.</p>
<p>We&#8217;ll test against XP and Windows 2000 and Win2k3, with different levels of the service packs and with components installed; with Visual Studio installed, without Visual Studio installed, and then different flavors of IIS. We&#8217;re already testing with IIS 7 on Vista where we&#8217;ve got a lot of integration work going on. When we go to do compatibility checking and functional testing, we have a fairly large lab. And the run time, unfortunately, is on the order of weeks to really ensure compatibility. </p>
<p><strong><a name="feat_testing">Scott:</a></strong>  What I&#8217;m envisioning is that somebody pushes a big button, and a hundred machines get configured with tests. It all comes up and runs, and results get cranked out &#8212; test, pass, or fail. Is it something kind of like that? </p>
<p><strong>Matt:</strong>  Yes, and they categorize tests into different levels of priorities so they can say, &#8220;We&#8217;re going to do a quick sanity check on something,&#8221; and that can take a couple of days. Or, they can say, &#8220;We want to run the gauntlet, and run everything we&#8217;ve got,&#8221; like before a service pack or something, and that will take much longer.<br />
It covers everything from different language packs, to different service packs installed. One time-consuming thing is that errors that are false positives come up, and they need to be investigated. These might be just test issues, and that takes time as well, because you don&#8217;t want to ship with something that might be a problem, so everything has to be investigated. </p>
<p><strong>Scott:</strong>  I know that Microsoft&#8217;s got certain terminology around this. I&#8217;ve heard of something called the BVT, which I think stands for Build Verification Test. There are things that have to happen before something gets released as a CTP, Community Tech Preview. Can you talk a little bit about that, in terms of what the different levels of testing are, and what kind of things have to get verified on those different levels?</p>
<p><strong>Matt:</strong>  There&#8217;s a scaled approach. On a developer&#8217;s machine, we&#8217;ll have what we typically call Developer Tests.<br />
The developer cranks out a lot of small standalone tests against the feature he&#8217;s building, against his APIs. He&#8217;ll run those every time he goes to check in code. We&#8217;ll aggregate those for our dev team, so that you&#8217;re running a fairly lengthy set of them. But, they still run within just a few minutes, so that you can continue making fast development progress. Then we&#8217;ll run a superset of those before we check in. </p>
<p><strong>Scott:</strong>  So, that&#8217;s to make sure that one developer&#8217;s change didn&#8217;t break some other developer&#8217;s code. </p>
<p><strong>Matt:</strong>  Yeah, that the basic functionality is intact. Then, the test team runs what they call a set of nightlies. They&#8217;ll run those on every daily build that comes out, they&#8217;ll kick off an automated set of nigthlies. They’re small enough in scope that they can run overnight, and any failures can be investigated fairly quickly. They are what they call “Pri0” test cases; and that would be mainstream use-cases.<br />
Then, the superset of that is something that’s maybe ten times the number of test cases, and that&#8217;ll run for days to verify the full functionality. That&#8217;s literally thousands upon thousands of test cases. </p>
<p><strong>Richard:</strong>  So, your nightlies maintain a level of sanity about the ongoing nature of the code base &#8211; yesterday it was still good, today it&#8217;s still good, tomorrow somebody&#8217;s checking in something bad. Let&#8217;s back up and fix this so you never get too far out of whack. </p>
<p><strong>Matt:</strong>  Then, you may find something when you go through a full test pass. When the tester originally made the test plan, they may have said it&#8217;s a fringe scenario, so it was classified as a priority two test case. You might only run it before a release, and then something breaks. </p>
<p><strong><a name="bugfixing">Scott:</a></strong>  Microsoft has a lot of people who blog, so there are obviously a lot of people on the product teams who are fairly transparent about where they are and what they&#8217;re doing. I think Scott Guthrie put up a big blog post where he said, &#8220;You know, there&#8217;s a point in time where we don&#8217;t necessarily fix every bug because we have to weigh the risk of impacting the stability of the product.&#8221;</p>
<p> Every time we touch a line of code, there&#8217;s a risk that we&#8217;re going to hurt the stability of the product, so there&#8217;s a point where we switch from telling a certain team what we&#8217;re fixing to actually having to get permission to fix certain things because of where we are at in the stabilization process. Am I characterizing that right? </p>
<p><strong>Matt:</strong>  Yeah, we’ve spent a lot of time mining our bug tracking database, and you look at data points like, &#8220;For X number of bugs, how many fixes actually cause some other problem?&#8221; The closer you get to shipping, the more likely you are to look at something and say, &#8220;This is really not a very important bug, and people are just not really going to see this. It&#8217;s good that we did the due diligence and found it, but this late in the game, you run the risk of breaking something more important.&#8221; You might just leave a bug in there and fix it when you have more time to shake out the problems. </p>
<p><strong>Richard:</strong>  I guess if you didn&#8217;t do that, you&#8217;d never ship. </p>
<p><strong>Matt:</strong>  Exactly. With new engineers, you&#8217;ll regularly see them hit this kind of frustrating point when they have a bug, they want to fix it, but it&#8217;s time to ship and they get told no. Their point of view is that it&#8217;s a problem that should be fixed, and they have to be told that they can fix it, but not until the next version </p>
<p><strong>Scott:</strong>  I have to admit that it’s odd to think that leaving bugs alone raises quality.</p>
<p><strong>Richard:</strong>  In my own process over time it seems like when we get down to the mode when we&#8217;re primarily testing an implemented product and engineers are working on bug fixes and not new features and behaviors. It seems like as you get closer and closer to when you need to ship it gets harder and harder to jump through the hoop of where a bug ought to be fixed. At some point it&#8217;s got to be an absolute showstopper to stop the shipment; it&#8217;s got to be a crash or something like that, otherwise you&#8217;re just not going to fix it until the next release. </p>
<p><strong>Matt:</strong>  Yeah, we get to the very end where we call it recall mode, where the question is whether you would actually take the product off the shelf in order to fix this issue. At this final point in the process, unless we’d recall the product, we don’t fix it.</p>
<p><strong>Scott:</strong>  Another thing that&#8217;s pretty interesting to me is the whole way that Microsoft does milestones. Again, my impression of it from the outside is that somebody will say, &#8220;OK, these are the features that we&#8217;re targeting for milestone one, for M1,&#8221; and so developers will go off and they&#8217;ll be working on those features. There will be a graph of the bug count that&#8217;s just climbing, climbing, climbing; the number of test cases written are just climbing, climbing, climbing.</p>
<p>At some point, it seems to switch over to where new features aren&#8217;t being written, it&#8217;s focusing on stabilization for the M1 milestone. So, there&#8217;s a trend down in the bug count. It seems like there are a lot of different variables that are being looked at in those stages; what&#8217;s happening to the bug count, what&#8217;s happening to the perf numbers&#8230;<br />
Can you talk about how all that stuff comes together? Am I characterizing these milestones correctly? Is that sort of how it works? </p>
<p><strong><a name="dev_cycle">Matt:</a></strong>  In the past, that is how I would have characterized it &#8211; a sort of waterfall approach where we crank out a bunch of features and accumulate bugs, and the test team cranks out test cases, and then we play catch-up and try to satisfy all those test cases and bring the bug count down isn’t the most efficient. But we&#8217;ve actually shifted in our group to a little different approach that we think is working better.  </p>
<p>Instead, we&#8217;ve gone to what we&#8217;re calling a feature crew model where the dev, test, and PM work together from the start on defining the design, the set of test cases, and the unit tests, and they drive for more quality up front before the feature even gets checked into the product. So, they&#8217;ll work in an isolated source code branch getting a feature to a higher level of quality and then get it into the product. </p>
<p><strong>Richard:</strong>  It sounds like you&#8217;re moving, at least to some extent, toward a more Agile model. </p>
<p><strong>Matt:</strong>  Yeah, it&#8217;s ended up being a hybrid of Agile development with features of SCRUM, but you couldn&#8217;t really call it one or the other. It still falls into a sort of waterfall effect where we have a milestone of a bunch of features we&#8217;re going to try to get done by a certain time. There is still this mentality of feature crews driving for a deadline, so we picked the pieces of a bunch of different methodologies that seem to work well for us in delivering commercial software, and we are trying to make them work together. </p>
<p><strong>Scott:</strong>  Now, I&#8217;ve heard a little bit about these feature crews. Correct me if I&#8217;m wrong, but that seems to have been developed after the ship of Visual Studio 2005. It came out of … I think they called it like, MQ or Milestone Quality, or something like that? </p>
<p><strong>Matt:</strong>  Yeah, it was kind of built around the milestone for quality. </p>
<p><strong>Scott:</strong>  So, some of the ramifications of that are that if there&#8217;s a feature you&#8217;re dependent on to build your feature, it might take you longer to get that. But, when Microsoft releases things like Community Tech Previews, they&#8217;re going to be more stable by default, because things were only checked into the source base that passed a higher quality bar. Is that right? </p>
<p><strong>Matt:</strong>  That&#8217;s the goal, and we were able to benefit from the approach with the ASP.NET AJAX release. We embraced the feature crew model when it was still ramping up for the rest of the division, and it worked out pretty well for us. We learned a few things we could do better.<br />
We also learned that some of the dependencies became a little bit difficult to manage. If you truly had a feature that needed something else to be completed, then you ended up with a staggered set of feature work waiting for future builds. You needed an equal set of things that could be done early, in order for everybody to keep being productive. </p>
<p><strong>Richard:</strong>  It sounds like what you&#8217;re doing is trying to make sure that your interim quality is higher by testing feature-by-feature, and by enforcing a quality standard on individual pieces instead of waiting for the entire conglomeration. Is that a correct characterization? </p>
<p><strong>Matt:</strong>  Yes, hold the line on quality all along. Don&#8217;t accumulate debt in order to get more features done earlier. </p>
<p><strong>Richard:</strong>  That seems really smart to me. There&#8217;s an old saying you can&#8217;t test quality into a product, and that&#8217;s really true. It seems really smart to me. Was that inspired by the SDL&#8217;s focus on early process involvement of quality assurance? </p>
<p><strong>Matt:</strong>  Yes. Before, we almost had two instances of lifecycles. You had development working on one lifecycle model, and you had the quality assurance teams running along six to eight weeks behind the dev team.<br />
But, that wasn&#8217;t really working efficiently because all we were doing was having one team try to play catch-up with the other team. The dev team was cranking out features, and the test team was finding problems with it. Then, the dev team was trying to catch-up on the problems that the test team found. </p>
<p><strong>Scott:</strong>  With Visual Studio 2005 when it came out, there were a lot of issues around stability and quality, and things like that.<br />
It was easily the most complicated development environment that Microsoft had ever built, maybe that anybody had ever built. It had amazing levels of cross-product dependencies; there were big products of their own that were put in there, like Team System.</p>
<p>Some of the impression, at least from the outside, was that it didn&#8217;t all come together and stabilize at the end the way that everybody had hoped. So, is that correct? Do you feel like maybe the initial version wasn&#8217;t as stable as everybody hoped, and so some of these things have been done as a response? </p>
<p><strong>Matt:</strong>  That may be the conclusion from my team&#8217;s perspective, focusing on the platform. I think we probably feel like we&#8217;re in pretty good shape because we have criteria and goals that were met.<br />
But, I know in the MQ timeframes a lot of people focused on a lot of little things that weren&#8217;t quite right that they wanted to fix up for the next release. That was primarily targeted at the development tools environment, not the platform. </p>
<p><strong>Scott:</strong>  You work in the open source world in a sense with Atlas, right? Because there are a set of controls for Atlas that are effectively open source in that Microsoft puts the source out there. They&#8217;re maybe not open source in the sense that anybody in the world can just modify the source and submit changes to it, but please talk a little bit about this foray into open source with some of the Atlas controls. </p>
<p><strong>Matt:</strong>  The AJAX Toolkit Project is a separate team around the corner from us, and it is shared source. They take code submissions from the public. They have released the really snappy UI controls that everybody uses on top of the Atlas part of the platform.<br />
It&#8217;s been well received, and people are able to grab the source, and build it, and contribute. It&#8217;s a little different for us in comparison to what we&#8217;ve done before. We’ll see how much the community itself drives lots of new controls, or if it&#8217;s something where they like the fact that the controls are out there, but they don&#8217;t really actively contribute a lot. </p>
<p><strong>Scott:</strong>  Certainly a key benefit of open source is that the source is out there for you to learn from. I think that even taking the Windows Forms controls and the ASP.NET controls, certainly a lot of best practices might have been gleaned from being able to look at how Microsoft did what it did. </p>
<p><strong>Matt:</strong>  Well, we&#8217;ve done that with the Atlas release now, too. That&#8217;s a first for us, and I&#8217;m really proud of it. When we released ASP.NET AJAX, we released the source symbols for it so you can attach a debugger, and step right through our source code.<br />
It&#8217;s not the same as taking source code in from the community, but we look at it as being very open and transparent. It&#8217;s one of those things where in the open source community, everybody says, &#8220;I have the source, so I can do what I want with it.&#8221; From my perspective, though, people tend to say that but not do it. </p>
<p><strong>Scott:</strong>  I think they call it the Berkeley Conundrum. It&#8217;s a variant on &#8220;if a tree falls in the woods, but nobody hears it, it doesn&#8217;t really make a sound.&#8221; If there&#8217;s so much open source code out there, and not really enough eyeballs to actually look at it, does it really matter that it&#8217;s open source? </p>
<p>One of the things that seems to me like a huge challenge is that inside of Microsoft you can control exactly what people get to do to. You can control the training that they have to have around security, and performance, and best practices. You can control the unit tests they write, and you can control the process that the code goes through.<br />
When you take a look at open source, you just get code delivered to you and you don&#8217;t have any control, or any view into the process that was used to create that code. </p>
<p>From Microsoft&#8217;s perspective, you’re taking submissions from the community; how do you ensure things like security, performance, and reliability, when anybody could be submitting the code, and you don&#8217;t have control over how they got there? </p>
<p><strong>Matt:</strong>  I&#8217;m not intimately familiar with it, but my understanding is that the team has essentially taken on the burden, so far, of ensuring some of the security themselves by essentially laying our security process on top of the code before it goes out to the public. I also think there&#8217;s an element of caveat emptor.</p>
<p>But, because it&#8217;s coming from Microsoft, there has been a certain expectation of quality.  At this point, because we have a dedicated team working on it, they&#8217;re in the code and it&#8217;s still going through quite a bit of the Microsoft process.<br />
Also, at this point, you can&#8217;t just submit and have it go right out to CodePlex. You submit as a team, and your submission is then under review for inclusion on CodePlex. </p>
<p><strong>Richard:</strong>  What do you think are the advantages of closed source over open source? </p>
<p><strong>Matt:</strong>  In my mind, it comes down to probably two things. One, the customer knows they have somebody to go back to, that there is a company that they&#8217;re buying software from that is backing it up. Two, there is a full-time developer that is working on advancing the software.<br />
Open source has done fantastic things with having a community effort drive things to do good software. But, the fundamental difference is that with proprietary software you have an entity that&#8217;s responsible and people employed to push things forward. </p>
<p><strong>Richard:</strong>  What about the development of that process itself &#8212; the mechanics of designing, implementing, and shipping a piece of software. Do you see advantages to the closed source model, and if so, what are they? </p>
<p><strong>Matt:</strong>  I think you may have a little bit more of a culture of discipline but I&#8217;m not sure that it&#8217;s really that much different. I think there&#8217;s so much passion from people in the open source community in what they&#8217;re building that it may be the same kind of thing. The same kind of respect somebody has for their full-time job. </p>
<p><strong>Scott:</strong>  There are two myths that I frequently encounter, one related to open source, and one related to proprietary software.  The open source myth that I hear again and again is that many eyeballs looking at the code ensures security.</p>
<p>Michael Howard really threw down the gauntlet on that and said, &#8220;Show me the data, because there&#8217;s just no data to support the idea that you can make sure code is secure just by open sourcing it and letting people look at it.&#8221;<br />
On the closed source side, one of the things that I often hear as being an advantage is this notion that there&#8217;s a company to go back to, there&#8217;s a company that stands behind it. My impression is, I don&#8217;t have any guarantee that a bug that I find will get fixed in the product. I don&#8217;t have any guarantee that a problem that I&#8217;m running into will get solved by the company that produced it. I can file a bug, I can call product support; maybe I&#8217;ll get a resolution, maybe I won&#8217;t.<br />
Do you think that Microsoft or any other company really offers that level of guarantee? </p>
<p><strong>Matt:</strong>  In my experience having worked as a quick-fix engineer where we investigated customer reported problems from PSS, it was very serious. If you couldn&#8217;t find some way to workaround it, it needed to be a product fix. Now with that being said, if there was a reasonable workaround, then you&#8217;re back to the issue of whether it&#8217;s worth the risk to go patch product code.</p>
<p>There&#8217;s not a case I can think of where a customer had a serious problem and we didn&#8217;t either find them a workaround or patch the product in order to get them back on track.  The open source community can’t guarantee every requested change will be made either.</p>
<p><strong>Scott:</strong>  I guess the only caveat to that might be that obviously, it&#8217;s not going to be instantaneous, in either the closed source or the open source world. I remember a problem I found, and the answer was it&#8217;ll be fixed in Service Pack 2, but Service Pack 2 didn&#8217;t come out for another six months. </p>
<p><strong>Matt:</strong>  Very few fixes in proprietary or open source development are instantaneous.  More complex issues may take longer, and again there is the concern about compatibility.  When something like Service Pack 2 ships, it’s had many hours of testing devoted to it to ensure that even small fixes are getting good coverage.</p>
<p><strong>Scott:</strong>  Clearly, from your perspective, that guarantee of supportability is real, but there are just certain kinds of physical constraints on how fast the resolution might be available. But in your experience if there is a critical problem, either the customer gets a workaround for it or Microsoft starts working on a fix?</p>
<p><strong>Matt:</strong>  That&#8217;s been my experience in ten years here. </p>
<p><strong>Richard:</strong>  We talked to one of the guys that works on the Linux kernel. He basically said what happens is that people turn code in to the mailing list, and then everybody takes a look at it. If they&#8217;re interested and they snipe at it, then the developer makes some changes. Then, ultimately it either gets adopted by the maintainer &#8211; the person who owns that section of the kernel &#8211; or it doesn&#8217;t.</p>
<p>So, at least in some sense there&#8217;s no process to enforce quality during implementation beyond peer review. It seems to me intuitively that that&#8217;s a disadvantage. But, I just wanted to get your take on it. </p>
<p><strong>Matt:</strong>  Of course we&#8217;re not working on the kernel, but I know that before a piece of code I write is going to get anywhere that it&#8217;s going to get exercised quite a bit. It seems like inherently that&#8217;s an advantage.</p>
<p><strong><a name="microsoft">Scott:</a> </strong> Matt, talk a little bit about motivation inside of Microsoft. How much is it sort of computer-generated, and how much is it, &#8220;Developer Number 13 had this much code checked in, this few defects, found this many bugs…?&#8221; How does it work in the “big house?” </p>
<p><strong>Matt:</strong>  For us it&#8217;s all about our developer customers. It’s about the level of enthusiasm and people&#8217;s feedback, and it all feeds off of that. We get our customer’s excitement, what they want to see, what they&#8217;re going to be able to build.  They say to us, &#8220;If only you added this feature you could save me time, and here&#8217;s what I want to see next.&#8221;<br />
The people here in Microsoft are completely driven by what our customers want to see next. We may be in a bit of a unique position because our customer is a developer, and developers get really excited about the platform. </p>
<p><strong>Scott:</strong>  I’ve heard from people who’ve interviewed at Microsoft come back and say, “There really is a sense that by working at Microsoft you have an opportunity to change the world.”  I would guess that many of Microsoft&#8217;s products … if you take a look at Office, Visual Studio, Silverlight, and how you hope those products progress over time, most of these are big bets. In most of these cases, you are part of something that you hope is going to be really big and industry-changing. </p>
<p><strong>Matt:</strong>  Yes, it&#8217;s the kind of thing where I&#8217;ve had people come up to me at ASP.NET conferences and say, &#8220;You changed how I do my work. It&#8217;s been an incredible experience and I can&#8217;t wait to see what you guys do next.&#8221; It makes an impact on their life. It makes it fun. </p>
<p>It’s different than what Scott was driving at; the “how many defects” and “how many lines of code” kind of thing. We really run off of developer-driven enthusiasm. There&#8217;s an enthusiastic, sharp, hardworking group of people that are really focused on the customer and how to make better developer experiences. </p>
<p><strong>Richard:</strong>  Well, thanks very much for talking with us. I appreciate it. </p>
<p><strong>Matt:</strong>  Sure.</p>
<img src="http://howsoftwareisbuilt.com/?ak_action=api_record_view&id=95&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%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F09%2F11%2Finterview-with-matt-gibbs-development-manager-ui-framework-and-services-microsoft%2F&amp;title=Interview+with+Matt+Gibbs+%26%238211%3B+Development+Manager+%26%238211%3B+UI+Framework+and+Services+%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%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F09%2F11%2Finterview-with-matt-gibbs-development-manager-ui-framework-and-services-microsoft%2F&amp;title=Interview+with+Matt+Gibbs+%26%238211%3B+Development+Manager+%26%238211%3B+UI+Framework+and+Services+%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%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F09%2F11%2Finterview-with-matt-gibbs-development-manager-ui-framework-and-services-microsoft%2F" 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%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F09%2F11%2Finterview-with-matt-gibbs-development-manager-ui-framework-and-services-microsoft%2F&amp;title=Interview+with+Matt+Gibbs+%26%238211%3B+Development+Manager+%26%238211%3B+UI+Framework+and+Services+%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?url=http%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F09%2F11%2Finterview-with-matt-gibbs-development-manager-ui-framework-and-services-microsoft%2F&amp;title=Interview+with+Matt+Gibbs+%26%238211%3B+Development+Manager+%26%238211%3B+UI+Framework+and+Services+%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%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F09%2F11%2Finterview-with-matt-gibbs-development-manager-ui-framework-and-services-microsoft%2F" 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+Matt+Gibbs+%26%238211%3B+Development+Manager+%26%238211%3B+UI+Framework+and+Services+%26%238211%3B+Microsoft+@+http%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F09%2F11%2Finterview-with-matt-gibbs-development-manager-ui-framework-and-services-microsoft%2F" 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/11/interview-with-matt-gibbs-development-manager-ui-framework-and-services-microsoft/feed/</wfw:commentRss>
		<slash:comments>2</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 [...]]]></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%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F09%2F10%2Finterview-with-rod-johnson-ceo-interface21%2F&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%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F09%2F10%2Finterview-with-rod-johnson-ceo-interface21%2F&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%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F09%2F10%2Finterview-with-rod-johnson-ceo-interface21%2F" 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%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F09%2F10%2Finterview-with-rod-johnson-ceo-interface21%2F&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?url=http%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F09%2F10%2Finterview-with-rod-johnson-ceo-interface21%2F&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%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F09%2F10%2Finterview-with-rod-johnson-ceo-interface21%2F" 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%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F09%2F10%2Finterview-with-rod-johnson-ceo-interface21%2F" 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>10</slash:comments>
		</item>
		<item>
		<title>Interview with John McCreesh &#8211; Marketing Program Lead &#8211; OpenOffice</title>
		<link>http://howsoftwareisbuilt.com/2007/08/05/interview-with-john-mccreesh-vp-of-marketing-openoffice/</link>
		<comments>http://howsoftwareisbuilt.com/2007/08/05/interview-with-john-mccreesh-vp-of-marketing-openoffice/#comments</comments>
		<pubDate>Sun, 05 Aug 2007 21:03:49 +0000</pubDate>
		<dc:creator>campsean</dc:creator>
				<category><![CDATA[Sean Campbell]]></category>
		<category><![CDATA[cross platform]]></category>
		<category><![CDATA[documentation]]></category>
		<category><![CDATA[formats]]></category>
		<category><![CDATA[John McCreesh]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[methodology]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[OpenOffice]]></category>
		<category><![CDATA[process]]></category>
		<category><![CDATA[quality]]></category>
		<category><![CDATA[standards]]></category>

		<guid isPermaLink="false">http://howsoftwareisbuilt.com/2007/08/05/interview-with-john-mccreesh-vp-of-marketing-openoffice/</guid>
		<description><![CDATA[Interviewers: Scott Swigart, and Sean Campbell Interviewee: John McCreesh &#8211; Open Office John McCreesh In this interview with John who is the Marketing Program Lead for Open Office we asked him about: What the process is for delegating work out to members of the OpenOffice team How OpenOffice handles end user requests for features The [...]]]></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-john-mccreesh/"> John McCreesh &#8211; Open Office</a> </p>
<table>
<tr>
<td>
<img src='http://howsoftwareisbuilt.com/wp-content/uploads/2007/08/john-mccreesh.thumbnail.jpg' alt='john-mccreesh.jpg' title='Photo credit: www.mariafalconer.co.uk' />
</td>
</tr>
<tr>
<td align=center>
John McCreesh
</td>
</tr>
</table>
<p>In this interview with John who is the Marketing Program Lead for Open Office we asked him about:</p>
<ul>
<li><a href="http://howsoftwareisbuilt.com/2007/08/05/interview-with-john-mccreesh-vp-of-marketing-openoffice/#delegation">What the process is for delegating work out to members of the OpenOffice team</a></li>
<li><a href="http://howsoftwareisbuilt.com/2007/08/05/interview-with-john-mccreesh-vp-of-marketing-openoffice/#enduserrequests">How OpenOffice handles end user requests for features</a></li>
<li><a href="http://howsoftwareisbuilt.com/2007/08/05/interview-with-john-mccreesh-vp-of-marketing-openoffice/#steeringcomitt">The engineering steering committee for OpenOffice</a></li>
<li><a href="http://howsoftwareisbuilt.com/2007/08/05/interview-with-john-mccreesh-vp-of-marketing-openoffice/#largecompany">Large Company contributions to OpenOffice</a></li>
<li><a href="http://howsoftwareisbuilt.com/2007/08/05/interview-with-john-mccreesh-vp-of-marketing-openoffice/#QA">How the Q/A process is handled for OpenOffice</a></li>
<li><a href="http://howsoftwareisbuilt.com/2007/08/05/interview-with-john-mccreesh-vp-of-marketing-openoffice/#enduserdocs">How OpenOffice generates appropriate documentation for end users</a></li>
<li><a href="http://howsoftwareisbuilt.com/2007/08/05/interview-with-john-mccreesh-vp-of-marketing-openoffice/#crossplat">How much goes into keeping OpenOffice cross platform (Mac, Linux, Windows) vs. emphasis on creating new features.</a></li>
<li><a href="http://howsoftwareisbuilt.com/2007/08/05/interview-with-john-mccreesh-vp-of-marketing-openoffice/#innovation">The Office 2007 Ribbon, innovation, and standards as it relates to OpenOffice</a></li>
</ul>
<p><span id="more-86"></span></p>
<p><strong>Scott Swigart:</strong> John, thanks for taking the time to chat.  Could you take a minute and tell us a little about yourself?</p>
<p><strong>John McCreesh: </strong>I have been doing work on a voluntary basis for OpenOffice.org for five or six years now. For the last year I have been leading the worldwide Marketing Project.<br />
My day job is in big commercial IT shops. I got into open source during the .com era &#8211; I suddenly found this wonderful world outside! As I&#8217;ve got a technical background, I started hacking for projects and then after a time decided I could probably do less damage by marketing than hacking. So that&#8217;s where I am now.</p>
<p><strong>Scott: </strong>OpenOffice.org is interesting to us because a lot of the open source projects that we look at are things like the Linux kernel or Apache. Those are almost by developers for developers, to some degree. The feature set is driven by the developers who work on it. OpenOffice.org is different in that it doesn&#8217;t target IT professionals so much. It targets end users, right? The users are people who are producing documents, essentially.</p>
<p>So I&#8217;m curious, with OpenOffice.org, what&#8217;s the mechanism for features to get proposed, to be slated to be worked on? What&#8217;s the process for people deciding they are going to work on a particular feature? How does that work? Because it seems that it would be different from something like Apache.<br />
<strong><br />
<a name="delegation">John:</a> </strong>That&#8217;s right. I think the traditional open source model is very much about scratching the itch. If you are a developer and you are not happy with the editor that you are using then you go off and write your own. That model does not apply in OpenOffice.org where as you say, it is much more of an end-user tool.<br />
 I suspect a lot more of our developers would sit down and write a document with Emacs than they probably would with OpenOffice.org.<br />
The thing is though, lots of people get a big kick out of developing for a project that their mom and dad use, or the kids use, or they can take around and hand out at the school and say, &#8220;Look, you can use it for free and I am one of the people who helped develop it.&#8221;<br />
Another thing is that this is a huge piece of code. So, for developers that poses challenges, compared to a lot of traditional open source projects which are comparatively small in terms of code and have a small number of developers.<br />
The development methodology of breaking things down into small modules makes it easy for more people to work in open-source.  But, OpenOffice.org has grown up over 15 years, so there is some very old code there and there is some very new code there.<br />
 Getting developers in to find their way around and to make contributions can take a bit of time. But equally, if you&#8217;re technically inclined, to get some code in there, to build OpenOffice.org, and see your work coming up the other end, again, that’s a big achievement.</p>
<p><strong>Scott: </strong>Right.</p>
<p><strong>Sean: </strong>When we talked to Stormy Peters, one of the things we talked about is how products take in end user requests, But So with that in mind what is your the overall process with OpenOffice.org for taking in a user&#8217;s request likesuch as, &#8220;I would like the ability to handle text editing just a little differently here because my boss wants me to.&#8221; But they have no ability to write it. In other words: What&#8217;s the process for getting those things integrated?</p>
<p><a name="enduserrequests"><strong>John:</strong></a> Yeah, we sometimes get interesting conversations between developers who say, &#8220;Well if people want this, why don&#8217;t they just write it, or find someone that can write it?&#8221; I think one of the challenges for us is to bring together people who’ve got the ability to respond to the user&#8217;s requests, and to get the users to put the request together.</p>
<p>We have the standard open source toolkits. Anyone can raise an issue or raise a request for an enhancement on our website. It will get checked to make sure it is valid. Other people can go in and support it, add notes to it and so on. So there is that traditional open-source process: people vote for things. It is an entirely open process and you can see whether what you&#8217;re looking for is commanding support in the community.</p>
<p>But equally we have a fair number of developers who are paid to work on the project. So, Sun Microsystems’ developers take the OpenOffice.org code and release it as StarOffice. Like any commercial software house, they have big customers who say to them, &#8220;Hey, you know this particular feature of StarOffice is poor. Can you do something about it?&#8221; If they&#8217;ve got a support contract with Sun, then Sun will put some developers onto it and they will get into the OpenOffice.org code base that way.<br />
Similarly, when Novell started looking at the code base and decided to take OpenOffice.org and make it a significant part of their SUSE offering, they started using it internally themselves. There were things that they thought, &#8220;Yeah, we need to do this. We need to add this feature. This is important to the kind of market we are going to sell in.&#8221; So again, they took some of their developers and put them to work on it.<br />
So OpenOffice.org is a combination of the traditional software model where you have a software company who listens to its users,  plus input from users around the world.</p>
<p><strong>Sean: </strong>What percentage of the new features that go into OpenOffice.org do you think are driven by a developer request mostly from soup to nuts or vs. what is onethose that is are driven predominantly by an end-user request but then just implemented by a developer?</p>
<p><strong>John: </strong>That&#8217;s a tricky one.</p>
<p><strong>Sean: </strong>Do you think it is equal or is the product still driven by developer input more than end-user input?</p>
<p><strong>John: </strong>Well, it&#8217;s hard to say. One of the things that people said to us at the launch when we released the Version 2 product was, &#8220;Yeah, you&#8217;ve got all the functionality that we want but can you make it run faster?&#8221;</p>
<p>Now, from a developer point of view, a lot of the hacker community was really motivated by this. The thing about making more efficient code and making it smaller and leaner and all the rest of it really rang bells with a lot of people. That was something that had tremendous developer appeal, but it also has real marketplace end-user appeal. So I don&#8217;t know whether you would say that was driven by end-users or driven by developers. It was a happy area where the two interests coincided.</p>
<p><strong>Sean: </strong>OK.</p>
<p><strong>Scott: </strong>So on an open source project there is usually a chief maintainer right? If you take a look at the Linux kernel, it&#8217;s Linus Torvald who ultimately gets to decide what&#8217;s in or not. Is it Sun Microsystems that&#8217;s the final arbitrator of what gets checked into the main source tree and what doesn&#8217;t?</p>
<p><a name="steeringcommitt"></a><strong>John: </strong>We have an Engineering Steering Committee, or ESC. It’s the ultimate arbiter if there are disputes about what goes into the code or what doesn&#8217;t, and the general technical direction of products is decided there.<br />
On a day-to-day basis, the project is too big for any one person to sit there and say, &#8220;That goes in and that goes out.&#8221;</p>
<p><strong>Scott: </strong>Right.</p>
<p><strong>John: </strong>So OpenOffice.org is divided into a number of different projects, where the project leads have the ultimate say as to what goes in or what doesn&#8217;t go into a particular build.</p>
<p><strong>Scott: </strong>OK. But I&#8217;m guessing that because Novell and Sun are so involved in it that some of their people would be owners of these different subsystems?</p>
<p><strong>John: </strong>Yes. And I think that&#8217;s perhaps going to continue more and more as more commercial companies sponsor developers.</p>
<p><a name="largecompany"></a><strong>Scott: </strong>And that&#8217;s not uncommon. The one thing that I have heard across the board with open source is that company involvement is not a bad thing. Open source owes a lot of its success to the fact that IBM, Sun, Novell, Intel, AMV; other corporations are paying developers full time to work on it. So that&#8217;s an integral part of the process.</p>
<p><strong>John: </strong>Yeah, I saw some analysis years ago about the Linux kernel. At that stage most of the contributions were coming from people who were paid by corporations.</p>
<p><strong>Scott: </strong>Yeah, I would guess OpenOffice.org isn&#8217;t any different. I mean, when you take a look at a product that&#8217;s this large, that is this complex, there is a decent barrier to entry—I would guess—in really being able to get in there and really understand the code base, really develop experience with it, really understand the architecture and just get to the point to where you can make good, clean contributions that are going to add features or fix bugs and do it the right way.<br />
For a lot of these projects, they have grown to the point where there is a high barrier to get to the skill level you need to get that to be able to do that. So it makes sense that the people who are being paid to work on it are naturally going to have an advantage in just really be able to produce the quality of code that is going to ultimately make it in.</p>
<p><strong>John: </strong>One of the changes we have tried to make with the architecture in the past couple of releases is to open up the product more for extensions.</p>
<p><strong>Scott: </strong>Yeah.</p>
<p><strong>John: </strong>People who aren&#8217;t as technically skilled, and will find it a real challenge to go through pages and pages of code (some of which might be commented in German) and try and make sense of it, are quite capable of providing functionality in the form of a plug-in.</p>
<p><strong>Scott: </strong>That also seems to be a key factor in the success of a given open source product—that it has a good extensibility story. It has a good modularity story. Apache is a great example of that. To work on the Apache core there is a high bar. But to write modules—anybody can do it, essentially.</p>
<p><strong>John: </strong>Firefox is another classic example of that. It&#8217;s used a lot. Again, the developer gets a real kick out of seeing their piece of code looking as if it is part of the core product. Once you have incorporated the extension into the menus and in the help system, etc. then as far as anyone looking at the product is concerned, you have written a piece of Firefox or a piece of OpenOffice.org code.</p>
<p><strong>Scott: </strong>Right, right.</p>
<p><a name="QA"></a><strong>Sean: </strong>I have a question about the new features. How is the QA process handled? A lot of our conversations have taken us in interesting directions as we talk to people who submit stuff, not in any pejorative sense for an open source but it just is interesting how who are contributors as the process of checking in code, andgoing through the process of validating it differs from project to project in terms of the rigor or the processes that go about it. So how does that work for OpenOffice?</p>
<p><strong>John: </strong>There are two schools of thought. In OpenOffice.org there is the “Community OpenOffice.org”. So if you go onto our website and download OpenOffice.org, that is what you get. There&#8217;s also a hacker&#8217;s version of OpenOffice.org, which doesn&#8217;t go through the Community QA process. This version feeds into some of the Linux distros, who will take this code and will do whatever QA they feel is appropriate around it.</p>
<p>So if you want an absolute leading edge of OpenOffice.org, you go to the hacker&#8217;s version. If you want something that has been through quite a structured QA process, you go for the community version, which is what we do.</p>
<p><strong>Scott: </strong>The community version, is that…? Who is ultimately responsible for doing that QA? Are there QA teams within some of the corporate sponsors of OpenOffice? Is it more of the responsibility of the distros to do that QA as part of putting their distro together?</p>
<p><strong>John: </strong>QA is one of the OpenOffice.org community projects, which runs one of the most widely geographically distributed QA processes I have ever seen, because it&#8217;s not just a matter of getting the American English master version correct.</p>
<p><strong>Scott: </strong>Right.</p>
<p><strong>John: </strong>The native language teams in all the various countries will go ahead and do a QA process on their own build. Ultimately that&#8217;s one of the things that controls how quickly we can release. We used to go for long periods of time between releases. A couple of years back we looked at that and decided it was putting developers off. If you have to wait a year before you can see your code emerging into the marketplace, you&#8217;re not really very interested. We&#8217;re now down to about four releases for the year.<br />
 We would like to do more but the QA process is a limiting factor.</p>
<p><strong>Scott: </strong>Sure.</p>
<p><strong>John: </strong>Similarly for the hacker&#8217;s version of the code: if Red Hat or Ubuntu decide to use that as their source, they have to put it through whatever QA process they feel is appropriate for their marketplace. We all have tradeoffs between features and a stable product.</p>
<p><strong>Scott: </strong>Yeah, yeah. And things like documentation also—is there a documentation team as part of the project as well? I would guess that would run into the same localization challenges because the product is such a global product.</p>
<p><strong>John: </strong>That&#8217;s right. We also have a Documentation Project that does user guides and manuals and how-tos and all that good stuff. But there must be about a dozen other independent sites on the web where people have set up help forums or wikis or whatever.</p>
<p><strong>Scott: </strong>Gotcha.</p>
<p><a name="enduserdocs"></a><strong>Sean: </strong>How much of the documentation creation is deflected or is tuned based on gaps you find that users are asking for? How much documentation is written because someone feels a personal need to write that documentation, or because they know people have struggled with it—similar to a developer adding a feature just because they need it?.</p>
<p>And how much of it is driven top-down from OpenOffice, such as, &#8220;We see X amount of requests for this, we need to build a doc set out to cover that need?&#8221;</p>
<p><strong>John: </strong>It&#8217;s a mixture of the two. The way that I got into the OpenOffice.org project in the first place was I wrote a piece of documentation &#8211; a ‘how-to’. I&#8217;d been playing with the database stuff, thinking &#8220;Hey, this is really cool.&#8221; But it wasn’t not obvious how you got into it or how you found it in the menus.</p>
<p>So, I asked a few questions on the lists, and wrote the how-to. That got a fair amount of circulation, so I realized there was obviously more to OpenOffice.org than meets the eye. And that was how I got into the project.</p>
<p>So, an awful lot of that goes on. You can never have too much documentations and how-tos for a product as big as this, because different people have different learning styles and different needs.</p>
<p><strong>Sean: </strong>One last follow-up on that. Are there types of documentation or areas of the product where you find that maybe there&#8217;s a pocket missing content-wise because it&#8217;s more community-driven versus top-down?</p>
<p>And are there any defined areas where you feel there is a gap and you have to motivate the community to contribute in a particular area?</p>
<p><strong>John: </strong>I think the problem we have is the old Google phenomenon, that there is now such a mass of stuff out there on the web, it&#8217;s tricky finding the stuff that may be current, knowing what versions it applies to, and then finding the information in the form that you require.</p>
<p>We usually do one big master user guide, which we publish on the web. It&#8217;s also available from one of the publish-on-demand organizations, so you can order paper copies of it from there.</p>
<p>But apart from that we don&#8217;t try and have a monopoly on  documentation because there are just so many other people out there who want to do it.</p>
<p><strong>Sean: </strong>But you would say that if there is a pain point of sorts, it is that, &#8220;OK, I&#8217;ve Googled how to do mail mergex, but I don&#8217;t know if it&#8217;s the appropriate steps for this version of the product.&#8221; You know what I mean?</p>
<p>Or if it is, it might be missing an extra step that could accelerate ithe process of getting the job done from a user perspective. It&#8217;s like you said, you could solve a lot of developer problems by Googling them. That&#8217;s almost like Step 1. But on the other hand, you&#8217;ve got to make sure it maps to your version of the API, your version of the development tools, those kinds of things.</p>
<p>So, that&#8217;s a fairly accurate reflection of the main pain point.</p>
<p><strong>John: </strong>I think so. We can produce a master reference manual, but it is in reference manual style, and some people find that off-putting and they&#8217;d like it more conversational style.</p>
<p><a name="crossplat"></a><strong>Sean: </strong>So, one question that I have is in OpenOffice, one of the key features is its cross-platform nature. It runs on Windows, it runs on Mac, it runs on every Linux distribution. Do you have any sense of how much development effort goes into ensuring that it is supported and runs well on all of those different platforms compared to the effort that is put into building new features?</p>
<p><strong>John: </strong>I think it&#8217;s back to the QA limitation, that the more that we officially support, then the more testing that you have to go through. It&#8217;s also a major technical challenge because, if you&#8217;re completely cross-platform, then in a sense you&#8217;re always slightly sub-optimum on any given platform.</p>
<p><strong>Scott: </strong>Well, that&#8217;s another question. Does OpenOffice.org strive to have full fidelity across all platforms? Because I know that some open source products go the route of they&#8217;re really optimized for Linux, and they&#8217;ll run on Windows or Mac or things like that. But they&#8217;re not 100% the same experience. Do you know if the philosophy of OpenOffice.org is that the experience and the features be 100% and the same, even if it means that it&#8217;s not really optimized for any platform?<br />
<strong><br />
John: </strong>That&#8217;s effectively where we find ourselves.</p>
<p><strong>Scott: </strong>OK.</p>
<p><strong>John: </strong>This is why the Mac port has taken such a long time, because the Mac is such a specialized platform and Mac users want all their applications to look just exactly like a Mac application should do. So, it&#8217;s quite hard to do that and still maintain the cross-platform thing.</p>
<p><strong>Scott: </strong>So, there&#8217;s a core that&#8217;s really generic, but then for some of the presentation layer stuff, there&#8217;s actually Windows-specific code, Mac-specific code, you know, Gnome- and KDE-specific code.</p>
<p><strong>John: </strong>We provide for example a common file selector out of the box. Or you can switch it off and say, &#8220;Just use the native file selector for my platform.&#8221; But the more of this you offer, the more your documentation has to be platform-specific. The common look and feel that makes the documentation piece easy to do.</p>
<p><strong>Scott: </strong>Right.</p>
<p><strong>Sean: </strong>This is in a different direction, but there&#8217;s an argument that goes that certain products in the open source world tend to follow rather than innovate. Sometimes OpenOffice.org is held up by that, right?</p>
<p>It&#8217;s trying to get to some base level of parity with either the most recent or the current version of the obvious competitor, which is Microsoft Office. But adding features that leap ahead beyond the current evolution of the office product isn&#8217;t typical.</p>
<p>I mean, just this statement, what&#8217;s your general response to that, when you bump into that? Because I&#8217;m sure you must have, at least at one point or another.</p>
<p><strong>John: </strong>The problem is that office productivity software is a mature market. It&#8217;s been around a long time and we&#8217;ve been through the WordPerfect and the SuperCalcs etc.. By now, people know what they want out of an office software product, and they also have an expectation about how it&#8217;s going to look and feel.  You know, where they&#8217;ll find things on menus.</p>
<p>So, you need quite a strong driver to go out and break out and produce something radically different. Chances are that unless it fundamentally gives people a better way of working, then they&#8217;re not going to accept it. Why would they learn this whole new thing if they only want to write a memo? They already know how to do that.</p>
<p><a name="#innovation"></a><strong>Sean: </strong>I guess in a product like OpenOffice, what would be the path to innovation? If you&#8217;re saying, let&#8217;s imagine a world where both are free, right? And we&#8217;re trying to equate it based on our level of productivity benefit to the end user and those kinds of things alone.<br />
Where do you think OpenOffice.org or another product that&#8217;s a productivity suite, can have a leverage point there, I guess?.</p>
<p><strong>John: </strong>Let me tell you where I think this happened. When we launched Openoffice.Org 2, we closed all the functionality gaps between OpenOffice.org and Microsoft Office. So for the average user, what they do 90% of the time is absolutely no different on either package. We recognized that and Microsoft recognized that.</p>
<p>So, our response was, well, the one thing that people are telling us is that, &#8220;OK, maybe we&#8217;ll move to your software, but every time we move we&#8217;ve got all these data conversion errors, or data conversion problems”. Or “I spend all my time writing these documents, but unless I&#8217;ve got your brand of software, I still can&#8217;t access my documents.&#8221;</p>
<p>So, we were hearing a demand from users that they wanted to own their intellectual property, the documents and spreadsheets that they&#8217;d created, independent of any software supplier. This took us off down this road that is ultimately the OpenDocument Format that you&#8217;re well aware of.</p>
<p><strong>Sean: </strong>Yeah.</p>
<p><strong>John: </strong>So users got an ISO standard for how office data should be stored. Once you&#8217;ve got that, then no software vendor can ever lock you into a product again. And it makes it easier to get your data and use it in corporate systems and all that good stuff.</p>
<p>So, that was our response to &#8220;how do we differentiate ourselves in the marketplace from Microsoft?&#8221; We knew that Microsoft would have grave philosophical difficulties going down that route.</p>
<p>At the same time, Microsoft looked at the same problem from their side and went, &#8220;What can we do to put a gap between ourselves and OpenOffice.org?&#8221; And their response was not actually to add new features or change the core of the product, but to change its look and feel.</p>
<p>This is where we got the Ribbon and all this other stuff. Sure, it looks different. Their response was pretty much a consumer-driven thing. &#8220;Let&#8217;s make it look sexier in the marketplace. Let&#8217;s get it looking so sexy so that people see it at home and then they go back to work and say, &#8216;Hey, we&#8217;ve got to have this Ribbon thing at work.&#8217;&#8221; It doesn&#8217;t actually add anything to their productivity, but it looks cool. </p>
<p>So, Microsoft has gone off in one way, which is a consumer-sexy-look-and-feel thing, and we&#8217;ve gone down the more technical route. What people are telling us on the domestic side is they want to know that their grandchildren will be able to pull up Granddad’s diary from 50 years ago and still be able to access it in whatever office software they&#8217;ll be using then. On the commercial side, public administrations worry that 20 years from now, someone&#8217;s going to come slap on with a Freedom of Information Act requirement to dig out some documents they’ve filed today. Are they going to have the word processor that wrote that document 20 years ago? Absolutely no chance!</p>
<p>So, the ODF development was our response to that demand for freeing the data from the application. So, was that innovative? I think that was hugely innovative. I think it was far more innovative than Microsoft’s response &#8211; . they got a few bells and whistles and their menus look a bit different.</p>
<p><strong>Scott: </strong>Something like the Ribbon, that&#8217;s an interesting point, because how does OpenOffice.org make a decision about whether or not OpenOffice.org will adopt that look and feel or not?</p>
<p>Because I think that&#8217;s been a debate. OK, Microsoft significantly changed their look and feel, should OpenOffice.org do the same or not? What&#8217;s the thinking on that? And, I guess, how do you make decisions like that?</p>
<p><strong>Sean: </strong>And –before you answer that—one of the things that I&#8217;m pretty cognizant of is that part of the change for the Ribbon was obviously just change itself. And then the other part of the change was driven by some studies that said, &#8220;Well, let&#8217;s put the first thing a user wants to use first in the Ribbon, etc.&#8221;</p>
<p>There are a lot of arguments about the decisions that were made, right? One person&#8217;s choice might not be another’s. But that was the driving influence too. But And to Scott&#8217;s point, how would something like that come to fruition in the OpenOffice.org environment? If it was deemed necessary, obviously…</p>
<p><strong>John: </strong>OK. The Ribbon thing is one of the best things that happened for us for a long, long time, because over the years, we were sick of hearing arguments that said, &#8220;OpenOffice.org menus are slightly different from Microsoft Office&#8217;s, therefore, if we&#8217;re going to have to migrate people, it&#8217;ll cost us billions of dollars to retrain everybody to know that option isn&#8217;t here, it&#8217;s somewhere else.&#8221;</p>
<p><strong>Scott: </strong>And now they&#8217;ve given you even a bigger change on their own end, right? So, yeah, there you go.</p>
<p><strong>John: </strong>It&#8217;s a much simpler migration path from an end user perspective to go from current Microsoft Office to OpenOffice.org than it is to go to completely new Ribbon-style interface.<br />
Will it catch on in the marketplace? I don&#8217;t know. I think it&#8217;s a big gamble on Microsoft&#8217;s part. They&#8217;ve tried a couple of times in the past to push the market in ways the market has eventually revolted against. They have had marketing failures in the past.</p>
<p>And it also takes an awful long time to get people off legacy versions of Office. There&#8217;s never very much more than low double-digit numbers of people using the latest version. So when latest version is such a big step change, it&#8217;s a big gamble for them.</p>
<p>Would we ever go the same route? Well, if five years from now, if everybody in the world has decided that Ribbon is the way to go and that&#8217;s what they want in a product, I suspect we will have to do something similar or come up with something better and convince the world that&#8217;s there&#8217;s a better way to do it. But at the moment the jury is very much out.</p>
<p><strong>Scott:</strong> So in other words something like that, the prudent thing to do is to take a wait and see approach, in other words.</p>
<p><strong>John: </strong>Exactly, just as Microsoft is doing around ODF. It&#8217;s doing its usual thing of trying to say, &#8220;Well, OK, if you want a standard, we&#8217;ll invent the Microsoft standard, and try to sell that to the world.&#8221; So that was a fairly predictable response.</p>
<p><strong>Scott: </strong>Now, I thought I did read something saying that Microsoft was going to allow something like a &#8220;Save As ODF.&#8221; I thought recently there&#8217;d been a change in their thinking on that. I mean that&#8217;s outside of the scope of this conversation. But it seems like I bumped into that, but maybe I, maybe not, I don&#8217;t know.</p>
<p><strong>John: </strong>What they have done is they&#8217;ve offered some support to an open source project to set up converters &#8211; ODF plug-ins for Office. Part of their recent agreement with Novell—and I think there&#8217;s something with Linspire as well—had some clause in it about working to get more file compatibility.<br />
So, they&#8217;re not stupid. They&#8217;re keeping in touch with the technology, finding out how it works, so if they do find the market is forcing them down that way, you know it&#8217;ll be a comparatively easy thing for them to quietly drop into the next release of their product.</p>
<p><strong>Scott: </strong>OK, I get it.</p>
<p><strong>Sean: </strong>Well, one question on that too. So would you say that one of the strengths of open source is that you&#8217;re not going to push for a change as significant as the ribbon unless the user base asks for it? In other words, you won&#8217;t push a change like that top-down and if the users aren&#8217;t asking for it then a wait-and-see approach makes the most sense because nobody&#8217;s asking.</p>
<p><strong>John: </strong>That&#8217;s right. It&#8217;s hard to think of anything where we&#8217;ve gone to change for change&#8217;s sake. But, equally, if one of our developers came up with a really cool new feature that no one had ever seen in an office suite before and, and we looked at it and thought, &#8220;Hey, that&#8217;s, that&#8217;s wonderful,&#8221; we&#8217;d do everything in our power to get it out into the product.</p>
<p><strong>Scott: </strong>Well and I guess too you guys have the option of, like you said, there&#8217;s the hacker&#8217;s build, there&#8217;s the experimental build, and it seems to me like a lot of things could be tried out there, and if they caught on and were popular, it might make sense to move forward into the stable tested one.<br />
Is that how it works? Is there a Darwinian effect with features where, somebody codes it up and it makes it into the hacker&#8217;s build, and then it either lives or dies there? It either catches on and it makes it into the, the community one or it doesn&#8217;t and it doesn&#8217;t.</p>
<p><strong>John: </strong>Yep, that&#8217;s been a route in the past and we think the extensions route will be a much faster way in the future. So if someone brings out an extension, and we see that everybody and his dog is downloading it and blogging about it saying how wonderful it is, and if it makes sense to put that into the core product, then that would be a very good way of moving the product forward.<br />
 But, equally well, if it&#8217;s working well as an extension then why would you want the overhead of putting it in the core product, unless from a maintainability or efficiency or some other reason?</p>
<p><strong>Sean: </strong>Well, what, what, one question I want to ask goes back to the original genesis of what we&#8217;re trying to accomplish in our investigation, &#8220;if the question was posed to you, &#8220;OpenOffice.org is predominantly an open source project. Microsoft Office is obviously a closed source project. From a development methodology standpoint, what would you say are the important characteristics that are advantageous on the OpenOffice.org side compared to Microsoft Office?&#8221;</p>
<p><strong>Scott: </strong>What Sean is going for is what do you see as some of the biggest advantages of having OpenOffice.org developed as an open source product? What comes out of the open source process that is very advantageous?</p>
<p><strong>John: </strong>OK, from a developer&#8217;s point of view clearly it means you know anyone can contribute to the project without being a Microsoft employee. From a general marketplace perspective, the appeal of open-source is it&#8217;s a transparent process. Anyone can request features, record bugs, whatever. If you&#8217;ve ever tried doing that with Microsoft you&#8217;ll know it&#8217;s not a transparent or efficient process. Anyone can come along to the OpenOffice.org conference and talk to developers and buy them a few beers and say, &#8220;Hey! Why don&#8217;t you come work on what I&#8217;m looking for?&#8221;</p>
<p>Then there&#8217;s the whole issue around openness of what&#8217;s in the code and what isn&#8217;t in the code. There&#8217;s been umpteen conspiracy theories over the years about Microsoft back doors etc. OK, most of those are just Internet conspiracy theories, but for a lot of governments in the world who are suspicious of big corporations, the fact that they&#8217;ve looked inside the code, seen what was there, get their own people looking at it, is very important.</p>
<p>And finally, software companies come and go. Even Microsoft will go someday. If you own the code or if you can get a copy of the code you&#8217;re guaranteed that you can run it just as long as you can compile it.<br />
<strong><br />
Scott:</strong> John, thanks for taking the time to chat.</p>
<p><strong>John: </strong>Thank you.</p>
<img src="http://howsoftwareisbuilt.com/?ak_action=api_record_view&id=86&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%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F08%2F05%2Finterview-with-john-mccreesh-vp-of-marketing-openoffice%2F&amp;title=Interview+with+John+McCreesh+%26%238211%3B+Marketing+Program+Lead+%26%238211%3B+OpenOffice" 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%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F08%2F05%2Finterview-with-john-mccreesh-vp-of-marketing-openoffice%2F&amp;title=Interview+with+John+McCreesh+%26%238211%3B+Marketing+Program+Lead+%26%238211%3B+OpenOffice" 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%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F08%2F05%2Finterview-with-john-mccreesh-vp-of-marketing-openoffice%2F" 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%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F08%2F05%2Finterview-with-john-mccreesh-vp-of-marketing-openoffice%2F&amp;title=Interview+with+John+McCreesh+%26%238211%3B+Marketing+Program+Lead+%26%238211%3B+OpenOffice" 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?url=http%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F08%2F05%2Finterview-with-john-mccreesh-vp-of-marketing-openoffice%2F&amp;title=Interview+with+John+McCreesh+%26%238211%3B+Marketing+Program+Lead+%26%238211%3B+OpenOffice" 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%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F08%2F05%2Finterview-with-john-mccreesh-vp-of-marketing-openoffice%2F" 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+John+McCreesh+%26%238211%3B+Marketing+Program+Lead+%26%238211%3B+OpenOffice+@+http%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F08%2F05%2Finterview-with-john-mccreesh-vp-of-marketing-openoffice%2F" 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/08/05/interview-with-john-mccreesh-vp-of-marketing-openoffice/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Video Interview with James Reinders &#8211; Chief Evangelist &#8211; Intel&#8217;s Software Products Division</title>
		<link>http://howsoftwareisbuilt.com/2007/07/26/video-interview-with-james-reinders-chief-evangelist-intels-software-products-division-part-i/</link>
		<comments>http://howsoftwareisbuilt.com/2007/07/26/video-interview-with-james-reinders-chief-evangelist-intels-software-products-division-part-i/#comments</comments>
		<pubDate>Thu, 26 Jul 2007 22:46:43 +0000</pubDate>
		<dc:creator>campsean</dc:creator>
				<category><![CDATA[Sean Campbell]]></category>
		<category><![CDATA[Intel]]></category>
		<category><![CDATA[James Reinders]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[OSCON]]></category>
		<category><![CDATA[process]]></category>

		<guid isPermaLink="false">http://howsoftwareisbuilt.com/2007/07/26/video-interview-with-james-reinders-chief-evangelist-intels-software-products-division-part-i/</guid>
		<description><![CDATA[Interviewers: Scott Swigart, and Sean Campbell Interviewee: James Reinders &#8211; Intel In this video interview at OSCON 2007 we talked to James Reinders &#8211; The Chief Evangelist for Intel&#8217;s Software Products Division. We&#8217;ll talked to him about the following: Bookmark this:]]></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-james-reinders-chief-evangelist-software-products-division-intel/"> James Reinders &#8211; Intel</a> </p>
<p>In this video interview at OSCON 2007 we talked to James Reinders &#8211; The Chief Evangelist for Intel&#8217;s Software Products Division.  </p>
<p>We&#8217;ll talked to him about the following:</p>
<img src="http://howsoftwareisbuilt.com/?ak_action=api_record_view&id=82&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%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F07%2F26%2Fvideo-interview-with-james-reinders-chief-evangelist-intels-software-products-division-part-i%2F&amp;title=Video+Interview+with+James+Reinders+%26%238211%3B+Chief+Evangelist+%26%238211%3B+Intel%26%238217%3Bs+Software+Products+Division" 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%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F07%2F26%2Fvideo-interview-with-james-reinders-chief-evangelist-intels-software-products-division-part-i%2F&amp;title=Video+Interview+with+James+Reinders+%26%238211%3B+Chief+Evangelist+%26%238211%3B+Intel%26%238217%3Bs+Software+Products+Division" 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%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F07%2F26%2Fvideo-interview-with-james-reinders-chief-evangelist-intels-software-products-division-part-i%2F" 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%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F07%2F26%2Fvideo-interview-with-james-reinders-chief-evangelist-intels-software-products-division-part-i%2F&amp;title=Video+Interview+with+James+Reinders+%26%238211%3B+Chief+Evangelist+%26%238211%3B+Intel%26%238217%3Bs+Software+Products+Division" 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?url=http%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F07%2F26%2Fvideo-interview-with-james-reinders-chief-evangelist-intels-software-products-division-part-i%2F&amp;title=Video+Interview+with+James+Reinders+%26%238211%3B+Chief+Evangelist+%26%238211%3B+Intel%26%238217%3Bs+Software+Products+Division" 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%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F07%2F26%2Fvideo-interview-with-james-reinders-chief-evangelist-intels-software-products-division-part-i%2F" 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+Video+Interview+with+James+Reinders+%26%238211%3B+Chief+Evangelist+%26%238211%3B+Intel%26%238217%3Bs+Software+Products+Division+@+http%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F07%2F26%2Fvideo-interview-with-james-reinders-chief-evangelist-intels-software-products-division-part-i%2F" 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/07/26/video-interview-with-james-reinders-chief-evangelist-intels-software-products-division-part-i/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
			<enclosure url="http://howsoftwareisbuilt.com/wp-content/uploads/James-Intel-Q1.wmv" length="2345515" type="video/wmv" />
		<itunes:duration>0:00:58</itunes:duration>
		<itunes:subtitle>Interviewers: Scott Swigart, and Sean Campbell 
Interviewee: James Reinders &#8211; Intel 
In this video interview at OSCON 2007 we talked to James Reinders &#8211; The Chief Evangelist for Intel&#8217;s Software Products Division.  
We&#8217;ll tal[...]</itunes:subtitle>
		<itunes:summary>Interviewers: Scott Swigart, and Sean Campbell 
Interviewee: James Reinders &#8211; Intel 
In this video interview at OSCON 2007 we talked to James Reinders &#8211; The Chief Evangelist for Intel&#8217;s Software Products Division.  
We&#8217;ll talked to him about the following:


Bookmark this:













</itunes:summary>
		<itunes:author>scottswigart@technologyevangelism.com</itunes:author>
		<itunes:explicit>no</itunes:explicit>
		<itunes:block>no</itunes:block>
	</item>
		<item>
		<title>Code Review Processes in Open Source Projects&#8230;</title>
		<link>http://howsoftwareisbuilt.com/2007/07/17/code-review-processes-in-open-source-projects/</link>
		<comments>http://howsoftwareisbuilt.com/2007/07/17/code-review-processes-in-open-source-projects/#comments</comments>
		<pubDate>Tue, 17 Jul 2007 00:31:25 +0000</pubDate>
		<dc:creator>campsean</dc:creator>
				<category><![CDATA[Sean Campbell]]></category>
		<category><![CDATA[code review]]></category>
		<category><![CDATA[process]]></category>

		<guid isPermaLink="false">http://howsoftwareisbuilt.com/2007/07/17/code-review-processes-in-open-source-projects/</guid>
		<description><![CDATA[Just walking through reading it but here is a interesting study by the University of Victoria on code review processes in Open Source Projects. http://opensource.mit.edu/papers/Rigby2006TR.pdf Some of the research questions are: What types of review does a project use? Why are patches rejected? Who performs the review? When are reviews performed? How long do reviews [...]]]></description>
			<content:encoded><![CDATA[<p>Just walking through reading it but here is a interesting study by the University of Victoria on code review processes in Open Source Projects.</p>
<p><a href="http://opensource.mit.edu/papers/Rigby2006TR.pdf">http://opensource.mit.edu/papers/Rigby2006TR.pdf</a></p>
<p>Some of the research questions are:</p>
<ul>What types of review does a project use?</ul>
<ul>Why are patches rejected?</ul>
<ul>Who performs the review?</ul>
<ul>When are reviews performed?</ul>
<ul>How long do reviews take to perform?</ul>
<p>Etc.</p>
<p>There is a ton of interesting data in the study from a breakdown of the Linux &#8220;Pyramid of Trust&#8221; method, two reviewer model that Mozilla uses to the voting model used by Apache.</p>
<p>Well worth the read.</p>
<img src="http://howsoftwareisbuilt.com/?ak_action=api_record_view&id=64&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%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F07%2F17%2Fcode-review-processes-in-open-source-projects%2F&amp;title=Code+Review+Processes+in+Open+Source+Projects%26%238230%3B" 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%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F07%2F17%2Fcode-review-processes-in-open-source-projects%2F&amp;title=Code+Review+Processes+in+Open+Source+Projects%26%238230%3B" 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%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F07%2F17%2Fcode-review-processes-in-open-source-projects%2F" 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%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F07%2F17%2Fcode-review-processes-in-open-source-projects%2F&amp;title=Code+Review+Processes+in+Open+Source+Projects%26%238230%3B" 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?url=http%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F07%2F17%2Fcode-review-processes-in-open-source-projects%2F&amp;title=Code+Review+Processes+in+Open+Source+Projects%26%238230%3B" 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%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F07%2F17%2Fcode-review-processes-in-open-source-projects%2F" 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+Code+Review+Processes+in+Open+Source+Projects%26%238230%3B+@+http%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F07%2F17%2Fcode-review-processes-in-open-source-projects%2F" 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/07/17/code-review-processes-in-open-source-projects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Interview with Marc Miller, Open Source Software Evangelist in the AMD Developer Outreach Organization</title>
		<link>http://howsoftwareisbuilt.com/2007/07/10/interview-with-marc-miller-open-source-software-evangelist-in-the-amd-developer-outreach-organization/</link>
		<comments>http://howsoftwareisbuilt.com/2007/07/10/interview-with-marc-miller-open-source-software-evangelist-in-the-amd-developer-outreach-organization/#comments</comments>
		<pubDate>Tue, 10 Jul 2007 23:29:04 +0000</pubDate>
		<dc:creator>scottswigart</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[AMD]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[evangelism]]></category>
		<category><![CDATA[governance]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[Marc Miller]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[process]]></category>

		<guid isPermaLink="false">http://howsoftwareisbuilt.com/2007/07/10/interview-with-marc-miller-open-source-software-evangelist-in-the-amd-developer-outreach-organization/</guid>
		<description><![CDATA[Interviewers: Scott Swigart, Richard Bowler, and Sean Campbell Interviewee: Marc Miller In this interview, we spoke with Marc Miller about his views on the current state of open source software.&#160; Marc works for Advanced Micro Devices (AMD), and in January, Marc took on a role as the open source software evangelist in the AMD Developer [...]]]></description>
			<content:encoded><![CDATA[<p>Interviewers: <a href="http://howsoftwareisbuilt.com/about-scott-swigart/">Scott Swigart</a>, <a href="http://howsoftwareisbuilt.com/about-richard-bowler/">Richard Bowler</a>, and <a href="http://howsoftwareisbuilt.com/about-sean-campbell/">Sean Campbell</a></p>
<p>Interviewee: <a href="http://howsoftwareisbuilt.com/about-marc-miller-open-source-software-evangelist-in-the-amd-developer-outreach-organization/">Marc Miller</a></p>
<p>In this interview, we spoke with Marc Miller about his views on the current state of open source software.&nbsp; Marc works for Advanced Micro Devices (AMD), and in January, Marc took on a role as the open source software evangelist in the AMD Developer Outreach organization enabling Linux kernel and application developers to develop optimized code using both AMD and 3rd party tools and resources. In his role as a software Alliance Manager for AMD 2001-2006, Mr. Miller played a significant role in developing a Linux marketing strategy with a focus on integration of AMD technology with software tools developed by the open source community and industry partners. Throughout his career at AMD, Marc has been a key contact for open source developers wishing to work with AMD, and has been an open source ambassador for AMD, helping to coordinate outbound and inbound communication between AMD and Linux developers. </p>
<p>In this interview Marc talks about:</p>
<ul>
<li><a href="http://howsoftwareisbuilt.com/2007/07/10/interview-with-marc-miller-open-source-software-evangelist-in-the-amd-developer-outreach-organization/#challenges">Challenges that open source companies have when competing with proprietary software</a></li>
<li><a href="http://howsoftwareisbuilt.com/2007/07/10/interview-with-marc-miller-open-source-software-evangelist-in-the-amd-developer-outreach-organization/#advantages">Advantages of open source</a></li>
<li><a href="http://howsoftwareisbuilt.com/2007/07/10/interview-with-marc-miller-open-source-software-evangelist-in-the-amd-developer-outreach-organization/#choice">Choice also has disadvantages</a></li>
<li><a href="http://howsoftwareisbuilt.com/2007/07/10/interview-with-marc-miller-open-source-software-evangelist-in-the-amd-developer-outreach-organization/#anticapitalism">Is open-source anti-capitalism?</a></li>
<li><a href="http://howsoftwareisbuilt.com/2007/07/10/interview-with-marc-miller-open-source-software-evangelist-in-the-amd-developer-outreach-organization/#prvalue">The PR value of being open-source</a></li>
<li><a href="http://howsoftwareisbuilt.com/2007/07/10/interview-with-marc-miller-open-source-software-evangelist-in-the-amd-developer-outreach-organization/#pragmatic">Open-source is less idealistic and more pragmatic today</a></li>
<li><a href="http://howsoftwareisbuilt.com/2007/07/10/interview-with-marc-miller-open-source-software-evangelist-in-the-amd-developer-outreach-organization/#blending">The future is blending open-source and proprietary software</a></li>
</ul>
<p><span id="more-59"></span></p>
<p><b>Richard:</b> First off, I have to ask what you think about the idea of Microsoft funding a blog that looks into the differences in delivery model between open source and closed source. Do you think it&#8217;s possible that that blog would be unbiased? I mean, we&#8217;re doing our best to make it that way, but I&#8217;m wondering if you think we can do it. </p>
<p><b>Marc:</b> There&#8217;s a lot of suspicion right now in the open source community. In the aftermath of the Novell-Microsoft pact, it appears that nobody quite understands what Microsoft is up to and what their game plan is. Certainly the community is extremely skeptical about anything that Novell or Microsoft does at this point<span style='mso-spacerun: yes'> </span>based on past experiences, for example with the Samba and Mono communities.</p>
<p>That said, while a blog, focused on open source and sponsored by Microsoft would be treated with skepticism by certain segments of the open source community, there would also be <span style='mso-spacerun: yes'></span>people interested in reading it. <span style='mso-spacerun: yes'></span>Everybody wants to understand Microsoft’s angle on Linux. </p>
<p><b>Richard:</b> I figured that. I figured there&#8217;s going to be healthy skepticism. </p>
<p><b>Sean:</b> When you speak, Marc, about what the angle is, are you asking what Microsoft&#8217;s angle is with Novell?</p>
<p><b>Marc:</b> Yeah, and the way you look at it will depend on who you are. <span style='mso-spacerun: yes'></span>If you&#8217;re a large company like AMD that values both their Microsoft and Novell relationships, we&#8217;d be looking at that blog for opportunities where our customers can benefit from the marriage of the two.</p>
<p>One of the key things about the Novell and Microsoft pact was Steve Ballmer getting up on a box and saying that this is to protect Novell&#8217;s customers from being sued for use of Microsoft patented IP. <span style='mso-spacerun: yes'></span>That has a lot of people very frightened. </p>
<p>For example, people will be looking in those blogs for what the caution areas are. What products might I get burned on if a court decides Microsoft’s claims on software IP are legally defendable?</p>
<p><b>Richard:</b> That&#8217;s interesting. So, with that in mind, I have a few basic open source questions that I hope you&#8217;re willing to address and give us your opinion. One is, what are the challenges an open source company faces when competing with closed source companies? </p>
<p><b>Marc:</b> <a name="challenges"></a>Very often the open source companies are trying to profit from something that&#8217;s not the source code itself.</p>
<p>Take a look at someone like <a href="http://www.canonical.com/">Canonical</a>. <span style='mso-spacerun: yes'></span>All of their software development efforts have been to get <a href="http://www.ubuntu.com/">Ubuntu</a> into the hands of as many users as possible. <span style='mso-spacerun: yes'></span>They make Ubuntu Linux available at no charge, under open source licensing mechanisms. <span style='mso-spacerun: yes'></span>Their profit model is currently based on support services. For someone like Canonical it&#8217;s a question of does the open source community develop products where the user might be willing to pay something for a service like support? </p>
<p><b>Richard:</b> So, it seems to me that the biggest asset a software company has is the source code. What traditionally has been called trade secrets, intellectual property, or secret sauce.</p>
<p><b>Marc:</b> In the closed source case, yes. </p>
<p><b>Richard:</b> It&#8217;s an interesting idea to make money by giving your main product away. </p>
<p><b>Marc:</b> The <a href="http://www.gnu.org/copyleft/gpl.html">GPL</a> completely allows for an open source program to be sold for profit. But it also allows multiple copies of that to be made and redistributed without royalties. So, it&#8217;s a real interesting area. Since it has been difficult to turn a profit from just selling a GPL application, traditionally most companies that back open source projects use the software itself as an enabler for whatever service or subscription that they plan to sell. <span style='mso-spacerun: yes'></span>In some cases these companies also sell a closed source product that compliments the open source projects.</p>
<p><b>Richard:</b> So, what do you think are the most compelling advantages to open source over closed source? What is open source able to do much better than closed source can do, in your opinion? </p>
<p><b>Marc:</b> <a name="advantages"></a>Open source allows for freedom of innovation in the absence of a driving business case in a lot of cases. Take the Debian community, which has emphatically refused to adopt the same way of doing AMD64 architecture support the way that other Linux distributions have. To give you the ten-second synopsis, other Linux distributions support running 32-bit and 64-bit code in the same environment. Debian felt the way the directory structure was handled in other AMD64-supporting distributions was the wrong approach, and they felt they needed to adopt a structure that would prepare Debian Linux for future innovations. So they elected to support an approach that was different from what other Linux distributions were taking and refused the quick fix implemented for business reasons.<span style='mso-spacerun: yes'> </span>I use this example to illustrate that, in the open source community, everybody has the freedom to innovate according to their own interest and ethics, business justification or not.&nbsp; I respect the Debian community for holding to their values.<span style='mso-spacerun: yes'> </span>In the closed source space it&#8217;s a much more restricted audience; the freedom to do what a particular developer feels is the right thing just isn’t there. People are still confined by ethics, but those can be overridden by corporate objectives and customer requirements. </p>
<p>For example, products sometimes are shipped before they’re truly ready just to stay on schedule.<span style='mso-spacerun: yes'> </span>Debian is famous, if not notorious, for delaying a release until the software is really ready and no known critical bugs exist.<span style='mso-spacerun: yes'> </span>If a bug is missed prior to release, open source methods allow opportunities for the community to fix the bug after the fact.<span style='mso-spacerun: yes'> </span></p>
<p>In open source software, anyone can disagree with a corporate direction and then redistribute their own version which has things written the way that they think it ought to be.<span style='mso-spacerun: yes'> </span>This promotes a freedom to innovate that goes beyond what you can often find in the closed source model.</p>
<p><b>Richard:</b> How does open source keep from having endless slightly different distros?&nbsp; Is it Darwinian? The things that really work and get picked up live on, and those that don&#8217;t just sort of peter out?</p>
<p><b>Marc:</b> <a name="choice"></a>The biggest strength and the biggest weakness of open source is the freedom of choice. <span style='mso-spacerun: yes'></span>Michael Dell has been quoted in the press prior to the May 1st announcement that they were going to start shipping Ubuntu.<span style='mso-spacerun: yes'> </span>Each time he&#8217;s quoted about responding to when are you going to start shipping Linux, when are you going start supporting the community, he says, &quot;I&#8217;m fine with supporting the community. Which one? Which one do I pick?&quot; </p>
<p>Every Linux distribution has a different philosophy.<span style='mso-spacerun: yes'> </span>Look at Red Hat; they have had a very long history of preserving backward compatibility and ensuring stability of the products such that when their enterprise customer upgrades, they&#8217;re not going to have to recompile their kernel and reinstall a bunch of apps.</p>
<p>Look at the SUSE case; they try to take a much more balanced approach to include innovation in cases where it might be a minor inconvenience, but they believe that the customer will appreciate the value that they get out of the product for that minor inconvenience.</p>
<p>Now look at Debian;<span style='mso-spacerun: yes'> </span>I once suggested that Debian try to encourage enterprise ISVs like Oracle to integrate their software with Debian Linux as a way to expand their visibility and market share.<span style='mso-spacerun: yes'> </span>A Debian developer responded, &quot;Who cares about market share? What we care about is open source.&quot; Everyone on that discussion list thread agreed there&#8217;s no reason to make Debian more compatible with Oracle databases because Oracle isn&#8217;t open source.<span style='mso-spacerun: yes'> </span>Debian’s mission is an open source revolution across all software segments.</p>
<p>So each Linux distribution, besides having a different code base, has a different philosophy behind it. And that creates a lot of choices for the user and that&#8217;s a big strength, but that choice complicates the decision too.<span style='mso-spacerun: yes'> </span>There are two main product lines in the Windows release – a desktop/workstation line, and a server line of products, and one can even argue that those two product lines are more similar than dissimilar as they leverage many of the same operating system components.<span style='mso-spacerun: yes'> </span>There are 359 open source operating system distributions according to <a href="http://distrowatch.com/">Distrowatch</a>, most of which are Linux.<span style='mso-spacerun: yes'> </span></p>
<p><b>Richard:</b> <a name="anticapitalism"></a>It seems to me in doing research on this subject, I run into an awful lot of open source advocates who seem to be open source advocates more because of the anti-capitalism sort of flavor to it, at least in some corners of open source.</p>
<p>That seems to be a common voice, although it doesn&#8217;t seem to be a common motivation of all of the open source projects I&#8217;ve looked at. It looks like there&#8217;s an awful lot of people writing open source trying to figure out a way to make money on it. They believe in open source for maybe collaborative reasons, maybe for development cost reasons or whatever, but they want to make a profit.</p>
<p>But this anti-capitalist message seems to be sort of pervasive in one from or another through almost everything I&#8217;ve read. Do you think that that hurts the open source community in the eyes of people who are agnostic in terms of development paradigm? Do you think some people are turned off to open source because they see it as sort of anti-business, and they aren&#8217;t? </p>
<p><b>Marc:</b> The attitudes of the open source community have changed over the years. If you look at the Linux community of the late &#8217;90s, you&#8217;ll find that&#8217;s very much the case, to the point when we launched x86-64.org I asked that all of the corporate logos be removed from the website. Since then we&#8217;ve brought them back because the open source developers realized that without a corporate motivation and corporate sponsors that there&#8217;s a lot that they&#8217;re prevented from doing. <span style='mso-spacerun: yes'></span>Many open source applications are hosted and mirrored on either boxes in a corporation’s data center or using corporate sponsorship money.<span style='mso-spacerun: yes'> </span>Linux Symposium wouldn’t happen without corporate sponsorship.<span style='mso-spacerun: yes'> </span>Linux-supporting companies look after the interests of the open source communities in standards bodies and industry forums that developers don’t usually have access to.</p>
<p>Also, a lot of corporate sponsors pay developers to do what they would do anyway. And those developers have become grateful to those corporations in a way that has lessened the anti-capitalism trend. </p>
<p><b>Sean:</b> Let me ask you a follow-up to that, and I know exactly why Richard called it an anti-capitalism bent, but do you see that as the most appropriate phrasing for it? I mean that&#8217;s kind of the quick draw phrase that everybody uses, but is it anti-capitalism or is it anti something else? </p>
<p><b>Marc:</b> I&#8217;d say it started off as anti-capitalism because the feeling was that most corporations A) produced strictly closed source software and B) didn&#8217;t understand the open source model well enough to be any good to what people like Richard Stallman were trying to promote. So, it was an anti-capitalism setup.</p>
<p>But as I say, modern-day, most of these well known developers are sponsored by a business. So, a lot of that trend has died down. </p>
<p><b>Sean:</b> So what do you think it&#8217;s kind of evolved into? Is there still kind of an anti- bent to the whole community? I mean is it kind of anti-control, or anti-throttling of innovation, or what would you stick there? </p>
<p><b>Marc:</b> The Linux community is a lot more pragmatic about software IP than they were 15 years ago but long term, open source enthusiasts still are driving toward elimination of software as a proprietary product. It&#8217;s a freedom of knowledge movement, and much in the same way that you can go to Wikipedia and read about any topic that someone has contributed knowledge to. In the software case, that freedom of information is creating software instead of encyclopedia articles, and the content creates a new market. <span style='mso-spacerun: yes'></span>You can still make money off software creations, without making money from the software itself. <span style='mso-spacerun: yes'></span>Perhaps that’s services for the software, perhaps it’s a subscription to access premium content.<span style='mso-spacerun: yes'> </span></p>
<p>Open source enthusiasts feel that they are resisting controls over innovation and strive to obtain freedom to innovate in a way that’s beneficial to the customer, regardless of business case.<span style='mso-spacerun: yes'> </span>It’s not anti-business but does challenge many existing business models.<span style='mso-spacerun: yes'> </span></p>
<p><b>Richard:</b> In other soft product areas, like music, publishing, and stuff like that, you have a war between the copyright holders and those who think that stuff should be free. Do you think that closed source companies have a right to protect their source, or do you think somehow they&#8217;re subverting the greater good? </p>
<p><b>Marc:</b> My opinion is that they have every right to do with their products whatever they need to do. <span style='mso-spacerun: yes'></span>If the software author also supports an open source movement, that’s a great thing but the open source model is not for everyone.<span style='mso-spacerun: yes'> </span>In Eric Raymond&#8217;s &quot;<a href="http://www.firstmonday.org/issues/issue3_3/raymond/">Cathedral and the Bazaar</a>,&quot; there&#8217;s a whole section about reasons to open source, and that if your product does not meet all those criteria, then maybe you are better off keeping it closed.<span style='mso-spacerun: yes'> </span>Often a solution stack is incomplete without certain pieces of software that happen to be proprietary.<span style='mso-spacerun: yes'> </span></p>
<p>For example, people buy a solution stack that includes Oracle and SAP because they derive value from the closed source applications, not because it’s built on top of an open source infrastructure.<span style='mso-spacerun: yes'> </span>The open source operating systems (such as Linux) offer great features too, but today, most OS licensing and services revenue is driven by the application workload inherent in the solution stack the OS was bundled with, not necessarily the OS or benefits of open source.</p>
<p><b>Richard:</b> So, you don&#8217;t think open source is in opposition to closed source, but rather just a different paradigm? </p>
<p><b>Marc:</b> Yes. </p>
<p><b>Richard:</b> OK. That&#8217;s cool; that&#8217;s interesting to know. I was trying to run down project-development leads on OpenOffice.org, and I think a little bit over half of them are employed by Sun. I&#8217;m curious, speaking non-altruistically, what does a company gain by sponsoring open source? </p>
<p><b>Marc:</b> <a name="prvalue"></a>Besides the points I’ve already covered, they gain favoritism as an open-source-friendly company, that developers will even develop for their closed products because they believe they are contributing to the greater-good effort. </p>
<p><b>Richard:</b> So, it&#8217;s sort of developer PR at some level? I&#8217;m sure not all of it, but there&#8217;s some, &quot;We&#8217;re good guys, look, we&#8217;re sponsoring.&quot; </p>
<p><b>Marc:</b> From a business perspective, that&#8217;s right – that’s what many of them see. <span style='mso-spacerun: yes'></span>The ability to leverage innovations from the community is also attractive, but the contributions aren’t guaranteed in the same way that the developer PR is.</p>
<p><b>Richard:</b> That&#8217;s interesting. </p>
<p><b>Sean:</b> For about seven years I&#8217;ve been involved in deep, technical efforts around evangelism, and I&#8217;ve certainly seen closed source companies realize and economic gain from sponsoring and supporting a community.</p>
<p>For a company that&#8217;s got a mainly closed source model, and they embrace open source model on the side, do you have any kind of anecdotes or examples of places where the company looked back and saw gain? </p>
<p><b>Marc:</b> Probably the closest thing that I can think of is Adobe&#8217;s decision to allow projects like OpenOffice.org to include PDF generating tools, and their decision to make PDF a completely open specification that they encourage other people to put into their products. This has benefited Adobe&#8217;s PDF software products, even though Adobe’s products are closed. So, by creating an open standard, they&#8217;ve enlarged the market for themselves, and by supporting open source efforts, they&#8217;ve gotten a lot of mileage in the market that they sell into. </p>
<p><b>Richard:</b> Last week Adobe open-sourced Flex, which was a free product. What, do you suppose, they gain by open sourcing it? Do they gain lower development costs, because they&#8217;re going to get free collaboration? </p>
<p><b>Marc:</b> Well, I&#8217;m not very familiar with Flex, but suppose that they did the same thing with Acrobat Reader, which is another free product that they give away. They have already developed the market to the point that PDF is ubiquitous. If you want to make a document that is guaranteed to be readable on just about any platform out there, whether it&#8217;s x86, Apple, or a smart phone, you generate it in PDF.</p>
<p>If they decided to make an open source Acrobat Reader, that allows a lot of projects to tap into it and borrow code from it; it promotes the whole integration story of plugins and addons that go beyond the original plugin interface for the application.<span style='mso-spacerun: yes'> </span>By giving their developer community the freedom to innovate, the development direction would be managed by the community.<span style='mso-spacerun: yes'> </span></p>
<p>You asked about lower development costs.<span style='mso-spacerun: yes'> </span>The cost only goes down measurably when the community contributes something that the “copyleft” holder was going to pay for.<span style='mso-spacerun: yes'> </span>Open source software lets a lot more innovators in the door to help with software development, but sometimes additional resources have to be found to do the work that no one contributes for free.<span style='mso-spacerun: yes'> </span>The point that the open source community is trying to make is that open source innovators are shared among many open source projects.<span style='mso-spacerun: yes'> </span>It would be expensive to recruit each of those developers under contract, and even more expensive to maintain that software over a long period of time.<span style='mso-spacerun: yes'> </span></p>
<p>Indeed, many projects have benefited from the open source model.<span style='mso-spacerun: yes'> </span>Open source is not a guarantee of success any more than having great technology.<span style='mso-spacerun: yes'> </span>There has to be demand for it, and from the right audience or no one will show up to do the work.</p>
<p><b>Richard:</b> I see. A couple weeks ago, I ran into the <a href="http://www.csinitiative.com/news_4-16-07.php">CSI</a> company that was started by Stuart Cohen. It&#8217;s sort of open source. The paradigm is that CSI hires developers, and managers as part of a geographically centered development teams. Companies who want a particular piece of software pay for CSI to manage that effort.</p>
<p>The idea is you might have half a dozen companies who want to have some software package. They pay CSI to develop it, and they also may make some of the developers on their staff available to the management of CSI to contribute to that project.</p>
<p>However, the thing that interested me the most is that was that once the software package is developed, it may not be re-licensed as open source. Rather, it&#8217;s going to be the decision of the contributing companies how to re-license, or even whether to re-license it. The presumption, I guess, is that they&#8217;ll go ahead and let it be available through some sort of open source model, where it can be modified and redistributed without cost, but they don&#8217;t have to.</p>
<p>It looks like a blending of open source and closed source. You&#8217;ve got this shared cost and collaboration of open source, but you don&#8217;t necessarily have the other main underpinning of open source, which is that the source code is available to everybody.</p>
<p>Do you think that that&#8217;s where we&#8217;re going, into different sorts of paradigms that blend proprietary and open source methodologies, and do you think that&#8217;s good or bad? </p>
<p><b>Marc:</b> <a name="pragmatic"></a>Though they would prefer everything to be open source, open source developers are beginning to accept that there are certain things that are difficult for a company to expose without getting them into potential legal trouble.<span style='mso-spacerun: yes'> </span>They don’t like it, but they’re understanding.<span style='mso-spacerun: yes'> </span>Overall, I think it&#8217;s a good thing. </p>
<p><b>Richard:</b> So, it sounds like open source is drifting away from highly idealistic to more pragmatic; still holding onto their ideals, but being more pragmatic about attainability in certain situations. </p>
<p><b>Marc:</b> <span style='mso-spacerun: yes'></span>There are some exceptions, but for the bulk of the open source community, yes, they&#8217;re becoming a lot more pragmatic about things. They still prefer to hold onto certain ideals, and continue to direct everything in that direction, but most developers are fairly pragmatic about it. </p>
<p><b>Richard:</b> So, I had a couple of interviews with some guys at Microsoft focused on ensuring security for Microsoft products: Michael Howard and James Whittaker. Both of them, separately, said that the biggest advantage that closed source has, in almost every area—architecture, implementation, quality assurance, and documentation—is the ability to mandate a process. Microsoft has the ability to say, &quot;This is part of the job, and you have to do it,&quot; whether it&#8217;s unit testing, adhering to coding standards, security reviews, or whatever. The implication was that would be hard to put together with open source because all you have is the code, you aren&#8217;t certain of the steps the developer went through to produce that code.</p>
<p>Is there good adherence to process in open source projects? Is it something that&#8217;s improving? Can you comment on that area, in general? </p>
<p><b>Marc:</b> The open source community has code control procedures and models of their own. For example, in the LinuxBIOS/OpenBIOS project, you can submit a patch to the mailing list only once you&#8217;ve gotten one of the key maintainers to review and approve the code. So, there are still very much the rules for developing that code and processes to be followed. Some of these methods probably emerged from source code control models originally used in closed source settings, but in the spirit of open source, why change or reinvent what’s already working well?</p>
<p>The rules for submission seem to vary a lot for each project. You can have quite a range of different quality control mechanisms. But, usually, there is a quality control mechanism there. </p>
<p><b>Richard:</b> Yes, there has to be. You can&#8217;t release software unless you have some kind of quality control. It seems like you have to have some sort of gatekeeper over the code base, or it&#8217;s going to deteriorate in a hurry. </p>
<p><b>Marc:</b> Without someone moderating the process, you end up with wars of someone changing a bit of code, and another person changing it back.<span style='mso-spacerun: yes'> </span>Endless back and forth. <span style='mso-spacerun: yes'></span>Code control also guides the direction of development so that community goals can be met.</p>
<p><b>Richard:</b> <a name="blending"></a>Yes. So, what to you see on the horizon? What do you think is in the near future, generally, in open source? </p>
<p><b>Marc:</b> A lot more of, as you put it, the blending areas particularly as Linux becomes more widely used in different server and desktop environments.<span style='mso-spacerun: yes'> </span>For example, in multi media areas we&#8217;re seeing a lot of companies that create set top boxes that use a combination of closed source and open source software in embedded devices.<span style='mso-spacerun: yes'> </span>It’s an area where businesses are realizing there’s money to be made with the combination of open source software and closed source IP.</p>
<p>Virtualization is a big area of expansion. A lot of companies want to make money off of virtualization, sometimes for security, and sometimes it&#8217;s to increase the range of compatibility across operating system environments. <span style='mso-spacerun: yes'></span>There are both closed and open source options, such as KVM, VMWare, and Xen. <span style='mso-spacerun: yes'></span>Each innovates using different philosophies.<span style='mso-spacerun: yes'> </span>So, this is an area that I&#8217;m watching with interest. </p>
<p>Device drivers are also an area of much attention. <span style='mso-spacerun: yes'></span>The Linux kernel community has been very emphatic that they will not accept any closed source code into the Linux kernel. And yet the way that you develop drivers for Linux is to include it in the kernel. &nbsp;For example, the FCC has given 802.11 wireless networking devices a certain range of frequencies that may be used.<span style='mso-spacerun: yes'> </span>Many of those devices are essentially programmable radios. <span style='mso-spacerun: yes'></span>The hardware vendors don&#8217;t want to open source that because that allows someone to then misuse the product and gain access to frequencies that the FCC wouldn&#8217;t approve of.<span style='mso-spacerun: yes'> </span>Sometimes in order to reveal specifications, licensed IP used in the hardware design has to be revealed.<span style='mso-spacerun: yes'> </span></p>
<p>The drivers I’ve just described can never be part of the Linux kernel, and yet Linux users want to be able to use all these devices. In recent months, just really January of this year, certain key people in the Linux community are starting to realize that this prevents a lot of hardware companies from participating in the way that they would like to, and that though hardware vendors have nothing against open source models, for one reason or another they simply cannot release their code. <span style='mso-spacerun: yes'></span>I&#8217;ve been watching a number of efforts to make it easier for hardware developers to produce Linux drivers. <span style='mso-spacerun: yes'></span>I hope this topic is discussed during the next USENIX Kernel Summit and that the maintainers find a way to prevent Linux from being stifled further on the basis of compatibility problems with new technologies.</p>
<p><b>Richard:</b> Do you see Linux making inroads into the desktop market? Do you think that they can gain a significant part of that? </p>
<p><b>Marc:</b> Client computing models are changing from traditional desktop and laptops, and with these changes there are new opportunities for Linux. Different types of desktop applications or use models also offer an opportunity for Linux.<span style='mso-spacerun: yes'> </span></p>
<p>I think in time we will see Linux emerge in the same way – having strengths in certain types of client devices. I don&#8217;t know what that strength is going to be yet for Linux but many people in the community are exploring what it should be. Today, most ISVs only want to deal with one desktop operating system, and that&#8217;s Windows. <span style='mso-spacerun: yes'></span></p>
<p>Today there are a number of ways, including virtualization, that you can run Windows apps in a Linux environment. As that improves, I think we&#8217;ll see a lot of ISVs soften to that idea. And, as they look at some of the things that we&#8217;re developing for Linux, they may decide that it&#8217;s better to develop a Linux app that will also run under Windows than it is the other way around. </p>
<p>As the Novell-Microsoft Interoperability Lab continues to grow their efforts I can definitely envision Microsoft having to run Linux apps inside their environments much the same way that we have those today in Linux. </p>
<p><b>Richard:</b> It seems to me that products like OpenOffice.org and other open source products that are becoming strong, mature applications in the traditional desktop applications space have to work to mitigate Microsoft&#8217;s grip on that market. In the past, when Windows first started to take over the desktop, it was because that&#8217;s where all the applications were. You could put Linux or something else on there, OS2 or whatever, but all the mature applications were Microsoft applications, and they had to run on Windows. And I think that&#8217;s sort of how they got that grip on the desktop market. It seems like the first step toward making that a more competitive market is through the applications phase. </p>
<p><b>Marc:</b> Yeah, I agree with that. </p>
<p><b style='mso-bidi-font-weight: normal'>Scott:</b><span style='mso-spacerun: yes'> </span>It looks like the TCO battle has been fought to a stalemate.&nbsp; Microsoft has Microsoft sponsored reports saying they have lower TCO.&nbsp; On the Linux side, there are reports sponsored by Linux supporters saying that Linux has lower TCO.&nbsp; Do the communities find any of these reports credible?&nbsp; Have you come across any truly independent TCO reports that you’ve thought were especially good?&nbsp; Is it even reasonable to expect that the finding of some TCO report will be borne out in the specifics of your organization?</p>
<p><b style='mso-bidi-font-weight: normal'>Marc:</b><span style='mso-spacerun: yes'> </span>In the independent studies I’ve read, per machine, the costs are pretty much the same for a supported machine if you compare Windows to a truly equivalent Linux implementation, but this fails to take into account the workload processing power costs.<span style='mso-spacerun: yes'> </span>In the open source model, I have visibility into what code is slowing down my e.g. mail server, exclude the things I don&#8217;t need to have running, and make the machine more efficient.<span style='mso-spacerun: yes'> </span>Without that optimization, more machines would be required for the same workload regardless of the operating system in use, which adds to the cost.</p>
<p><b>Richard:</b> Marc.&nbsp; Thanks for taking the time to chat with us.</p>
<p><strong>Marc:</strong> Thank you.</p>
<img src="http://howsoftwareisbuilt.com/?ak_action=api_record_view&id=59&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%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F07%2F10%2Finterview-with-marc-miller-open-source-software-evangelist-in-the-amd-developer-outreach-organization%2F&amp;title=Interview+with+Marc+Miller%2C+Open+Source+Software+Evangelist+in+the+AMD+Developer+Outreach+Organization" 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%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F07%2F10%2Finterview-with-marc-miller-open-source-software-evangelist-in-the-amd-developer-outreach-organization%2F&amp;title=Interview+with+Marc+Miller%2C+Open+Source+Software+Evangelist+in+the+AMD+Developer+Outreach+Organization" 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%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F07%2F10%2Finterview-with-marc-miller-open-source-software-evangelist-in-the-amd-developer-outreach-organization%2F" 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%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F07%2F10%2Finterview-with-marc-miller-open-source-software-evangelist-in-the-amd-developer-outreach-organization%2F&amp;title=Interview+with+Marc+Miller%2C+Open+Source+Software+Evangelist+in+the+AMD+Developer+Outreach+Organization" 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?url=http%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F07%2F10%2Finterview-with-marc-miller-open-source-software-evangelist-in-the-amd-developer-outreach-organization%2F&amp;title=Interview+with+Marc+Miller%2C+Open+Source+Software+Evangelist+in+the+AMD+Developer+Outreach+Organization" 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%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F07%2F10%2Finterview-with-marc-miller-open-source-software-evangelist-in-the-amd-developer-outreach-organization%2F" 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+Marc+Miller%2C+Open+Source+Software+Evangelist+in+the+AMD+Developer+Outreach+Organization+@+http%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F07%2F10%2Finterview-with-marc-miller-open-source-software-evangelist-in-the-amd-developer-outreach-organization%2F" 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/07/10/interview-with-marc-miller-open-source-software-evangelist-in-the-amd-developer-outreach-organization/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

