<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page Section1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.Section1
        {page:Section1;}
 /* List Definitions */
 @list l0
        {mso-list-id:250352694;
        mso-list-template-ids:1017823870;}
@list l0:level1
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:36.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l1
        {mso-list-id:416678239;
        mso-list-template-ids:1967697396;}
@list l1:level1
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:36.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l2
        {mso-list-id:847252786;
        mso-list-template-ids:-151988764;}
@list l2:level1
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:36.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l3
        {mso-list-id:1796022812;
        mso-list-template-ids:-1546732700;}
@list l3:level1
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:36.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l3:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:72.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:"Courier New";
        mso-bidi-font-family:"Times New Roman";}
@list l4
        {mso-list-id:1812137442;
        mso-list-template-ids:-561327420;}
@list l4:level1
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:36.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
ol
        {margin-bottom:0cm;}
ul
        {margin-bottom:0cm;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=EN-US link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal>Hi,<o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span style='font-family:"Arial","sans-serif";color:black'>I’m
working in an approach model the impact of the acceptance of the new
contributor terms on the data.  I wanted to kick this around the dev list
and see what people thought of the approach as I get it going…</span><span
style='font-size:12.0pt;font-family:"Times New Roman","serif"'><br>
<br>
<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman","serif"'>ASSUMPTIONS:<br>
</span><span style='font-family:"Arial","sans-serif";color:black'>It should be
noted to start with, that edits by bots do not require the acceptance of the
terms and conditions to be kept in the database.   Nor do large batch
loads of data from a specific PD source such as the Tiger data.</span><span
style='font-size:12.0pt;font-family:"Times New Roman","serif"'><br>
<br>
</span><span style='font-family:"Arial","sans-serif";color:black'>These sets of
data will need to be taken out of the analysis if they are connected to
contributors who have not accepted the new terms and conditions.</span><span
style='font-size:12.0pt;font-family:"Times New Roman","serif"'><br>
<br>
</span><span style='font-family:"Arial","sans-serif";color:black'>Any editor
can be classified as:</span><span style='font-size:12.0pt;font-family:"Times New Roman","serif"'><o:p></o:p></span></p>

<ul type=disc>
 <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:
     auto;mso-list:l4 level1 lfo1;vertical-align:baseline'><span
     style='font-family:"Arial","sans-serif"'>Accepting the terms and
     conditions            <o:p></o:p></span></li>
 <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:
     auto;mso-list:l4 level1 lfo1;vertical-align:baseline'><span
     style='font-family:"Arial","sans-serif"'>Not having answered yet<o:p></o:p></span></li>
 <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:
     auto;mso-list:l4 level1 lfo1;vertical-align:baseline'><span
     style='font-family:"Arial","sans-serif"'>Refusing the new terms and
     conditions<o:p></o:p></span></li>
</ul>

<p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman","serif"'><br>
<br>
</span><span style='font-family:"Arial","sans-serif";color:black'>Database objects
have two main sets of properties:</span><span style='font-size:12.0pt;
font-family:"Times New Roman","serif"'><o:p></o:p></span></p>

<ul type=disc>
 <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:
     auto;mso-list:l1 level1 lfo2;vertical-align:baseline'><span
     style='font-family:"Arial","sans-serif"'>Geometry: For points this is the lat/long,
     for ways this is the set of nodes, for polygons this is the set of nodes
     and for relations this is the member sets.<o:p></o:p></span></li>
 <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:
     auto;mso-list:l1 level1 lfo2;vertical-align:baseline'><span
     style='font-family:"Arial","sans-serif"'>Attributes (tags)<o:p></o:p></span></li>
</ul>

<p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman","serif"'><br>
<br>
</span><span style='font-family:"Arial","sans-serif";color:black'>Objects also
have history and each historical change is linked to a user.  Each
historical change can impact either the geometry, the attributes or both.</span><span
style='font-size:12.0pt;font-family:"Times New Roman","serif"'><br>
<br>
</span><span style='font-family:"Arial","sans-serif";color:black'>If an editor
has refused the terms and conditions (and they are not a bot/batch load as
defined above), we need to take the change sets they have done and remove the
impact of these sets from the data.  This means:</span><span
style='font-size:12.0pt;font-family:"Times New Roman","serif"'><o:p></o:p></span></p>

<ul type=disc>
 <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:
     auto;mso-list:l3 level1 lfo3;vertical-align:baseline'><span
     style='font-family:"Arial","sans-serif"'>Where geometries have changed:<o:p></o:p></span></li>
 <ul type=circle>
  <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:
      auto;mso-list:l3 level2 lfo3;vertical-align:baseline'><span
      style='font-family:"Arial","sans-serif"'>If the object has a prior
      version, take the prior version of the geometry and then apply subsequent
      geometry edits past theirs<o:p></o:p></span></li>
  <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:
      auto;mso-list:l3 level2 lfo3;vertical-align:baseline'><span
      style='font-family:"Arial","sans-serif"'>If the object does not have a
      prior version, then it is probably lost to the db along with its tags.<o:p></o:p></span></li>
 </ul>
 <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:
     auto;mso-list:l3 level1 lfo3;vertical-align:baseline'><span
     style='font-family:"Arial","sans-serif"'>Where attributes have changed:<o:p></o:p></span></li>
 <ul type=circle>
  <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:
      auto;mso-list:l3 level2 lfo3;vertical-align:baseline'><span
      style='font-family:"Arial","sans-serif"'>If the specific tag deleted or
      changed existed in a prior version, roll back that tag to the latest
      prior version (which could mean re-adding deleted tags) and then roll
      forward subsequent edits to that tag.  Other tags should be
      unaffected.<o:p></o:p></span></li>
  <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:
      auto;mso-list:l3 level2 lfo3;vertical-align:baseline'><span
      style='font-family:"Arial","sans-serif"'>If the tag was added in this
      edit, then it is probably lost to the db<o:p></o:p></span></li>
 </ul>
</ul>

<p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman","serif"'><br>
<br>
</span><span style='font-family:"Arial","sans-serif";color:black'>This approach
seems reasonable and is what I am starting to model, of course the actual
detail of the processing of edits by any editors who do not sign up for the new
terms and conditions needs to be determined by the LWG.   I am happy
to help with the implementation of the final logic however.</span><span
style='font-size:12.0pt;font-family:"Times New Roman","serif"'><br>
<br>
</span><span style='font-family:"Arial","sans-serif";color:black'>PROCESS FOR
ANALYSIS:</span><span style='font-size:12.0pt;font-family:"Times New Roman","serif"'><br>
</span><span style='font-family:"Arial","sans-serif";color:black'>Using the
history file from 2010-08-02, with periodic diff files added over time, and a
feed of the userids of those who have accepted the new terms and conditions
(also updated over time) I plan to model and report on the impact on a regular
basis.</span><span style='font-size:12.0pt;font-family:"Times New Roman","serif"'><br>
<br>
</span><span style='font-family:"Arial","sans-serif";color:black'>The report
would be along the lines of a table with one row for each of:</span><span
style='font-size:12.0pt;font-family:"Times New Roman","serif"'><o:p></o:p></span></p>

<ul type=disc>
 <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:
     auto;mso-list:l2 level1 lfo4;vertical-align:baseline'><span
     style='font-family:"Arial","sans-serif"'>Points<o:p></o:p></span></li>
 <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:
     auto;mso-list:l2 level1 lfo4;vertical-align:baseline'><span
     style='font-family:"Arial","sans-serif"'>Ways/Polygons<o:p></o:p></span></li>
 <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:
     auto;mso-list:l2 level1 lfo4;vertical-align:baseline'><span
     style='font-family:"Arial","sans-serif"'>Relations<o:p></o:p></span></li>
</ul>

<p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman","serif"'><br>
<br>
</span><span style='font-family:"Arial","sans-serif";color:black'>and for each
row/object type show:</span><span style='font-size:12.0pt;font-family:"Times New Roman","serif"'><o:p></o:p></span></p>

<ul type=disc>
 <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:
     auto;mso-list:l0 level1 lfo5;vertical-align:baseline'><span
     style='font-family:"Arial","sans-serif"'># objects in db as of last update<o:p></o:p></span></li>
 <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:
     auto;mso-list:l0 level1 lfo5;vertical-align:baseline'><span
     style='font-family:"Arial","sans-serif"'># tags in db as of last update<o:p></o:p></span></li>
 <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:
     auto;mso-list:l0 level1 lfo5;vertical-align:baseline'><span
     style='font-family:"Arial","sans-serif"'># objects totally clean (all
     editors in the history have accepted)<o:p></o:p></span></li>
 <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:
     auto;mso-list:l0 level1 lfo5;vertical-align:baseline'><span
     style='font-family:"Arial","sans-serif"'># objects initial editor accepted
     <o:p></o:p></span></li>
 <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:
     auto;mso-list:l0 level1 lfo5;vertical-align:baseline'><span
     style='font-family:"Arial","sans-serif"'># objects clean so far (no
     editors have refused)<o:p></o:p></span></li>
 <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:
     auto;mso-list:l0 level1 lfo5;vertical-align:baseline'><span
     style='font-family:"Arial","sans-serif"'># objects initial editor refused
     (entire object may be lost)<o:p></o:p></span></li>
 <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:
     auto;mso-list:l0 level1 lfo5;vertical-align:baseline'><span
     style='font-family:"Arial","sans-serif"'># objects with partial data loss
     (one or more editors have refused, but not the first one)<o:p></o:p></span></li>
 <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:
     auto;mso-list:l0 level1 lfo5;vertical-align:baseline'><span
     style='font-family:"Arial","sans-serif"'># tags totally clean (all editors
     in the history have accepted)<o:p></o:p></span></li>
 <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:
     auto;mso-list:l0 level1 lfo5;vertical-align:baseline'><span
     style='font-family:"Arial","sans-serif"'># tags initial editor accepted <o:p></o:p></span></li>
 <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:
     auto;mso-list:l0 level1 lfo5;vertical-align:baseline'><span
     style='font-family:"Arial","sans-serif"'># tags clean so far (no editors
     have refused)<o:p></o:p></span></li>
 <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:
     auto;mso-list:l0 level1 lfo5;vertical-align:baseline'><span
     style='font-family:"Arial","sans-serif"'># tags initial editor refused
     (entire tag series may be lost)<o:p></o:p></span></li>
 <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:
     auto;mso-list:l0 level1 lfo5;vertical-align:baseline'><span
     style='font-family:"Arial","sans-serif"'># tags with partial data loss
     (one or more editors have refused, but not the first one)<o:p></o:p></span></li>
</ul>

<p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman","serif"'>As
this goes further along, we can look at what types of data are at risk and
break the object out into countries…  Only as needed of course.<br>
<br>
</span><span style='font-family:"Arial","sans-serif";color:black'>This will
take some significant work and processing power, so i want to be sure that the
methods and metrics are of use to the community and reflect our intent as a
community.  Hence posting it here in Dev...<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-family:"Arial","sans-serif";color:black'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='font-family:"Arial","sans-serif";color:black'>Looking
forward to some constructive feedback.</span><o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif"'>Best
Regards,</span><span style='font-size:12.0pt;font-family:"Times New Roman","serif"'><o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman","serif"'> <o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif"'>Jim</span><span
style='font-size:12.0pt;font-family:"Times New Roman","serif"'><o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman","serif"'> <o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif"'>Jim
Brown - CTO CloudMade</span><span style='font-size:12.0pt;font-family:"Times New Roman","serif"'><o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif"'>email:  
<a href="mailto:jim@cloudmade.com"><span style='color:blue'>jim@cloudmade.com</span></a></span><span
style='font-size:12.0pt;font-family:"Times New Roman","serif"'><o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif"'>skype: 
jamesbrown_uk</span><span style='font-size:12.0pt;font-family:"Times New Roman","serif"'><o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman","serif"'> </span><o:p></o:p></p>

</div>

</body>

</html>