<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">On 03/02/13 13:14, Michael Gliwinski
      wrote:<br>
    </div>
    <blockquote cite="mid:1416902.FoRh5zY5yp@hgis96" type="cite">
      <pre wrap="">Hi all,</pre>
    </blockquote>
    <br>
    Hi Michael,<br>
    <br>
    <blockquote cite="mid:1416902.FoRh5zY5yp@hgis96" type="cite">
      <pre wrap="">Just a quick question about the process for adding features to a technique.  
How do you decide if a new version (major/minor) of a technique should be 
created for a feature?</pre>
    </blockquote>
    <br>
    This is currently a bit of blurred definition. Until now, we have
    always said that bug fixes in Techniques should be applied to all
    versions, with no version increment (ie, if a bug is in version 1.1,
    we fix it in 1.1, without incrementing it). This is not a great
    approach IMO, since versioned software/code/whatever should never
    change. The reason we did it this way was to make sure that Rudder
    users got bug fixes as soon as they are available.<br>
    <br>
    In the future, I would like to move to a clearer versioning policy.
    This remains to be discussed, and hopefully this email can be a
    start to the discussion, but here's what I was thinking:<br>
    <ul>
      <li>Minor version increments should be for bug fixes (ie, in the
        example above, a bug in 1.1 would be fixed in 1.2)</li>
      <li>New features would require a major version increment. So, a
        new feature in a Technique in version 1.1 would be implemented
        in 2.0.</li>
      <li>By default, Rudder would automatically use the latest minor
        version given a major version. So if I'm using a Technique in
        version 1.*, currently 1.1, and 1.2 is available, Directives are
        automatically upgraded to 1.2.</li>
      <ul>
        <li>This behaviour should be disable-able on a per Directive
          basis, and on a global basis, to enable "freezes" such as
          exist in many companies.<br>
        </li>
        <li>This also means that minor versions could not introduce new
          variables (or change constraints on existing variables).<br>
        </li>
      </ul>
    </ul>
    What do you think about this versioning policy, everyone?<br>
    <br>
    <blockquote cite="mid:1416902.FoRh5zY5yp@hgis96" type="cite">
      <pre wrap="">I've a small addition to fileManagement, to allow maintaining local copies of 
files (needed that in some cases where dropping a symlink wouldn't work for 
security reasons, e.g. cron.d files).

So far I patched version 1.0 which works OK for me, but I wanted to submit it 
:)
</pre>
    </blockquote>
    <br>
    Sounds great! I must buy you a beer ;-)<br>
    <br>
    So for this particular case, I would suggest submitting a new major
    version, because this is quite a significant improvement, and would
    fit with this new versioning policy if we adopt it. To submit, the
    preffered approach is to use a GitHub Pull Request.<br>
    <br>
    Jonathan<br>
    <div class="moz-signature">-- <br>
      <meta content="text/html; charset=ISO-8859-1"
        http-equiv="Content-Type">
      <style type="text/css">
<!--
   a.redlink:link { color: #962322; }
   a.redlink:visited { color: #962322; }
  .sig { font-family: sans-serif; font-size: small; }
  .sigsmall { font-family: sans-serif; font-size: x-small; }
-->
</style>
      <table border="0" cellpadding="0" cellspacing="2" width="380">
        <tbody>
          <tr>
            <td colspan="2">
              <hr></td>
          </tr>
          <tr>
            <td colspan="2"><b><img alt=""
                  src="cid:part1.04020006.01010205@normation.com"
                  align="left" height="50" hspace="10" width="50">
                <span class="sig">Jonathan CLARKE</span></b><br>
              <span class="sig"><i>CTO - Directeur technique</i></span><br>
              <span class="sig"><a class="redlink"
                  href="http://www.normation.com">Normation</a></span> </td>
          </tr>
          <tr>
            <td colspan="2">
              <hr></td>
          </tr>
          <tr>
            <td colspan="2"><span class="sigsmall"><b>87 rue de Turbigo,
                  75003 Paris, France</b></span></td>
          </tr>
          <tr>
            <td><span class="sigsmall">Telephone:</span></td>
            <td><span class="sigsmall">+33 (0)1 83 62 41 24</span></td>
          </tr>
          <tr>
            <td><span class="sigsmall">Mobile:</span></td>
            <td><span class="sigsmall">+33 (0)6 99 60 03 10</span></td>
          </tr>
          <tr>
            <td colspan="2">
              <hr></td>
          </tr>
        </tbody>
      </table>
    </div>
  </body>
</html>