As raised in #1038 and other issues, the licensing status of QMK is not clear. In an effort to remove ambiguity and to clarify the licensing status of the quantum code we are identifying the providence of our source code files and clarifying what license applies to each one.
-# Files
+# Signoff
-## quantum/analog.c
-## quantum/analog.h
-## quantum/api/api_sysex.c
-## quantum/api/api_sysex.h
-## quantum/api.c
-## quantum/api.h
-## quantum/audio/audio.c
-## quantum/audio/audio.h
-## quantum/audio/audio_pwm.c
-## quantum/audio/luts.c
-## quantum/audio/luts.h
-## quantum/audio/musical_notes.h
-## quantum/audio/song_list.h
-## quantum/audio/voices.c
-## quantum/audio/voices.h
-## quantum/audio/wave.h
-## quantum/config_common.h
-## quantum/dynamic_macro.h
-## quantum/keycode_config.c
-## quantum/keycode_config.h
-## quantum/keymap.h
-## quantum/keymap_common.c
-## quantum/keymap_extras/keymap_bepo.h
-## quantum/keymap_extras/keymap_br_abnt2.h
-## quantum/keymap_extras/keymap_canadian_multilingual.h
-## quantum/keymap_extras/keymap_colemak.h
-## quantum/keymap_extras/keymap_dvorak.h
-## quantum/keymap_extras/keymap_dvp.h
-## quantum/keymap_extras/keymap_fr_ch.h
-## quantum/keymap_extras/keymap_french.h
-## quantum/keymap_extras/keymap_french_osx.h
-## quantum/keymap_extras/keymap_german.h
-## quantum/keymap_extras/keymap_german_ch.h
-## quantum/keymap_extras/keymap_german_osx.h
-## quantum/keymap_extras/keymap_jp.h
-## quantum/keymap_extras/keymap_neo2.h
-## quantum/keymap_extras/keymap_nordic.h
-## quantum/keymap_extras/keymap_norwegian.h
-## quantum/keymap_extras/keymap_plover.h
-## quantum/keymap_extras/keymap_russian.h
-## quantum/keymap_extras/keymap_spanish.h
-## quantum/keymap_extras/keymap_uk.h
-## quantum/keymap_extras/keymap_unicode_cyrillic.h
-## quantum/light_ws2812.c
-## quantum/light_ws2812.h
-## quantum/matrix.c
-## quantum/pincontrol.h
-## quantum/process_keycode/process_chording.c
-## quantum/process_keycode/process_chording.h
-## quantum/process_keycode/process_leader.c
-## quantum/process_keycode/process_leader.h
-## quantum/process_keycode/process_midi.c
-## quantum/process_keycode/process_midi.h
-## quantum/process_keycode/process_music.c
-## quantum/process_keycode/process_music.h
-## quantum/process_keycode/process_printer.c
-## quantum/process_keycode/process_printer.h
-## quantum/process_keycode/process_printer_bb.c
-## quantum/process_keycode/process_tap_dance.c
-## quantum/process_keycode/process_tap_dance.h
-## quantum/process_keycode/process_unicode.c
-## quantum/process_keycode/process_unicode.h
-## quantum/quantum.c
-## quantum/quantum.h
-## quantum/quantum_keycodes.h
-## quantum/rgblight.c
-## quantum/rgblight.h
-## quantum/serial_link/LICENSE
-## quantum/serial_link/protocol/byte_stuffer.c
-## quantum/serial_link/protocol/byte_stuffer.h
-## quantum/serial_link/protocol/frame_router.c
-## quantum/serial_link/protocol/frame_router.h
-## quantum/serial_link/protocol/frame_validator.c
-## quantum/serial_link/protocol/frame_validator.h
-## quantum/serial_link/protocol/physical.h
-## quantum/serial_link/protocol/transport.c
-## quantum/serial_link/protocol/transport.h
-## quantum/serial_link/protocol/triple_buffered_object.c
-## quantum/serial_link/protocol/triple_buffered_object.h
-## quantum/serial_link/README.md
-## quantum/serial_link/system/serial_link.c
-## quantum/serial_link/system/serial_link.h
-## quantum/serial_link/tests/byte_stuffer_tests.cpp
-## quantum/serial_link/tests/frame_router_tests.cpp
-## quantum/serial_link/tests/frame_validator_tests.cpp
-## quantum/serial_link/tests/Makefile
-## quantum/serial_link/tests/rules.mk
-## quantum/serial_link/tests/testlist.mk
-## quantum/serial_link/tests/transport_tests.cpp
-## quantum/serial_link/tests/triple_buffered_object_tests.cpp
-## quantum/template/config.h
-## quantum/template/keymaps/default/config.h
-## quantum/template/keymaps/default/keymap.c
-## quantum/template/keymaps/default/Makefile
-## quantum/template/keymaps/default/readme.md
-## quantum/template/Makefile
-## quantum/template/readme.md
-## quantum/template/rules.mk
-## quantum/template/template.c
-## quantum/template/template.h
-## quantum/tools/eeprom_reset.hex
-## quantum/tools/readme.md
-## quantum/variable_trace.c
-## quantum/variable_trace.h
-## quantum/version.h
-## quantum/visualizer/example_integration/callbacks.c
-## quantum/visualizer/example_integration/gfxconf.h
-## quantum/visualizer/example_integration/lcd_backlight_hal.c
-## quantum/visualizer/example_integration/visualizer_user.c
-## quantum/visualizer/lcd_backlight.c
-## quantum/visualizer/lcd_backlight.h
-## quantum/visualizer/led_test.c
-## quantum/visualizer/led_test.h
-## quantum/visualizer/LICENSE.md
-## quantum/visualizer/readme.md
-## quantum/visualizer/visualizer.c
-## quantum/visualizer/visualizer.h
-## quantum/visualizer/visualizer.mk
\ No newline at end of file
+This section documents the people who need to sign off on applying the GPL to one or more of their contributions. If your name appears below and you consent to applying the GPL to your contributions, please put today's date in the last field of your row. Please stick to the following date format: 2017 Jan 28
+
+Username | Files | Sign Off Date |
+---------|-------|---------------|
+@0xdec | quantum/rgblight.c | 2017 Jan 29 |
+@algernon | quantum/quantum.c<br>quantum/quantum.h<br>quantum/process_keycode/process_tap_dance.c<br>quantum/process_keycode/process_tap_dance.h<br>quantum/process_keycode/process_unicode.c<br>quantum/process_keycode/process_unicode.h | 2017 Jan 29 |
+@cdlm | quantum/template/template.c<br>quantum/template/template.h | 2017 Feb 03 |
+@DidierLoiseau | quantum/keymap_extras/keymap_canadian_multilingual.h<br>quantum/keymap_extras/keymap_bepo.h |2017 Jan 29 |
+@eltang | quantum/config_common.h<br>quantum/matrix.c<br>quantum/quantum.c<br>quantum/quantum.h<br>quantum/rgblight.c<br>quantum/rgblight.h<br>quantum/template/config.h | |
+@ezuk | quantum/matrix.c<br>quantum/quantum.c<br>quantum/quantum.h<br>quantum/quantum_keycodes.h<br>quantum/rgblight.c<br>quantum/rgblight.h<br>quantum/keymap_extras/keymap_colemak.h<br>quantum/keymap_extras/keymap_nordic.h | 2017 Jan 31 |
+@fredizzimo | quantum/config_common.h<br>quantum/keycode_config.h<br>quantum/keymap.h<br>quantum/keymap_common.c<br>quantum/keymap_common.c<br>quantum/matrix.c<br>quantum/quantum.h<br>quantum/rgblight.c<br>quantum/rgblight.h<br>quantum/api/api_sysex.c | 2017 Jan 29 |
+@h-youhei | quantum/keymap_extras/keymap_jp.h | 2017 Jan 28 |
+@heartsekai | quantum/keymap_extras/keymap_german_ch.h | 2017 Jan 29 |
+@IBnobody | quantum/keycode_config.h<br>quantum/matrix.c<br>quantum/quantum.c<br>quantum/audio/audio.c<br>quantum/audio/audio.h<br>quantum/audio/audio_pwm.c<br>quantum/audio/audio_pwm.c<br>quantum/audio/voices.c<br>quantum/audio/voices.h<br>quantum/template/config.h<br>quantum/template/template.c | 2017 Jan 30 |
+@jackhumbert | quantum/config_common.h<br>quantum/keycode_config.h<br>quantum/keymap.h<br>quantum/keymap_common.c<br>quantum/light_ws2812.c<br>quantum/light_ws2812.h<br>quantum/matrix.c<br>quantum/quantum.c<br>quantum/quantum.h<br>quantum/quantum_keycodes.h<br>quantum/rgblight.c<br>quantum/rgblight.h<br>quantum/api/api_sysex.c<br>quantum/audio/audio.c<br>quantum/audio/audio.h<br>quantum/audio/audio_pwm.c<br>quantum/audio/audio_pwm.c<br>quantum/audio/voices.c<br>quantum/audio/voices.h<br>quantum/keymap_extras/keymap_colemak.h<br>quantum/keymap_extras/keymap_dvorak.h<br>quantum/keymap_extras/keymap_fr_ch.h<br>quantum/keymap_extras/keymap_french.h<br>quantum/keymap_extras/keymap_french_osx.h<br>quantum/keymap_extras/keymap_german.h<br>quantum/keymap_extras/keymap_german_ch.h<br>quantum/keymap_extras/keymap_german_osx.h<br>quantum/keymap_extras/keymap_neo2.h<br>quantum/keymap_extras/keymap_nordic.h<br>quantum/keymap_extras/keymap_plover.h<br>quantum/keymap_extras/keymap_spanish.h<br>quantum/keymap_extras/keymap_uk.h<br>quantum/process_keycode/process_midi.c<br>quantum/process_keycode/process_music.c<br>quantum/process_keycode/process_tap_dance.c<br>quantum/process_keycode/process_tap_dance.h<br>quantum/process_keycode/process_unicode.c<br>quantum/process_keycode/process_unicode.h<br>quantum/template/config.h<br>quantum/template/template.c<br>quantum/template/template.h | 2017-01-29 |
+@jakllsch | quantum/keymap_extras/keymap_dvorak.h<br>quantum/keymap_extras/keymap_fr_ch.h<br>quantum/keymap_extras/keymap_french.h<br>quantum/keymap_extras/keymap_german.h<br>quantum/keymap_extras/keymap_german_ch.h<br>quantum/keymap_extras/keymap_nordic.h<br>quantum/keymap_extras/keymap_spanish.h<br>quantum/keymap_extras/keymap_uk.h | 2017 Jan 29 |
+kuel | quantum/keymap_extras/keymap_unicode_cyrillic.h<br>quantum/keymap_extras/keymap_russian.h | |
+@lindhe | quantum/keymap_extras/keymap_nordic.h<br>quantum/keymap_extras/keymap_norwegian.h | 2017 Jan 30 |
+@matzebond | quantum/keymap_extras/keymap_german.h<br>quantum/keymap_extras/keymap_neo2.h | 2017 Jan 30 |
+@plgruener | quantum/keymap_extras/keymap_german.h<br>quantum/keymap_extras/keymap_neo2.h | 2017 Jan 30 |
+@priyadi | quantum/quantum.c<br>quantum/process_keycode/process_unicode.c<br>quantum/process_keycode/process_unicode.h | 2017 Jan 31 |
+@pvinis | quantum/quantum.c<br>quantum/quantum.h<br>quantum/process_keycode/process_tap_dance.c<br>quantum/process_keycode/process_tap_dance.h | 2017 Jan 29 |
+@Smilliam | quantum/quantum.c | |
+@sperochon | quantum/keymap_extras/keymap_french_osx.h | 2017 Jan 30 |
+stephan . bosebeck at holidayinsider.com | quantum/keymap_extras/keymap_german_osx.h | 2017 Feb 15 |
+@TerryMathews | quantum/quantum.c | 2017 Jan 29 |
+@Twey | quantum/keymap_extras/keymap_plover.h | |
+@Vifon | quantum/dynamic_macro.h<br>quantum/quantum.c | 2017 Feb 09 |
+@vincent-pochet | quantum/keymap_extras/keymap_fr_ch.h | 2017 Feb 09 |
+@wez | quantum/dynamic_macro.h | 2017 Jan 29 |
+@Wilba6582 | quantum/keymap.h<br>quantum/keymap_common.c<br>quantum/quantum_keycodes.h | 2017 Feb 15 |
+@yangliu | quantum/light_ws2812.c<br>quantum/light_ws2812.h<br>quantum/rgblight.c<br>quantum/rgblight.h | 2017 Jan 30 |
\ No newline at end of file