<div>

  <div></div>

  <table style="margin-bottom:25px;" cellspacing="0" cellpadding="0" border="0">
  <tbody>
    <tr>
      <td>
        <table cellspacing="0" cellpadding="0" border="0">
          <tr>
            <td style="vertical-align:top;width:55px;">
              <img src="https://cdn-standard.discourse.org/user_avatar/discourse.ros.org/jrivero/45/239_1.png" title="jrivero" width="45" height="45">
            </td>
            <td>
              <a href="http://discourse.ros.org/users/jrivero" target="_blank" style="text-decoration: none; font-weight: bold; color: #006699;; font-size:13px;font-family:'lucida grande',tahoma,verdana,arial,sans-serif;color:#3b5998;text-decoration:none;font-weight:bold">jrivero</a>
              <br>
              <span style="text-align:right;color:#999999;padding-right:5px;font-family:'lucida grande',tahoma,verdana,arial,sans-serif;font-size:11px">November 2</span>
            </td>
          </tr>
        </table>
      </td>
    </tr>
    <tr>
      <td style="padding-top:5px;" colspan="2">
<p style="margin-top:0; border: 0;">Some of my ideas: try to define "virtual types of distributions" that match stability vs new features. We could consider an "stable release" and "development release" and how these concepts fit into the ROS releases:</p>

<ul style="margin: 0 0 0 10px; padding: 0 0 0 20px;">
<li style="padding-bottom: 10px">
<strong>stable release:</strong> most of the users, any disruptive change should not be permitted only important bug fixes to be committed.</li>
<li style="padding-bottom: 10px">
<strong>development release:</strong> brave users expecting fast new features and able to adapt quickly to changes.</li>
</ul>

<p style="margin-top:0; border: 0;">At this moment I would say that <code style="background-color: #f1f1ff; padding: 2px 5px;">Indigo</code> would fit perfectly in what we consider a stable release. I'm not so sure about <code style="background-color: #f1f1ff; padding: 2px 5px;">Jade</code>. Probably <code style="background-color: #f1f1ff; padding: 2px 5px;">Kinetic</code> can fit well into what we can consider a development release. Obviously the upcoming <code style="background-color: #f1f1ff; padding: 2px 5px;">Lunar</code> falls into this category.</p>

<p style="margin-top:0; border: 0;">Reviewing the types of changes that I listed in my first post:</p>

<ul style="margin: 0 0 0 10px; padding: 0 0 0 20px;">
<li style="padding-bottom: 10px"><p style="margin-top:0; border: 0;"><strong>Bugs</strong>: if they fix things clearly broken, stable and development.</p></li>
<li style="padding-bottom: 10px"><p style="margin-top:0; border: 0;"><strong>Changes to the API</strong>: clearly unacceptable for stable. If we consider <code style="background-color: #f1f1ff; padding: 2px 5px;">Kinetic</code> as a development release they probably are acceptable although they are have a large impact.  </p></li>
<li style="padding-bottom: 10px"><p style="margin-top:0; border: 0;"><strong>Changes to the ABI</strong>: given the position of ROS in this topic, they should not represent a problem except for people relying on mixing packages and catkin builds. I would probably exclude stable of this.</p></li>
<li style="padding-bottom: 10px"><p style="margin-top:0; border: 0;"><strong>Changes that affect rostopic/roslaunch/rosparams/.. names or arguments</strong>: in most the cases the impact could be really important, even worse than modifying the API since problems could not be directly visible.</p></li>
<li style="padding-bottom: 10px"><p style="margin-top:0; border: 0;"><strong>Changes that affect behaviour (some of them are bug fixes)</strong>: this category or group is difficult to manage. Take <a href="https://github.com/ros-simulation/gazebo_ros_pkgs/pull/397" rel="nofollow" style="text-decoration: none; font-weight: bold; color: #006699;">this PR</a> as a good example of how a clear bug fix needs to be handle with care. I would say that have a case by case analysis and decision is a good way but by default anything touching a behaviour in an stable release (even if clearly fix it in the right way) should not be accepted. </p></li>
</ul>

<p style="margin-top:0; border: 0;">There are other models if we define other "virtual types" of distributions (for example having <code style="background-color: #f1f1ff; padding: 2px 5px;">Jade</code> as a <strong>testing release</strong> before changes landed into <code style="background-color: #f1f1ff; padding: 2px 5px;">Indigo</code>) but I would like to keep the whole thing somehow simple.</p>
</td>
    </tr>
  </tbody>
</table>






  <div style="color:#666;">
<hr style="background-color: #ddd; height: 1px; border: 1px;; background-color: #ddd; height: 1px; border: 1px;">

<p><a href="http://discourse.ros.org/t/maintainer-best-practices-handling-changes-through-ros-releases/771/2" style="text-decoration: none; font-weight: bold; color: #006699;; background-color: #006699; color:#ffffff; border-top: 4px solid #006699; border-right: 6px solid #006699; border-bottom: 4px solid #006699; border-left: 6px solid #006699; display: inline-block;">Visit Topic</a> or reply to this email to respond.</p>
</div>
  <div style="color:#666;"><p>To unsubscribe from these emails, <a href="http://discourse.ros.org/email/unsubscribe/e38c24220570c6523dcce4dbceb34d266108dd4a37375c90746b4e14cd325778" style="text-decoration: none; font-weight: bold; color: #006699;; color:#666;">click here</a>.</p></div>

</div>

<div itemscope itemtype="http://schema.org/EmailMessage" style="display:none">
  <div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
    <link itemprop="url" href="http://discourse.ros.org/t/maintainer-best-practices-handling-changes-through-ros-releases/771/2">
    <meta itemprop="name" content="Read full topic">
  </div>
</div>