<?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; governance</title>
	<atom:link href="http://howsoftwareisbuilt.com/tag/governance/feed/" rel="self" type="application/rss+xml" />
	<link>http://howsoftwareisbuilt.com</link>
	<description></description>
	<lastBuildDate>Fri, 25 Jun 2010 19:53:36 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<!-- podcast_generator="podPress/8.8" - maintenance_release="8.8.4" -->
		<copyright>2006-2007 </copyright>
		<managingEditor>scottswigart@technologyevangelism.com (How Software is Built)</managingEditor>
		<webMaster>scottswigart@technologyevangelism.com (How Software is Built)</webMaster>
		<category>posts</category>
		<ttl>1440</ttl>
		<itunes:keywords></itunes:keywords>
		<itunes:subtitle></itunes:subtitle>
		<itunes:summary></itunes:summary>
		<itunes:author>How Software is Built</itunes:author>
		<itunes:category text="Society &amp; Culture"/>
		<itunes:owner>
			<itunes:name>How Software is Built</itunes:name>
			<itunes:email>scottswigart@technologyevangelism.com</itunes:email>
		</itunes:owner>
		<itunes:block>No</itunes:block>
		<itunes:explicit>no</itunes:explicit>
		<itunes:image href="http://howsoftwareisbuilt.com/wp-content/plugins/podpress/images/powered_by_podpress_large.jpg" />
		<image>
			<url>http://howsoftwareisbuilt.com/wp-content/plugins/podpress/images/powered_by_podpress.jpg</url>
			<title>How Software is Built</title>
			<link>http://howsoftwareisbuilt.com</link>
			<width>144</width>
			<height>144</height>
		</image>
		<item>
		<title>Interview with Brad Wilson &#8211; Software Developer &#8211; OfficeLabs &#8211; Microsoft</title>
		<link>http://howsoftwareisbuilt.com/2008/04/08/interview-with-brad-wilson-software-developer-officelabs-microsoft/</link>
		<comments>http://howsoftwareisbuilt.com/2008/04/08/interview-with-brad-wilson-software-developer-officelabs-microsoft/#comments</comments>
		<pubDate>Tue, 08 Apr 2008 20:04:22 +0000</pubDate>
		<dc:creator>campsean</dc:creator>
				<category><![CDATA[Sean Campbell]]></category>
		<category><![CDATA[codeplex]]></category>
		<category><![CDATA[governance]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[OfficeLabs]]></category>

		<guid isPermaLink="false">http://howsoftwareisbuilt.com/2008/04/08/interview-with-brad-wilson-software-developer-officelabs-microsoft/</guid>
		<description><![CDATA[Interviewers: Scott Swigart and Sean Campbell
Interviewee: Brad Wilson
In this interview we talk with Brad Wilson &#8211; Software Developer in Microsoft&#8217;s OfficeLabs team. In specific, we talk about:

CodePlex, the Microsoft open source repository
Community participation other than coding
Open-source governance at Microsoft
Open-source inroads and future at Microsoft



Sean Campbell: Brad, tell us a little bit about your background. 
Brad [...]]]></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-brad-wilson-software-developer-officelabs-microsoft/">Brad Wilson</a></p>
<p>In this interview we talk with Brad Wilson &#8211; Software Developer in Microsoft&#8217;s OfficeLabs team. In specific, we talk about:</p>
<ul>
<li><a href="http://howsoftwareisbuilt.com/2008/04/08/Interview-with-Brad-Wilson-Software-Developer-OfficeLabs-Microsoft#codeplex">CodePlex, the Microsoft open source repository</a></li>
<li><a href="http://howsoftwareisbuilt.com/2008/04/08/Interview-with-Brad-Wilson-Software-Developer-OfficeLabs-Microsoft#non-code">Community participation other than coding</a></li>
<li><a href="http://howsoftwareisbuilt.com/2008/04/08/Interview-with-Brad-Wilson-Software-Developer-OfficeLabs-Microsoft#governance">Open-source governance at Microsoft</a></li>
<li><a href="http://howsoftwareisbuilt.com/2008/04/08/Interview-with-Brad-Wilson-Software-Developer-OfficeLabs-Microsoft#inroads">Open-source inroads and future at Microsoft</a></li>
</ul>
<p><span id="more-147"></span><br />
<a name="codeplex"></a></p>
<p><b>Sean Campbell:</b> Brad, tell us a little bit about your background. </p>
<p><b>Brad Wilson:</b> Sure. I&#8217;m a professional software developer, and I have been for about 15 years. I came to Microsoft just about three years ago. My first stop at Microsoft was the Patterns and Practices Group. I worked a little bit on the Enterprise Library, but mostly ObjectBuilder, Composite UI Application Block, and the Smart Client Software Factory.</p>
<p>After I left Patterns and Practices, I went to go work on CodePlex, which is the repository for open source projects that Microsoft runs. </p>
<p>My history with open source is that, for most of my career, I&#8217;ve worked in small companies&#8211;Microsoft being an obvious exception&#8211;all in the Windows space. I really started getting into open source around 2000.</p>
<p>That timing also coincided with the time I started picking up agile practices, because I got introduced to a lot of that stuff all around the same time. NUnit, the unit testing framework for .NET, was my first exposure to a tool that I really ended up using and liking a lot that I also got the source code for, which was kind of strange, but I found it pretty intriguing. Now, working for Microsoft, it is kind of strange to think that I actually contribute to several open source projects, but I do.</p>
<p>Jim Newkirk and I&#8211;he was the guy who worked on NUnit&#8211;came up with a new unit testing framework called xUnit.net, so I contribute to that pretty regularly. The ObjectBuilder project that I started on in patterns and practices&#8211;we kind of spun that off&#8211;was embedded inside of the Composite UI Application Block. We spun it off as its own project on CodePlex, and I&#8217;m still an active contributor there as well. While I was at CodePlex, I also worked on a source control client for Team Foundation Server.</p>
<p>So, quite a few open source projects, even though I&#8217;m a Microsoft employee, which most people think isn&#8217;t really possible. But I think CodePlex has proven that Microsoft is very interested not only in consuming open source, at times, but also in producing it. </p>
<p><b>Scott Swigart:</b> You mentioned NUnit, xUnit, and the ObjectBuilder. Those are kind of &#8220;by developer, for developer&#8221; open source projects. Are those typical of the open source projects that you&#8217;ve contributed to and the kind of open source software that you typically find yourself using? </p>
<p><b>Brad:</b> That&#8217;s true&#8211;the open source projects I contribute to tend to be the &#8220;by developer, for developer&#8221; kind, although I also consume things that are less about development. Like one tool that I&#8217;ve used forever is the GIMP graphics editor, which I love a lot. But I&#8217;ve never contributed to it because, mostly, I&#8217;m an amateur graphics maker, so I&#8217;m not so interested in contributing to the source base. </p>
<p>There are probably other things that I use that are open source, and I might not be aware of it. I think that&#8217;s probably true for a lot of people, or at least we don&#8217;t think about them in terms of being open source projects. We just think about them in terms of something that we use, like web developers still use all kinds of different browsers. Firefox is really popular, and most people don&#8217;t think of it as open source&#8211;they just think of it as a browser. But, obviously, it&#8217;s a huge open source effort. </p>
<p><b>Scott:</b> Do you spend time actually working on CodePlex? </p>
<p><b>Brad:</b> I was a software developer on the CodePlex team, so I did work on the web site itself. Actually, a lot of the time I was at CodePlex, I was working on the source control client, which we released as open source. I spent probably half of my time on the CodePlex team working on that project full time. </p>
<p><b>Scott:</b> Educate me about that a little bit. That was a command line utility that would let people do check-ins and check-outs from CodePlex, to give them sort of a Subversion-like experience, or a CVS-like experience? </p>
<p><b>Brad:</b> Right. We chose Team Foundation Server for our source control. Personally, especially before I came to Microsoft, I had been a big fan of CVS and Subversion, and I like those kinds of tools. When we chose Team Foundation Server for source control, the source control server itself was fine, but the Team Explorer client that&#8217;s built into Visual Studio didn&#8217;t really work the way I was comfortable working.</p>
<p>The biggest thing that our client gives that the original version of Team Explorer didn&#8217;t do very well is the ability to work offline. Most people who are using Team Foundation Server are going to be using it on the LAN at a corporation, where they&#8217;re going to have connectivity pretty much all the time.</p>
<p>But in open source projects, you&#8217;re very often doing work in places where you have slow or no connectivity. Having to constantly hit a server that might be behind a firewall or whatever isn&#8217;t really conducive to that kind of work. We really wanted to provide that offline, edit-merge-commit style of working that people who are familiar with some of the other open source sites would be more comfortable with. </p>
<p><b>Scott:</b> Has a community formed around some of these efforts that you&#8217;ve worked on? You mentioned NUnit, which obviously has its own community. Are there communities around xUnit, Subversion, the CodePlex client, and things like that, where people post suggestions and maybe even post code itself? </p>
<p><b>Brad:</b> There is some community; the unit testing framework is probably the biggest of the three. None of them are really huge, but certainly, people are reporting bugs, discussing features, asking questions and occasionally providing code. </p>
<p><b>Scott:</b> One of the bigger source code repositories before CodePlex was SourceForge. How much did you guys look at that as inspiration in working on CodePlex? And where do you think CodePlex goes beyond something like SourceForge, in terms of the experience that it provides for the users? </p>
<p><b>Brad:</b> There are clearly a lot of similarities between CodePlex and other open source repositories like SourceForge, CollabNet, and things like that. I think the goal for each is different. I can&#8217;t necessarily speak to what the goals are for SourceForge and CollabNet. It was really Jim and Sandy&#8217;s idea&#8211;the other guy who helped start CodePlex&#8211;to provide an environment that was more friendly to Windows developers, especially those who didn&#8217;t have experience with the existing sites, like SourceForge.</p>
<p>Some of those people really prefer that sort of Team Explorer experience, so we wanted to provide that kind of environment for them. Another goal for CodePlex is to have really high quality projects, so we built some features into the software that discourage &#8220;publish it and forget it&#8221; types of projects. And we do try to look around the site and understand what people are using and what they aren&#8217;t using.</p>
<p>One thing that we really focus on is taking community feedback&#8211;letting people know that we really want them to report bugs against our site and talk about the features of our site. And we really do actively go out and look at those things and implement them. I think the users are pretty happy with the turnarounds and our ability to listen to their feedback.</p>
<p>As to where we might go in the future, there are a lot of possibilities. CodePlex as it sits today is a very interesting site, but you can certainly imagine that there are lots of things that could be done, as well as features that other sites aren&#8217;t offering. </p>
<p><b>Scott:</b> What sorts of features would you like the most? </p>
<p><b>Brad:</b> I think the biggest opportunity that CodePlex has in general is to provide a stickier community than what you get at SourceForge. You want to be able to relate to the people working on your project like an extended team, as opposed to a bunch of disconnected individuals. Personally, I would like to see some tighter integration of community features&#8211;things like presence information and chatting, and maybe even integrate some of that stuff into Visual Studio. I think that would be really cool. </p>
<p><b>Scott:</b> Let me drill into something there. A lot of people spend a lot of time writing and thinking about how you build a vibrant community around your project, and how you manage personalities and a lot of that stuff.</p>
<p>But people don&#8217;t really talk much about how important they feel like the site&#8211;whether it&#8217;s CodePlex or one of these other sites&#8211;and the functionality it provides is in building and holding together a community.</p>
<p>You&#8217;ve worked on NUnit and things like that, which were hosted on SourceForge, and you have a lot of experience with CodePlex. How much does it lower the barrier to entry and help keep a community cohesive, if the tool the people are using has these great collaborative features? </p>
<p><b>Brad:</b> That&#8217;s a good point. SourceForge&#8217;s UI seems to be driven very strongly around the idea of the downloader. I feel like when I was using SourceForge that the learning curve for any other activity besides downloading tended to be high.</p>
<p>I definitely think that some sites can certainly do things that make it easier for people to be able to contribute, especially to contribute in small ways. A lot of times, these sites are about the big contributions. I want to write a bug. I want to start a big discussion thread.</p>
<p>But there are also a lot of opportunities for small contributions. We added voting on work items and found it to be really popular with all the project owners because it was a really low friction way for people to say they&#8217;re interested in something. So, the design of the site, the design of the tools and any integration you can give can certainly have a huge impact, in the long-term, on the kinds of communities you can build for your projects. </p>
<p><a name="non-code"></a></p>
<p><b>Scott:</b> There are some projects that are really big, and there are things like the Linux kernel or Apache web server, and they&#8217;ve been around for a very long time. They&#8217;ve got hundreds or thousands of people working on them. And on one end, they tend to be really transparent. There&#8217;s a saying in the Apache community that &#8220;if it didn&#8217;t happen in the mailing list, it didn&#8217;t happen.&#8221;</p>
<p>On the other hand, unless I have the ability to write code, I don&#8217;t really have a lot of ability to get a feature into that project. If there&#8217;s something I want, I could go to the mailing list and say, &#8220;Hi, I have this great idea.&#8221; And the response I&#8217;ll probably get is &#8220;Yeah that sounds cool. When will the code be ready?&#8221; On the other hand, with smaller projects, there tends to be something about the culture of the project where people are more willing to just take feedback that comes in. And the small group that&#8217;s working on the project&#8211;or even the individual that&#8217;s working on the project&#8211;takes that feedback and works on implementing it.</p>
<p>Have you bumped into those same sorts of experiences in your working with open source? And in the projects you&#8217;ve worked on, how have you seen it work where somebody might have an idea and either on one side they&#8217;re expected to be able to code it if they really have the idea, or maybe on another project they&#8217;re not? It&#8217;s fine to just propose a suggestion and kind of hope that somebody else picks it up and works on it. </p>
<p><b>Brad:</b> There&#8217;s no question that there&#8217;s definitely a coding bias to participation, especially in large projects. But it can be really intimidating, and the whole mailing list thing is a great example. There are a lot of people who are not comfortable communicating in email with people, especially if you get into a community where you feel like you&#8217;re going to be shutdown or made fun of for asking easy questions, or suggesting what some people think of as silly features.</p>
<p>There are definitely a lot of opportunities in the sites to be able to provide these alternative means of contributing. For example, voting or tagging models can help. Someone can easily chime in on a feature that someone has requested and say it&#8217;s important, and before you know it, 10, 15, 20 people have said it&#8217;s important, and it&#8217;s the most important thing on the list. All of this is done in a way that&#8217;s non-confrontational, whereas email can sometimes feel a little confrontational. </p>
<p><a name="governance"></a></p>
<p><b>Scott:</b> You mentioned that sometimes people look at you strange when you say you work for Microsoft, but you contribute to open source projects. </p>
<p>We&#8217;ve talked to people in Patterns and Practices who work on the Enterprise Library, and they&#8217;re in this one realm that&#8217;s a little different than Apache or something like that, where it&#8217;s under an open source license, and people can take what Patterns and Practices produces, and they can make their own fork of it and they can do their own work on it.</p>
<p>What they can&#8217;t really do is contribute code back to the Enterprise Library. Microsoft has corporate customers who depend on that, and Microsoft makes certain assurances about that. The company has things like the Security Development Lifecycle and certain processes that they put code through, and they have to know the chain of ownership and know, for example, that some code wasn&#8217;t copied and pasted from something else that somebody else owns.</p>
<p>But then, I&#8217;m guessing that there&#8217;re other projects&#8211;maybe some of the ones that you&#8217;ve worked on on CodePlex&#8211;that would be open to taking community contributions. Can you talk about that balance at all? Is that something you&#8217;ve run into in any of the stuff you&#8217;ve worked on? </p>
<p><b>Brad:</b> There&#8217;s definitely a spectrum. In terms of xUnit.net, which is the unit testing framework, Jim and I set up the project so that the unit testing framework itself is sort of owned by Microsoft. We don&#8217;t really take contributions on that, but that part is actually really small. We have a second project, which is related to it, that allows people to extend the unit testing framework. Almost all the work we do is actually in that second project. We do take community contributions for it, and that&#8217;s worked out pretty well.</p>
<p>Microsoft does own what you contribute, in a sense. Really, in these open source projects, you have to be very careful&#8211;this has nothing to do with Microsoft, but you have to really careful about things like copyright assignments and IP assignments and things like that. All the legal stuff can actually get small projects who aren&#8217;t paying attention to it in a little bit of trouble.</p>
<p>Microsoft has a system called an Assignment Agreement, and if you want to contribute code to this project, you say, &#8220;I agree to assign the ownership of this stuff to Microsoft.&#8221; Of course, it&#8217;s immediately pushed back out, in our case, in the Microsoft Public License, which basically says you can do anything you want with it. You&#8217;re not really losing the ability to use that code, but Microsoft is sort of taking stewardship of it. </p>
<p><b>Scott:</b> Microsoft owns it, but you could fork it and do whatever you want with it, essentially. </p>
<p><b>Brad:</b> Right, exactly. It&#8217;s like the Enterprise Library scenario, except we can take contributions, and now other people can contribute to the code base. It&#8217;s just that someone has to maintain control over all the legal issues, to make sure that there aren&#8217;t any cases of one person claiming to own these seven lines of code, and another claims to own these other nine lines of code. In cases like that, you can&#8217;t really untangle it all, so it&#8217;s pretty important to address all of that.</p>
<p>There&#8217;s another really big project in CodePlex that is very interesting. The Developer Division has an AJAX library called ASP.NET AJAX, and they also have a project called the ASP.NET AJAX Control Toolkit that really takes a lot of contributions from outside of Microsoft.</p>
<p>And again, it&#8217;s the sort of a model where we built the core, and we contribute some of the stuff that sits around outside of it, and the community contributes some. And it&#8217;s a great, single place you can come and get a whole bunch of great utilities to wrap around the AJAX library.</p>
<p>I think this is going to be a pretty common pattern for teams that are interested in having community feedback, which is to set up these projects around something that isn&#8217;t open source&#8211;or that is open source but doesn&#8217;t take outside contributions. They&#8217;ll make it so the community can contribute, and yet everybody who wants to have access to it can come and get it all in one space. </p>
<p><b>Scott:</b> What kind of decision criteria determine what goes in the small core? People at Microsoft might be writing stuff that goes into the larger section that can take community contributions, but then the same people at Microsoft might also be writing stuff that goes into the somewhat proprietary core. How do you decide what needs to go into one versus the other? </p>
<p><b>Brad:</b> I can&#8217;t really speak to the way the AJAX stuff went, because I haven&#8217;t worked on that team, but Jim and I faced the same question when we were dealing with xUnit.net. Our philosophy was that we wanted to have as little there as possible, because we wanted to just set the framework and make it extremely extensible.</p>
<p>Some of it was really a test of all the extensibility points that we put into our framework. How much can we actually push off into this other project and let people look at it and fix bugs in it, and basically get as much of the code as possible out to where it can be worked on by the community. Obviously, that would be a huge bottleneck if the whole thing was just me and Jim.</p>
<p>So, for us, we looked to sort of put the right amount, and the smallest amount we could get away with, into that core project, and push as much out for community inspection and contribution as we could. </p>
<p><b>Scott:</b> Is the source code available for the core project, or is stuff in the core project because that&#8217;s the part where it is kind of proprietary and people can&#8217;t see the source? </p>
<p><b>Brad:</b> In the case of xUnit.net, the source is available. Both projects are actually on CodePlex. It&#8217;s just that in the core project, we don&#8217;t take contributions in the form of source code. I want to make it clear that there are other ways to contribute, but we don&#8217;t take source code. We do provide the source code for everything, because Jim and I are long-time open source advocates. Of course, he did NUnit and put the source code out there for NUnit. He is a big believer in sharing source code.</p>
<p>There seems to be, especially in the &#8220;by developers, for developers&#8221; scenario, a whole set of stuff that belongs in the canon. It belongs to everybody, because how many implementations of a doubly linked list does the world need, right? </p>
<p>There are definitely things that should just be there for you to use, and Jim and I feel that unit testing frameworks are one of those things.</p>
<p><b>Sean:</b> I&#8217;ve got a broader question for you, as well. What do you think Microsoft has learned from the open source community, and what do you think they still have left to learn, if you could just pick a couple things and say, &#8220;I don&#8217;t think we&#8217;ve fully learned how to do this one particular thing, but it would be to our benefit if we do?&#8221;</p>
<p><a name="inroads"></a></p>
<p><b>Brad:</b> Most people probably don&#8217;t realize that Microsoft has been a consumer of open source for a long time. If you go all the way back to the first release of Windows NT, the TCP/IP stack that was in Windows NT 3.1, which was released in 1993, actually came from BSD.</p>
<p>Most people think, &#8220;Oh, Microsoft hates open source,&#8221; but it&#8217;s not actually true. There&#8217;s quite a bit of reusing of code, I think, from time to time, like the TCP/IP stack. There&#8217;s also the use of applications that are open source, so it&#8217;s hard to paint Microsoft with one big brush, even though a lot of people would prefer to do it that way. There are certainly groups that are more open to it and groups that are more closed to it.</p>
<p>I think Microsoft has felt recently&#8211;right or wrong&#8211;that the open source community was out to get them. And some of that is the extreme end of the Slashdot kind of people who say that every misstep by Microsoft is an example of the evil tyranny of giant software companies. But there&#8217;s a lot of common ground, both within and outside of Microsoft, about how beneficial open source can be, which is not necessarily to say that we should open source Windows or Office, because those are clearly good money-makers for us.</p>
<p>I also feel like Microsoft is a bit of a target, just because of who they are, and that any use of open source needs to be looked at very critically, to make sure that we&#8217;re not exposing ourselves to a risk that a smaller company wouldn&#8217;t necessarily have. </p>
<p><b>Sean:</b> Coming from a background where you appreciate the benefits of open source and you have some understanding of it, now you&#8217;re in a closed source company that&#8217;s also making inroads toward open source in various ways. What do you think about this kind of move to a model where people take an open source product in-house, and then they essentially build services on top of it or they service significant product efforts on top of it?</p>
<p>Examples come to mind, like Google. They&#8217;re considered an open source company, and they&#8217;ve done a lot, but the fact is that they get a lot of props for being an open source company, but it&#8217;s not like they&#8217;ve open-sourced their page rank algorithm. There are also a lot of software as a service ventures that are building that way. SugarCRM has gotten beaten around a lot for the way they kind of use it as a bumper sticker on what they do, that they&#8217;re open source and things like that.</p>
<p>What do you think about approaches like that? Do you think that&#8217;s a natural evolution for some open source efforts, or do you think that&#8217;s just a phase? How do you think that&#8217;s going to play out? </p>
<p><b>Brad:</b> Just like Microsoft is not monolithic, the open source community itself isn&#8217;t really monolithic either. I come at open source from sort of a permissive angle&#8211;I favor licenses like BSD and MIT and the Microsoft Public License. There are certainly a fairly significant number of people who come at open source from sort of a viral angle, the GPL-style, LGPL-style licenses. In some sense, there&#8217;s a conflict brewing.</p>
<p>Google&#8217;s a very interesting example, because they really do leverage a lot of open source without necessarily contributing back. And to me, as a permissive kind of a guy, I think, that&#8217;s just fine. Some of the people who are on the sort of GPL-LGPL side of the house are probably less excited about that. They would like some of that source code to come back out. And I think that there&#8217;s opportunity all along the spectrum.</p>
<p>It&#8217;s hard to say that one thing is necessarily going to prevail over the other. I do think, though, for sure, that companies are going to rely more and more on open source, especially small companies, because bootstrapping yourself on the back of available source code and available services is a way to get a company going without spending a lot of money on it. Reinventing the wheel really is an extremely expensive and time-consuming process.</p>
<p><b>Scott:</b> In the case of proprietary companies, somebody does something, it changes the marketplace, and then everybody else in the marketplace reacts to it, so open source is a disruptive force. And so are other things, like virtualization is disruptive to IT.</p>
<p>I think Microsoft is an example of a proprietary company that responded to exactly what you talked about, with their ISV Empower program, where startups can get Microsoft software for dirt cheap. And to me, just from the outside, it seems like a smart move, because the five-person company may become a 250-person company, and I&#8217;m sure Microsoft wants those companies to start out using their software.</p>
<p>At the same time, I see a lot of companies taking a blended approach. Adobe is open sourcing certain things. Microsoft is doing some interesting stuff, like you said, around the AJAX Toolkit and around the Enterprise Library.</p>
<p>What do you think about the future? Do you see Microsoft continuing to go down the road of a blended approach of having proprietary, closed-source stuff, but potentially an increasing amount of stuff where the source code is available? </p>
<p><b>Brad:</b> I definitely think that Microsoft, right now, is in what I would call a growth period in terms of sharing source code. And not only sharing it, but sharing it in a way that makes it really reusable. I think we got beat up a little bit with the whole Shared Source Initiative, about the idea that you can look at the source, but you can&#8217;t really do anything with it. That&#8217;s a first level of utility, though, and in some cases, like some of the libraries that came with Visual Studio, there&#8217;s no question that it was helpful.</p>
<p>As time goes on, Microsoft is clearly becoming more open. I think having whole groups&#8211;like Patterns and Practices and the CodePlex team and the team that&#8217;s responsible for the open source licenses here&#8211;is a good sign. It&#8217;s an especially good sign to see some of the really, historically, closed-source, proprietary teams open themselves up. Knowing that the Developer Division is not only willing but eager to take people&#8217;s contributions on the AJAX Control Toolkit is a great sign. It bodes well for the future here. </p>
<p><b>Scott:</b> Brad, thanks for taking the time to chat with us.</p>
<p><b>Brad:</b> Thank you.</p>
<img src="http://howsoftwareisbuilt.com/?ak_action=api_record_view&id=147&type=feed" alt="" /><!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark this:</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://howsoftwareisbuilt.com/2008/04/08/interview-with-brad-wilson-software-developer-officelabs-microsoft/&amp;title=Interview+with+Brad+Wilson+%26%238211%3B+Software+Developer+%26%238211%3B+OfficeLabs+%26%238211%3B+Microsoft" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://howsoftwareisbuilt.com/2008/04/08/interview-with-brad-wilson-software-developer-officelabs-microsoft/&amp;title=Interview+with+Brad+Wilson+%26%238211%3B+Software+Developer+%26%238211%3B+OfficeLabs+%26%238211%3B+Microsoft" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http://howsoftwareisbuilt.com/2008/04/08/interview-with-brad-wilson-software-developer-officelabs-microsoft/" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://howsoftwareisbuilt.com/2008/04/08/interview-with-brad-wilson-software-developer-officelabs-microsoft/&amp;title=Interview+with+Brad+Wilson+%26%238211%3B+Software+Developer+%26%238211%3B+OfficeLabs+%26%238211%3B+Microsoft" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit.php?url=http://howsoftwareisbuilt.com/2008/04/08/interview-with-brad-wilson-software-developer-officelabs-microsoft/&amp;title=Interview+with+Brad+Wilson+%26%238211%3B+Software+Developer+%26%238211%3B+OfficeLabs+%26%238211%3B+Microsoft" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.sphere.com/sphereit/http://howsoftwareisbuilt.com/2008/04/08/interview-with-brad-wilson-software-developer-officelabs-microsoft/" rel="nofollow" title="Add to&nbsp;SphereIt"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/sphereit.png" title="Add to&nbsp;SphereIt" alt="Add to&nbsp;SphereIt" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+Interview+with+Brad+Wilson+%26%238211%3B+Software+Developer+%26%238211%3B+OfficeLabs+%26%238211%3B+Microsoft+@+http://howsoftwareisbuilt.com/2008/04/08/interview-with-brad-wilson-software-developer-officelabs-microsoft/" rel="nofollow" title="Add to&nbsp;Twitter"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&nbsp;Twitter" alt="Add to&nbsp;Twitter" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://howsoftwareisbuilt.com/2008/04/08/interview-with-brad-wilson-software-developer-officelabs-microsoft/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Interview with Mike Shaver &#8211; Chief Evangelist &#8211; Mozilla</title>
		<link>http://howsoftwareisbuilt.com/2008/03/20/interview-with-mike-shaver-chief-evangelist-mozilla/</link>
		<comments>http://howsoftwareisbuilt.com/2008/03/20/interview-with-mike-shaver-chief-evangelist-mozilla/#comments</comments>
		<pubDate>Thu, 20 Mar 2008 15:07:12 +0000</pubDate>
		<dc:creator>campsean</dc:creator>
				<category><![CDATA[Sean Campbell]]></category>
		<category><![CDATA[governance]]></category>
		<category><![CDATA[Reliability]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Usability]]></category>

		<guid isPermaLink="false">http://howsoftwareisbuilt.com/2008/03/20/interview-with-mike-shaver-chief-evangelist-mozilla/</guid>
		<description><![CDATA[Interviewers: Scott Swigart and Sean Campbell
Interviewee: Mike Shaver
In this interview with talk with Mike Shaver, Chief Evangelist for Mozilla. In specific, we talk about:

Governance of the project and how people get involved
Changing contributors who fill key roles
Roles of independent contributors versus employees
Ensuring high usability in an open-source project
Protecting reliability in a world of many extensions
Tools [...]]]></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-mike-shaver-mozilla/">Mike Shaver</a></p>
<p>In this interview with talk with Mike Shaver, Chief Evangelist for Mozilla. In specific, we talk about:</p>
<ul>
<li><a href="http://howsoftwareisbuilt.com/2008/03/20/interview-with-mike-shaver-chief-evangelist-mozilla#governance">Governance of the project and how people get involved</a></li>
<li><a href="http://howsoftwareisbuilt.com/2008/03/20/interview-with-mike-shaver-chief-evangelist-mozilla#changing">Changing contributors who fill key roles</a></li>
<li><a href="http://howsoftwareisbuilt.com/2008/03/20/interview-with-mike-shaver-chief-evangelist-mozilla#roles">Roles of independent contributors versus employees</a></li>
<li><a href="http://howsoftwareisbuilt.com/2008/03/20/interview-with-mike-shaver-chief-evangelist-mozilla#usability">Ensuring high usability in an open-source project</a></li>
<li><a href="http://howsoftwareisbuilt.com/2008/03/20/interview-with-mike-shaver-chief-evangelist-mozilla#reliability">Protecting reliability in a world of many extensions</a></li>
<li><a href="http://howsoftwareisbuilt.com/2008/03/20/interview-with-mike-shaver-chief-evangelist-mozilla#tools">Tools used by the Mozilla team</a></li>
<li><a href="http://howsoftwareisbuilt.com/2008/03/20/interview-with-mike-shaver-chief-evangelist-mozilla#reflections">Reflections on open and closed development models</a></li>
</ul>
<p><a name="governance"></a><br />
<span id="more-137"></span></p>
<p><b>Scott Swigart:</b> There are a lot of different governance models for open source projects. With Sun projects, for example, they often have it written that control of the project has to rest with Sun employees. Apache has a different model. Apache projects have to have maintainers who are from at least three different companies so that no one company can hijack a project. </p>
<p>Talk a little bit about how the Firefox kind of governance fits in that spectrum. </p>
<p><b>Mike Shaver:</b> There are some pieces of our model that are quite similar to Apache&#8217;s. For someone to get commit access to the source tree, or become an owner of a section of code, people need to vouch for the person, and not all those people can be from the same company. We&#8217;re not as concerned about it as Apache is though. </p>
<p>I think one of the reasons that&#8217;s the case is because a good number of our contributors are employed by the same company, the Mozilla Corporation. But our role in the corporation is very different from that of a traditional software company. We&#8217;re not doing anything other than working on this code. It&#8217;s not just part of our business to build the Mozilla project; it&#8217;s all of what we do. It&#8217;s what we&#8217;re chartered to do. </p>
<p>So we&#8217;re structurally set up as an organization to be aligned with the project, which means we don&#8217;t really have the same kind of risk. No one&#8217;s thinking IBM&#8217;s going to run off with Mozilla if Mozilla doesn&#8217;t have the defenses in place, and they&#8217;re big contributors. </p>
<p>The Mozilla project is very healthy, obviously, and a lot of the people who do come into our employment relationship come into that relationship because they&#8217;ve been successful as Mozilla leaders and developers. </p>
<p><b>Scott:</b> Talk about that. What is the way that people advance through the ranks? Because, again, that&#8217;s something that varies from project to project. You guys have terms like &#8220;sheriffs&#8221;; there are special security people, and you&#8217;ve got other contributors. How do people get their toe in the water with Mozilla and climb all the way up to the top of the food chain? </p>
<p><b>Mike:</b> It certainly isn&#8217;t necessarily a linear progression. There are some of the things you described, like being a sheriff, that&#8217;s really more of a role than a rank. People are sheriffs, meaning that they&#8217;re responsible for watching out. They&#8217;re on integration watch for a given day, watching as things come into a source tree, making sure that our tests all stay in line, helping get the right people on problems that come up in integration. </p>
<p>Most generally, people get involved with Mozilla initially by scratching an itch of theirs. So we&#8217;ll see people come into the project, on the technical side certainly, with a patch or investigation leading to a patch for something that they care about. And sometimes, that&#8217;s where the level of involvement ends; people can pop in and out, they only have that one itch to scratch, and it&#8217;s scratched now, so they can go back to doing whatever it was that bumped them into that problem. But some people do really &#8220;get the bug&#8221; and stick with the project. </p>
<p>Generally, the path to getting more privileges in the project is not extremely well formalized. Some pieces, such as access control over the source code repository, we obviously take very seriously, and there are a number of nomination and review processes that happen there, and similarly on the security group side. But for the most part, people&#8217;s influence comes from the respect they have from other members in the community. </p>
<p>Whether they&#8217;re employed full time, or they&#8217;re grad students who can spend a couple of hours a month working on something, if they&#8217;ve demonstrated that they understand the technology and Mozilla&#8217;s values, those are the things that lead to people becoming more influential. </p>
<p>Most of the time when we have somebody move into a role of ownership over a code, which really means that they&#8217;re there to settle disputes and break ties about which way a given patch should go or decide whether something&#8217;s ready to check in or not, it&#8217;s usually a nonevent within the community. It&#8217;s something where it&#8217;s obvious that the person&#8217;s been acting in that role and providing good leadership and guidance in that capacity. It&#8217;s more a matter of formalizing it so that the people who aren&#8217;t as familiar with the project know whom to go to and what the effect of the person&#8217;s decision is. </p>
<p><a name="changing"></a></p>
<p><b>Sean Campbell:</b> When we were at OSCON, I watched some guys from Google who are very involved with Subversion. They talked about managing the community, and they talked a lot about how people grow through the community, but then they also had an interesting conversation about – for lack of a better phrase – how you demote somebody. </p>
<p>I think whatever process a project uses, it often comes to the test not when people are being promoted, but when someone has to be removed from a position. </p>
<p>So tell me a little bit about that. </p>
<p><b>Mike:</b> The most common case is that somebody acts as a bad owner, simply because the person is not invested in it anymore. The person is not spending a lot of time on it and has moved on to something else in their life. And in that case, the news is really more about someone new becoming an owner. </p>
<p>In a couple of cases, we&#8217;ve had to actively seek out a replacement, and that tends to come from cases where the owner in question is not thinking or acting with enough breadth of interest in mind, where the person&#8217;s specific needs for that code are being met, but it&#8217;s not integrating either technically or, in some cases, according to project values at a higher level. </p>
<p><b>Sean:</b> So people lock too much into their view of the feature and can&#8217;t really back out of that. </p>
<p><b>Mike:</b> Yes, exactly. I mean, there&#8217;s taste and judgment involved in the role of anyone who&#8217;s a committer, but sometimes someone can go too far. </p>
<p><b>Sean:</b> Right, right. </p>
<p><b>Mike:</b> You often have to trade off an old capability in order to get a new capability, or to fit into a new model. And we had an example, to speak with some generality, where there was someone who was an employee of a company and was an owner of a piece of code that was not widely used in the project but was used by a number of downstream projects. </p>
<p>And the patches from this given company were getting checked in, but we went to look at some of that stuff some months later, and there were questions about it. Did this stuff get reviewed well enough? Did it get reviewed in light of the way all the other people are using this code, and not just the people who were most active in the project at the time? </p>
<p>We actually did end up replacing an owner there. It wasn&#8217;t really acrimonious. It&#8217;s not like the person was, you know, grabbing the door frame and screaming on the way out. </p>
<p><b>Sean:</b> [Laughs] </p>
<p><b>Mike:</b> To them it&#8217;s sort of old news. By the time you&#8217;ve gone through a review like that, and it&#8217;s obvious there was a real falling down on the part of an owner, something needs to be done. But it was really fine in this case actually, because even in talking with the company in question and saying, &#8220;We&#8217;re finding a new owner for this code because the stuff that came in really didn&#8217;t go through the things it should have. It wasn&#8217;t treated with same breadth of analysis that we need in order for our code to be useful to a lot of people.&#8221; </p>
<p>And they were OK with that. The reason they were involved in the first place is because they like the quality of the code and the nature of code that comes out of that collaborative process. So rather than it being a source of tension between, if you will, the core of the project and this company that had some contributors in it – they were glad to see that this code that they obviously care about was going to be that much better owned. </p>
<p>And as far as I know, it didn&#8217;t have repercussions on the person&#8217;s employment or anything. It wasn&#8217;t that the person was hired because he or she was the owner, or that kind of thing, which is good. </p>
<p>But in this case, it turned out really well. And it was an opportunity for us to really bring another development community into not only our project, but also our values. We&#8217;re not doing this in a punitive way; it&#8217;s because we care about this code, and it feels like it&#8217;s not getting the love it needs right now. So we found some people who have other history with it and who are willing to take a different view on it. </p>
<p>The new owner gets support from other people who have been around longer and in ownership roles longer. It&#8217;s been pretty positive. </p>
<p><a name="roles"></a></p>
<p><b>Scott:</b> One of the things I&#8217;m curious about – because there&#8217;s a Mozilla Foundation with employees – What are some of the things that can be done only by employees vs. people in the community? </p>
<p><b>Mike:</b> In our view, if something has to be done by an employee, generally that&#8217;s sort of a bug. We can&#8217;t always afford to fix those bugs, in the sense that it&#8217;s more disruption for purity than the value you get at the other end. For example, we do partner distributions with different companies. We need to start spinning that stuff up with them before they are ready to announce it, so employees are involved in things like that. </p>
<p>We have some contractual relationships around revenue that for legal and other reasons need to be performed by employees. Someone&#8217;s got a legal relationship and can preserve whatever the legally required privacy and secrecy stuff. </p>
<p>But generally, when you look at technical tasks, when you look at things around how the software&#8217;s produced, or reviewed, or determined to be released, I struggle to think of anything where employment is a requirement. </p>
<p>In some cases the role is demanding enough that full time commitment is really important. But that doesn&#8217;t necessarily mean that they need to be employed by us. An example of this is Firefox. When we first started out, the lead of Firefox at the time, Ben Goodger, switched from being a Mozilla Foundation employee to being a Google employee. And he continued to be the owner of Firefox for some time. </p>
<p>He isn&#8217;t anymore; he&#8217;s moved on to other things. And Mike Connor stepped into those shoes quite ably, and Mike is an employee. But if someone else was paying him to do a good job on Mozilla, to contribute full-time and keep up with it, that&#8217;s the real condition. </p>
<p>Where we have cases that don&#8217;t meet that criteria, where you would need to be an employee to do certain work, we&#8217;re very tentative about undertaking that kind of work. Scaling through the community, not just technically but in terms of organizational resilience, is really important to us. </p>
<p>One of the luxuries of being a part of a nonprofit is that we&#8217;re not held against next quarter&#8217;s revenue numbers. We have only one shareholder, and they aren&#8217;t in it for the money. So, we don&#8217;t have to produce a return there. We&#8217;re really about making sure that we are creating software and a software culture that can last 10, 20, 70 years. </p>
<p>Where we have an opportunity, we try to bring people in who may not be able to commit full time to work on this. They may have other things in their lives, or they just may not be that interested. They want to spend some time on this, but not make it their lives. Those are opportunities for us to really diffuse ourselves through a broader part of the software industry. </p>
<p>And those kinds of things give us, as I say, great resiliency. People sometimes switch from that part-time mode and want to work on Mozilla full time. We get some great hires and full time contributors that way. They bring Mozilla&#8217;s values into other environments: around transparency, around support for standards and universality of technology. </p>
<p>And they also bring to us their own perspectives on software development. You know, &#8220;This is how we do it at Big Co.&#8221; Or &#8220;This is how we do it in this tiny little agile Web development shop. Here are some things we learned about how to test, how to build tools, how to instrument things.&#8221; The conversation around software development, in some ways I think, is even more important to us than the specific software. </p>
<p>Before we had Firefox, we had the Mozilla Suite, which for its many wonderful attributes was not nearly as successful in the marketplace, as I&#8217;m sure you&#8217;ve seen. But the project that created it is very much the same. And that we were able to weather having basically no market share for five, six years but still built a culture of software development and a culture around that software – of marketing, of user support, of design and tools, and so forth – is what let us continue to be there until we found our Firefox. </p>
<p>And it might be that in five, 10 years, we&#8217;ll need to find the next Firefox. So we need to be about the process that leads to it, as much as we are about the artifact. </p>
<p><a name="usability"></a></p>
<p><b>Sean:</b> One of the things I like to ask people we talk to is, &#8220;How do you ensure usability in an open source project?&#8221; We get interesting responses, and you guys, in particular, stood out to me, the same way OpenOffice did, because you, even more than OpenOffice, have the &#8220;grandmother is downloading in Iowa&#8221; problem. </p>
<p><b>Mike:</b> Yep. </p>
<p><b>Sean:</b> It just has to work. It can&#8217;t get in the way. I&#8217;m curious, because when I look at the new features page for you guys, it&#8217;s very much written in a &#8220;to you, the developer&#8221; tone. But at the same time, I think everybody can look at open source projects at times and say, &#8220;How usable is this by a nontechnical person?&#8221; </p>
<p>There are a bunch of questions here, but I&#8217;ll start by asking how you get in a feature that you know users really need, but no developer is clamoring for it, and maybe it&#8217;s not really that sexy of a feature to write. </p>
<p>Having written code, we all know how that works. How do you motivate the community to add in that feature? Do you have examples of stuff that you guys have added to Mozilla that maybe the dev community wasn&#8217;t clamoring for, but you got 50,000 user requests for? </p>
<p><b>Mike:</b> So there are a bunch of interesting questions there for sure. I&#8217;ll take them backward. One of the best ways to motivate the developer community at large is to go get yourself 130 million users. </p>
<p><b>Sean:</b> Right. [Laughs] </p>
<p><b>Mike:</b> Because the things that are not sexy – like, I&#8217;ve got to go figure out why this one plug in crashes when I&#8217;m running on Panther and I have Quicksilver installed – that&#8217;s not necessarily a sexy technical problem. But it can be exciting to fix something that&#8217;s going to affect &#8220;only&#8221; a couple of hundred thousand people. </p>
<p><b>Sean:</b> Right, you got all these Quicksilver users. And so you can look like a hero because you can say you solved this problem for them. </p>
<p><b>Mike:</b> It&#8217;s true that at some point you have problems that affect a small enough subset of people that it&#8217;s not economical to have somebody work on it. All software, propriety, open, whatever, has this class of problem – whether it&#8217;s technical or usability related. </p>
<p>But as you broaden the pool of people who are exposed to your product, and as you make it easier for people to move from being users to being followers – I mean followers of the project, not followers in the cultlike sense. Some people contribute by helping test. You want to increase the chances that somebody who cares about that problem is going to be able to connect with someone who can fix it. </p>
<p>And the motivation piece is helped a lot by the fact we have a really direct connection with our users. You&#8217;re not seeing a ticket trickle down through tier 1, tier 2, tier 3, support escalations, and then a big &#8220;what do we fix in this bucket&#8221; release. </p>
<p>Sometimes we do that. We look for high-profile crashes or bad plug in interactions. But often you can read the bug report and the person who&#8217;s hitting that problem is right there. It&#8217;s a person whom you are helping, and it&#8217;s not just a software artifact. </p>
<p>Now, going the other way on usability issues, that can be a trap, right? We need to write software that&#8217;s usable not just for one person, but usable for 130 million, or 150 million, or hopefully a quarter of a billion people. And that&#8217;s a hard problem. </p>
<p>I think it&#8217;s a problem that&#8217;s generally hard for software that scales. I think it would be very hard to do that well at our size without being as open as we are. I would venture to say impossible, but I try not to use that word very often. </p>
<p>Here&#8217;s a good example. There&#8217;s a thread that&#8217;s flaming away right now on one of our application development forums. We&#8217;re making some changes to bookmarks in Firefox 3. This is pretty much the first time we&#8217;ve changed how bookmarks work since about 1994. But we&#8217;ve learned a lot about how people use them. The Web&#8217;s bigger now, you need to track more on it, and so forth. </p>
<p><b>Sean:</b> Sure. </p>
<p><b>Mike:</b> But a lot of people, especially those who are more technically advanced – they&#8217;ve been using bookmarks since 1994. They have muscle memory. They have whole parts of their reptilian hindbrain devoted to how bookmarking works today. </p>
<p><b>Sean:</b> [Laughs] </p>
<p><b>Mike:</b> So, making changes there – even when we have strong belief and as much evidence as you can have that it&#8217;s going to improve the lot of users – I think it&#8217;s going to be good for users and be below the threshold of &#8220;It&#8217;s too much to learn how to use this.&#8221; Even when we have that, there&#8217;s still a very vocal portion of our community that&#8217;s conservative. </p>
<p>Which is good. That conservatism helps us in a lot of core technical ways. It keeps us from getting ahead of our users. We don&#8217;t want to have the Apple Newton problem, where we have something great but no one really knows what to do with it yet. </p>
<p>And that&#8217;s a hard tension on the usability side, for sure, between how the Web works today and making it work better. And also, helping users develop new habits and patterns for managing information, for understanding the security characteristics of what they are going to do. </p>
<p>Another good example of this is the anti phishing features we have in Firefox 2. With that feature, you can still click through to the site. But because we flagged it, now a different part of my brain&#8217;s working, and I&#8217;m being a little more suspicious of this site. Or maybe I&#8217;m scared enough that I&#8217;m going to ask somebody who knows. </p>
<p>In Firefox 3, we have another kind of protection against sites that have been identified as trying to install malware on the user&#8217;s system, and you can&#8217;t click through that warning. With phishing you could look at the page and still decide, &#8220;I&#8217;m not going to put any data in this. I want to look to see how the phishing attack works.&#8221; In the malware case, by the time you&#8217;ve loaded that page, we&#8217;ve lost. We can&#8217;t undo that action. </p>
<p>But Firefox is all about the importance of choice, and the importance of putting users in control. That makes it easy to throw stones at this new behavior. We have people who say, &#8220;I know better, I should be able to click through.&#8221; </p>
<p>But ultimately, we&#8217;re responsible as the agent of the user. As we&#8217;re building this software, we want them to be able to use the Web in a more reliable and trustworthy way. We&#8217;re saying, &#8220;If the site&#8217;s in this small list, no. Just don&#8217;t let the user through.&#8221; If you want to, you can disable that feature. You can disable malware protection entirely. And if you are technically advanced enough to do that, then we will give you some rope and try not to watch too carefully what you do with it. </p>
<p>But, for the vast majority of users, providing a click through path would make the product less usable, even though it would be more palatable to some people, especially those who know most about security in our community. And these are discussions that, for better or worse, we have in the open. This is where our process happens. You can see how the sausage is made. </p>
<p>Those cases can be somewhat distracting for us. I think in a more closed environment, where you have good designers, as I very much believe we do, they can get together in a room. They can figure out what the problem space looks like. They can design some good solutions and iterate them. </p>
<p>In our case, the bar for those features is that much higher, where it needs to survive feedback from anybody who wants to give it. Which isn&#8217;t to say all feedback is necessarily followed. Even we have bad ideas; other people have bad ideas. And we do have to make hard choices about trading off different capabilities. </p>
<p>But you have to be able to have at least a thick enough skin to go through that process and see all that feedback, which tends to be negative, because if you like something you just kind of say, &#8220;Eh, I won&#8217;t say anything,&#8221; unless you are really excited about it. But if there&#8217;s anything about it you don&#8217;t like, people jump on that stuff. Stuff has to make it through that process. </p>
<p>I think for us, it&#8217;s made us more conservative about adding new user facing features, which I think is good in a tool as ubiquitous as the browser. But it also taught us a lot about how to make the features we do add understandable and easily usable by a really broad range of expertise. So I think the product&#8217;s much better for that. </p>
<p>OpenOffice is exactly the same sort of case. And your reference to grandmothers downloading in Iowa was the reason that, for us, the whole of the installation experience is really important. We try to keep the download size small. I think we&#8217;re just over five megs now, because we know there&#8217;s limited time between &#8220;I think I&#8217;d like to try this Firefox thing&#8221; and &#8220;Oh, dinner&#8217;s ready.&#8221; You come back from dinner and never notice that you downloaded it somewhere in your huge downloads folder, and you&#8217;re never going to try it. </p>
<p><b>Scott:</b> Right. Right. </p>
<p><b>Mike:</b> Keeping that loop short is really important. When you use Firefox for the first time, it pulls in all your bookmarks, it pulls in all your history, all your saved passwords, et cetera. Because you want it to be really easy to start using and be really easy to stop. </p>
<p>You can go back and use IE if you want, because we don&#8217;t want you to have to feel like you&#8217;re committing your Web to us forever. </p>
<p><a name="reliability"></a></p>
<p><b>Scott:</b> I mean one of the things that you guys obviously have to focus a lot on is reliability. And like a lot of open source projects, you have this modular, pluggable design. And we found that a lot of times that&#8217;s really important for projects to be successful. It&#8217;s important on Apache that even if people aren&#8217;t maybe up to the level they need to be to work on the Apache Web server itself, the barrier to writing a module is pretty low, right? </p>
<p><b>Mike:</b> Yeah. </p>
<p><b>Scott:</b> And Firefox, you have the same kind of thing, right? You might not be working on the browser itself, but you might want to try to write an extension to it. </p>
<p>How do you guys architect Firefox to help keep bad extensions from crashing the browser? How do you, for lack of a better term, keep bad code from making your good code look bad? </p>
<p><b>Mike:</b> Yeah. Not well enough, I think. People using Firefox sometimes load it up with a pile of extensions and then saying, &#8220;Performance isn&#8217;t what it used to be&#8221; or &#8220;I get this one weird crash.&#8221; </p>
<p>There is an important trade off there, right? We could certainly restrict the attachment surface for plug ins. We could say, &#8220;We are going to run you out of process. We&#8217;re going to run you in this safer way. We&#8217;re going to give you five things you can do to the browser.&#8221; And we could become much more robust that way. </p>
<p>Or we could say that you can run arbitrary code. And it&#8217;s up to the users to determine whether the given extension is going to be good enough for them or not. </p>
<p>We err, and to some extent I guess it is erring more on the side of permitting the extension developer to do whatever we could do in the product. And there certainly are challenges that come along with that, from helping the users understand that when they install an extension that they are trusting the extension code to do whatever they trust Firefox to do. </p>
<p>But also we try to help developers understand the impact of what they&#8217;re doing on Firefox. People write extension often because it&#8217;s something that they are going to use, but it&#8217;s also something that could be used by any of these 130 million people. </p>
<p>And an individual extension developer may not have access to the same breadth of feedback and breadth of testing that we have across Firefox itself. And we have a quarter of a million people using just our most recent Firefox 3.0 beta right now. Many extensions don&#8217;t get that kind of coverage and that kind of detailed analysis by a large group of people. </p>
<p>What we generally do is try to make the things that people want to do with extensions easy and safe. And so in Firefox 3.0 for example, we have some utility libraries we&#8217;ve built in, which we call Fuel, which make it easier to work with bookmarks, make it easier to work with tabs and history and so forth, because we were finding that a lot of extension authors were spending a lot of time on that boilerplate. And we want them to spend more time on their cool idea. </p>
<p>But also they were doing it in ways that made it hard for us to make changes later on without breaking their extensions, or they were doing it in a way that interfered with other extensions or interfered with performance. </p>
<p>So we tend more to deal with that class of problem by encouraging better behavior rather than preventing worse. We are certainly interested in looking at models for sandboxing of content, for having extensions that can run all over our privilege mode. They may not have access to as much data or be called in a different way. </p>
<p>But one of the most valuable parts about the extension model for us isn&#8217;t just what other people can do with it. It&#8217;s that it is a proving ground for our own ideas. </p>
<p>You see stuff coming out of the labs. You see stuff coming out of individual developers or people who are out in the extension development community, if you will, who have a great idea, like session restore, or some of the new changes made to tabbed browsing in Firefox 2.0, and a bunch of stuff in Firefox 3.0 as well. We can look at those extensions. We can say, &#8220;Hey, if we want to put this feature in Firefox, we can find out on a pretty broad scale how people are going to react to it by getting 100,000 people to install the extension.&#8221; </p>
<p><b>Sean:</b> Right. </p>
<p><b>Mike:</b> And that gives us the kind of feedback that you can&#8217;t get through even the most passionate online conversation, right? You can put it in front of people and see, in a classical usability test sense, or through instrumentation, or just through surveys afterward, is this a better behavior? What are people blogging about it? What are people using? Are they leaving it installed? And that&#8217;s a really powerful channel for us. </p>
<p><b>Scott:</b> Some applications, and maybe Firefox already does this, will sort of shame the extension developer a little bit. You&#8217;ll start up the application and it&#8217;ll say, &#8220;Hey, last time I was running, this extension crashed me. You&#8217;re going to have to manually re enable it if you want it to load.&#8221; Is there any kind of architecture like that or is that something that you guys have looked at? </p>
<p><b>Mike:</b> So we do something similar for session restore, for example. If the browser crashes and you start it up the next time, it says, &#8220;You can try this session again, but if it was something you were looking at that crashed you, I can predict what&#8217;s going to happen.&#8221; </p>
<p><b>Scott:</b> Right. </p>
<p><b>Mike:</b> One of the things that is challenging about doing what you are describing for extensions is that the way extensions really work in Firefox is by sort of mutating the application itself. In some cases we could tell that a given piece of code was running. We can look at some kinds of crashes and say, &#8220;Ah, well, we don&#8217;t normally take that path and this extension did, so that&#8217;s likely what&#8217;s happening here.&#8221; </p>
<p>But in a lot of cases, the way extensions work are by taking parts of the applications that aren&#8217;t connected together and connecting them to each other. So they do their damage, but we&#8217;re running Firefox code at the time of the crash. One of the things that we have done in Firefox 3.0 is use a new crash-reporting system called Breakpad, which was developed by us and Google for a couple of reasons. </p>
<p>One is, the previous one we were using wasn&#8217;t open source. It was the only non–open source code we were shipping and the source of much heartache for that reason. But the value of those crash reports was just way too high. It improved the product so much. But it also didn&#8217;t work, for example, on Intel Macs, of which as I am sure you are aware, a couple have been sold. </p>
<p><b>Sean:</b> Yeah, just a few. [Laughs] </p>
<p><a name="tools"></a></p>
<p><b>Mike:</b> Just a few. So we have this new crash-reporting software. It also handles threads, which is something that we have been using for a long time, and the crash-reporting software from the ancient Netscape days really didn&#8217;t handle threads very well. </p>
<p>We get better crash-reporting data. And one of those things we do report with crashes is what are the extensions that are installed. So we&#8217;re able to do correlation that way and then do outreach to authors. And they can then see: this is what these stacks look like. We are able to work with them with my team, specifically in evangelism and developer relations, to say, &#8220;Hey, this thing you&#8217;re doing is breaking stuff. Let&#8217;s get it updated.&#8221; </p>
<p>One of the nice things also is that we have spent a lot of time making the extension update model for Firefox pretty smooth. You can push a new update out and it&#8217;ll get to users. You don&#8217;t have to make sure they all come back to your site and re download and run an installer. It checks for compatibility. It does it in the background. </p>
<p>And so when we do have a fix for something like that out, or more important, when an extension developer has a fix for that kind of thing out, we can get it to users pretty quickly. </p>
<p><b>Sean:</b> Cool. </p>
<p><b>Mike:</b> And that&#8217;s something we are looking forward to a lot as Firefox 3.0 rolls out, being able to become even more responsive and agile not only with our own product, but with extensions as well. </p>
<p><b>Scott:</b> Let me ask a question in a different area. There was this huge news story a while back where Coverity had promoted 11 open source projects to their Rung 2. Coverity didn&#8217;t make these claims, but the way the news reported it was almost like, &#8220;Hey, here is the silver bullet. Coverity&#8217;s product scanned the code and found all the defects. You fix them, and you have a secure product.&#8221; </p>
<p>Talk a little bit about how tools like Coverity&#8217;s factor into how you guys make a secure product. And then what&#8217;s the story beyond that? What are the limitations of code scanning tools? What do you have to do beyond that to ensure a secure product? </p>
<p><b>Mike:</b> Yeah. So certainly we are engineers and we like it when computers can do work that lets humans not do that work. So we are all about tools of various kinds. And certainly security standards are no exception to that. </p>
<p>Our experience with various source code checkers, and I&#8217;m not sure what our most recent results with Coverity were, is that maybe they&#8217;re not as useful on our code because we are a project that uses a lot of C++ where most of the open source projects are still largely architected in C. Or it could be because we have a very dynamic architecture. You can&#8217;t always tell how the pieces are wired together without understanding it or running it. </p>
<p>Generally, the level of false positives is incredibly high. The number of possible vulnerabilities that are reported as &#8220;This could be a problem, though it may not actually be one&#8221; are vastly smaller. And the number of actual vulnerabilities that are reported are quite small. </p>
<p>And we do act on those where we see them. But I think if you look at it, the Coverity &#8220;rungs&#8221; are really ratings of how responsive you are to Coverity reports. They&#8217;re not really certifying any absolute level of security in the code. </p>
<p><b>Scott:</b> Right. </p>
<p><b>Mike:</b> Which is fine. Responsiveness in security is very important. But what they are really saying there is that these groups have responded to all the problems reported to them. </p>
<p>Well it turns out that&#8217;s the way they call it. And that&#8217;s certainly something we could invest in. We could go in and make sure that we tweak our codes so they don&#8217;t trigger any false positives and so forth. But in our experience, that doesn&#8217;t correlate with improved security of products. </p>
<p>Which isn&#8217;t to say people shouldn&#8217;t be using these tools. I think to say, &#8220;You know that there were false positives from Mozilla, so we&#8217;re not going to bother looking at it&#8221; is pretty reckless. Each project needs to look at the tools and figure out which ones are going to pay off best in terms of improvement to security of products. </p>
<p>We do our own. We released last year at Black Hat a set of tools that we built for fuzzing various network protocols and JavaScript language, which we had given to other browser vendors as well, ahead of that release. We found that those helped find a much larger set of bugs and potential problems in our code than the traditional sort of static code scanners. </p>
<p>Where we do use tools similar to Coverity, they are actually ones that we are building in-house and when working with researchers on projects like Elsa. This will let us do static analysis and transformation of our code. And we have a huge code base, and what we really want to do is be able to update the patterns in it as we learn about new vulnerabilities or performance patterns or portability or take advantage of new language features. </p>
<p>When we started to build Mozilla in 1997, C++ compilers were not nearly as capable as they are now. So there were a lot of features we just couldn&#8217;t use if we wanted to run on everything from Win 32 to AIX to OS/2 and so forth. </p>
<p><b>Scott:</b> Right. </p>
<p><b>Mike:</b> So we can take advantage of, for example, C++ exceptions in a way we couldn&#8217;t before. We are writing tools to help analyze our code and also to write big chunks of the code. </p>
<p><b>Sean:</b> Interesting. </p>
<p><b>Mike:</b> So that&#8217;s where we are putting our investment in terms of the tools. But I think those that are trying to make a secure product and aren&#8217;t doing everything they can to help use the computer to find issues, not as a substitute for human analysis but as an adjunct to it, are doing themselves and their users a disservice. </p>
<p><a name="reflections"></a></p>
<p><b>Scott:</b> One of the things that we do a lot of the times at the end of these interviews is hand the microphone to the person we are interviewing and say, &#8220;We covered a lot of stuff that was interesting to us, but what&#8217;s maybe interesting to you that we didn&#8217;t specifically ask about?&#8221; </p>
<p><b>Mike:</b> Yeah, I think the whole series you&#8217;re doing here about the software processes that are different – well, we&#8217;ll see whether they are different or more similar – between open source and proprietary model, I think is really interesting. </p>
<p>And I think it&#8217;s going to be interesting to see how those differences in process manifest in terms of users affecting things, whether it&#8217;s agility of features or improved responsiveness on bugs, or security issues, or days of vulnerability. Whatever we decide we want to optimize for in a given path. </p>
<p>But one of the things that we are doing with Firefox – and we hope with the Web – is making it a more robust and effective way to build an application. So it&#8217;s interesting for me to reflect on the questions you&#8217;ve asked and look through the various blog posts and so forth. </p>
<p>The kinds of processes that we want to encourage there, the kinds of things that we want to make easier for developers or make their results more effective, is how can we bake those things into the Web? </p>
<p>And we are certainly very active in various standards communities. We are very active in working with language developers and Web application developers and other browser developers to be sure to have these capabilities. But doing them in a way that doesn&#8217;t require the forklift upgrade of the development process. </p>
<p>Like, you don&#8217;t have to throw out this app if it has everything you need except video and rewrite it in something that has video. We want to take the barrier points away. But I think we will do well to keep in mind the development processes that lead to those apps as we do that, and make sure that what we are doing builds well for people who are using traditional proprietary methods, whether they are doing more collaborative development or whether they are trying to find a hybrid, as MySQL did. </p>
<p>And it looks like it&#8217;s worked out well for them, based on the acquisition announcement. </p>
<p><b>Scott:</b> [Laughs] That&#8217;s right. Mike, thanks for taking the time to chat. </p>
<p><b>Mike:</b> Thank you. </p>
<img src="http://howsoftwareisbuilt.com/?ak_action=api_record_view&id=137&type=feed" alt="" /><!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark this:</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://howsoftwareisbuilt.com/2008/03/20/interview-with-mike-shaver-chief-evangelist-mozilla/&amp;title=Interview+with+Mike+Shaver+%26%238211%3B+Chief+Evangelist+%26%238211%3B+Mozilla" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://howsoftwareisbuilt.com/2008/03/20/interview-with-mike-shaver-chief-evangelist-mozilla/&amp;title=Interview+with+Mike+Shaver+%26%238211%3B+Chief+Evangelist+%26%238211%3B+Mozilla" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http://howsoftwareisbuilt.com/2008/03/20/interview-with-mike-shaver-chief-evangelist-mozilla/" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://howsoftwareisbuilt.com/2008/03/20/interview-with-mike-shaver-chief-evangelist-mozilla/&amp;title=Interview+with+Mike+Shaver+%26%238211%3B+Chief+Evangelist+%26%238211%3B+Mozilla" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit.php?url=http://howsoftwareisbuilt.com/2008/03/20/interview-with-mike-shaver-chief-evangelist-mozilla/&amp;title=Interview+with+Mike+Shaver+%26%238211%3B+Chief+Evangelist+%26%238211%3B+Mozilla" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.sphere.com/sphereit/http://howsoftwareisbuilt.com/2008/03/20/interview-with-mike-shaver-chief-evangelist-mozilla/" 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+Mike+Shaver+%26%238211%3B+Chief+Evangelist+%26%238211%3B+Mozilla+@+http://howsoftwareisbuilt.com/2008/03/20/interview-with-mike-shaver-chief-evangelist-mozilla/" rel="nofollow" title="Add to&nbsp;Twitter"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&nbsp;Twitter" alt="Add to&nbsp;Twitter" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://howsoftwareisbuilt.com/2008/03/20/interview-with-mike-shaver-chief-evangelist-mozilla/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Interview with Justin Erenkrantz &#8211; President &#8211; Apache Software Foundation &#8211; Part I</title>
		<link>http://howsoftwareisbuilt.com/2008/01/24/interview-with-justin-erenkrantz-president-apache-software-foundation-part-i/</link>
		<comments>http://howsoftwareisbuilt.com/2008/01/24/interview-with-justin-erenkrantz-president-apache-software-foundation-part-i/#comments</comments>
		<pubDate>Thu, 24 Jan 2008 17:08:19 +0000</pubDate>
		<dc:creator>campsean</dc:creator>
				<category><![CDATA[Sean Campbell]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[apache software foundation]]></category>
		<category><![CDATA[governance]]></category>
		<category><![CDATA[Justin Erenkrantz]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[project management]]></category>

		<guid isPermaLink="false">http://howsoftwareisbuilt.com/2008/01/24/interview-with-justin-erenkrantz-president-apache-software-foundation-part-i/</guid>
		<description><![CDATA[Interviewers: Scott Swigart and Sean Campbell
Interviewee: Justin Erenkrantz
In this interview with Justin Erenkrantz we talked to him about:

The Apache Foundation.
Project Management Committees and the Apache Foundation.
Some of the reasons Jason feels Apache has been so successful.
What other open source projects might look to Apache for in terms of inspiration due to Apache&#8217;s longevity.
The Apache Incubator [...]]]></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-justin-r-erenkrantz-president-of-the-apache-software-foundation/">Justin Erenkrantz</a></p>
<p>In this interview with Justin Erenkrantz we talked to him about:</p>
<ul>
<li><a href="http://howsoftwareisbuilt.com/2008/01/24/interview-with-justin-erenkrantz-president-apache-software-foundation-part-i/#foundation">The Apache Foundation.</a></li>
<li><a href="http://howsoftwareisbuilt.com/2008/01/24/interview-with-justin-erenkrantz-president-apache-software-foundation-part-i/#projectmanagement">Project Management Committees and the Apache Foundation.</a></li>
<li><a href="http://howsoftwareisbuilt.com/2008/01/24/interview-with-justin-erenkrantz-president-apache-software-foundation-part-i/#apachesuccess">Some of the reasons Jason feels Apache has been so successful.</a></li>
<li><a href="http://howsoftwareisbuilt.com/2008/01/24/interview-with-justin-erenkrantz-president-apache-software-foundation-part-i/#inspiration">What other open source projects might look to Apache for in terms of inspiration due to Apache&#8217;s longevity.</a></li>
<li><a href="http://howsoftwareisbuilt.com/2008/01/24/interview-with-justin-erenkrantz-president-apache-software-foundation-part-i/#incubator">The Apache Incubator and it&#8217;s role as part of the Apache Software Foundation.</a></li>
<li><a href="http://howsoftwareisbuilt.com/2008/01/24/interview-with-justin-erenkrantz-president-apache-software-foundation-part-i/#horizon">What is the on horizon for the Apache Web Server.</a></li>
</ul>
<p><span id="more-128"></span></p>
<p><strong>Justin</strong>:  &nbsp;So my name is Justin Erenkrantz. I&#8217;m currently president of the Apache  Software Foundation (ASF), also on the board of directors. And I&#8217;ve been a  contributor to the Apache HTTP Server, the Apache Portable Runtime, and  Subversion, and some other projects for quite a while now.</p>
<p><strong>Scott</strong>:  &nbsp;Talk a little bit about Apache and talk about how it&#8217;s built.</p>
<p><a name="foundation"></a><strong>Justin</strong>:  &nbsp;The Foundation as a whole has over 50 different projects. There&#8217;s the Web  server, Tomcat, SpamAssassin, Geronimo. There&#8217;s a whole variety of projects. So  there&#8217;s an overall Foundation, with committers for each project. They&#8217;re  relatively isolated. The fact that I have access and I work on HTTP Server  doesn&#8217;t mean that I have access to, say, Maven.</p>
<p>  Each project kind of gets its own merit. Our culture is a meritocracy, and so  we expect people to show up on the public mailing lists and start contributing,  and eventually they&#8217;ll be recognized. Eventually they&#8217;ll get a vote, and this  vote will allow them to be able to commit (code). Across the Foundation, we  have about almost 1,600 committers that can commit to some of the 50&#8209;something  projects. And with that, you get to make changes.</p>
<p>  You also get something called a veto, which is something that we can probably talk  about a little bit later. That&#8217;s one of the core governance structures that we  have. There&#8217;s also a thing called the Project Management Committees, and those  are the groups that are responsible for each one of those projects.</p>
<p>  Above that is the board of directors. And in comparison with some of the other  open source organizations, our board at Apache doesn&#8217;t get involved with  technical details. We&#8217;re not going to get in and say, &quot;Oh, you need to  change this variable name.&quot; That&#8217;s not at all what we do. We&#8217;re just there  to make sure the organization is running, make sure that everybody&#8217;s happy and  getting along. You won&#8217;t see a director really getting involved in a technical  discussion, unless they&#8217;re a part of that project to begin with.</p>
<p>  <strong>Scott</strong>: &nbsp;Does the board provide more of a steering functionality,  then?</p>
<p><strong>Justin</strong>:  &nbsp;No, not even that. We&#8217;re almost completely hands&#8209;off. There are times  when personality clashes happen in each project, and try to mediate situations.  Again, we&#8217;re not going to make technical decisions. <br />
There  are some things that are centralized. So one of my responsibilities, as  president, is I&#8217;m responsible for the day&#8209;to&#8209;day operations of the Foundation.  We have a Subversion server. We have issue tracking. We have websites. All of  that is centrally managed by our infrastructure, too.</p>
<p><strong>Scott</strong>:  &nbsp;One of the things you mentioned was votes and vetoes as the way the  project is governed. So expand on that a little bit. How does that come into  play?</p>
<p><a name="projectmanagement"></a><strong>Justin</strong>:  &nbsp;For example, there&#8217;s the HTTP Server project. Within that, it&#8217;s governed  by a Project Management Committee, a PMC. Looking at your past interviews,  other people have mentioned this. This kind of structure has replicated itself  on how we have it at Apache.</p>
<p>  These are groups of committers who are responsible for the project. On HTTP  Server, there are maybe about 60 to 70 people on the PMC. Every single one of  those people has what we call a binding vote. The votes are used in two main  ways. </p>
<p>  The first way is for release. Within Apache, across any of the projects &#8212; this  is one of the hard and fast rules &#8212; there must be three binding votes before  it can be released. That means we must find three people out of 60 people on  HTTP Server to say, &quot;Yep, this is a good release. We&#8217;re going to put the  Apache brand on it. It&#8217;s going to be the &lsquo;Apache HTTP Server&rsquo;.&quot; That&#8217;s the  release part of the vote.</p>
<p>  The other part is a veto. If even one of those 60 people say, &quot;This change  is bad, I&#8217;m going to veto it,&quot; that means the change doesn&#8217;t make it in. </p>
<p>  One of the ASF&rsquo;s founders, Roy Fielding, refers to it as a kind of a shot gun.  It&#8217;s kind of like, &quot;OK, I&#8217;m done discussing this with you. You&#8217;re not  listening to reason. Veto. Stop. We&#8217;re not going any further.&quot;</p>
<p>  And it&#8217;s usually a last resort. Vetos are uncommon. They&#8217;re not something that  happens every week or every month. Generally, if there does happen to be a lot  of vetoes, it means that people aren&#8217;t willing to compromise. So, that may be  something where maybe the Board of Directors might say, &quot;Hey, you know, we  might keep a close eye on it. Is there anything you need to talk about, do you  need any help to resolve this&#8230;&quot;</p>
<p>But, generally vetoes are relatively rare but they do give a power to the 60  people to say, &quot;You know what, there&#8217;s not going to be any change that I  disagree with, there&#8217;s not going to be anything where I say &#8216;Oh my God, I can&#8217;t  live with this change being made&#8217;.&quot; So that&#8217;s an enormous power and it&#8217;s  given to the members of the PMC.</p>
<p><strong>Sean</strong>:  &nbsp;We found these nuclear options in place across many projects, but they  don&#8217;t get used very often. It that involvement in open source takes  considerable time and you do it because you believe in moving the project  forward. It seems like going into this, people know that the only way to make  progress is by consensus. No one person is just going to get their way. And if  they really want to, they have another option, which is to go fork the source.  But that has extremely high barriers also.</p>
<p><strong>Justin</strong>:  &nbsp;Yeah, absolutely. But as I said, generally the vetoes tend to be very  rare. It&#8217;s almost like mutually assured destruction. That&#8217;s the point. One thing  that has happened a couple of times over the 10 or 11 years of the HTTP Server  Project, is where there were vetoes on both sides. &quot;We&#8217;ve got to do it  this way. No, we&#8217;ve got to do it that way&quot;. There was this huge flame war  for a couple of weeks and then they finally said, &quot;You know what, we&#8217;re  not going to agree&quot;. They even had a telephone call. They were doing  everything, it was just this big mess. And eventually they said, &quot;You know  what, we&#8217;re just going to leave it to a vote. We can&#8217;t agree, we need to move  forwards, this is blocking us. OK, we&#8217;ll go ahead and resolve this, whatever  way the vote may turn out&quot;.</p>
<p>  <strong>Scott</strong>: &nbsp;Talk a little about the history of Apache. How did it get  its start and what are some of the major evolutions it&#8217;s had getting to the present  point?</p>
<p><strong>Justin</strong>:  &nbsp;Apache has its roots back in the early days of the World Wide Web. The  story begins with NCSA Web server from Illinois Urbana&#8209;Champaign. They were  running the NCSA Web server. Eventually, a lot of people left to go to  Netscape. The NCSA code eventually got abandoned, more or less. I think there  were nine people who found each other on Usenet and said, &quot;Hey, I have a  patch for NCSA. OK. Why don&#8217;t we start trading patches?&quot;</p>
<p>  They got together and they started to exchange patches and start coming up with  a new version of this NCSA service. They started taking it in this new  direction. They started saying &quot;OK. Maybe we should get another group  going.&quot; So they founded something called the Apache Group. It was an  informal thing. They did that for about four or five years, starting in &#8216;93 or  &#8216;92 (started in Feb &rsquo;95) Eventually they got to the point where other people  said, &quot;Hey, we like what you are doing.&quot; </p>
<p>  By this point Apache had already gone through, [inaudible] a Web server, and  made it up to version 1.2. They created The Apache Software Foundation in 1999,  and started doing things besides just a Web server.</p>
<p>That was the start of the Apache Software Foundation. The early initial project  was the Web server, and that is still what a lot of people think Apache is. Now  you have close to 60 projects. </p>
<p><a name="apachesuccess"></a><strong>Scott</strong>:  &nbsp;Focusing on the Apache Web Server, what are some of the secrets of its  success?</p>
<p><strong>Justin</strong>:  &nbsp;For the web server, more than anything, it&#8217;s been the way we designed and  supported all the standards. And it&#8217;s free. That was the tagline that Roy  Fielding had on his website for a long time, &quot;Apache, the best web server  money can&#8217;t buy.&quot;</p>
<p>One thing that really speaks well of our community has been the lack of forks.  The community embraces anybody who shows up. The project has evolved and  widened, from just the Web server itself, where people have wanted to do new  things. People wanted to do an FTP server, a mail server. It can do all those  things today. The community has been characterized by being willing to be open  to just about anything.</p>
<p><strong>Scott</strong>:  &nbsp;It seems like open source projects that are modular do better because  working on the core of an open source project might have a high bar. If it&#8217;s  modular, you can write modules without going through the scrutiny of submitting  code to the core. Modules give you a way to get your feet wet and participate.  At the same time you need a really healthy community too. It is the personalities  and way the governance structure is set up around it. It has to be really  healthy as well. Just to say it back in my own words, those two things seem  like they came together with Apache&hellip;</p>
<p><strong>Justin</strong>:  &nbsp;Yeah, and if you look at one of the key evolution points between the  original NCSA server and Apache, it&#8217;s when (early Apache developer) Robert Thau  modularized the whole thing one weekend. By and large, most of what he did 10,  12, 13 years ago is still present in the code base and technical architecture.  By modularizing, he did a really good job of cleaning up the earlier NCSA code  base.</p>
<p><strong>Scott</strong>:  &nbsp;So what is version 2 all about?</p>
<p><strong>Justin</strong>:  &nbsp;Version 2 was all about threading and portability. With Apache 1.3 they  added Win32, Netware, and OS/2 support. </p>
<p>  Version  2 started out with a number of internal forks. One of them looked at Netscape&#8217;s  portability runtime. Other developers did their own portability library,  implementing the same function on three platforms and hiding the implementation  details.&quot; </p>
<p>There ended up being a licensing dispute with the Netscape/Mozilla guys that  prohibited the Apache guys from using the NSPR runtime. That spawned the Apache  Portable Runtime project. That&#8217;s a lot of different projects now, but if you  look at why it happened, it had to do with the licensing issue. If you look at  the Foundation now, I think one of the things we are well known for is the  terms of our licensing.&nbsp; It&#8217;s a key  differentiator from, say, the Free Software Foundation.</p>
<p><strong>Scott</strong>:  &nbsp;Right, right.</p>
<p><strong>Sean</strong>:  &nbsp;Apache&#8217;s been around for a really long time, and it&#8217;s obviously seen as  one of the more successful open source projects, to say the least. What do you  think other open source projects look to Apache for in terms of inspiration  when they&#8217;re starting up? </p>
<p><a name="inspiration"></a><strong>Justin</strong>:  &nbsp;I think by and large, what you see most people copying are the governance  structures and the licensing. Those are two things projects have been copying.  I think you can see that in Eclipse: they almost use some of the exact same  terminology. </p>
<p><strong>Scott</strong>:  &nbsp;You still there?</p>
<p><strong>Sean</strong>:  &nbsp;One of the things you mentioned earlier that has always been intriguing  to me, was portability. I can see that it&#8217;s really important for Apache to be  portable between different Linux flavors, and maybe even be portable to  embedded devices and things like that. How important is it, from a practical  standpoint, that Apache runs on more than just Linux?</p>
<p><strong>Justin</strong>:  &nbsp;Extremely important. We have contributors who are only interested in  supporting a NetWare or Windows or OS/2, even BeOS in the past. It&#8217;s where  we&#8217;ve gotten some of the diversity of the community. It&#8217;s a hook to get people  into the community. &quot;Here&#8217;s a little something I know about, I know my operating  system, and I&#8217;ll contribute this patch. Hey, there&#8217;s something else that may  not be platform&#8209;specific.&quot;</p>
<p><strong>Scott</strong>:  &nbsp;Does Apache take the standpoint that it should run equally well across  operating systems? OpenOffice, for example, wants to be pretty much the same  OpenOffice regardless of where it&#8217;s running. Does Apache run differently  depending on&hellip;</p>
<p><strong>Justin</strong>:  &nbsp;Absolutely differently. Basically, our approach is in whatever platforms  people want to maintain, that&#8217;s what gets supported. By and large, on the  Apache HTTP Server, we have one guy who does the Win32, and it&#8217;s been his baby  for many, many years. There are other people who contributed a little bit to  the Win32, but he&#8217;s this one person who had been the individual who is  responsible for it.</p>
<p>It&#8217;s not a dictate that, &quot;Oh we have to support that.&quot; If someone is  interested in supporting an OS, great! We&#8217;re not going to stop them, but it&#8217;s  not going to be a mission statement, that we have to support all these  platforms equally. </p>
<p>  Actually,  if you do look at our HTTP server mission statement, it says, &quot;Apache HTTP  Server Project is an effort to develop and maintain an open source HTTP server  for modern operating systems including Unix and Windows NT.&quot; So, it&#8217;s in  our mission statement, but the only reason it&#8217;s there is because we have the  contributors to provide that support.</p>
<p><strong>Scott</strong>:  &nbsp;One other thing that varies from project to project is where the code  comes from. If you take a look at MySQL, pretty much everybody working on it  works for the MySQL company. If you look at other things like the Linux kernel,  a lot of that comes from corporate developers: IBM, Red Hat and a lot of  people. Do you have a sense for where the Apache code comes from? How much of  it is from corporate&#8209;sponsored developers versus the proverbial guy&#8209;in&#8209;his&#8209;garage?</p>
<p><strong>Justin</strong>:  &nbsp;I think it comes from a wide number of sources. What you will see is that  contributors remain the same even when they move from job to job. That&#8217;s  definitely been the case within the HTTP Server, that&#8217;s been the case for some  of these older projects as well. One day they may be working for IBM, the next  day they may be working for Red Hat, and then they may be working for some  other company. They may be working for Google, maybe doing it on the side,  that&#8217;s what you tend to see. Some of these contributors may have started out  working at Sun or HP, then they move but they&#8217;re still working on it. They  still contribute to the project.</p>
<p><strong>Scott</strong>:  &nbsp;There are certain people who look at open source and they think it&#8217;s all written  by people in their garages, contributing. Other people look at it and say,  &quot;It&#8217;s all written by people working for corporations.&quot; How important  do you think big corporate sponsorship is to a project like Apache, and does  that also create certain challenges for the project?</p>
<p><strong>Justin</strong>:  &nbsp;It&#8217;s a balance. You see some people who are getting paid to work on it.  They work on it all day during normal business hours.</p>
<p>  Then you see people who are the exact opposite, who may be working as a system  administrator or something else, and they only time that they can work on it is  on the weekends. So you see the overlap.</p>
<p>  One of the key things in Apache, another quote from Roy Fielding is, &quot;If  it didn&#8217;t happen on the mailing lists, it didn&#8217;t happen.&quot; All of the  discussions, all of the decisions, have to be made on our published mailing  list. That allows people who may be in different time zones, or different work  schedules, to coordinate through this mailing list.</p>
<p>They can read it during the day when they&#8217;re at work, during the night when  they&#8217;re at home, whatever works for them. That way, decisions aren&#8217;t made in a  face&#8209;to&#8209;face meeting, or a call, or an IRC, all the decisions have to happen on  a mailing list.</p>
<p><strong>Scott</strong>:  &nbsp;So IBM, just to take a big company name, can&#8217;t get something into Apache  just because they&#8217;re IBM and they want it. If one person out of sixty people  vetoes it, it doesn&#8217;t really matter how badly a big company wanted certain code  in, it&#8217;s not going in.</p>
<p><a name="incubator"></a><strong>Justin</strong>:  &nbsp;That&#8217;s right. The other aspect of it, the thing Apache has been  addressing the last couple of years, is how new projects come into Apache  through something called the ASF Incubator. This is about how they operate as  an Apache project. They have to get all of the legal paperwork in place, so we  can say, &quot;Yes, we can release this under the common Apache license.&quot;  That&#8217;s how we are trying to get new projects, and that&#8217;s why you&#8217;re seeing  growth in the number of our projects, because incubator keeps spinning out new  projects.</p>
<p>  It&#8217;s always a concern that in order to  graduate from incubator and become a full&#8209;fledged project, you have to have  diversity. Basically, you can&#8217;t have any one company dominate the project.</p>
<p>The rule we use, that you see pop&#8209;up again and again in Apache, is the rule of  three. There must be at least three committers that are diverse. The discussion  that is going on right now is, &quot;What is the definition of diverse?&quot;  An example: &quot;Well, I work for IBM, and I work on this project full&#8209;time,  but there&#8217;s another guy from a completely different division who isn&#8217;t getting  paid to do this who&#8217;s also working on it.&quot; Should that be counted as a  separate individual? That is a discussion now. Some of these companies are so  big, it&#8217;s like the old joke of, &quot;Oh, you&#8217;re from London!&nbsp; You must know so-and-so.&quot; </p>
<p><strong>Scott</strong>:  &nbsp;In open source projects what gets checked in is the source code. With  Apache, it looks like there&#8217;s this thing called the Apache HTTP Test  Project.&nbsp; Is that essentially like a test  suite for Apache?</p>
<p><strong>Justin</strong>:  &nbsp;Yes. Yes it is.</p>
<p><strong>Scott</strong>:  &nbsp;OK. And what&#8217;s that focused on? Is that mainly functional testing?</p>
<p><strong>Justin</strong>:  &nbsp;Yeah, it&#8217;s basically a Perl&#8209;driven test suite, originally from the Mod  Perl guys. They had this whole Apache test tool kit that they used as a kind of  smoke test. And we said, &quot;Hey, we&rsquo;d like to take that.&quot; And we  extended it from there.</p>
<p>  Generally, what you&#8217;ll see is you&#8217;ll see people will use that as a kind of  smoke test before they do a release. We talked earlier before about that you  need to have three plus one in order to do a release. But we haven&#8217;t said  anything about how people make up their minds, and say, &quot;Yes, release  this.&quot; And so generally what people do is they run tests on their favorite  platform.</p>
<p>  One of the things that we did with 2.0, and still do to some extent is  &quot;eat our own dogfood.&quot;&nbsp; In the  early days in of the 2.0 series for the Apache HTTP Server, we would say,  &quot;OK, we have a release candidate. We&#8217;re going to put it up on Apache.org.  We&#8217;re going to go run it for 72 hours and it can&#8217;t crash.&quot;</p>
<p>Basically that was kind of another way of doing the acceptance testing. Saying,  &quot;OK, we can run it on a site that gets this much traffic. It didn&#8217;t crash  so it&#8217;s probably going to be OK for you.&quot;</p>
<p><strong>Scott</strong>:  Are there tests specifically looking for vulnerabilities like buffer overruns,  or is that really outside of the scope&#8230;</p>
<p><strong>Justin</strong>:  &nbsp;In the past when there&#8217;s been some type of buffer overflow, or some type  of CDE vulnerability, generally you write and check in a test to make sure it  won&#8217;t show back up in regression.&nbsp; I  think that basically depends on if we can come up with an easy reproducible  test case.</p>
<p>But I think you won&#8217;t see some test cases there that are typically for the  vulnerabilities.</p>
<p><strong>Scott</strong>:  &nbsp;A while back we talked to Michael Howard, who&#8217;s a security guru at  Microsoft.&nbsp; There&#8217;s a lot of things they  do, but one in particular was banning certain APIs like strcpy because they  were just inherently vulnerable.</p>
<p><strong>Justin</strong>:  &nbsp;Yeah. Basically we do some things and put them in Apache 2.0 with the APR  path <span class="style1">(code base). [sp]</span> <br />
  If  somebody actually tries to call these functions, it&#8217;s going to expand onto,  &quot;Why are you trying to do this?&quot; There have been some cases where we  put it in the file to say, &quot;Don&#8217;t do this. Don&#8217;t call this.&quot; Or say,  &quot;Oh you&#8217;re going to call this? Well then we&#8217;re going redirect you to a  safer version.&quot;</p>
