Replacing freecode: a proposal
<p>&#8220;Don&#8217;t it always seem to go, you don&#8217;t know what you&#8217;ve got till it&#8217;s gone&#8230;&#8221;  Three days ago freecode.com abruptly shut down, claiming &#8220;low traffic&#8221;, but there has been enough public mourning since to make me pretty sure it fills a need that&#8217;s still there.  There was nowhere else you could go that was quite so good for getting a cross-sectional view of what the open-source world is doing, independently of any given forge site or distro.</p>
<p>Web frameworks have gotten much more powerful since the original Freshmeat was built 17 years ago; today, I think building a replacement wouldn&#8217;t be a huge project.  It is not, however, something I am willing to try to do alone.  Whether or not this goes forward will depend on how many people are willing to step up and join me.  I figure we need a team of about three core co-developers, at least one of whom needs to have some prior expertise at whatever framework we end up using.</p>
<p>In the remainder of this post I&#8217;m going to sketch a set of project goals, including both some trimming away of freshmeat/freecode features I thought were unnecessary and some new ideas to address problems in its design.</p>
<p><span id="more-5948"></span> </p>
<p>First, let&#8217;s be clear about the problem we&#8217;re solving.  We want a central place where people can post project release announcements so other people can monitor and search release activity, which also serves as a searchable index of project metadata.  The project&#8217;s main view is to be a timeline of recent release announcements.</p>
<p>Here are some project goals and constraints I think are important:</p>
<p>1. Avoid moderation overhead.</p>
<p>Freshmeat/freecode required that every project creations and release be pre-moderated by humans.  This was a serious bottleneck, and may have been the site&#8217;s undoing by imposing staffing costs on the operators.  We need to avoid this.</p>
<p>I propose that we can do so simply by having a &#8220;report as spam or garbled&#8221; link on each displayed announcement.  There will still be some human overhead to process these, but experience with social media such as G+ that have this feature suggests that it scales reasonably well.</p>
<p>2. Open-source software only.</p>
<p>Freshmeat/freecode blurred its mission and complicated its job by accepting release announcements for proprietary projects.  Let&#8217;s not do that.</p>
<p>3. A tool for remote-scripting operations</p>
<p>I hate sites that force me to do clicky-dances on a web interface when the information to be submitted would naturally fit on a job card to be processed by a client. Forge sites that don&#8217;t let me remote-script a release action are major culprits &#8211; they force me to do irritating hand-work every time I ship.  </p>
<p>Freshmeat/freecode had a web-accessible JSON API, and I maintained a freshmeat-submit tool that spoke it.  The new site needs to do likewise.</p>
<p>4. Bring back Trove</p>
<p>Free tags are great, and the new site should have them, but I don&#8217;t think they&#8217;re enough by themselves.  I think we lost something very useful when freecode dropped the Trove taxonomy.  (Admittedly I may be biased, since I was Trove&#8217;s original designer.) The new site should bring back Trove, and have tag folksonomy too, and should use tags as a feeder to the gradual extension of Trove.  </p>
<p>5. Simplify, simplify, simplify</p>
<p>In my opinion, Freshmeat/freecode tried to do too much.  The &#8220;heartbeat&#8221; feature, for example, always struck me as pretty useless; nowadays, especially, if I want to view stats on development activity I&#8217;ll go to Ohloh.  I never saw any good reason to carry links to screenshots; selling the project&#8217;s niftiness is what the project&#8217;s website is for.  There are other features that could have been pared away without loss.</p>
<p>The most important way to hold down complexity is to be careful to specify a clean, simple functional design.  Let&#8217;s avoid the bells, whistles, and gongs this time.</p>
<p>6. Some thoughts about implementation and other issues.</p>
<p>I&#8217;m pretty sure I could get hosting space for the public site at Sunsite.</p>
<p>My #1 candidate for a framework to use is Django.  Because Python, and the documentation suggests Django would be well matched to requirements.  My mind is open to alternatives.</p>
<p>I&#8217;m thinking of this as &#8216;freshermeat&#8217;.  We&#8217;ll need a better name.</p>
<p>If this sounds like a project you want to sign up for, so indicate in the comments on my blog or G+.</p>
