<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:p="urn:schemas-microsoft-com:office:powerpoint" xmlns:a="urn:schemas-microsoft-com:office:access" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema" xmlns:b="urn:schemas-microsoft-com:office:publisher" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:c="urn:schemas-microsoft-com:office:component:spreadsheet" xmlns:odc="urn:schemas-microsoft-com:office:odc" xmlns:oa="urn:schemas-microsoft-com:office:activation" xmlns:html="http://www.w3.org/TR/REC-html40" xmlns:q="http://schemas.xmlsoap.org/soap/envelope/" xmlns:D="DAV:" xmlns:mt="http://schemas.microsoft.com/sharepoint/soap/meetings/" xmlns:x2="http://schemas.microsoft.com/office/excel/2003/xml" xmlns:ois="http://schemas.microsoft.com/sharepoint/soap/ois/" xmlns:dir="http://schemas.microsoft.com/sharepoint/soap/directory/" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:dsp="http://schemas.microsoft.com/sharepoint/dsp" xmlns:udc="http://schemas.microsoft.com/data/udc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sub="http://schemas.microsoft.com/sharepoint/soap/2002/1/alerts/" xmlns:ec="http://www.w3.org/2001/04/xmlenc#" xmlns:sp="http://schemas.microsoft.com/sharepoint/" xmlns:sps="http://schemas.microsoft.com/sharepoint/soap/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:udcs="http://schemas.microsoft.com/data/udc/soap" xmlns:udcxf="http://schemas.microsoft.com/data/udc/xmlfile" xmlns:udcp2p="http://schemas.microsoft.com/data/udc/parttopart" xmlns:wf="http://schemas.microsoft.com/sharepoint/soap/workflow/" xmlns:dsss="http://schemas.microsoft.com/office/2006/digsig-setup" xmlns:dssi="http://schemas.microsoft.com/office/2006/digsig" xmlns:mdssi="http://schemas.openxmlformats.org/package/2006/digital-signature" xmlns:mver="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns:mrels="http://schemas.openxmlformats.org/package/2006/relationships" xmlns:spwp="http://microsoft.com/sharepoint/webpartpages" xmlns:ex12t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:ex12m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:pptsl="http://schemas.microsoft.com/sharepoint/soap/SlideLibrary/" xmlns:spsl="http://microsoft.com/webservices/SharePointPortalServer/PublishedLinksService" xmlns:Z="urn:schemas-microsoft-com:" xmlns:st="&#1;" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Cambria;
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin-top:0in;
        margin-right:0in;
        margin-bottom:10.0pt;
        margin-left:0in;
        line-height:115%;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
