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
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