<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:"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;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        color:black;}
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;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";
        color:black;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        color:black;}
span.EmailStyle18
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;
        color:black;}
span.EmailStyle21
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:1913850084;
        mso-list-type:hybrid;
        mso-list-template-ids:3567974 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level2
        {mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level3
        {mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level4
        {mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level5
        {mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level6
        {mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level7
        {mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level8
        {mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level9
        {mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></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 bgcolor="white" lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="color:#1F497D">Thibault,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Thanks for the feedback.  <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">I agree a status label does not communicate everything, but it does communicate the first bit of information which is what the developer/maintainer thinks the code quality is.  If the developer/maintainer has
 labeled their own code <production quality, then any user would quickly decide not to use it for their production system.  Of course if they have labeled it “production quality”, then the user still has a lot of work to do (as you point out).<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">As for metrics I can tell you after a year and a half of trying to sell ROS the industrial community, these will help.  If for no other reasons, metrics will help potential users weed out the obvious bad packages. 
 A key metric that I haven’t seen anywhere (even in Tully’s example) is unit test coverage.  This will soon be added to the ROS-Industrial Jenkins toolkit and in my opinion is very helpful in understanding the quality of a particular piece of software.  I do
 agree that we should follow the lead of other open source projects, like the ones you reference.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Finally, I would like to point out that we need a solution to at least some of these issues sooner rather than later.  My goal in sending out this email was to gage community interest.  My hope is that we can
 come up with an incremental plan that solves problems sooner rather than later.  I would not support an approach that attempts to create an entire solution up front.  Such a large project would not be easily supported by volunteers and even if it had funding
 would take too long to complete.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<div>
<p class="MsoNormal"><span style="color:#1F497D">Shaun Edwards<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Senior Research Engineer<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Manufacturing System Department<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><a href="http://robotics.swri.org">http://robotics.swri.org</a><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><a href="http://rosindustrial.swri.org/">http://rosindustrial.swri.org/</a><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><a href="http://ros.swri.org/">http://ros.swri.org</a><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><a href="https://groups.google.com/group/swri-ros-pkg-dev/boxsubscribe">Join the ROS-Industrial Developers List</a><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Southwest Research Institute<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">210-522-3277<o:p></o:p></span></p>
</div>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext"> ros-users-bounces@code.ros.org [mailto:ros-users-bounces@code.ros.org]
<b>On Behalf Of </b>Thibault Kruse<br>
<b>Sent:</b> Sunday, September 01, 2013 6:20 AM<br>
<b>To:</b> ros-users@code.ros.org<br>
<b>Subject:</b> Re: [ros-users] Software Status Reporting and Custom Builds<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">Hi,<br>
<br>
I believe it would be helpful to state more clearly in what way any such data would be used, and for what purpose, and by what kind of users.
<br>
<br>
Knowing the true status of a package is a hard problem in general, it is IMO not solvable by simply sticking a label to a package. Any label is only as good and accountable as the governing authority producing those labels, IMO. And deciding whether to trust
 the guy having set the label can be just as hard.<br>
<br>
As a different example, knowing a project is a project of the Apache Foundation tells you a lot because to become a project at Apache, you need to go through an incubation phase, proving that there is a maintainer, a community, and plentiful other of metadata
 to indicate project health.<br>
<br>
Since we do not have that, checking the indicators of package quality remains a lot of hard work. One needs to check the documentation (complete, well-written, up-to-date), the project history, the issue tracker state, the amount of regression tests, which
 company is using a package, and maybe more.<br>
<br>
There cannot be a mere "status" label to replace all that activity to figure out the status of a project, IMO.<br>
<br>
<br>
<br>
Regarding Code quality/testing/metrics:<br>
Again it would be more useful if any person having a specific interest in any such data would speak up for themselves. I believe this kind of data can only ever be valuable for the active maintainers/developers of a package. I cannot imagine any person saying:
 "I was thinking about using package XYZ, but since I could not see the number of compiler warnings/style warnings/complexity measures in the wiki, i decided against investigating further".<br>
<br>
I can believe a person saying: "I'd love to introduce package XYZ to my company, but I struggle with persuading my boss that the quality of such an Open-Source package can be relied upon." But then, simple code metrics would probably not help with that.<br>
<br>
Selling ROS (even for free) to a company is a marketing problem, it is about maintaining a community, a pretty website and advertising, finding reference customers speaking up for the product, and so on.<br>
<br>
<br>
<br>
Instead of imagining a future world with useful metrics, it might help to point at real-world projects in the wild already using metrics, and copy that for ROS if enough people prefer investing time in that than in, say, ROS2.0.
<br>
E.g. compare the list of projects and the stats they offer at <br>
<a href="http://freecode.com/">http://freecode.com/</a><br>
<a href="https://pypi.python.org/pypi">https://pypi.python.org/pypi</a><br>
<a href="https://analysis.apache.org/dashboard/index">https://analysis.apache.org/dashboard/index</a><br>
<br>
<br>
regards,<br>
  Thibault<br>
<br>
 <br>
<br>
<br>
On 31.08.2013 04:39, Edwards, Shaun M. wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal">All,<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">We have received feedback from the users of ROS-Industrial on two issues that I think are important to the larger community.  We have taken preliminary steps to address these issues, but in no way would we consider these the correct or
 permanent solutions.  It is for this reason, I am address the ROS user’s group to solicit feedback and discussion about these two issues:<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l0 level1 lfo2"><![if !supportLists]><span style="mso-list:Ignore">1.<span style="font:7.0pt "Times New Roman"">      
</span></span><![endif]>Stack/Meta-Package/Package Status – Many people have commented that it is hard to know the true status of a package (whether the code is complete or in development).  The existence of a wiki is not an indicator, as several packages in
 ROS (including some of our own) are released early (i.e. agile development).  For this reason we have started identifying the status of a package on our wiki pages (see:
<a href="http://ros.org/wiki/Industrial/Software_Status">http://ros.org/wiki/Industrial/Software_Status</a> ).  Here is an example of a stack/meta-package that has been marked with its current status:
<a href="http://ros.org/wiki/industrial_core">http://ros.org/wiki/industrial_core</a> .  This is only a start to what I think needs to be done, but it solves and urgent need for us and all the developers that are using our software.  I would like to see this
 status or something similar used by the larger community (what to you guys think).<o:p></o:p></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l0 level1 lfo2"><![if !supportLists]><span style="mso-list:Ignore">2.<span style="font:7.0pt "Times New Roman"">      
</span></span><![endif]>Code quality/testing/metrics – Several users have asked for this type of information about our packages.  This is one of the (not the only) reasons we set up a Jenkins server specifically for ROS-Industrial (see
<a href="http://rosindustrial.org/news/2013/8/13/jenkins-system-for-ros-industrial-repositories">
http://rosindustrial.org/news/2013/8/13/jenkins-system-for-ros-industrial-repositories</a> ).  The ROS community already utilizes Jenkins servers for continuous integration and debain builds, but code metrics are missing (even some as simple as how many compiler
 warnings are generated).  We would like to see this kind of data rolled into official ROS Jenkins servers.  Is this a need for those in the large community?<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Thanks for you time,<o:p></o:p></p>
<p class="MsoNormal"> <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="color:#1F497D">Shaun Edwards</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">Senior Research Engineer</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">Manufacturing System Department</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D"><a href="http://robotics.swri.org">http://robotics.swri.org</a></span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D"><a href="http://rosindustrial.swri.org/">http://rosindustrial.swri.org/</a></span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D"><a href="http://ros.swri.org/">http://ros.swri.org</a></span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D"><a href="https://groups.google.com/group/swri-ros-pkg-dev/boxsubscribe">Join the ROS-Industrial Developers List</a></span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">Southwest Research Institute</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">210-522-3277</span><o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Times New Roman","serif""><br>
<br>
<br>
<o:p></o:p></span></p>
<pre>_______________________________________________<o:p></o:p></pre>
<pre>ros-users mailing list<o:p></o:p></pre>
<pre><a href="mailto:ros-users@code.ros.org">ros-users@code.ros.org</a><o:p></o:p></pre>
<pre><a href="http://lists.ros.org/mailman/listinfo/ros-users">http://lists.ros.org/mailman/listinfo/ros-users</a><o:p></o:p></pre>
</blockquote>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Times New Roman","serif""><o:p> </o:p></span></p>
</div>
</body>
</html>