Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
djroze opened this issue Apr 18, 2024 · 0 comments
Open

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

djroze opened this issue Apr 18, 2024 · 0 comments

Comments

@djroze
Copy link

djroze commented Apr 18, 2024

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

1 participant