<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
	>
<channel>
	<title>Comments on: On Open Source Software, Itches, and Documentation</title>
	<atom:link href="http://unhandled-exceptions.com/blog/index.php/2009/08/01/on-open-source-software-itches-and-documentation/feed/" rel="self" type="application/rss+xml" />
	<link>http://unhandled-exceptions.com/blog/index.php/2009/08/01/on-open-source-software-itches-and-documentation/</link>
	<description>Miscellaneous musings on life, .NET development, and related things that don't really matter</description>
	<pubDate>Thu, 17 May 2012 21:48:40 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: sbohlen</title>
		<link>http://unhandled-exceptions.com/blog/index.php/2009/08/01/on-open-source-software-itches-and-documentation/comment-page-1/#comment-20000</link>
		<dc:creator>sbohlen</dc:creator>
		<pubDate>Thu, 20 Aug 2009 09:52:31 +0000</pubDate>
		<guid isPermaLink="false">http://unhandled-exceptions.com/blog/index.php/2009/08/01/on-open-source-software-itches-and-documentation/#comment-20000</guid>
		<description>@Alwin:

That's certainly possible, but I would guess that it would be possible for a projects' contributor teams to review documentation submissions just the same way they presently review code patches submitted.

As an (obvious) example, even when a project has a requirement that all patches be submitted with accompanying tests (and even set a high minimum coverage % for those tests), just because a patch meets this standard 'on paper' doesn't thus mean the patch is accepted if/when the quality of the tests (or the patch, of course!) is poor.  The project team should be able to make the same quality judgements about documentation submitted too, I would think.  

That said, you bring up an interesting point about the reasonableness of the requirement in the face of unclear standards -- a team would have to demonstrate (probably at first with clear stated standards and then later by saying "new docs have to be as good as existing docs") what is meant by "docs we will accept" for this to have a chance of working else I think you're right that the result would be "minimally-compliant doc submissions" benfiting nobody.

