<?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; project management</title>
	<atom:link href="http://howsoftwareisbuilt.com/tag/project-management/feed/" rel="self" type="application/rss+xml" />
	<link>http://howsoftwareisbuilt.com</link>
	<description></description>
	<lastBuildDate>Fri, 25 Jun 2010 19:53:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<copyright>2006-2007 </copyright>
	<managingEditor>scottswigart@technologyevangelism.com (How Software is Built)</managingEditor>
	<webMaster>scottswigart@technologyevangelism.com (How Software is Built)</webMaster>
	<ttl>1440</ttl>
	<image>
		<url>http://howsoftwareisbuilt.com/wp-content/plugins/podpress/images/powered_by_podpress.jpg</url>
		<title>How Software is Built</title>
		<link>http://howsoftwareisbuilt.com</link>
		<width>144</width>
		<height>144</height>
	</image>
	<itunes:subtitle></itunes:subtitle>
	<itunes:summary></itunes:summary>
	<itunes:keywords></itunes:keywords>
	<itunes:category text="Society &#38; Culture" />
	<itunes:author>How Software is Built</itunes:author>
	<itunes:owner>
		<itunes:name>How Software is Built</itunes:name>
		<itunes:email>scottswigart@technologyevangelism.com</itunes:email>
	</itunes:owner>
	<itunes:block>no</itunes:block>
	<itunes:explicit>no</itunes:explicit>
	<itunes:image href="http://howsoftwareisbuilt.com/wp-content/plugins/podpress/images/powered_by_podpress_large.jpg" />
		<item>
		<title>Interview with 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 [...]]]></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 &#8217;93 or  &#8217;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%3A%2F%2Fhowsoftwareisbuilt.com%2F2008%2F01%2F24%2Finterview-with-justin-erenkrantz-president-apache-software-foundation-part-i%2F&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%3A%2F%2Fhowsoftwareisbuilt.com%2F2008%2F01%2F24%2Finterview-with-justin-erenkrantz-president-apache-software-foundation-part-i%2F&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%3A%2F%2Fhowsoftwareisbuilt.com%2F2008%2F01%2F24%2Finterview-with-justin-erenkrantz-president-apache-software-foundation-part-i%2F" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http%3A%2F%2Fhowsoftwareisbuilt.com%2F2008%2F01%2F24%2Finterview-with-justin-erenkrantz-president-apache-software-foundation-part-i%2F&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?url=http%3A%2F%2Fhowsoftwareisbuilt.com%2F2008%2F01%2F24%2Finterview-with-justin-erenkrantz-president-apache-software-foundation-part-i%2F&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%3A%2F%2Fhowsoftwareisbuilt.com%2F2008%2F01%2F24%2Finterview-with-justin-erenkrantz-president-apache-software-foundation-part-i%2F" rel="nofollow" title="Add to&nbsp;SphereIt"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/sphereit.png" title="Add to&nbsp;SphereIt" alt="Add to&nbsp;SphereIt" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+Interview+with+Justin+Erenkrantz+%26%238211%3B+President+%26%238211%3B+Apache+Software+Foundation+%26%238211%3B+Part+I+@+http%3A%2F%2Fhowsoftwareisbuilt.com%2F2008%2F01%2F24%2Finterview-with-justin-erenkrantz-president-apache-software-foundation-part-i%2F" rel="nofollow" title="Add to&nbsp;Twitter"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&nbsp;Twitter" alt="Add to&nbsp;Twitter" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://howsoftwareisbuilt.com/2008/01/24/interview-with-justin-erenkrantz-president-apache-software-foundation-part-i/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

