The correct way to use a company's BSD 3 ros2-packages and contribute back

asked 2022-03-05 13:02:21 -0600

sameh4 gravatar image

updated 2022-03-05 13:33:16 -0600

I started building a differential drive robot based on my own design ideas, a very simple rectangular shape, using 0.635 cm thick steel (1/4" thick). I learned about welding, basic metal work, and even picked up some 3D CAD modeling skills.

I put together some ros2 galactic code for gazebo simulation and ros2-controls, and I can use a teleop-joy with ps4 controller to move it around in Gazebo.

Along the way I came across the husky robot's github repo, which is an excellent robot from the company Clearpath in Canada. It's quite an expensive robot so purchasing it is out of the question for me.

However from the lessons learned building my own robot, I am highly certain I can reproduce their build in my garage since the github repo includes pretty much everything I would need.

Moreover their github repo is quite impressive in its organization and follows very good ros practices.

My question: If I were to fork their repo, but then need to change some parameters for instance because my build is not exactly as good as theirs. Whether it be the height, weight or any other thing. Or if I were to delete some directories because I have no use for them, for example.

How can I then contribute back any code? And since I can't contribute back anything, could I not then "copy" their repo, make changes where I like, like the name for example, as long as I adhere to the open source license:

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

I am trying to figure out the right way to do things so I don't end up creating another project based on someone good work.

edit retag flag offensive close merge delete