<p>  But, we don&#8217;t have the flexibility of say a Microsoft, and say, &quot;Oh we  want to have this new security API in the operating system.&quot; That&#8217;s not  something that we have influence on.</p>
<p>We generally have to look into the constraints of the operating system and work  with that.<strong></strong></p>
<p><strong>Scott</strong>:  &nbsp;Sure.</p>
<p><strong>Justin</strong>:  &nbsp;Over the past few years, I think there have only been one or two cases  where there were remote root exploits, and that speaks well for us.</p>
<p><strong>Scott</strong>:  &nbsp;When people are posting patches, are the security implications discussed  on the mailing list?</p>
<p><strong>Justin</strong>:  &nbsp;Oh, absolutely. You&#8217;ll get people saying, &quot;Hey there&#8217;s something  with this vulnerability, or this will break this or that.&quot;&nbsp; So, yeah there&#8217;s this constant vigilance for  the security.</p>
<p><strong>Scott</strong>:  &nbsp;Are there a lot of security-related tests that are put in proactively? I  hear about things like &quot;fuzz testing&quot; and other proactive ways to  probe the surface area for vulnerabilities. Does that kind of thing happen&#8230;.</p>
<p><strong>Justin</strong>:  &nbsp;There are security product providers, Coverity is the one that pops to my  mind. They&#8217;ll say, &quot;Hey, we ran our tool on your code and here&#8217;s a report  of vulnerabilities.&quot; We take a look at the reports and say, &quot;Thank  you very much.&quot; And then analyze them ourselves. </p>
<p>  But it&#8217;s really triggered by what the committers are interested in. We&#8217;ll see  committers who are very interested in conformance to the protocol specs. We&#8217;ll  see people who are interested in security, people who are interested in  performance, etc.</p>
<p>But we don&#8217;t tell the committers what to be interested in from the top&#8209;down.  It&#8217;s more like, &quot;John is interested in security so he&#8217;s really focused on  tying up all the security issues.&quot;</p>
<p><strong>Scott</strong>:  &nbsp;I&#8217;ve bumped into companies like Coverity that use open source to market  their tools because open-source provides a large, free code base they can throw  at their tool.</p>
<p><strong>Justin</strong>:  &nbsp;Absolutely.<strong> </strong>Yeah, I remember when we first looked at Coverity, the  amount of false positives were generally high.&nbsp;  We&#8217;d look at the code and determine, &quot;No, there isn&#8217;t a  vulnerability there. What the tool is reporting can&#8217;t actually happen.&quot;  There were maybe a handful of actual things that we said, &quot;Yes this is an  issue&quot;.</p>
<p>They may not have been as severe as what the tool was claiming, but we said,  &quot;OK, we&#8217;ll clean this up.&quot;</p>
<p><a name="horizon"></a><strong>Scott</strong>:  What do you see on the horizon for the Apache Web server?</p>
<p><strong>Justin</strong>:  &nbsp;The IETF is forming a new working group to do an editorial revision of  the HTTP stack. Their work might lead to the next generation of the HTTP  protocol. And I think that is something that we will be very much involved  with.</p>
<p><strong>Scott</strong>:  &nbsp;What about in the incubator?&nbsp; </p>
<p><strong>Justin</strong>:  &nbsp;Every Board meeting we&#8217;re graduating things like ServiceMix which is an  ESB and component suite based on the Java Business Interface. One that is going  to be new, probably the next board meeting, is a standard C++ library, which  we&#8217;re getting from RogueWave. There&#8217;s things like Abdera, which is an Atom  feed. We&#8217;re seeing a lot of things like ActiveMQ which is event&#8209;based  messaging.</p>
<p>What you probably see a lot in Apache are low&#8209;level infrastructure type things.  You&#8217;re not going to see things like, say, OpenOffice. You&#8217;re going to see  things that people can pick and choose to build larger applications. I think  that&#8217;s what our niche really is.</p>
<p><strong>Scott</strong>:  &nbsp;What&#8217;s your sense for what happens to an Apache Web server release  between the time you&#8217;re done with it and it gets distributed by a Red Hat,  Oracle, Solaris , etc?</p>
<p><strong>Justin</strong>:  &nbsp;We have contributors from Red Hat. A lot of the people who are doing  distros and ensuring that it gets in front of the users are involved in our  community. Our philosophy has been why are you making this huge patch set for  this particular product? Get it upstream, get it back to us, we want to take  it. I think generally, for the most part, you will see that there isn&#8217;t a lot  of variation when it gets into the distribution because these people have been  working with us.</p>
<p><strong>Sean</strong>:  &nbsp;Let me do a follow&#8209;up on that. Some say the strength of a closed source  project is that the company may be able to provide more of an integrated stack.  You take a look at something like Microsoft ships  and they might say, &quot;You should use this because it&#8217;s an integrated stack,  and there&#8217;s a single vendor you go to for support.&quot; Obviously there are  some projects that are tightly coupled together, such as Suversion and Apache. What  would you say to that from the open source side? </p>
<p><strong>Justin</strong>:  &nbsp;Right.</p>
<p><strong>Sean</strong>:  &nbsp;It seems like in open source, the communities are not isolated.&nbsp; There&#8217;s a fair amount of core maintainer  communication that&#8217;s going on.</p>
<p><strong>Justin</strong>:  &nbsp;Yeah, I think you see that. I think that&#8217;s why you see a number of  committers in multiple communities. As you get used to it, you start to follow  the dependency chain, and you get into those communities and say, &quot;Hey, I  just broke this for you over here, but here&#8217;s the patch to fix it.&quot; You  tend to see a lot of that happening. <strong></strong></p>
<p><strong>Sean</strong>:  &nbsp;Are there things you see in other open source projects that look  interesting and might influence Apache?</p>
<p><strong>Justin</strong>:  &nbsp;I like what Ubuntu has been doing, where they say, &quot;We&#8217;re doing a  release every six months. (no matter what), we&#8217;re going to have a  release.&quot; That&#8217;s a very hard thing to do. That requires some of the  dynamics that Canonical has with their contributors. That&#8217;s something that I  think they do really well. </p>
<p>  Generally  our philosophy has been, &ldquo;we&#8217;re releasing when it&#8217;s ready&rdquo;, and some think  that&#8217;s a good philosophy. You don&#8217;t want to promise something, but then you  think, &quot;Well it&#8217;s been so long since the last version.&quot; There are all  these changes that sit there and keep getting improved upon. But if you have  the regular release cycles, I think that&#8217;s a good thing.</p>
<p><strong>Scott</strong>:  &nbsp;Justin, we&#8217;re out of time, but this has been a great conversation.&nbsp; Thanks for taking the time to chat with us.</p>
<img src="http://howsoftwareisbuilt.com/?ak_action=api_record_view&id=128&type=feed" alt="" /><!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark this:</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://howsoftwareisbuilt.com/2008/01/24/interview-with-justin-erenkrantz-president-apache-software-foundation-part-i/&amp;title=Interview+with+Justin+Erenkrantz+%26%238211%3B+President+%26%238211%3B+Apache+Software+Foundation+%26%238211%3B+Part+I" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://howsoftwareisbuilt.com/2008/01/24/interview-with-justin-erenkrantz-president-apache-software-foundation-part-i/&amp;title=Interview+with+Justin+Erenkrantz+%26%238211%3B+President+%26%238211%3B+Apache+Software+Foundation+%26%238211%3B+Part+I" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http://howsoftwareisbuilt.com/2008/01/24/interview-with-justin-erenkrantz-president-apache-software-foundation-part-i/" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://howsoftwareisbuilt.com/2008/01/24/interview-with-justin-erenkrantz-president-apache-software-foundation-part-i/&amp;title=Interview+with+Justin+Erenkrantz+%26%238211%3B+President+%26%238211%3B+Apache+Software+Foundation+%26%238211%3B+Part+I" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit.php?url=http://howsoftwareisbuilt.com/2008/01/24/interview-with-justin-erenkrantz-president-apache-software-foundation-part-i/&amp;title=Interview+with+Justin+Erenkrantz+%26%238211%3B+President+%26%238211%3B+Apache+Software+Foundation+%26%238211%3B+Part+I" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.sphere.com/sphereit/http://howsoftwareisbuilt.com/2008/01/24/interview-with-justin-erenkrantz-president-apache-software-foundation-part-i/" 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+Justin+Erenkrantz+%26%238211%3B+President+%26%238211%3B+Apache+Software+Foundation+%26%238211%3B+Part+I+@+http://howsoftwareisbuilt.com/2008/01/24/interview-with-justin-erenkrantz-president-apache-software-foundation-part-i/" rel="nofollow" title="Add to&nbsp;Twitter"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&nbsp;Twitter" alt="Add to&nbsp;Twitter" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://howsoftwareisbuilt.com/2008/01/24/interview-with-justin-erenkrantz-president-apache-software-foundation-part-i/feed/</wfw:commentRss>
		<slash:comments>1</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 source process
