On Tue, Sep 24, 2013 at 2:17 AM, Dejan Pangercic <dejan.pangercic@gmail.com> wrote:
Adolfo,
> From a user perspective, I'm mostly interested in these qualities:
> - Good and stable API

API stability can be tracked though proper versioning [1].

The frequency with which the API evolves can be used as an indirect (and imperfect) indicator of API goodness:

- A project that frequently increases its major version (hence breaks the API in some way or another) will probably give downstream developers frequent headaches.
- A project that OTOH features more minor/patch version increments reflects that effort is being given to adding new features and improving existing ones under the hood.

API goodness is just another factor that contributes to the number of dependent downstream projects.

[1] http://semver.org/
 
> - Well tested

Coverage metrics. Special mention for header-only projects: They should have 100% coverage, otherwise there are no guarantees that the code even builds.

It's true that coverage alone does not mean that all covered code paths are bug-free, but it already says a lot about the code and its developers.
 
> - Well documented
> - Actively maintained. Not necessarily actively developed.
 
How do you check for first and second bullet point?

Answered above :)
 

For the fourth one, I have seen quite some ROS packages being
"actively" maintained but often that meant just increasing the version
release number while in reality there were very little bug fixes. And
possibly a very small user base.

That's not good or bad in itself. A simple niche application would fall in this category: Few users (niche) and simple problem (with a simple, low-maintenance solution).

If a package is of general interest and complies with the above criteria, plus a license welcoming users/developers (thanks Melonee), it's likely that it'll attract users, unless there is another project around with a better outlook, longer history, etc. Open source is pretty much self-regulating in this respect.

I'm not expecting to have an absolute quantitative measure of a project's goodness, but rather a few easily available quantitative metrics that can help me make a _qualitative_ assessment of how a prospective project fits a set of requirements.

Best,

Adolfo.

_______________________________________________
ros-users mailing list
ros-users@code.ros.org
http://lists.ros.org/mailman/listinfo/ros-users



--
Adolfo Rodríguez Tsouroukdissian
Senior robotics engineer
adolfo.rodriguez@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 - Twitter - PAL Robotics YouTube Channel

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.