THanks for the feedback~!</description>
		<content:encoded><![CDATA[<p>@Alwin:</p>
<p>That&#8217;s certainly possible, but I would guess that it would be possible for a projects&#8217; contributor teams to review documentation submissions just the same way they presently review code patches submitted.</p>
<p>As an (obvious) example, even when a project has a requirement that all patches be submitted with accompanying tests (and even set a high minimum coverage % for those tests), just because a patch meets this standard &#8216;on paper&#8217; doesn&#8217;t thus mean the patch is accepted if/when the quality of the tests (or the patch, of course!) is poor.  The project team should be able to make the same quality judgements about documentation submitted too, I would think.  </p>
<p>That said, you bring up an interesting point about the reasonableness of the requirement in the face of unclear standards &#8212; a team would have to demonstrate (probably at first with clear stated standards and then later by saying &#8220;new docs have to be as good as existing docs&#8221;) what is meant by &#8220;docs we will accept&#8221; for this to have a chance of working else I think you&#8217;re right that the result would be &#8220;minimally-compliant doc submissions&#8221; benfiting nobody.</p>
<p>THanks for the feedback~!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: alwin</title>
		<link>http://unhandled-exceptions.com/blog/index.php/2009/08/01/on-open-source-software-itches-and-documentation/comment-page-1/#comment-19995</link>
		<dc:creator>alwin</dc:creator>
		<pubDate>Thu, 20 Aug 2009 02:39:32 +0000</pubDate>
		<guid isPermaLink="false">http://unhandled-exceptions.com/blog/index.php/2009/08/01/on-open-source-software-itches-and-documentation/#comment-19995</guid>
		<description>If you require docs for new features or patches, when is that doc good enough?

Just a quickstart, or MSDN style? Something in between? When is the documentation provided of good enough quality to be accepted? Opinions on this vary between contributors and between patch reviewers.

I'm afraid that if you require documentation, that you just get awful unusable documentation.</description>
		<content:encoded><![CDATA[<p>If you require docs for new features or patches, when is that doc good enough?</p>
<p>Just a quickstart, or MSDN style? Something in between? When is the documentation provided of good enough quality to be accepted? Opinions on this vary between contributors and between patch reviewers.</p>
<p>I&#8217;m afraid that if you require documentation, that you just get awful unusable documentation.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: &#187; Unhandled Exceptions » Blog Archive » On Open Source Software &#8230; &#187; Free Software</title>
		<link>http://unhandled-exceptions.com/blog/index.php/2009/08/01/on-open-source-software-itches-and-documentation/comment-page-1/#comment-19268</link>
		<dc:creator>&#187; Unhandled Exceptions » Blog Archive » On Open Source Software &#8230; &#187; Free Software</dc:creator>
		<pubDate>Wed, 05 Aug 2009 03:09:45 +0000</pubDate>
		<guid isPermaLink="false">http://unhandled-exceptions.com/blog/index.php/2009/08/01/on-open-source-software-itches-and-documentation/#comment-19268</guid>
		<description>[...] news by sbohlen            Firefox 3 Hug Day (for Ubuntu) [...]</description>
		<content:encoded><![CDATA[<p>[...] news by sbohlen            Firefox 3 Hug Day (for Ubuntu) [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Arjan&#8217;s World &#187; LINKBLOG for August 3, 2009</title>
		<link>http://unhandled-exceptions.com/blog/index.php/2009/08/01/on-open-source-software-itches-and-documentation/comment-page-1/#comment-19213</link>
		<dc:creator>Arjan&#8217;s World &#187; LINKBLOG for August 3, 2009</dc:creator>
		<pubDate>Mon, 03 Aug 2009 19:48:57 +0000</pubDate>
		<guid isPermaLink="false">http://unhandled-exceptions.com/blog/index.php/2009/08/01/on-open-source-software-itches-and-documentation/#comment-19213</guid>
		<description>[...] On Open Source Software, Itches, and Documentation - Steve Bohlen [...]</description>
		<content:encoded><![CDATA[<p>[...] On Open Source Software, Itches, and Documentation - Steve Bohlen [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: sbohlen</title>
		<link>http://unhandled-exceptions.com/blog/index.php/2009/08/01/on-open-source-software-itches-and-documentation/comment-page-1/#comment-19160</link>
		<dc:creator>sbohlen</dc:creator>
		<pubDate>Sun, 02 Aug 2009 12:09:00 +0000</pubDate>
		<guid isPermaLink="false">http://unhandled-exceptions.com/blog/index.php/2009/08/01/on-open-source-software-itches-and-documentation/#comment-19160</guid>
		<description>@Scott:

Intersesting comment (as always!) but I'm not sure I entirely agree with your estimation that code-usability (I am assuming you mean more code-learnability...?) is a factor that's due quite the primacy you assign to it.  Certanly there are different coding 'styles' and 'approaches'.  Certainly there are better and worse projects from a code-learnability/approachability standpoint (which in turn does obviously play a part in contributor-friction).

But I'm not sure that its possible to conclude that there is a vast untapped collection of potential OSS contributors just itching to volunteer their spare time/effort/energy if only they could find an OSS project whose codebase they could understand adequately.

I think that in any endeavor driven by volunteerism (and certainly OSS projects without any tie to commercial ventures like 99.9999% of OSS projects aren't any different in this regard), the ratio of volunteers to people interested in benefiting from the efforts of volunteers is always very low.  While code-approachability might help mitigate that ratio somewhat, I don't think its the primary governor of contributors by any stretch.

Rather, I tend to think that the very reason that most people go looking for an OSS project to *use* is that the project does something for them that they could not do for themselves (usually due to insufficient technical skills and/or inadequate spare time of their own) and so this leads to a situation where the very people who should be most interested in contributing something back to the OSS projects they use are either technically unable or too time-starved to do so in any significant way.

Admittedly only anecdotally, my experience is that when someone raises an issue and is met with "great idea, we're accepting patches" from the OSS project team, invariably the responses are more along the lines of "I would have no idea how to do that, I'm just a user of project XYZ", "I'd love to do that, maybe in 6 months when I get a break from my daily responsibilities", and other similar replies.  Rarely if ever has anyone responded with "I tried the other night, but couldn't for the life of me figure out where in the codebase to even make this change due to the confusing way the project is designed".

Since I'm not aware of any comprehensive study on this phenomenon ("The Barriers to Patch Submission in OSS Projects" by The Gartner Group :) , etc.), I will have to admit that its obviously entirely possible that this class of potential contributor does exist out there, silently TRYING to write a patch and then deciding for themselves that the code is too unapproachably complex for them to understand and never providing that feedback so OSS contributors could be aware of it, but I also admit I'm skeptical that this is truely the case.

Have you any examples (anecdotally or otherwise) of situations you could share that exemplify this scenario to the degree of primacy you seem to assign to it as a barrier to OSS contributions?

In my own experience, when I have wanted to contribute a patch to an OSS project the code for which I have only passing familiarity, the OSS project's team (usually via forums or otherwise) has always been quite helpful about guiding my efforts as I navigate an unfamiliar (and often sizable) codebase.

-Steve B.</description>
		<content:encoded><![CDATA[<p>@Scott:</p>
<p>Intersesting comment (as always!) but I&#8217;m not sure I entirely agree with your estimation that code-usability (I am assuming you mean more code-learnability&#8230;?) is a factor that&#8217;s due quite the primacy you assign to it.  Certanly there are different coding &#8217;styles&#8217; and &#8216;approaches&#8217;.  Certainly there are better and worse projects from a code-learnability/approachability standpoint (which in turn does obviously play a part in contributor-friction).</p>
<p>But I&#8217;m not sure that its possible to conclude that there is a vast untapped collection of potential OSS contributors just itching to volunteer their spare time/effort/energy if only they could find an OSS project whose codebase they could understand adequately.</p>
<p>I think that in any endeavor driven by volunteerism (and certainly OSS projects without any tie to commercial ventures like 99.9999% of OSS projects aren&#8217;t any different in this regard), the ratio of volunteers to people interested in benefiting from the efforts of volunteers is always very low.  While code-approachability might help mitigate that ratio somewhat, I don&#8217;t think its the primary governor of contributors by any stretch.</p>
<p>Rather, I tend to think that the very reason that most people go looking for an OSS project to *use* is that the project does something for them that they could not do for themselves (usually due to insufficient technical skills and/or inadequate spare time of their own) and so this leads to a situation where the very people who should be most interested in contributing something back to the OSS projects they use are either technically unable or too time-starved to do so in any significant way.</p>
<p>Admittedly only anecdotally, my experience is that when someone raises an issue and is met with &#8220;great idea, we&#8217;re accepting patches&#8221; from the OSS project team, invariably the responses are more along the lines of &#8220;I would have no idea how to do that, I&#8217;m just a user of project XYZ&#8221;, &#8220;I&#8217;d love to do that, maybe in 6 months when I get a break from my daily responsibilities&#8221;, and other similar replies.  Rarely if ever has anyone responded with &#8220;I tried the other night, but couldn&#8217;t for the life of me figure out where in the codebase to even make this change due to the confusing way the project is designed&#8221;.</p>
<p>Since I&#8217;m not aware of any comprehensive study on this phenomenon (&#8221;The Barriers to Patch Submission in OSS Projects&#8221; by The Gartner Group <img src='http://unhandled-exceptions.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> , etc.), I will have to admit that its obviously entirely possible that this class of potential contributor does exist out there, silently TRYING to write a patch and then deciding for themselves that the code is too unapproachably complex for them to understand and never providing that feedback so OSS contributors could be aware of it, but I also admit I&#8217;m skeptical that this is truely the case.</p>
<p>Have you any examples (anecdotally or otherwise) of situations you could share that exemplify this scenario to the degree of primacy you seem to assign to it as a barrier to OSS contributions?</p>
<p>In my own experience, when I have wanted to contribute a patch to an OSS project the code for which I have only passing familiarity, the OSS project&#8217;s team (usually via forums or otherwise) has always been quite helpful about guiding my efforts as I navigate an unfamiliar (and often sizable) codebase.</p>
<p>-Steve B.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: sbohlen</title>
		<link>http://unhandled-exceptions.com/blog/index.php/2009/08/01/on-open-source-software-itches-and-documentation/comment-page-1/#comment-19158</link>
		<dc:creator>sbohlen</dc:creator>
		<pubDate>Sun, 02 Aug 2009 11:10:33 +0000</pubDate>
		<guid isPermaLink="false">http://unhandled-exceptions.com/blog/index.php/2009/08/01/on-open-source-software-itches-and-documentation/#comment-19158</guid>
		<description>@Fabio:

Yes, I agree that the personas are often blended in read life (e.g., most people don't --thankfully! -- fit neatly into one persona or the other exclusively but are in fact an amalgam of mutliple personas...not multiple personalities, but multiple personas :) )

You yourself, for example, almost certainly fit into that suggested 8th persona ;)

-Steve B.</description>
		<content:encoded><![CDATA[<p>@Fabio:</p>
<p>Yes, I agree that the personas are often blended in read life (e.g., most people don&#8217;t &#8211;thankfully! &#8212; fit neatly into one persona or the other exclusively but are in fact an amalgam of mutliple personas&#8230;not multiple personalities, but multiple personas <img src='http://unhandled-exceptions.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> )</p>
<p>You yourself, for example, almost certainly fit into that suggested 8th persona <img src='http://unhandled-exceptions.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>-Steve B.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Readings &#124; Prajwal Tuladhar's Blog</title>
		<link>http://unhandled-exceptions.com/blog/index.php/2009/08/01/on-open-source-software-itches-and-documentation/comment-page-1/#comment-19153</link>
		<dc:creator>Readings &#124; Prajwal Tuladhar's Blog</dc:creator>
		<pubDate>Sun, 02 Aug 2009 07:11:32 +0000</pubDate>
		<guid isPermaLink="false">http://unhandled-exceptions.com/blog/index.php/2009/08/01/on-open-source-software-itches-and-documentation/#comment-19153</guid>
		<description>[...] Behavior Patterns of Open Source Users in terms of itches and typical state of an OS project [...]</description>
		<content:encoded><![CDATA[<p>[...] Behavior Patterns of Open Source Users in terms of itches and typical state of an OS project [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Fabio Maulo</title>
		<link>http://unhandled-exceptions.com/blog/index.php/2009/08/01/on-open-source-software-itches-and-documentation/comment-page-1/#comment-19148</link>
		<dc:creator>Fabio Maulo</dc:creator>
		<pubDate>Sun, 02 Aug 2009 04:38:38 +0000</pubDate>
		<guid isPermaLink="false">http://unhandled-exceptions.com/blog/index.php/2009/08/01/on-open-source-software-itches-and-documentation/#comment-19148</guid>
		<description>I think that in OSS there are persons typed 1 + 2 + 5 = 8</description>
		<content:encoded><![CDATA[<p>I think that in OSS there are persons typed 1 + 2 + 5 = 8</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Scott Bellware</title>
		<link>http://unhandled-exceptions.com/blog/index.php/2009/08/01/on-open-source-software-itches-and-documentation/comment-page-1/#comment-19147</link>
		<dc:creator>Scott Bellware</dc:creator>
		<pubDate>Sun, 02 Aug 2009 04:14:09 +0000</pubDate>
		<guid isPermaLink="false">http://unhandled-exceptions.com/blog/index.php/2009/08/01/on-open-source-software-itches-and-documentation/#comment-19147</guid>
		<description>Don't expect contributions from programmers who don't write code like open source contributors do.  This oversight is the single, most destructive force in ensuring that the open source contributor population will remain a small fraction of open source users.

Code usability problems ensure that code users will not want to use the code as much as the project.

I find it incredibly disheartening that this issue simply isn't a part of the open source contribution conversation.  Code usability is the elephant in the room that open source contributors simply can't bring themselves to face, just as usability in general is a problem that most programmers can't see into.</description>
		<content:encoded><![CDATA[<p>Don&#8217;t expect contributions from programmers who don&#8217;t write code like open source contributors do.  This oversight is the single, most destructive force in ensuring that the open source contributor population will remain a small fraction of open source users.</p>
<p>Code usability problems ensure that code users will not want to use the code as much as the project.</p>
<p>I find it incredibly disheartening that this issue simply isn&#8217;t a part of the open source contribution conversation.  Code usability is the elephant in the room that open source contributors simply can&#8217;t bring themselves to face, just as usability in general is a problem that most programmers can&#8217;t see into.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: sbohlen</title>
		<link>http://unhandled-exceptions.com/blog/index.php/2009/08/01/on-open-source-software-itches-and-documentation/comment-page-1/#comment-19145</link>
		<dc:creator>sbohlen</dc:creator>
		<pubDate>Sun, 02 Aug 2009 03:57:28 +0000</pubDate>
		<guid isPermaLink="false">http://unhandled-exceptions.com/blog/index.php/2009/08/01/on-open-source-software-itches-and-documentation/#comment-19145</guid>
		<description>@Paul:

That's a really interesting idea (kind of a middle-ground accomodation).  I suppose we could consider a sort of hierarchy of documentation that looks something like this:

1) lowest level: code itself is self-documenting, no need for docs of any kind

2) unit tests are the documentation, no written docs needed but the tests 'explain' how to use the code

3) the 'sample app' you suggest here is the documentation, no written docs needed but the implementation sample app is clear enough to grok what's going on

4) there's actual comprehensive written docs provided

I have to say that I have never found any OSS project of significant size where #1 was true, but that I have 'taught myself' how to use several complex OSS projects using #2.

The one that comes to mind off the top of my head is Ayende's Rhino.Tools 'framework', for which calling the written documentation 'sparse' is an affront to the word 'sparse' :) but by reading the unit tests I was able to deduce usage patterns in the code that permitted me to make effective use of the proejct in my own work.

I think your suggestion of "you have to update some kind of 'reference app' that demonstrates the new feature/patch" is a pretty good alternative to asking people who may not have good documentation-writing skills to write a chapter or two in the manual.

One thing I'm thinking as I write this response now is that my suggesting fails to account for the fact that writing code and writing docs don't just differ in how much most developer WANT to perform each task, but also differ in how much most developers CAN do each task.  By asking for 'documentation in code' we might be acknowledging this and responding to it.

Nice suggestion and thanks for the comment.

-Steve B.</description>
		<content:encoded><![CDATA[<p>@Paul:</p>
<p>That&#8217;s a really interesting idea (kind of a middle-ground accomodation).  I suppose we could consider a sort of hierarchy of documentation that looks something like this:</p>
<p>1) lowest level: code itself is self-documenting, no need for docs of any kind</p>
<p>2) unit tests are the documentation, no written docs needed but the tests &#8216;explain&#8217; how to use the code</p>
<p>3) the &#8217;sample app&#8217; you suggest here is the documentation, no written docs needed but the implementation sample app is clear enough to grok what&#8217;s going on</p>
<p>4) there&#8217;s actual comprehensive written docs provided</p>
<p>I have to say that I have never found any OSS project of significant size where #1 was true, but that I have &#8216;taught myself&#8217; how to use several complex OSS projects using #2.</p>
<p>The one that comes to mind off the top of my head is Ayende&#8217;s Rhino.Tools &#8216;framework&#8217;, for which calling the written documentation &#8217;sparse&#8217; is an affront to the word &#8217;sparse&#8217; <img src='http://unhandled-exceptions.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> but by reading the unit tests I was able to deduce usage patterns in the code that permitted me to make effective use of the proejct in my own work.</p>
<p>I think your suggestion of &#8220;you have to update some kind of &#8216;reference app&#8217; that demonstrates the new feature/patch&#8221; is a pretty good alternative to asking people who may not have good documentation-writing skills to write a chapter or two in the manual.</p>
<p>One thing I&#8217;m thinking as I write this response now is that my suggesting fails to account for the fact that writing code and writing docs don&#8217;t just differ in how much most developer WANT to perform each task, but also differ in how much most developers CAN do each task.  By asking for &#8216;documentation in code&#8217; we might be acknowledging this and responding to it.</p>
<p>Nice suggestion and thanks for the comment.</p>
<p>-Steve B.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