Differences between feature design [...]]]></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://howsoftwareisbuilt.com/2007/09/12/interview-with-bob-bray-geospatial-architect-autodesk/&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://howsoftwareisbuilt.com/2007/09/12/interview-with-bob-bray-geospatial-architect-autodesk/&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://howsoftwareisbuilt.com/2007/09/12/interview-with-bob-bray-geospatial-architect-autodesk/" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://howsoftwareisbuilt.com/2007/09/12/interview-with-bob-bray-geospatial-architect-autodesk/&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.php?url=http://howsoftwareisbuilt.com/2007/09/12/interview-with-bob-bray-geospatial-architect-autodesk/&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://howsoftwareisbuilt.com/2007/09/12/interview-with-bob-bray-geospatial-architect-autodesk/" 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://howsoftwareisbuilt.com/2007/09/12/interview-with-bob-bray-geospatial-architect-autodesk/" 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 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 Outreach organization [...]]]></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://howsoftwareisbuilt.com/2007/07/10/interview-with-marc-miller-open-source-software-evangelist-in-the-amd-developer-outreach-organization/&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://howsoftwareisbuilt.com/2007/07/10/interview-with-marc-miller-open-source-software-evangelist-in-the-amd-developer-outreach-organization/&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://howsoftwareisbuilt.com/2007/07/10/interview-with-marc-miller-open-source-software-evangelist-in-the-amd-developer-outreach-organization/" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://howsoftwareisbuilt.com/2007/07/10/interview-with-marc-miller-open-source-software-evangelist-in-the-amd-developer-outreach-organization/&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.php?url=http://howsoftwareisbuilt.com/2007/07/10/interview-with-marc-miller-open-source-software-evangelist-in-the-amd-developer-outreach-organization/&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://howsoftwareisbuilt.com/2007/07/10/interview-with-marc-miller-open-source-software-evangelist-in-the-amd-developer-outreach-organization/" 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://howsoftwareisbuilt.com/2007/07/10/interview-with-marc-miller-open-source-software-evangelist-in-the-amd-developer-outreach-organization/" 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>
