This repository has been archived on 2017-04-03. You can view files and clone it, but cannot push or open issues/pull-requests.
blog_post_tests/20140621080307.blog

26 lines
4.6 KiB
Plaintext

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>