Skip to content

Commit

Permalink
Contribution guidelines
Browse files Browse the repository at this point in the history
  • Loading branch information
FranciscoLlobet committed Mar 10, 2024
1 parent 5bf29ce commit 78f608e
Show file tree
Hide file tree
Showing 2 changed files with 104 additions and 17 deletions.
87 changes: 87 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -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 <https://github.com/FranciscoLlobet/efm32-freertos-zig/>.

## 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
34 changes: 17 additions & 17 deletions LICENSE.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down

0 comments on commit 78f608e

Please sign in to comment.