h1
        {mso-style-priority:9;
        mso-style-link:"Heading 1 Char";
        margin-top:24.0pt;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:0in;
        margin-bottom:.0001pt;
        line-height:115%;
        page-break-after:avoid;
        font-size:14.0pt;
        font-family:"Cambria","serif";
        color:#365F91;}
h2
        {mso-style-priority:9;
        mso-style-link:"Heading 2 Char";
        margin-top:10.0pt;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:0in;
        margin-bottom:.0001pt;
        line-height:115%;
        page-break-after:avoid;
        font-size:13.0pt;
        font-family:"Cambria","serif";
        color:#4F81BD;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:10.0pt;
        margin-left:.5in;
        line-height:115%;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
p.MsoListParagraphCxSpFirst, li.MsoListParagraphCxSpFirst, div.MsoListParagraphCxSpFirst
        {mso-style-priority:34;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        line-height:115%;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
p.MsoListParagraphCxSpMiddle, li.MsoListParagraphCxSpMiddle, div.MsoListParagraphCxSpMiddle
        {mso-style-priority:34;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        line-height:115%;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
p.MsoListParagraphCxSpLast, li.MsoListParagraphCxSpLast, div.MsoListParagraphCxSpLast
        {mso-style-priority:34;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:10.0pt;
        margin-left:.5in;
        line-height:115%;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.Heading1Char
        {mso-style-name:"Heading 1 Char";
        mso-style-priority:9;
        mso-style-link:"Heading 1";
        font-family:"Cambria","serif";
        color:#365F91;
        font-weight:bold;}
span.Heading2Char
        {mso-style-name:"Heading 2 Char";
        mso-style-priority:9;
        mso-style-link:"Heading 2";
        font-family:"Cambria","serif";
        color:#4F81BD;
        font-weight:bold;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
        {page:Section1;}
 /* List Definitions */
 @list l0
        {mso-list-id:41369707;
        mso-list-type:hybrid;
        mso-list-template-ids:-65096728 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level2
        {mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level3
        {mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level4
        {mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level5
        {mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level6
        {mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level7
        {mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level8
        {mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level9
        {mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=EN-US link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal><i>(I originally planned on sending this yesterday, but I
waited until today to remove the &#8220;April Fools&#8221; possibility =P)<o:p></o:p></i></p>

<p class=MsoNormal>I&#8217;d like to propose moving IronRuby&#8217;s bugs off
of RubyForge. CodePlex looks like the best option, mainly due to the voting
feature for bugs. Here are some possible options for defect tracking, and what
I think about them:<o:p></o:p></p>

<h2>Lighthouse: <a href="http://lighthouseapp.com">http://lighthouseapp.com</a><o:p></o:p></h2>

<p class=MsoNormal>Sample site: <a href="http://silverline.lighthouseapp.com">http://silverline.lighthouseapp.com</a><o:p></o:p></p>

<p class=MsoNormal>Very usable, nice UI, and I&#8217;m a sucker for those types
of things. They support multiple projects, so splitting up the project into
Compiler, Libraries, Silverlight, etc, would be very clear. There&#8217;s also
a nice UI for milestone progress, making it fairly clear how the progress is
going. Also, other Ruby projects are moving here, so a move to Lighthouse would
follow the logic of why we started on RubyForge.<o:p></o:p></p>

<p class=MsoNormal>Lighthouse also has integration with GitHub, keeping our
lighthouse page up-to-date with any changes in git. <o:p></o:p></p>

<p class=MsoNormal>Lighthouse is usually a pay-service, but I believe they have
free hosting for open-source projects. However, there might be limits on how
many projects can be created, or users can be admins, so it&#8217;d be good to
find out these details.<o:p></o:p></p>

<p class=MsoNormal>Unfortunately, there&#8217;s no good way to prioritize
tickets other than milestones, and non-project-admins can&#8217;t change the
milestone, so we can&#8217;t accomplish any type of user-prioritization
(voting) on tickets.<o:p></o:p></p>

<h2>RubyForge: <a href="http://rubyforge.org">http://rubyforge.org</a><o:p></o:p></h2>

<p class=MsoNormal>Sample site: <a href="http://rubyforge.org/projects/ironruby">http://rubyforge.org/projects/ironruby</a><o:p></o:p></p>

<p class=MsoNormal>We&#8217;re on RubyForge currently, so <i>switching </i>to
RubyForge would be easy. =P Unfortunately, that&#8217;s about the only benefit
it provides. While RubyForge has been instrumental in shaping the Ruby
community, it appears that its heydays have passed, in favor of GitHub and
lighthouse. RubyForge also appears to be unmaintained, especially in light of
our crazy mailing list delays. File releases are still being used by the Ruby
community, mainly because of it being a Ruby Gems repository, so we should keep
releasing on it.<o:p></o:p></p>

<h2>CodePlex: <a href="http://codeplex.com">http://codeplex.com</a><o:p></o:p></h2>

<p class=MsoNormal>Sample site: <a href="http://ironpython.codeplex.com">http://ironpython.codeplex.com</a><o:p></o:p></p>

<p class=MsoNormal>CodePlex has turned into a pretty awesome open-source
project site. In the past I wouldn&#8217;t have wanted to move to CodePlex, but
now there defect tracking features seem like the best, and much faster than
they use to be. You can use the web interface, the team foundation client, or CodePlex
client to look at bugs, which makes it pretty easy to keep on-top of them.
Since CodePlex uses TFS underneath to store work-items and bugs, we can use the
TFS API to do git commit integration and things like that (though the TFS API
isn&#8217;t the greatest, it exists =P). But mainly the web interface has
voting support, so our tickets can be prioritized by community feedback very easily
&#8230; this is definitely the killer feature for me. <o:p></o:p></p>

<p class=MsoNormal>As I said, I&#8217;m leaning heavily towards CodePlex,
mainly for the voting support. IronPython uses this very successfully, and it
would help prioritize IronRuby&#8217;s work, especially post-1.0. <o:p></o:p></p>

<h2>So here&#8217;s the proposal:<o:p></o:p></h2>

<p class=MsoListParagraphCxSpFirst style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span
style='mso-list:Ignore'>1.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><![endif]>Go through open RubyForge bugs, closing bugs as
necessary, and narrowing in on a subset to move to CodePlex (jdeville has begun
closing bugs).<o:p></o:p></p>

<p class=MsoListParagraphCxSpMiddle style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span
style='mso-list:Ignore'>2.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><![endif]>Create <a href="http://ironruby.codeplex.com">http://ironruby.codeplex.com</a>
(already reserved, just waiting to set things up and turn it on), and use it
for *Issues* and *Releases* only. We will link to <a
href="http://wiki.github.com/ironruby/ironruby">http://wiki.github.com/ironruby/ironruby</a>
for other developer information, and <a href="http://ironruby.net">http://ironruby.net</a>
for general users, from the project homepage, and no other wiki pages will be
used.<o:p></o:p></p>

<p class=MsoListParagraphCxSpMiddle style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span
style='mso-list:Ignore'>3.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><![endif]>Releases will be the only things remaining on
RubyForge, as it&#8217;s still the standard place for Ruby releases, though any
release announcements/blogs will point to the CodePlex release.<o:p></o:p></p>

<p class=MsoListParagraphCxSpLast style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span
style='mso-list:Ignore'>4.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><![endif]>CodePlex discussion forums will not be used, as they
and will remain on RubyForge for now (though we need to resolve the crazy
delays soon). <o:p></o:p></p>

<p class=MsoNormal>Thoughts?<o:p></o:p></p>

<p class=MsoNormal>~Jimmy<o:p></o:p></p>

</div>

</body>

</html>