Add docs about clean room design.
This commit is contained in:
parent
5a8f200896
commit
749df61a2e
2 changed files with 30 additions and 1 deletions
29
docs/docs/dev-clean-room.md
Normal file
29
docs/docs/dev-clean-room.md
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
---
|
||||||
|
id: dev-clean-room
|
||||||
|
title: Clean Room Implementation
|
||||||
|
sidebar_label: Clean Room
|
||||||
|
---
|
||||||
|
|
||||||
|
:::warning
|
||||||
|
|
||||||
|
Anyone wanting to contribute code to ZMK _must_ read this, and adhere to the steps outlines in order to not violate any licenses/copyright of other projects
|
||||||
|
|
||||||
|
:::
|
||||||
|
|
||||||
|
ZMK Firmware is a [clean room design](https://en.wikipedia.org/wiki/Clean_room_design) keyboard firmware, that
|
||||||
|
borrows/implements a lot of the features found in popular keyboard firmwares projects like [QMK](https://qmk.fm)
|
||||||
|
and [TMK](https://github.com/tmk/tmk_keyboard). However, in order for ZMK to use the Apache 2.0, it _must_ not
|
||||||
|
incorporate any of the GPL licensed code from those projects.
|
||||||
|
|
||||||
|
In order to achieve this, all code for ZMK has been implemented completely fresh, _without_ referencing, copying,
|
||||||
|
or duplicating any of the GPL code found in those other projects, even though they are open source software.
|
||||||
|
|
||||||
|
## Contributor Requirements
|
||||||
|
|
||||||
|
Contributors to ZMK must adhere to the following standard.
|
||||||
|
|
||||||
|
- Implementations of features for ZMK _MUST_ not reuse any existing code from any projects not licensed with the Apache 2.0 license.
|
||||||
|
- Contributors _MUST_ not study or refer to any GPL licensed source code while working on ZMK.
|
||||||
|
- Contributors _MAY_ read the documentation from other GPL licensed projects, to gain a broad understanding of the behavior of certain features in order to implement equivalent features for ZMK.
|
||||||
|
- Contributors _MAY_ refer to the [QMK Configurator](https://config.qmk.fm/) to inspect existing layouts/keymaps for
|
||||||
|
keyboards, and re-implement them for ZMK.
|
|
@ -1,6 +1,6 @@
|
||||||
module.exports = {
|
module.exports = {
|
||||||
someSidebar: {
|
someSidebar: {
|
||||||
Basics: ["intro", "hardware"],
|
Basics: ["intro", "hardware"],
|
||||||
Development: ["dev-setup", "dev-posix-board"],
|
Development: ["dev-setup", "dev-clean-room", "dev-posix-board"],
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue