diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 58593d8..b80555e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,2 +1,89 @@ # Contributing to Miso +To contribute to `miso` please: + +- Fork the repository +- Create a new branch in your own repository +- Create a pull request to the `master` branch + +Contributions must not be just *code*. It can be: + +- documentation and improvements in documentation, +- new functionalities, +- fixes to existing functionalities, +- etc. + +When raising a Pull-Request, the contributor acknowledges that: + +- The contribution improves quality aspects of the project like: + - functionality. + - maintainability. + - security. +- The contribution does not break existing functionality or it fixes issues reported or not. +- The contribution does not introduce conflicts related to licensing, patents or other legal aspects. +- The contribution does not introduce security vulnerabilities or is part of a security attack to any kind. +- The contribution adheres to the project licensing strategy. +- The contributor has the authorship or license to the contribution. +- The contributor allows the `miso` project to use this code contribution. +- New files contributed may include the contributor`s (author) name in the file header. + +The repository owner or an appointed administrator decides a contribution is accepted or rejected. + +A contribution may be rejected without notice. + +## Project Licenses + +> [LICENSE.md](./LICENSE.md) + +C code is licensed using a 3-Clause BSD License + +Zig code is licensed using the MIT License + +Python code is licensed using the MIT License + +## Project repository + +`miso` is hosted in Github at . + +## Project language + +The main (human) communication language used in this project is English. + +Code documentation must be in English. Write basic english words and short sentences. + +## Programming languages + +The main programming languages used in `miso` are: + +- `zig` +- `C` + +Tooling may include `python` 3.x + +## Configuration languages + +Configuration languages are + +- Zon (Zig-Object Notation). +- JSON +- YAML + +## Trunk-based development + +`miso` follows a trunk based development strategy. Small and frequent changes are performed on a *feature* or *bugfix* branch and then merged to the repository trunk branch. Once the development on the branch is ready, it may be merged into the repository trunk using the Github pull request. + +The trunk branch in this project is called `master`. + +### Submodules, dependencies and 3rd party embedded code + +Third-party code may be included in the development of `miso`. Depending on the availability, licensing and distribution strategy of the originating project, the code may be embedded into the repository (as, for example `FatFS` and the `CC3100 SDK`). It is preferred to use Git submodules to include external C-Code dependencies when possible. + +The preferred methods are (in order of importance): + +1. Zig packages +2. Git Submodules +3. Code embeddings + +## Coding guidelines + +// to do \ No newline at end of file diff --git a/LICENSE.md b/LICENSE.md index c4a3518..4ef865c 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -4,29 +4,29 @@ `miso` code is licensed using two open source licenses depending on the programming language used in the file. -- [MIT License](#mit-license) is used in `zig`-code +- [MIT License](#mit-license) is used in `zig`-code and `python` code - [BSD 3-Clause License](#bsd-3-clause-license) is used in `C`-code and headers For contributions, please consult [CONTRIBUTING.md](./CONTRIBUTING.md) ## SBOM and 3rd Party Software -`miso` uses 3rd party software extensively. Some of the included submodules may include licenses not listed below or be dual-licensed. If a 3rd party component offer dual licensing, please use the most convenient or compatible with the MIT license or the BSD 3-Clause licenses used in the project. - -| Product | Version | Year | SPDX Identifier | -|-------------------------|------------|------|-----------------------------| -| FreeRTOS Kernel | 202112.00 | 2021 | MIT | -| Wakaama | 1.1 | 2021 | EPL-2.0, EDL-1.0 | -| PicoHTTP Parser | 2.9 | 2020 | MIT License, GPL-2.0-or-later | -| Eclipse Paho MQTT C/C++ | 1.3.9 | 2021 | EPL-1.0, EDL-1.0 | -| mbedTLS | 3.1.0 | 2021 | Apache-2.0 | -| McuBoot | 1.8.0 | 2021 | Apache-2.0 | -| FatFs | R0.14c | 2020 | Custom (similar to MIT/BSD) | -| CC3100 SDK | 1.3.0 | 2015 | BSD-Style | -| Gecko SDK | 3.2.1 | 2021 | Zlib | -| picolibc | 1.7.4 | 2021 | MIT License | -| Zig | 0.9.0 | 2021 | MIT License | -| Jsmn | 2020.10.19 | 2020 | MIT License | +`miso` uses 3rd party software extensively. Some of the included submodules may include licenses not listed below. If a 3rd party component offer dual licensing, please use the most convenient or compatible with the MIT license or the BSD 3-Clause licenses used in the project. + +| Product | Licensing info |Version | Year | SPDX Identifier | +|-------------------------|---------------------------------------------------------------------|-----------|------|-----------------------------| +| FreeRTOS Kernel | [LICENSE.md](./csrc/system/FreeRTOS-Kernel/LICENSE.md) | V11.0.x | 2024 | MIT | +| Wakaama | [NOTICE.md](./csrc/connectivity/wakaama/NOTICE.md) | dev branch | 2024 | EPL-2.0, EDL-1.0 | +| PicoHTTP Parser | [README.md](./csrc/connectivity/picohttpparser/README.md) | master branch | 2024 | MIT License, GPL-2.0-or-later | +| Eclipse Paho MQTT C/C++ | [notice.html](./csrc/connectivity/paho.mqtt.embedded-c/notice.html) | 1.3.9 | 2021 | EPL-1.0, EDL-1.0 | +| mbedTLS | [LICENSE](./csrc/crypto/mbedtls/LICENSE) | 3.5.2 | 2024 | Apache-2.0 | +| McuBoot | [LICENSE](./csrc/mcuboot/LICENSE) | 2.1.0-dev | 2024 | Apache-2.0 | +| FatFs | [ff.h](./csrc/system/ff15/source/ff.h) | R0.15 | 2023 | Custom (similar to MIT/BSD) | +| CC3100 SDK | [readme.txt](./csrc/system/cc3100-sdk/readme.txt) | 1.3.0 | 2015 | BSD-Style | +| Gecko SDK | [License.txt](./csrc/system/gecko_sdk/License.txt) | 4.4.1 | 2024 | Zlib | +| picolibc | |1.8.6 | 2023 | MIT License | +| Zig | |0.11.0 | 2023 | MIT License | +| Jsmn | [LICENSE](./csrc/utils/jsmn/LICENSE) | master branch | 2021 | MIT License | ## MIT License