<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" id="owaParaStyle"></style>
</head>
<body fpstyle="1" ocsi="0">
<div style="direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;">From: Todd Willey [todd@ansolabs.com]<br>
<i>> I, too, appreciate people taking their time to write blueprints. I<br>
also appreciate people who take time to write code, even if it doesn't<br>
come with a blueprint. People who take their creative energy to<br>
contribute to something I love earn enough favor that my default state<br>
is to try and accept their contribution without imposing additional<br>
barriers to entry. Maybe a patch comes in that it isn't reasonable to<br>
merge, but we never know unless we actually look at it with the<br>
mindset of trying to accept it. I still expect that people give<br>
blueprint-level details in merge proposals so that we can follow the<br>
code with an understanding of what you're trying to accomplish,<br>
otherwise we'd do right to mark it "Needs Information" and get the<br>
clarity we need.</i><br>
<br>
Todd brings up an interesting point here. <br>
<br>
I think of a blueprint as requirements gathering vs design. Code without
<div>agreed-upon requirements has the risk of solving the wrong problems.</div>
<div>It doesn't have to be a tome ... notes are fine.<br>
<br>
The example I can cite is directapi/authn/authz. While having the code is </div>
<div>a great discussion point, the spec and notes don't really give enough to explain:<br>
* the use cases (happy day and exceptions)<br>
* the actors involved<br>
* the cons (lots of pro's given)<br>
<br>
Having a blueprint to go with it would have given us time to think </div>
<div>about the problem while the code was being put together. </div>
<div><br>
Now, I have a body of code to look at, but now I need to understand </div>
<div>the gotcha's of adopting it. The How's and the Why's. A blueprint would </div>
<div>make this much easier. <br>
<br>
Secondly, while I'm a strong advocate of code over talk I think there is </div>
<div>an unwritten assumption that, simply because there is code, it deserves </div>
<div>merge into the code stream. If code takes the place of a blueprint, it </div>
<div>should get the same weight as a blueprint. That is, it may get rejected </div>
<div>outright or alternative designs recommended to the point the code is a </div>
<div>throwaway. <br>
<br>
$0.02<br>
<br>
-S<br>
<br>
PS> And don't get me wrong, directapi/authn/z are all impressive </div>
<div>branches, completely worthy of our full attention.<br>
<br>
</div>
</div>
<style type="text/css">embed[type*="application/x-shockwave-flash"],embed[src*=".swf"],object[type*="application/x-shockwave-flash"],object[codetype*="application/x-shockwave-flash"],object[src*=".swf"],object[codebase*="swflash.cab"],object[classid*="D27CDB6E-AE6D-11cf-96B8-444553540000"],object[classid*="d27cdb6e-ae6d-11cf-96b8-444553540000"],object[classid*="D27CDB6E-AE6D-11cf-96B8-444553540000"]{   display: none !important;}</style><style type="text/css">embed[type*="application/x-shockwave-flash"],embed[src*=".swf"],object[type*="application/x-shockwave-flash"],object[codetype*="application/x-shockwave-flash"],object[src*=".swf"],object[codebase*="swflash.cab"],object[classid*="D27CDB6E-AE6D-11cf-96B8-444553540000"],object[classid*="d27cdb6e-ae6d-11cf-96b8-444553540000"],object[classid*="D27CDB6E-AE6D-11cf-96B8-444553540000"]{   display: none !important;}</style>
<PRE>
Confidentiality Notice: This e-mail message (including any attached or
embedded documents) is intended for the exclusive and confidential use of the
individual or entity to which this message is addressed, and unless otherwise
expressly indicated, is confidential and privileged information of Rackspace. 
Any dissemination, distribution or copying of the enclosed material is prohibited.
If you receive this transmission in error, please notify us immediately by e-mail
at abuse@rackspace.com, and delete the original message. 
Your cooperation is appreciated.
</PRE></body>
</html>