[ros-users] Software Status Reporting and Custom Builds

Melonee Wise melonee at meloneewise.com
Tue Sep 3 05:45:10 UTC 2013


+1 to Adolfo's comments and thoughts on code quality metrics, and I would
like to add more one to the pile, License/Contributor status. In many open
source projects developers sign contributor license agreements (CLA,
http://www.oss-watch.ac.uk/resources/cla) to ensure that all of the code
released is able to be license under the stated license (BSD, LGPL, etc).
Since ROS has been largely focused on research until recently this wasn't a
large concern of the community. As more of us start using ROS in our
products, it would be nice to have a notion of the status of the license
associated with code ensuring that the contributions made to the code base
were made without IP conflicts or copyright infringement.

-Melonee


On Mon, Sep 2, 2013 at 9:05 AM, Adolfo Rodríguez Tsouroukdissian <
adolfo.rodriguez at pal-robotics.com> wrote:

>
>
>>
>>
>> On 31.08.2013 04:39, Edwards, Shaun M. wrote:****
>>
>> All,****
>>
>>  ****
>>
>> 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:****
>>
>>  ****
>>
>> **1.       **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:
>> http://ros.org/wiki/Industrial/Software_Status ).  Here is an example of
>> a stack/meta-package that has been marked with its current status:
>> http://ros.org/wiki/industrial_core .  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).*
>> ***
>>
>> **2.       **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
>> http://rosindustrial.org/news/2013/8/13/jenkins-system-for-ros-industrial-repositories).  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?****
>>
>>
> My 2 cents,
>
> From a user perspective, I'm mostly interested in these qualities:
> - Good and stable API
> - Well tested
> - Well documented
> - Actively maintained. Not necessarily actively developed.
>
> Except testing metrics like coverage, most of the above qualities are
> already accessible through the ROS wiki.
>
> I usually also check how many downstream projects/packages depend on the
> project of interest, as this correlates well to some of the above points.
>
> From a developer perspective, code quality metrics like the work of
> Johannes Kuehn make more sense.
>
> One might argue that good code metrics should also bias user choices, as a
> project with poor code metrics might be difficult to move forwards.
> However, projects with good APIs, documentation, testing and a sizable user
> base will have enough traction to overcome parts of it with a poor
> implementation (and are probably less likely to have bad code metrics to
> start with).
>
> Concerning Shaun's proposal, I'd move "The software has some level of
> unit-testing or has been used on production level code in the past" from
> production to development, and make the production statement much more
> strict, reading something like "The software has a comprehensive test suite
> and documentation, and is being used in production-level code."
>
> Best,
>
> Adolfo.
>
>>  ****
>>
>> Thanks for you time,****
>>
>>  ****
>>
>>  ****
>>
>>  ****
>>
>> Shaun Edwards****
>>
>> Senior Research Engineer****
>>
>> Manufacturing System Department****
>>
>>
>
>
> On Sun, Sep 1, 2013 at 7:29 PM, Edwards, Shaun M. <sedwards at swri.org>wrote:
>
>>  Thibault,****
>>
>> ** **
>>
>> Thanks for the feedback.  ****
>>
>> ** **
>>
>> 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).****
>>
>> ** **
>>
>> 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.****
>>
>> ** **
>>
>> 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.****
>>
>> ** **
>>
>> Shaun Edwards****
>>
>> Senior Research Engineer****
>>
>> Manufacturing System Department****
>>
>> ** **
>>
>> ** **
>>
>> http://robotics.swri.org****
>>
>> http://rosindustrial.swri.org/****
>>
>> http://ros.swri.org****
>>
>> Join the ROS-Industrial Developers List<https://groups.google.com/group/swri-ros-pkg-dev/boxsubscribe>
>> ****
>>
>> Southwest Research Institute****
>>
>> 210-522-3277****
>>
>> ** **
>>
>> *From:* ros-users-bounces at code.ros.org [mailto:
>> ros-users-bounces at code.ros.org] *On Behalf Of *Thibault Kruse
>> *Sent:* Sunday, September 01, 2013 6:20 AM
>> *To:* ros-users at code.ros.org
>> *Subject:* Re: [ros-users] Software Status Reporting and Custom Builds***
>> *
>>
>> ** **
>>
>> Hi,
>>
>> 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.
>>
>> 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.
>>
>> 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.
>>
>> 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.
>>
>> There cannot be a mere "status" label to replace all that activity to
>> figure out the status of a project, IMO.
>>
>>
>>
>> Regarding Code quality/testing/metrics:
>> 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".
>>
>> 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.
>>
>> 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.
>>
>>
>>
>> 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.
>> E.g. compare the list of projects and the stats they offer at
>> http://freecode.com/
>> https://pypi.python.org/pypi
>> https://analysis.apache.org/dashboard/index
>>
>>
>> regards,
>>   Thibault
>>
>>
>>
>>
>> On 31.08.2013 04:39, Edwards, Shaun M. wrote:****
>>
>> All,****
>>
>>  ****
>>
>> 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:****
>>
>>  ****
>>
>> **1.       **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:
>> http://ros.org/wiki/Industrial/Software_Status ).  Here is an example of
>> a stack/meta-package that has been marked with its current status:
>> http://ros.org/wiki/industrial_core .  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).*
>> ***
>>
>> **2.       **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
>> http://rosindustrial.org/news/2013/8/13/jenkins-system-for-ros-industrial-repositories).  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?****
>>
>>  ****
>>
>> Thanks for you time,****
>>
>>  ****
>>
>>  ****
>>
>>  ****
>>
>> Shaun Edwards****
>>
>> Senior Research Engineer****
>>
>> Manufacturing System Department****
>>
>>  ****
>>
>>  ****
>>
>> http://robotics.swri.org****
>>
>> http://rosindustrial.swri.org/****
>>
>> http://ros.swri.org****
>>
>> Join the ROS-Industrial Developers List<https://groups.google.com/group/swri-ros-pkg-dev/boxsubscribe>
>> ****
>>
>> Southwest Research Institute****
>>
>> 210-522-3277****
>>
>>  ****
>>
>>
>>
>>
>> ****
>>
>> _______________________________________________****
>>
>> ros-users mailing list****
>>
>> ros-users at code.ros.org****
>>
>> http://lists.ros.org/mailman/listinfo/ros-users****
>>
>>  ** **
>>
>> _______________________________________________
>> ros-users mailing list
>> ros-users at code.ros.org
>> http://lists.ros.org/mailman/listinfo/ros-users
>>
>>
>
>
> --
> Adolfo Rodríguez Tsouroukdissian
> Senior robotics engineer
> adolfo.rodriguez at pal-robotics.com
> http://www.pal-robotics.com
>
> PAL ROBOTICS S.L
> c/ Pujades 77-79, 4º4ª
> 08005 Barcelona, Spain.
> Tel. +34.93.414.53.47
> Fax.+34.93.209.11.09
> Skype: adolfo.pal-robotics
> Facebook <http://www.facebook.com/palrobotics1> - Twitter<http://twitter.com/#%21/palrobotics>- PAL
> Robotics YouTube Channel <http://www.youtube.com/user/PALRobotics>
>
> AVISO DE CONFIDENCIALIDAD: Este mensaje y sus documentos adjuntos, pueden
> contener información privilegiada y/o confidencial que está dirigida
> exclusivamente a su destinatario. Si usted recibe este mensaje y no es el
> destinatario indicado, o el empleado encargado de su entrega a dicha
> persona, por favor, notifíquelo inmediatamente y remita el mensaje original
> a la dirección de correo electrónico indicada. Cualquier copia, uso o
> distribución no autorizados de esta comunicación queda estrictamente
> prohibida.
>
> CONFIDENTIALITY NOTICE: This e-mail and the accompanying document(s) may
> contain confidential information which is privileged and intended only for
> the individual or entity to whom they are addressed.  If you are not the
> intended recipient, you are hereby notified that any disclosure, copying,
> distribution or use of this e-mail and/or accompanying document(s) is
> strictly prohibited.  If you have received this e-mail in error, please
> immediately notify the sender at the above e-mail address.
> _______________________________________________
> ros-users mailing list
> ros-users at code.ros.org
> http://lists.ros.org/mailman/listinfo/ros-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ros.org/pipermail/ros-users/attachments/20130902/b3047227/attachment.html>


More information about the ros-users mailing list