ROS 2 Layer for OpenEmbedded Linux

Happy to announce that we’ve open sourced a set of recipes to get ROS 2 for OpenEmbedded Linux.

Code is available at and released under GPLv3.


This awesome! Any particular reason for choosing GPLv3 instead of MIT? Perhaps picking the latter would just make it easier to get it integrated into meta-ros (which is licensed as MIT, much like OpenEmbedded’s core recipes). Also, given that these are build recipes, maybe there’s not much of benefit in using GPLv3.

Thanks Victor (and Erle)!

Hey @esteve!

We don’t have any particular concern about changing the license.

We’d like to spread its use and would love to get contributions, if you and the community believe that changing to MIT would benefit those purposes… we hear you. Certainly, matching meta-ros original license makes sense as well.

Let’s see what others think about it.

Thanks for your honest response and for considering whether to change or not the license. I don’t think there’s anything wrong with GPLv3 per se, but given that most OpenEmbedded layers (meta-beagleboard, openembedded-core, meta-96boards, etc.) have very liberal licenses (MIT/X11, BSD) I wondered if there was an actual reason for picking GPLv3.

Hi Victor,

here just two comments:

  • Did you already have a look at the content of this pull request Is it done identical? Or can we merge those two developments to a best solution of those two in your repository?

  • Concerning the license, I chose MIT just as most layers did use MIT when I started meta-ros. I think more important than the license of the metadata, is actually this further important remark on the license: “All metadata is MIT licensed unless otherwise stated. Source code included in tree for individual recipes is under the LICENSE stated in each recipe (.bb file) unless otherwise stated.” This allows others to take your patch files and contribute and merge them back into the main development without further legal considerations.

Best regards,


Hello @bulwahn,

First time looking at it. Wish this would’ve been available back in May when we started with it :frowning: .
From quick code to the commits, i can see that the PR you refer to is from August. Our commits started however in May. I asked @abilbaotm to review the code and here’s the feedback provided:

Main differences are:

I wouldn’t say they are identical though but we’re happy to explore this in more detail. We’ll create another branch at GitHub - erlerobot/meta-ros2: ROS 2 Layer for OpenEmbedded Linux exploring the differences. Evaluate both and push the one that gives best results to our master branch. @bulwahn I’m happy giving you maintainer rights to meta-ros2.


From my (humble) experience with licensing, private companies, for obvious reasons, tend to contribute back more when code is licensed under GPLv3. (Speaking as part of a private company) I’d expect meta-ros2 to be rather popular for quite a few private companies so the license was placed with that in mind.
That said, again, happy reconsidering the license if it creates a hurdle.

Hi Victor,

I see you’ve created the develop-ament branch with my version of ament.bbclass. How was the evaluation? Are you still working on the layer?

Regarding the license… Potential users asking me about my plans on because they prefer it over meta-ros2 and the more permissive license is what seems to be the most appealing thing to them.

1 Like

@abilbaotm is probably the best person to answer this.

As pointed out before, we’re open to reconsider the license if that’s going to encourage third parties to contribute. Can you connect me with those potential users so that we can take it into account and discuss it with them? Feel free to make the connection through victor at

Hi @rojkov and @vmayoral

I didn’t spend too much time with that project. But, actually I have some changes that are not pushed to that branch. Its true that meta-ros2 needs some work. I have pending to update meta-ros2 to the latest release of ros2, that a good moment to test the new ament.bbclass.

Also I need to review the dependencies between recipes, I am missing some of them.

During the next weeks I will resume the project.


@vmayoral Ok, replied by email.

@abilbaotm That’s a good news!

I’d also suggest to clean up the repo a bit and to drop unused code and files like ._DS.Store_ or ament_no.


My bad, time ago I didn’t realize that the .gitignore was incomplete.

I will take a cup of coffee and fix all those errors :wink: