-
Notifications
You must be signed in to change notification settings - Fork 1
The license is currently LGPLv2.1
Studies such as this one show that small companies and start-ups are going to determine IoT. More than bigger companies, such small structures need to spread development and maintenance costs for the kernel and all the software that is not their core business. Our analysis is that this is more compatible with LGPL than with BSD/MIT.
We are of the opinion that, compared to BSD/MIT, LGPL will improve final user experience, security and privacy, by hindering device lock-down, favoring up-to-date, and field-upgradable code. We think this a more solid base to provide a consistent, compatible, secure-by-default standard system which developers can build upon to create trustworthy IoT applications, while not hindering business models based on closed source linked with RIOT (see the automated tools provided to help check LGPL compliance, and/or this technical guide)
Since solutions competing with RIOT are quasi-exclusively BSD/MIT, we gauge that LGPL is a way to stand out favorably, and is a characteristic backing positive comparisons of RIOT with Linux.
Last but not least, we think that (L)GPL is a better base than BSD/MIT to keep the community united in the mid and long run.
For the record: we have also considered MIT/BSD (see this thread), but there was not enthusiastic majority supporting such a switch.
Compare https://github.com/RIOT-OS/RIOT/issues/2128
In short there are certain Coding Conventions to follow and we are using Github's pull requests for code review. So for new features and fixes create a fork of the RIOT repository and open a pull request with a detailed description of your changes.
For a more in depth description check out the dedicated page on development procedures.
Also, do check out the open community processes.
So we attracted your attention? That's great!
The Quick Start Guide might be just what you are looking for.
First of all, welcome to the RIOT community! There is a dedicated page on contributing listing opportunities to interact with fellow RIOT enthusiasts and some suggestions how to get started.
Log an issue in GitHub. Then post to the mailing list [email protected] and/or [email protected]. You're also welcome to ask in the IRC channel #riot-os at freenode.net, but don't be disappointed if everyone there is busy.
Check out this page on supported hardware. If your hardware is not listed there, you're welcome to provide a port for your hardware!
This depends on the board and on the application. When you compile an application for a board, the last thing printed gives each sections memory footprint and looks like this:
text data bss dec hex filename
77732 296 24272 102300 18f9c applications/sixlowapp/bin/iot-lab_M3/sixlowapp.elf
The required RAM is data + bss
, ROM is text + data
.
Please note: Usually a big portion of RAM is consumed by the stack space for threads. Although RIOT maintainers try to optimize the default values, manual tweaking may be necessary to get the most efficient results. You can check the maximum stack usage at runtime with the shell command ps
or the corresponding function thread_print_all()
from the module ps
.
See this page.
No. From the RIOT point of view the Raspberry PI is a supercomputer. RIOT targets mostly systems that are too constrained to run Linux (less than 1MB of RAM, no MMU). However, it is supported to run RIOT native on platforms like the Raspberry PI, and other hardware supported by Linux or BSD.
A good rule of thumb concerning RIOT support of a particular board is: can Linux support this board? If yes, then you should ask yourself why you really want to use RIOT (other than native) on this board. If no, then RIOT support is probably desirable.
RIOT - The friendly Operating System for the Internet of Things
Homepage | [GitHub] (https://github.com/RIOT-OS/) | Developers Mailing List | Users Mailing List | Twitter @RIOT_OS
- Family: ARM
- Board: Airfy Beacon
- Board: Arduino Due
- Board: CC2538DK
- Board: CC2650STK
- Board: HikoB Fox
- Board: IoT LAB M3
- Board: LimiFrog-v1
- Board: mbed_lpc1768
- Board: MSB-IoT
- Board: MSBA2
- Board: Nucleo-L1
- Board: Nucleo-F334
- Board: Nucleo-F303
- Board: Nucleo-F091
- Board: Mulle
- Board: OpenMote
- Board: PCA1000x (nRF51822 Development Kit)
- Board: Phytec phyWAVE-KW22
- Board: RFduino
- Board: SAMR21-xpro
- Board: SAML21-xpro
- Board: Seeeduino Arch-Pro
- Board: Spark Core
- Board: STM32F0discovery
- Board: STM32F3discovery
- Board: STM32F4discovery
- Board: UDOO
- Board: yunjia-nrf51822
- Board: Zolertia remote
- Family: ATmega
- Board: Arduino Mega2560
- Board: Arduino Uno
- Board: Arduino Duemilanove
- Family: MSP430
- Board: MSB-430H
- Board: TelosB
- Board: WSN430
- Board: Zolertia Z1
- Board: eZ430-Chronos
- Family: native
- Board: native
- Family: x86
- Board: Intel Galileo