<?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/"
	>

<channel>
	<title>Roblag</title>
	<atom:link href="http://blog.robla.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.robla.net</link>
	<description>Just like a diary, only without a way to dot the i's with hearts; robla, margl, and hazel's blog</description>
	<lastBuildDate>Wed, 10 Mar 2010 04:20:26 +0000</lastBuildDate>
	
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Thoughts on dual licensing and contrib agreements</title>
		<link>http://blog.robla.net/2010/thoughts-on-dual-licensing-and-contrib-agreements/</link>
		<comments>http://blog.robla.net/2010/thoughts-on-dual-licensing-and-contrib-agreements/#comments</comments>
		<pubDate>Sun, 28 Feb 2010 04:25:12 +0000</pubDate>
		<dc:creator>robla</dc:creator>
				<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://blog.robla.net/?p=142</guid>
		<description><![CDATA[
 photo by kwc

There&#8217;s been a lot of chatter lately about dual licensing in open source and its much-maligned companion the contributor license agreement.  Since my last two community management gigs involved dual licensing and CLAs, I have a few thoughts on the subject.
These tools certainly make it harder to build a community.  [...]]]></description>
			<content:encoded><![CDATA[<div class="wp-caption alignright" style="width: 250px"><a href="http://www.flickr.com/photos/kwc/42567298/"><img alt="Two-headed Camel" src="http://farm1.static.flickr.com/29/42567298_9884092bd5_m.jpg" title="Two-headed Camel" width="240" height="160" /></a>
<p class="wp-caption-text"><a href="http://creativecommons.org/licenses/by/2.0/" title="Attribution License" target="_blank"><img src="http://blog.robla.net/wp-content/plugins/photo-dropper/images/cc.png" alt="Creative Commons License" border="0" width="16" height="16" align="absmiddle" /></a> photo by <a href="http://flickr.com/people/kwc/" title="kwc" target="_blank">kwc</a></p>
</div>
<p>There&#8217;s been a lot of chatter lately about <a href="http://en.wikipedia.org/wiki/Multi-licensing">dual licensing in open source</a> and its much-maligned companion the <a href="http://en.wikipedia.org/wiki/Contributor_License_Agreement">contributor license agreement</a>.  Since my last two community management gigs involved dual licensing and CLAs, I have a few thoughts on the subject.</p>
<p>These tools certainly make it harder to build a community.  As Brian Aker pointed out in <a href='http://krow.livejournal.com/684329.html'>Drizzle, Licensing, Having Honest Conversations with your Community</a>:</p>
<blockquote><p>How do you have an honest conversation with someone where you say &#8220;yes, I will need the work you did for free, to be assigned over to me, so that I can make money on it&#8221;?
</p></blockquote>
<p>It&#8217;s not hard to understand that argument.  As anyone who has ever tried to build a community will tell you, contributors don&#8217;t grow on trees.  It&#8217;s a lot of hard work getting a community excited and motivated to work on your project. Having a single-minded focus on the thought process of your contributor community is probably the only way to build a community of any size or consequence.<br />
<span id="more-142"></span><br />
From the perspective of the potential contributor, being asked for a contribution agreement by the project sponsor is really pushing it.  The sponsor is already receiving hours, or maybe even days or weeks worth of free labor.  Asking the contributor to sign a seemingly one-sided agreement is asking too much.  Most open source contributors probably don&#8217;t have a lawyer on retainer (except for the employees of companies big enough to have legal staff), and few lawyers probably understand the benefit of signing these things.</p>
<div class="wp-caption alignleft" style="width: 172px"><a href="http://www.flickr.com/photos/buttepubliclibrary/4256596239/"><img alt="Frank S. Lusk" src="http://farm5.static.flickr.com/4058/4256596239_ced5c48062_m.jpg" title="Frank S. Lusk" width="172" height="240" /></a>
<p class="wp-caption-text"><a href="http://creativecommons.org/licenses/by/2.0/" title="Attribution License" target="_blank"><img src="http://blog.robla.net/wp-content/plugins/photo-dropper/images/cc.png" alt="Creative Commons License" border="0" width="16" height="16" align="absmiddle" /></a> photo from <a href="http://www.flickr.com/photos/buttepubliclibrary/" title="Butte-Silver Bow Public Library" target="_blank">Butte-Silver Bow Public Library</a></p>
</div>
<p>So, that&#8217;s the view from the contributor side, but what about the project sponsor?  I&#8217;m sure there&#8217;s at least as many views as there are project sponsors, but let me try to paint a general picture.  When a corporate entity invests in creating a new piece of software, they&#8217;re adding an asset to their balance sheet that they&#8217;ve got complete freedom to do with what they want. One thing they can do is release the source code under an open source license, which we all celebrate as a great thing. They lose resale value, but they don&#8217;t lose the ability to relicense it.  Even if there is no intention to ever relicense that code, the mere ability to do so adds to the balance sheet of a company.  For example, I really doubt that MySQL Inc would have sold for $1 billion had the company not had exclusive ownership of the MySQL database.  It&#8217;s doubtful <a href="http://www.businessweek.com/globalbiz/content/jan2008/gb20080128_783831.htm">Nokia would have forked over $153 million for Trolltech</a> had Trolltech already licensed Qt under LGPL.</p>
<p>Contributors who balk at contribution agreements probably don&#8217;t fully understand how companies arrive at their decision to insist on them, and so ascribe it to malice or <a href="http://despair.com/meetings.html">big company stupidity</a>, when in fact it&#8217;s probably neither.  </p>
<p>Open source projects of all stripes rarely get big, tangible features they truly lust after as outside contributions. Those big features are generally developed as separate projects. Instead, they get lots of small patches and improvements as outside contributions.</p>
<p>Taken individually, each patch is valuable, but not a game changer. So, for any one of these patches, as a sponsor of the project, the tradeoff between taking that one patch versus forever losing the ability to relicense the source code is no brainer. As in &#8220;no, don&#8217;t take the patch&#8221;. If the contributor can be convinced to relicense the patch, great, but otherwise, forget it.</p>
<p>While it may be possible to argue that the cumulative value of the delta between those patches one gets with a contributor agreement versus those that one would have gotten without requiring one is worth it over time, it&#8217;s very difficult to know what that delta is. Since that number is almost certainly unknowable, so is the benefit. And therein lies the rub.</p>
<p>Many of the arguments against having contribution agreements seem to be rooted in the idea that the patch contributor is the one who is being the most altruistic, and that the original provider of the source is the one who should be grateful.  While it&#8217;s absolutely true that the one receiving the patch should be grateful, it&#8217;s important to understand that <a href="http://www.lullabot.com/articles/best_practices_in_open_source_development">there&#8217;s a mutual exchange of value occuring</a>.  The contributor is partly avoiding the fate of needing to keep a downstream fork in sync with an ever changing upstream.  Moreover,<a href="http://blogs.techrepublic.com.com/security/?p=460"> as was discovered in the Debian/OpenSSH fiasco</a>, it&#8217;s often the case that the upstream has a valuable service to provide in merely saying &#8220;ur doing it rong&#8221;.</p>
<p>This is all my longwinded way of saying that potential contributors shouldn&#8217;t walk away from a project solely because the project requires contributor agreements.  Projects can have very good reasons for needing them, and there can be substantial value in a good working relationship with these providers.</p>
<p>That&#8217;s not to say I&#8217;m in love with contribution agreements and the dual licensing model.  They bring with them all of the problems that Brian and others describe.  It&#8217;s way more work explaining to your community the need for contribution agreements and GPL licensing than it is to just do away with them and run a more community-oriented project.  However, it&#8217;s one of the few ways that the open source community has proven worthy of significant financial investment and payoff, so we shouldn&#8217;t be <i>too</i> eager to cast it aside.</p>
<p>The only good reason to cast it aside is if there are better models out there, which <a href='http://redmonk.com/sogrady/2010/02/25/data-vs-dual-licensing/?utm_source=feedburner&#038;utm_medium=feed&#038;utm_campaign=Feed%3A+tecosystems+%28tecosystems%29&#038;utm_content=Google+Reader'>Stephen O&#8217;Grady suggests there might be</a>.  Here&#8217;s the pitch:</p>
<blockquote><p>But what if open source vendors could leverage their primary strength &#8211; distribution &#8211; more effectively as a direct revenue stream? I&#8217;ve been predicting for <a href="http://redmonk.com/sogrady/2007/08/20/more_money/">three years</a> or so that they would do just that, via data aggregation and analytics. The alignment of customer and vendor goals is better in this model than in virtually any other. The simplest example of this model outside of open source is Google, who provides users with search at no cost, receiving in return massive volumes of data which they monetize both directly (contextual ad placement) and indirectly (algorithmic improvement, machine learning, intelligence for product planning strategy, etc). Why couldn&#8217;t software vendors employ a similar model, trading free software for user generated telemetry data? The answer is, they can. <a href="http://www.spiceworks.com/">SpiceWorks</a>, for one, is doing just that now, quite successfully, albeit not with open source software.
</p></blockquote>
<p>I agree this is a pretty neat trick if you can pull it off.  I think Google, for one, is big enough to pull it off.  But I also don&#8217;t think its an accident that Stephen had to resort to mentioning a closed-source vendor (SpiceWorks) to make his point.  The problem with using open source with this type of strategy is that your downstream distributors can cut you out of the loop, stripping out key revenue and data generating tethers back to the mothership, as <a href="http://arstechnica.com/open-source/news/2010/01/ubuntus-default-search-engine-to-change-in-deal-with-yahoo.ars">Canonical recently did with Firefox</a>.  Since Ubuntu users don&#8217;t represent a huge portion of Firefox&#8217;s user base, it&#8217;s probably not that big of a deal for Mozilla, but just imagine what would happen to Mozilla&#8217;s revenues if Microsoft started distributing Firefox rewired to point to Bing.
<div class="wp-caption alignright" style="width: 240px; top:500px"><a href="http://www.flickr.com/photos/archiemcphee/2698737051/"><img alt="Angry Mob comin at ya!" src="http://farm4.static.flickr.com/3262/2698737051_6c4c2a2a83_m.jpg" title="Angry Mob comin at ya!" width="240" height="180" /></a>
<p class="wp-caption-text"><a href="http://creativecommons.org/licenses/by-nc/2.0/" title="CC Attribution-Noncommercial 2.0 Generic" target="_blank"><img src="http://blog.robla.net/wp-content/plugins/photo-dropper/images/cc.png" alt="Creative Commons License" border="0" width="16" height="16" align="absmiddle" /></a> photo from <a href="http://www.flickr.com/photos/archiemcphee/" title="Archie McPhee Seattle" target="_blank">Archie McPhee Seattle</a></p>
</div>
<p> The only real leverage that an upstream producer of open source software has in this case is withholding their trademark, and <a href="http://arstechnica.com/old/content/2008/09/ubuntu-firefox-eula-dustup-reignites-oss-licensing-debate.ars">we all know how much the community loves that</a>.</p>
<p>As I said before, open source contributors aren&#8217;t easy to attract to projects.  They don&#8217;t grow on trees.  Then again, neither do compelling, commercially-competitive open source applications.  Since we&#8217;ve established we can&#8217;t plant orchards of contributor and application provider trees to get a lot of both, let&#8217;s make sure we&#8217;re brokering good deals for both sides to attract many more of both.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.robla.net/2010/thoughts-on-dual-licensing-and-contrib-agreements/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Easy form building for terminal windows: jsonwidget-python</title>
		<link>http://blog.robla.net/2010/jsonwidget-python/</link>
		<comments>http://blog.robla.net/2010/jsonwidget-python/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 05:51:28 +0000</pubDate>
		<dc:creator>robla</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[jsonwidget]]></category>

		<guid isPermaLink="false">http://blog.robla.net/?p=101</guid>
		<description><![CDATA[I&#8217;ve been working on a project to make building forms really simple.  My latest work is &#8220;jsonwidget-python&#8221; for terminal-based applications (like you would use via SSH or local terminal on Linux and Mac).  It&#8217;s all very retro, but terminal windows are still very much in use for buzzword-compliant activities like configuring virtual machines [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been working on <a href="http://robla.net/jsonwidget/">a project to make building forms really simple</a>.  My latest work is &#8220;jsonwidget-python&#8221; for terminal-based applications (like you would use via SSH or local terminal on Linux and Mac).  It&#8217;s all very retro, but terminal windows are still very much in use for buzzword-compliant activities like configuring virtual machines for cloud computing, in addition to being the preferred user interface for a lot of people out there (*cough* nerds *cough*).</p>
<p>This new project builds on some earlier work that I&#8217;ve retroactively renamed &#8220;<a href="http://robla.net/jsonwidget#javascript">jsonwidget-javascript</a>&#8220;.  jsonwidget-javascript is AJAX-y generation of forms inside a browser based on a JSON schema.  jsonwidget-python is intended for terminal users at first, but will extend to other contexts as well.</p>
<p>Here&#8217;s a simple screenshot to show what&#8217;s going on:<br />
<div id="attachment_102" class="wp-caption alignleft" style="width: 410px"><a href="http://blog.robla.net/wp-content/uploads/2010/02/simpleaddr-screenshot-1.png"><img src="http://blog.robla.net/wp-content/uploads/2010/02/simpleaddr-screenshot-1.png" alt="Simple Address Entry in jsonwidget-python" title="Simple Address Entry in jsonwidget-python" width="400" height="284" class="size-medium wp-image-102" /></a><p class="wp-caption-text">Simple Address Entry in jsonwidget-python</p></div><br />
<span id="more-101"></span><br />
There&#8217;s nothing too fancy in this screenshot, but this is probably the most typical case.  What you see there is deceptively simple, but there&#8217;s a lot of complicated stuff going on under the hood.  Most of the complicated parts (drawing the fields, handling focus, handling keyboard shortcuts) is being provided by <a href="http://excess.org/urwid/">urwid</a>, an excellent Python-based library for building terminal-based user interfaces.  jsonwidget is providing a further abstraction that hopefully makes it even simpler to provide this type of interface, though sacrificing much of the flexibility of programming directly against urwid.  Here is the <a href="http://robla.net/jsonwidget/simpleaddr-schema.json.txt">complete configuration file (the schema) describing that address entry form</a>, as well as the <a href="http://robla.net/jsonwidget/jsonschema">documentation for the schema format</a>.  jsonwidget-python is compatible with jsonwidget-javascript, so <a href="http://robla.net/jsonwidget/example.php?sample=simpleaddr">the same schema also works in jsonwidget-javascript</a>.</p>
<div id="attachment_115" class="wp-caption alignleft" style="width: 310px"><a href="http://blog.robla.net/wp-content/uploads/2010/02/jsonwidget-javascript-shot.png"><img src="http://blog.robla.net/wp-content/uploads/2010/02/jsonwidget-javascript-shot-300x183.png" alt="jsonwidget-javascript screenshot with simple address entry form" title="jsonwidget-javascript screenshot with simple address entry form" width="300" height="183" class="size-medium wp-image-115" /></a><p class="wp-caption-text">jsonwidget-javascript screenshot with the same simple address entry form</p></div>One nice feature on display even in the simple demo is the ability to have arrays as fields.  You&#8217;ll notice that the phone number field has two phone numbers, and offers to let you add a third.  There&#8217;s no artificial limit on the number of phone numbers that one can enter using this tool, beyond the usual limits of computer memory, patience, etc.</p>
<p>It also handles more complicated schemas if your application calls for it.  For example, let&#8217;s say that one wanted to build a <i>real</i> address book application.  Clearly a lot more flexibility would be needed than merely allowing multiple phone numbers.  Here&#8217;s a screenshot showing a much more sophisticated schema that&#8217;s more like what real address book applications allow:</p>
<p><div id="attachment_118" class="wp-caption alignnone" style="width: 510px"><a href="http://blog.robla.net/wp-content/uploads/2010/02/complexaddr-screenshot-1.png"><img src="http://blog.robla.net/wp-content/uploads/2010/02/complexaddr-screenshot-1.png" alt="More complicated data entry with jsonwidget-python" title="More complicated data entry with jsonwidget-python" width="500" height="375" class="size-full wp-image-118" /></a><p class="wp-caption-text">More complicated data entry with jsonwidget-python</p></div>
<p>So, what is this good for?  Well, I think it&#8217;ll be good for a lot of stuff.  I suspect it might be a very good user interface to stick in front of a <a href="http://augeas.net/">augeas-based</a> user interface.  I think it might also be a good tool for building a terminal-based frontend for editing <a href="http://couchdb.apache.org/">CouchDB</a> and similar databases.  In particular, I&#8217;m thinking about making a <a href="http://www.freedesktop.org/wiki/Specifications/desktopcouch">desktop-couch</a> interface for contact editing.  Another idea I&#8217;ve dabbled with is automatically building a UI based on parameters to <a href="http://docs.python.org/library/optparse.html">Python&#8217;s optparse</a>.  Yet another thought is an editor for <a href="http://docs.python.org/library/configparser.html">Python&#8217;s ConfigParser</a> or alternatively <a href="http://www.voidspace.org.uk/python/configobj.html">ConfigObj</a>.  Lots of different possibilities here.</p>
<p>I&#8217;m particularly interested in suggestions for applications that people would use.  So, if you have an application for this type of thing that you&#8217;re reasonably sure you&#8217;d use if I did a good enough job implementing, let me know.</p>
<p>Of course, that&#8217;s probably getting a little ahead of myself.  There&#8217;s a number of things <a href="http://bitbucket.org/robla/jsonwidget-python/src/tip/TODO.txt">on the roadmap</a> to do, such as more kosher packaging for easy_install and for Linux distros, as well as the ability to edit arbitrary JSON.  I also need to investigate SitePen&#8217;s <a href="http://json-schema.org/">JSON schema</a> work, which they appear to be well along toward some sort of RFC (probably informational, but that can be enough for something like this).</p>
<p>Anyway, if this sort of thing is up your alley, please give it a whirl and let me know what you think.  You can download jsonwidget-python and give it a spin.   I&#8217;ve set up a <a href="http://lists.robla.net/listinfo.cgi/jsonwidget-robla.net">jsonwidget mailing list</a> which you&#8217;re more than welcome to use, but you can also just post a comment here or contact me via email.</p>
<p><strong>Update: March 9</strong> &#8211; there&#8217;s now several ways of getting jsonwidget:</p>
<ul>
<li><a href="http://pypi.python.org/pypi/jsonwidget/">Latest version at PyPI</a>
</li>
<li><a href="https://launchpad.net/jsonwidget">Ubuntu users: PPA on Launchpad</a>
</li>
<li><a href="http://bitbucket.org/robla/jsonwidget-python/">Bitbucket repository</a>
</li>
<li><a href="http://robla.net/jsonwidget">off of my website</a>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.robla.net/2010/jsonwidget-python/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Sorry about the NASCAR-looking comment area</title>
		<link>http://blog.robla.net/2010/sorry-about-the-nascar-looking-comment-area/</link>
		<comments>http://blog.robla.net/2010/sorry-about-the-nascar-looking-comment-area/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 01:01:54 +0000</pubDate>
		<dc:creator>robla</dc:creator>
				<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://blog.robla.net/?p=124</guid>
		<description><![CDATA[As you may have noticed if you visited blog.robla.net directly, the comment area is handled via Intense Debate.  I did that to get myself out of the account management business while still maintaining a modicum of control over my site.  Other than then weird blue flaming logo and the name &#8220;intense debate&#8221; on [...]]]></description>
			<content:encoded><![CDATA[<p>As you <i>may</i> have noticed if you visited blog.robla.net directly, the comment area is handled via Intense Debate.  I did that to get myself out of the account management business while still maintaining a modicum of control over my site.  Other than then weird blue flaming logo and the name &#8220;intense debate&#8221; on a blog that I don&#8217;t anticipate intense debate on, it&#8217;s rather nice.</p>
<p>One new feature that I just enabled is the ability to comment using Facebook or Twitter login.  It appears as though if you use it via Facebook, you&#8217;ll get the &#8220;allow to automatically post to your wall&#8221;, which is something that I don&#8217;t intend to exploit.  If anyone with Facebook Developer-fu knows how to tweak it so it doesn&#8217;t ask for that permission, I&#8217;d be grateful if you clued me in.</p>
<p>The downside, of course, is that now there is 15 different logos down in the comment area now, not counting the additional 9 or so that pop up when you hover over the little orange RSS icon.  Who knows, given the lack of color in the plain-jane theme I&#8217;ve recently switched to, maybe that&#8217;s a feature.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.robla.net/2010/sorry-about-the-nascar-looking-comment-area/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Python&#8217;s simpleparse module</title>
		<link>http://blog.robla.net/2010/simpleparse/</link>
		<comments>http://blog.robla.net/2010/simpleparse/#comments</comments>
		<pubDate>Thu, 18 Feb 2010 01:09:11 +0000</pubDate>
		<dc:creator>robla</dc:creator>
				<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://blog.robla.net/?p=91</guid>
		<description><![CDATA[
I&#8217;m working on a project that required a bit more from the JSON parser than the stock JSON parser with Python allowed for.  After doing some hunting around, I came to the unfortunate conclusion that I&#8217;d probably need to write my own.
Thankfully, Python&#8217;s simpleparse module lived up to its billing (thanks in large part [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/balakov/2452020557/"><img src="http://farm4.static.flickr.com/3185/2452020557_6cb5c3399b_m.jpg" title="&quot;Raising the flag on Iwo Jima&quot; by Mike Stimpson" width="240" height="192" class="alignright" /></a><br />
I&#8217;m working on a project that required a bit more from the <a href="http://json.org">JSON</a> parser than the stock JSON parser with Python allowed for.  After doing some hunting around, I came to the unfortunate conclusion that I&#8217;d probably need to write my own.</p>
<p>Thankfully, <a href="http://simpleparse.sourceforge.net/">Python&#8217;s simpleparse module</a> lived up to its billing (thanks in large part to JSON having such trivial syntax)  Here&#8217;s the working BNF suitable for passing to simpleparse:<br />
<span id="more-91"></span></p>
<blockquote><p><code>&lt;ws>        := [ \t\n\r]*</p>
<p>>string_json&lt; := string_single_quote / string_double_quote<br />
key := string_json<br />
array := "[", ws, ( value, (ws, ",", ws, value)* )?, ws, "]"</p>
<p>member := key, ws, ":", ws, value<br />
object := "{", ws, ( member, ( ws, ",", ws, member )* )?, ws, "}"</p>
<p>true  := "true"<br />
false := "false"<br />
null  := "null"<br />
>value&lt; := false / null / true / object / array / float / int / string_json<br />
>document&lt; := ws, value, ws<br />
</code></p></blockquote>
<p>This is also available in source code form here: <a href="http://bitbucket.org/robla/jsonwidget-python/src/tip/jsonwidget/jsonorder.py">jsonorder.py</a>.  jsonorder.py is part of a larger project, but it also works as a standalone library (albeit not a terribly useful one for most uses)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.robla.net/2010/simpleparse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Matthew Yglesias » Who’s “Ideological” in the Health Care Debate?</title>
		<link>http://blog.robla.net/2009/matthew-yglesias-%c2%bb-who%e2%80%99s-%e2%80%9cideological%e2%80%9d-in-the-health-care-debate/</link>
		<comments>http://blog.robla.net/2009/matthew-yglesias-%c2%bb-who%e2%80%99s-%e2%80%9cideological%e2%80%9d-in-the-health-care-debate/#comments</comments>
		<pubDate>Sat, 19 Dec 2009 05:46:06 +0000</pubDate>
		<dc:creator>robla</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://blog.robla.net/?p=87</guid>
		<description><![CDATA[Great insight from Matthew Yglesias:
The habit of insisting that only the right and the left have “ideologies” and that people in the center don’t is one of the absolute most frustrating elements of conventional political discussion in the United States. The fact of the matter is that “centrist” ideological taboos have been the big story [...]]]></description>
			<content:encoded><![CDATA[<p><a href='http://yglesias.thinkprogress.org/archives/2009/12/whos-ideological-in-the-health-care-debate.php'>Great insight from Matthew Yglesias</a>:</p>
<blockquote><p>The habit of insisting that only the right and the left have “ideologies” and that people in the center don’t is one of the absolute most frustrating elements of conventional political discussion in the United States. The fact of the matter is that “centrist” ideological taboos have been the big story of the Obama administration. That starts with the imposition of an arbitrary cap on the size of the stimulus bill, it continues to the utterly merciless and fanatical centrist opposition to the existence of any public option, to the Fed’s refusal to undertake further monetary easing, to the unwillingness to contemplate really stern measures against bailed-out banks and their executives, and on and on and on.</p></blockquote>
<p>The idea of a &#8220;centrist&#8221; ideology is easiest to apply to the &#8220;left-right&#8221; political spectrum in the U.S., but it holds true in other areas as well (e.g. proprietary versus open).  While the &#8220;correct&#8221; answer is often between two extremes, that&#8217;s not always the case.  People who tend to favor shades of grey are not necessarily more reasonable, just more prone to picking shades of grey.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.robla.net/2009/matthew-yglesias-%c2%bb-who%e2%80%99s-%e2%80%9cideological%e2%80%9d-in-the-health-care-debate/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Moving on</title>
		<link>http://blog.robla.net/2009/moving-on/</link>
		<comments>http://blog.robla.net/2009/moving-on/#comments</comments>
		<pubDate>Mon, 09 Nov 2009 06:07:11 +0000</pubDate>
		<dc:creator>robla</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://blog.robla.net/?p=82</guid>
		<description><![CDATA[I&#8217;ve decided to leave my current job at Linden Lab.  Those of you interested in the ins-and-outs of Second Life may want to look at my post to &#8220;sldev&#8221; (our open source development mailing list).  It was a tough decision to leave, and even tougher to make without having my next move totally [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve decided to leave <a href="http://wiki.secondlife.com/wiki/User:Rob_Linden">my current job at Linden Lab</a>.  Those of you interested in the ins-and-outs of Second Life may want to look at <a href="https://lists.secondlife.com/pipermail/sldev/2009-November/015579.html">my post to &#8220;sldev&#8221; (our open source development mailing list)</a>.  It was a tough decision to leave, and even tougher to make without having my next move totally nailed down, but so far it feels like the right decision.  Ask me in a couple months how I feel  <img src='http://blog.robla.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Without going into too much detail about what I&#8217;m working on, suffice it to say that it involves open source in a pretty big way.  Even if this immediate opportunity doesn&#8217;t pan out, the scope of stuff I&#8217;ll be looking at is going to be pretty narrowly focused on facilitating the creation of open source software.  I&#8217;ll write more here as things get clearer.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.robla.net/2009/moving-on/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Selectricity&#8230;yay, someone beat me to the punch</title>
		<link>http://blog.robla.net/2008/selectricityyay-someone-beat-me-to-the-punch/</link>
		<comments>http://blog.robla.net/2008/selectricityyay-someone-beat-me-to-the-punch/#comments</comments>
		<pubDate>Wed, 30 Jul 2008 05:02:55 +0000</pubDate>
		<dc:creator>robla</dc:creator>
				<category><![CDATA[Wonk]]></category>
		<category><![CDATA[condorcet]]></category>
		<category><![CDATA[elections]]></category>

		<guid isPermaLink="false">http://blog.robla.net/?p=78</guid>
		<description><![CDATA[I just set up a mock election on Selectricity, just to see what it could do, and was pleasantly surprised that they created a very simple interface for creating Schulze/Condorcet elections that pretty much anyone can use.  I tried getting to this point a few years ago with Electowidget, but sadly didn&#8217;t get to [...]]]></description>
			<content:encoded><![CDATA[<p>I just set up <a href="http://selectricity.org/quickvote/icecream1">a mock election on Selectricity</a>, just to see what it could do, and was pleasantly surprised that they created a very simple interface for creating <a href="http://en.wikipedia.org/wiki/Schulze_method">Schulze/Condorcet elections</a> that pretty much anyone can use.  I tried getting to this point a few years ago with Electowidget, but sadly didn&#8217;t get to a usable enough place (nor a maintainable enough site).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.robla.net/2008/selectricityyay-someone-beat-me-to-the-punch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Brutal honesty in open source development</title>
		<link>http://blog.robla.net/2008/brutal-honesty-in-oss/</link>
		<comments>http://blog.robla.net/2008/brutal-honesty-in-oss/#comments</comments>
		<pubDate>Sat, 19 Jul 2008 09:10:09 +0000</pubDate>
		<dc:creator>robla</dc:creator>
				<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://blog.robla.net/?p=77</guid>
		<description><![CDATA[There&#8217;s a bit of a flamewar going on right now between the main PulseAudio developer, and another Linux desktop developer who grew frustrated by some very real problems caused directly and indirectly by it.  PulseAudio is the latest of many savior technologies that promise to make audio on Linux not suck.  I&#8217;m actually [...]]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s a bit of a flamewar going on right now between the main <a href="http://en.wikipedia.org/wiki/PulseAudio">PulseAudio</a> developer, and another Linux desktop developer who grew frustrated by some very real problems caused directly and indirectly by it.  PulseAudio is the latest of many savior technologies that promise to make audio on Linux not suck.  I&#8217;m actually pretty optimistic that the fifth(?) time&#8217;s a charm here; there&#8217;s a lot of very sensible things about the design.</p>
<p>Anyway, Jeffrey Stedfast wrote a series of blog posts culminating in &#8220;<a href="http://jeffreystedfast.blogspot.com/2008/07/pulseaudio-i-told-you-so.html">PulseAudio: I told you so</a>&#8220;.  In these, he documents his frustration with being given the runaround when trying to point out PA problems that he ends up debugging to the point of finding and/or filing several bugs/patches in various bug trackers.  PulseAudio creator Lennart Poettering had enough, and posted to his blog with <a href="http://0pointer.de/blog/projects/jeffrey-stedfast.html">a long rebuttal</a>, claiming that Stedfast&#8217;s blog post &#8220;flamed my software and hence me&#8221;.  It&#8217;s a pretty run of the mill developer flamewar, which only caught my eye because I&#8217;ve had a few frustrating problems with PA myself and was hoping to learn more.<br />
<span id="more-77"></span><br />
These kind of arguments make me sad, because they unfortunately seem an inevitable consequence of open source norms (at least as they exist today).  Anyone who knows me knows I&#8217;ve laid down my fair share of smackdowns and attempted smackdowns myself.  But I&#8217;ve also become more ashamed of doing it as I&#8217;ve gotten older.  It just seems that there&#8217;s got to be a better way of communicating than this.</p>
<p>In this particular case, I get both sides of the argument equally well.  I&#8217;ve been on the side of the creator who is told they need to get a thicker skin.  That&#8217;s pretty rough, though, given how brutally honest many people think they need to be just to make a point.  On the flip side, I&#8217;m also using PulseAudio now, and its inclusion in distributions like Ubuntu does feel like it was horribly rushed.  However, it&#8217;s obvious there wasn&#8217;t any malice here; just two people who have different views on what the right path to &#8220;better&#8221; is.</p>
<p>The only thing I would say is that &#8220;brutal honesty&#8221; should be the last resort, and that public brutal honesty should be the absolute last resort.  Just plain old honesty is good enough more often than not.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.robla.net/2008/brutal-honesty-in-oss/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Software as hiring decision</title>
		<link>http://blog.robla.net/2008/software-as-hiring-decision/</link>
		<comments>http://blog.robla.net/2008/software-as-hiring-decision/#comments</comments>
		<pubDate>Thu, 17 Jul 2008 07:08:29 +0000</pubDate>
		<dc:creator>robla</dc:creator>
				<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://blog.robla.net/?p=76</guid>
		<description><![CDATA[This article in CIO Magazine touches on things that you should look for in choosing open source software:

Project stability: Can you trust the project to be there when you need it?
Project support: Can you get support when you need it?
Internal software management: Does your company know what open-source programs it’s using? How it’s developing and [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.cio.com/article/429813/Developing_Open_Source_Business_Policies_That_Work_Everyone_Is_Making_It_Up_As_They_Go_Along/3">This article in CIO Magazine</a> touches on things that you should look for in choosing open source software:</p>
<blockquote><ul>
<li>Project stability: Can you trust the project to be there when you need it?</li>
<li>Project support: Can you get support when you need it?</li>
<li>Internal software management: Does your company know what open-source programs it’s using? How it’s developing and deploying them both in-house and to customers?”</li>
</ul>
</blockquote>
<p>I&#8217;m not so sure that these problems are truly bigger problems for open source as they are for software in general.  When people in companies select a new piece of software (for use as a standalone product or as an integrated component of a larger system) they miss one important thing:  it is much more like a hiring decision than they probably realize.  Many of the considerations people make for new employees (reputation, cultural fit, how they are to work with) are equally applicable to new software components and systems.</p>
<p>(<em>CIO article <a href="http://blogs.the451group.com/opensource/2008/07/14/policy-matters-for-open-source-adoption/">via Matthew Aslett @ The 451 Group</a></em>)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.robla.net/2008/software-as-hiring-decision/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A hard problem worth solving</title>
		<link>http://blog.robla.net/2008/hard-problem/</link>
		<comments>http://blog.robla.net/2008/hard-problem/#comments</comments>
		<pubDate>Mon, 14 Jul 2008 07:50:16 +0000</pubDate>
		<dc:creator>robla</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[foss]]></category>
		<category><![CDATA[organic]]></category>
		<category><![CDATA[oscon]]></category>

		<guid isPermaLink="false">http://blog.robla.net/?p=75</guid>
		<description><![CDATA[Here&#8217;s a description of the organic open source panel at OSCON (which I&#8217;m participating in): &#8220;The OSI’s Open Source Definition attempts to set the minimum bar for a software license to be considered “open source”.  However, there’s much more to a software project than just the license.  Are software projects dominated by a [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a description of the <a href="http://en.oreilly.com/oscon2008/public/schedule/detail/4400">organic open source panel at OSCON</a> (which I&#8217;m participating in): &#8220;<em>The <a href="http://www.opensource.org/docs/osd">OSI’s Open Source Definition</a> attempts to set the minimum bar for a software license to be considered “open source”.  However, there’s much more to a software project than just the license.  Are software projects dominated by a single company still open source?  <a href="http://thunk.org/tytso/blog/2008/04/24/organic-vs-non-organic-open-source/">Does a project need to be ‘organic’ to be truly open source?</a>  What does “organic” even mean in this context?</em>&#8221;</p>
<p>My answer to the first two questions is &#8220;yes, of course projects dominated by one company are still open source, and no it doesn&#8217;t need to be &#8216;organic&#8217;&#8221;, where &#8220;organic&#8221; is (arguably) defined as a project which the first release included source, and is generally characterized as by a distributed development team with no single company truly in control, and &#8220;inorganic&#8221; is generally code that started off life as a proprietary effort.  Yay, panel concluded, thanks everyone!</p>
<p>No?  Ok, the line of questions above implies a question of quality, and there are very real qualitative differences between &#8220;organic&#8221; and &#8220;inorganic&#8221; open source&#8230;..<br />
<span id="more-75"></span></p>
<p>(this is a riff on <a href="https://lists.secondlife.com/pipermail/sldev/2008-July/thread.html#10913">my earlier email to the sldev mailing list</a>)</p>
<p>Now that Firefox is such a big success, it&#8217;s easy to forget the long years that the Mozilla folks spent building the community and figuring out how to transition from proprietary to open development.  Jamie Zawinski was the initial leader of this effort, and burned out after the first year.  He wrote <a href="http://www.jwz.org/gruntle/nomo.html">a scathing essay upon his resignation from AOL/Netscape</a>.  In that essay, he notes: &#8220;<em>There exist counterexamples to this, but in general, great things are accomplished by small groups of people who are driven, who have unity of purpose. The more people involved, the slower and stupider their union is.</em>&#8221;  His assessment is brutally frank (probably too brutal), but any of us who do a similar job would be lying if we said we had no idea what he&#8217;s talking about.</p>
<p><a href="http://en.wikipedia.org/wiki/Brian_Aker">Brian Aker</a> pointed out in <a href="http://thunk.org/tytso/blog/2008/04/24/organic-vs-non-organic-open-source/ ">a blog discussion</a> with <a href="http://en.wikipedia.org/wiki/Theodore_Ts%27o">Theodore Ts&#8217;o</a> that there&#8217;s not really a successful blueprint for taking projects open source.  There are at least some <a href="http://weblog.infoworld.com/openresource/archives/2008/05/josh_berkus_on.html">&#8220;do&#8217;s&#8221; and &#8220;don&#8217;ts&#8221;</a>, and an ability to analyze the many projects that have followed in the decade following the initial Mozilla release.  But no one has had anything approaching a home run when it comes to both community and commercial success when opening up proprietary software.  Some base hits, sacrifice flies, and strikeouts, but no home runs that I can think of.</p>
<p>Corporate-originated open source (arguably &#8220;inorganic&#8221; software) has a much, much more difficult time keeping the core team aligned around open principles, because there&#8217;s a much weaker selection bias keeping out open source skeptics in the same way that organic projects generally keep them out.  Participating in &#8220;organic&#8221; open source projects is often more appealing, since they generally start from day one with public tools for everything.  It&#8217;s much more comfortable as a community member to have the full visibility of a peer from the first day you take an interest in a project, even if you probably won&#8217;t be treated as one until you really prove your mettle.</p>
<p>There are many company-driven open source projects that drag their feet at getting that level of transparency.  Many potential participants in these fledgling communities  rightfully get frustrated, because they imagine how much more they could potentially help with a peer&#8217;s level access to the tools and information.  They are probably correct in thinking that companies that don&#8217;t do it as quickly as possible are squandering a big opportunity, and get tired of trying to hit companies upside the head with the cluebat.  They retreat back to the organic alternatives, because, well, they just aren&#8217;t getting paid enough for that&#8230;.stuff.</p>
<p>I think ushering companies into the open source development model is a hard but extremely worthwhile problem to solve.  That&#8217;s why I took <a href="http://blog.secondlife.com/2007/01/08/open-source-busybody/">the job I have today</a>.  I have a pretty unique situation at Linden Lab.  When we launched, I was helping a company open the source code for a very commercially successful product from a market-leading position (rather than as a scrappy underdog or a has-been).  It&#8217;s easier than trying to do it while trying to start or revive a business, but presents the different problem that I was (and still am) worried about killing the goose that laid the golden egg.  We&#8217;ve taken a gradual approach, in part based on my recommendation, and in part because the development cycles just weren&#8217;t there for anything more radical than what we did.  I&#8217;m not going to argue that I&#8217;ve done the best job at this (in fact, I know I&#8217;ve made several textbook errors), or that Linden Lab has been without fault.  But I think we&#8217;ve done pretty well with our approach, and as of this writing, <a href="http://blog.secondlife.com/2008/07/08/second-life-virtual-world-expands-35-in-q2/">our business is still doing very well</a>, and we&#8217;re getting a lot of <a href="http://wiki.secondlife.com/wiki/Source_contributions/Pending">code contributions</a> and <a href="http://jira.secondlife.com/browse/VWR">bug reports</a>.</p>
<p>While that gradual approach has been good for our business, it has frustrated many people in our community, and <a href="http://redmonk.com/sogrady/2008/02/20/linux-vs-opensolarisagain-the-qa/">it&#8217;s clear we&#8217;re not the only company in that position</a>.  It&#8217;s really difficult when you have to untangle processes and habits that have formed over years.  Regardless of whether or not those are the best practices, they are the current practices, and the difficulty of process change is often underestimated by those with the best of intentions.  Compound that with the fact that the open source culture is a very email-centric (or at least &#8220;text-centric&#8221;) culture, and <a href="http://xkcd.com/438/">how well that works for actually gaging goodwill</a>, and you have a situation where <a href="http://blogs.zdnet.com/open-source/?p=2596">too many people draw their cluebats too soon</a>.</p>
<p>The success of Firefox shows us why it&#8217;s worthwhile to persevere with corporate-origin open source.  We can kid ourselves and say that that was a fluke, and that the rest of the software we need is going to come from building it all from scratch.  We can read too much into <a href="http://www.catb.org/~esr/writings/cathedral-bazaar/magic-cauldron/ar01s03.html">Eric Raymond&#8217;s statement that 90% of professionally-created software is written by the same companies that use the software</a>, and not for resale.  Raymond&#8217;s 90% is the long tail, and that general purpose software is still largely written for resale, and most often, isn&#8217;t open (yet).   </p>
<p>We&#8217;ve got an uphill battle to fight to get companies writing proprietary software to instead direct those resources to writing free software.  <a href="http://saviorodrigues.wordpress.com/2007/06/04/one-point-eight-percent/">Savio Rodriguez points out</a>:</p>
<blockquote><p><em>IDC estimates OSS software revenue growing from $1.8B in 2006 to $5.8B in 2011. [...] Now take that $5.8B as a percentage of the IDC estimated total software market and you get a grand total of 1.8%. [...]  This is the future; 1.8% won’t convince vendors to abandon the business model driving the other 98.2% of market spending on software. [..] It’s completely possible that IDC estimates will be proven wildly wrong. Maybe the actual number will be 4.9% <code> <img src='http://blog.robla.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </code></em></p></blockquote>
<p>The point I&#8217;m making here is that there&#8217;s going to be a lot of vendors chasing the (projected) 95-98% of the software market associated with proprietary software.  That&#8217;s where the investment is going to be for the foreseeable future.  I have a hard time believing that all of that software is junk that we shouldn&#8217;t need to care about.  Let&#8217;s take the best case scenario and say there&#8217;s a sea change coming.  That means there&#8217;s going to be a lot of formerly proprietary software (and associated software professionals) that we&#8217;re going to need to get better at ushering into the broader community.  It&#8217;s not merely about teaching those companies &#8220;how things are done&#8221;, but probably changing those norms <a href="http://lwn.net/Articles/251781/">in obvious</a> and not-so-obvious ways.</p>
<p>We have a hard problem to solve, but I think it&#8217;s worth solving.  I&#8217;m anxious to have <a href="http://gordonfindlay.wordpress.com/software-that-doesnt-suck/">much more software that doesn&#8217;t suck</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.robla.net/2008/hard-problem/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
