On Wed, 2022-09-21 at 12:15 +0800, Zhikang Pan wrote: > This is zhikang Pan, our company wants to use Debian on our robot > product, which will be sold. So do we need open source for the > kernel, Robot Operating System framework, and applications on this > robot product? We actually don't want open source core code because > there might be commercial benefits involved.
Since you will be redistributing Debian within your robots, you will need to comply with the licenses of all the software on your robots, including both Debian and any other software you install on the robots. Most open source licenses are easy to comply with, you will need to read them to find out their individual requirements though. Every Debian source package has a copy of the copyright/license info in debian/copyright and installing Debian binary packages adds the info to the filesystem at /usr/share/doc/$packagename/copyright. One of the main aims of open source licenses is to give the owners of devices equal access to the software running on them as the owners of the software have. Everything the open source software authors can do, the owners of the devices should have the access needed to do too. If you preserve/present license info, distribute source code and allow robot owners to modify/rebuild/reinstall the software, this will put you in compliance with the vast majority of open source licenses. The most common requirement is to preserve copyright/license info and present the copyright/license info along with the product, such as in the documentation or on the screen or on the relevant website. Some licenses (such as the copyleft family of licenses, including the GNU GPL) also require that you distribute the source code and allow people to rebuild the software and reinstall it on your robots. This applies to the Linux kernel and a lot of other parts of Debian, so it is easier to just distribute all of the Debian source packages for the software you use than to distribute source only for copyleft packages. The other thing to be aware of with copyleft licenses are the requirements around derivative works. Often derivative works must be entirely licensed under the same license as the original work, or entirely licensed under licenses compatible with the original license. The boundary between a derivative work and two separate works is usually (but not always) when the two parts are in separate processes. As long as your proprietary code is in a separate process to any copyleft code and only communicates with copyleft code through well defined public interfaces, this part should not be an issue. PS: some links related to the GNU GPL copyleft licenses: https://copyleft.org/guide/ https://www.gnu.org/licenses/gpl-faq.html PS: if you modify any open source packages, especially the Linux kernel, we recommend you send your modifications back to the software projects that you modified. You can also send those modifications back to Debian so we can integrate them if the upstream projects are busy. It is also recommended that your software engineers get involved in and support Debian and the upstream projects more generally. These aren't license requirements, but are open source best practices. https://www.debian.org/intro/help#organizations -- bye, pabs https://wiki.debian.org/PaulWise
signature.asc
Description: This is a digitally signed message part