<html xmlns:v="urn:schemas-microsoft-com:vml"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:p="urn:schemas-microsoft-com:office:powerpoint"
xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
<meta name=ProgId content=PowerPoint.Slide>
<meta name=Generator content="Microsoft PowerPoint 9">
<link id=Main-File rel=Main-File href="../Eclipse-OSS.htm">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
p\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
v\:textbox {display:none;}
</style>
<![endif]-->
<title>Key Success Factors For Open Source Development (and Developers!)</title>
<meta name=Description content="15-May-02: Open Source Lifecycle">
<link rel=Stylesheet href="master03_stylesheet.css">
<![if !ppt]>
<style media=print>
<!--.sld
	{left:0px !important;
	width:6.0in !important;
	height:4.5in !important;
	font-size:107% !important;}
-->
</style>
<script src=script.js></script><script><!--
gId="slide0010.htm"
if( !IsNts() ) Redirect( "PPTSld", gId );
//-->
</script><!--[if vml]><script>g_vml = 1;
</script><![endif]--><script for=window event=onload><!--
if( !IsSldOrNts() ) return;
if( MakeNotesVis() ) return;
LoadSld( gId );
MakeSldVis(0);
//-->
</script><![endif]><o:shapelayout v:ext="edit">
 <o:idmap v:ext="edit" data="12"/>
</o:shapelayout>
</head>

<body lang=EN-US style='margin:0px' onclick="DocumentOnClick()"
onresize="_RSW()" onkeypress="_KPH()">

<div id=SlideObj class=sld style='position:absolute;top:0px;left:0px;
width:534px;height:400px;font-size:16px;background-color:white;clip:rect(0%, 101%, 101%, 0%);
visibility:hidden'><p:slide coordsize="720,540"
 colors="#FFFFFF,#000000,#808080,#000000,#00CC99,#3333CC,#CCCCFF,#B2B2B2"
 masterhref="master03.xml">
 <v:background id="_x0000_s12291" o:bwmode="white">
  <v:fill color2="black"/>
 </v:background><![if !ppt]><p:shaperange href="master03.xml#_x0000_s1026"/><![if !vml]><img
 border=0 v:shapes="_x0000_s1026" src="master03_image004.jpg" style='position:
 absolute;top:.5%;left:2.43%;width:16.47%;height:7.25%'><![endif]><p:shaperange
  href="master03.xml#_x0000_s1027"/><![if !vml]><img border=0
 v:shapes="_x0000_s1027" src="master03_image005.gif" style='position:absolute;
 top:92.25%;left:0%;width:100.37%;height:8.25%'><![endif]><p:shaperange
  href="master03.xml#_x0000_s1028"/><![if !vml]><img border=0
 v:shapes="_x0000_s1028" src="master03_image006.jpg" style='position:absolute;
 top:94.5%;left:95.88%;width:4.11%;height:5.5%'><![endif]><p:shaperange
  href="master03.xml#_x0000_s1029"/><![if !vml]><img border=0
 v:shapes="_x0000_s1029" src="master03_image007.gif" style='position:absolute;
 top:8.75%;left:3.18%;width:92.32%;height:.75%'><![endif]><![endif]><p:shaperange
  href="master03.xml#_x0000_m1030"/><v:shape id="_x0000_s12289" type="#_x0000_m1030"
  style='position:absolute;left:54pt;top:48pt;width:611.875pt;height:96pt;
  mso-wrap-style:square;v-text-anchor:middle' filled="f" stroked="f"
  strokecolor="black">
  <v:stroke color2="white" o:forcedash="f"/>
  <v:textbox style='mso-rotate-with-shape:t' inset="2.5mm,1.3mm,2.5mm,1.3mm"/>
  <p:placeholder type="title"/></v:shape><p:shaperange
  href="master03.xml#_x0000_m1031"/><v:shape id="_x0000_s12290" type="#_x0000_m1031"
  style='position:absolute;left:54pt;top:156pt;width:611.875pt;height:336pt;
  mso-wrap-style:square;v-text-anchor:top' filled="f" stroked="f"
  strokecolor="black">
  <v:stroke color2="white" o:forcedash="f"/>
  <v:textbox style='mso-rotate-with-shape:t' inset="2.5mm,1.3mm,2.5mm,1.3mm"/>
  <p:placeholder type="body" position="1"/></v:shape>
 <div v:shape="_x0000_s12289" class=T style='mso-line-spacing:"100 0 0";
 position:absolute;top:14.25%;left:8.42%;width:83.14%;height:7.75%;tab-interval:
 .4913in;tab-stops:0in 1.0in 2.0in 3.0in 4.0in 5.0in 6.0in 7.0in 8.0in 9.0in 10.0in 11.0in'><span
 style='font-weight:normal'>Open Source Lifecycle</span></div>
 <div v:shape="_x0000_s12290" style='tab-interval:.4913in;tab-stops:.9965in 1.9965in 2.9965in 3.9965in 4.9965in 5.9965in 6.9965in 7.9965in 8.9965in 9.9965in 10.9965in'>
 <div class=B style='position:absolute;top:29.75%;left:8.42%;width:83.14%;
 height:5.25%'><span style='position:absolute;top:0%;left:4.5%;width:95.49%'><span
 style='mso-special-format:bullet;position:absolute;left:-4.71%;top:.3em;
 font-family:StarBats;font-size:75%'>&quot;</span>Stage Three: The Long
 Haul&#13;</span></div>
 <div class=B1 style='position:absolute;top:35.75%;left:13.48%;width:78.08%;
 height:4.5%'><span style='position:absolute;top:0%;left:4.07%;width:96.16%'><span
 style='mso-special-format:bullet;position:absolute;left:-4.23%;top:.3em;
 font-family:StarBats;font-size:75%'>&quot;</span>Community Leader&#13;</span></div>
 <div class=B1 style='position:absolute;top:40.75%;left:13.48%;width:78.08%;
 height:4.5%'><span style='position:absolute;top:0%;left:4.07%;width:96.16%'><span
 style='mso-special-format:bullet;position:absolute;left:-4.23%;top:.3em;
 font-family:StarBats;font-size:75%'>&quot;</span>Sense of
 ownership/responsibility&#13;</span></div>
 <div class=B1 style='position:absolute;top:46.0%;left:13.48%;width:78.08%;
 height:4.5%'><span style='position:absolute;top:0%;left:4.07%;width:96.16%'><span
 style='mso-special-format:bullet;position:absolute;left:-4.23%;top:.3em;
 font-family:StarBats;font-size:75%'>&quot;</span>Adoption by other
 projects/communities&#13;</span></div>
 <div class=B1 style='position:absolute;top:51.25%;left:13.48%;width:78.08%;
 height:4.5%'><span style='position:absolute;top:0%;left:4.07%;width:96.16%'><span
 style='mso-special-format:bullet;position:absolute;left:-4.23%;top:.3em;
 font-family:StarBats;font-size:75%'>&quot;</span>Formal/Clear documentation
 and support&#13;</span></div>
 <div class=B1 style='position:absolute;top:56.25%;left:13.48%;width:79.21%;
 height:4.5%'><span style='position:absolute;top:0%;left:4.01%;width:96.21%'><span
 style='mso-special-format:bullet;position:absolute;left:-4.17%;top:.3em;
 font-family:StarBats;font-size:75%'>&quot;</span>Stable core doesn't break
 when people leave/return</span></div>
 </div>
</p:slide></div>

</body>

</html>
