OpenBK7231T_App
OpenBK7231T_App copied to clipboard
This project needs a license.
To make it possible for folks to contribute who work at computer companies (probably other companies too) that care about licensing, this project needs a license that allows them to do so.
My preference is a permissive license like MIT or Apache 2, but this is not my project :-).
https://choosealicense.com/ has a variety of options (it's from Github).
If there is no license, that site mentions:
If you find software that doesn’t have a license, that generally means you have no permission from the creators of the software to use, modify, or share the software. Although a code host such as GitHub may allow you to view and fork the code, this does not imply that you are permitted to use, modify, or share the software for any purpose.
For example, here's the MIT license.
If you're already reusing / forking code from other repos, it would be a good idea to check back that the licenses are compatible. For exampe, https://github.com/openshwprojects/OpenBK7231T_App/pull/183 pulls in code from https://github.com/DaveGamble/cJSON which is under a MIT license.
If I remember correctly, the source of the missing license issue that I was not able to determine which license was chosen by Tuya for BK7231T and BK7231N SDKs. I will have to look into that. They have updated their SDKs recently.
It looks like neither https://github.com/tuya/tuya-iotos-embeded-sdk-wifi-ble-bk7231t nor https://github.com/tuya/tuya-iotos-embeded-sdk-wifi-ble-bk7231n have a license. That makes reusing / forking them questionable. Some other Tuya repos do have licenses. In https://github.com/orgs/tuya/repositories I see a lot of MIT & Apache 2.0 licenses mentioned, but many without.
I think it would be worth the effort to reach out to Tuya to have them add a license to these repos, otherwise all fo this is on very shaky ground. I don't know what was involved with the original fork from there, do you have any connections with Tuya from there?
It seems there is a MIT header: https://github.com/openshwprojects/OpenBK7231T/blob/eaf4e1a606571b9f13d9c933da61670c712a6c8d/platforms/bk7231t/bk7231t_os/beken378/func/user_driver/BkDriverFlash.c
Yeah that was part of why I didn't get more involved in the past, it was really hard to figure out what the licenses were. For code the project has written itself, at least, please follow https://reuse.software to tag files with a copyright and some established open source license. This can be done while waiting to hear back from beken/tuya. (I was pretty sure I had found an allegedly all Apache 2, or maybe all MIT, sdk straight from beken, no tuya code in it, but it's been a while) Having license data in every file in a machine readable and human readable format makes it so much easier to feel comfortable participating in a project and knowing your rights, because yeah, probably by a strict interpretation, this project probably is not permitted to use the SDK, etc. (I am not a lawyer) The reuse project also has a tool and a way to indicate code that's vendored in from other projects, and a way to export data about what files have what licenses, etc.
Realistically, this probably needs to be rebooted in a new repo, with the tree filtered out to include only the files created under this project and under a suitable license to the project and contributor, and running reuse lint in the CI from day one, to make sure it's being done right. Just because Beken or Tuya might be a bit sloppy with how they indicate licenses, doesn't mean this project necessarily can be.