Skip to content

Suggestion: Define "package" More Clearly in Colcon Docs #96

Description

@djroze

Hi all,

I found my way to this repository/project as part of learning about ROS2. I was curious to see if Colcon was something ROS2-specific, written by the same people, and/or had other applications. If I were an expert in ROS, the answer might be obvious to me, but in reading Colcon's documentation as an isolated source, the definition of what a "package" is is not clear to me. This term seems to be used copiously in Colcon's documentation, and there is a great section defining what a workspace is (e.g. "Colcon is a command line tool to build and test multiple software packages. It builds and tests those packages in a colcon workspace, but what is a workspace?"), but this introduction relies heavily on the term "package", and I haven't been able to find anything in the docs that answers the (perhaps more basic/core question), "then what is a package"?

Since this term is highly overloaded in programming, I would humbly suggest to add something in the introduction of Colcon's docs to first explain what is actually meant by "package". Is it a package like a Debian package (installable set of files), a Python package (e.g. any folder with an init.py file), some C++ sources/binaries, something less specific such as a programming project, or something else? I think the term "package" is normally employed in relation to a framework of some kind, perhaps to say that a package is a modular component that can be added/removed to/from some thing (e.g. apt, or a Python environment), but it's not clear to me what that framework/thing is here.

My best understanding is that "package" may be meant as a reference to ROS and a program (or set of programs) that can be executed within the ROS framework specifically (perhaps including that package's dependencies, build products, or who knows what else), but as a simpleton I would find it helpful if someone could add a description of how this term is to be interpreted throughout the Colcon documentation.

Thanks so much for considering my input and I look forward to continuing to learn about ROS2 and Colcon, it seems like quite a robust and interesting framework!

Best,
Daniel

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions