代码拉取完成,页面将自动刷新
The Inviolable Principles of Nuttx
==================================
These are properties of NuttX that we can be certain of for all time:
Definition
----------
*in·vi·o·la·ble*
/inˈvīələbəl/
adjective
adjective: inviolable
never to be broken, infringed, or dishonored.
"an inviolable rule of chastity"
synonyms: inalienable, absolute, untouchable, unalterable,
unchallengeable, unbreakable, impregnable; sacrosanct,
sacred, holy, hallowed; rare intemerate
"the inviolable right to life"
Source: Oxford Dictionary of the English Language
Strict POSIX compliance
-----------------------
o Strict conformance to the portable standard OS interface as defined at
OpenGroup.org.
o A deeply embedded system requires some special support. Special
support must be minimized.
o The portable interface must never be compromised only for the sake of
expediency.
o Expediency or even improved performance are not justifications for
violation of the strict POSIX interface
Modular Architecture
--------------------
o The internal modular architecture of the OS must maintained.
o This means formalizing and documenting all internal interfaces (in the
porting guide), minimal use of global variables at the interface, and
only well defined functional interfaces.
Clear, Consistent, Standardized Coding Style
--------------------------------------------
o Strict conformance to the NuttX coding style. No "revolutionary"
changes to the coding standard (but perhaps some "evolutionary"
changes).
o Personal or organizational preference is not a justification for a
coding style change.
o Nothing can come into NuttX that does not follow the coding standard.
o Expediency is not a justification for violating the coding standard.
The NuttX coding standard can be found here:
http://www.nuttx.org/doku.php?id=documentation:codingstandard
Open and Unencumbered License
-----------------------------
o Currently BSD 3-clause or compatible: BSD 3-clause with constraints,
BSD 3 and 4 clause, MIT, public domain
o Other unencumbered licenses such as Apache may be considered
NuttX will never be licensed under a restrictive, "Copyleft" license.
All Users Matter
----------------
o All support must apply equally to all supported platforms. At present
this includes Linux, Windows MSYS, Windows Cygwin, Windows Ubuntu,
Windows native, macOS, Solaris, and FreeBSD. No tool/environment
solutions will be considered that limit the usage of NuttX on any of
the supported platforms.
o Inclusive rather than exclusive
o Hobbyists are valued users of the OS including retro computing hobbyists
* and DIY “Maker” hobbyists.
o Supported toolchains: GCC, Clang, SDCC, ZiLOG ZDS-II (c89), IAR.
Others?
o No changes to build system should limit use of NuttX by any user.
o Simplifying things for one user does not justify excluding another user.
o We should seek to expand the the NuttX user base, not to limit it for
reasons of preference or priority.
o We must resist the pull to make NuttX into a Linux-only, GCC-only, and
ARM-only solution.
NuttX Branding
--------------
o The official name of authentic Nuttx will always be "NuttX"
o This name is trademarked and may not be used by other OSs or forks of
NuttX
The Enemies
===========
No Short Cuts
-------------
o Doing things the easy way instead of the correct way.
o Reducing effort at the expense of Quality, Portability, or
Consistency
o Focus on the values of the organization, not the values of the Open
Source project. Need to support both.
o It takes work to support the Inviolables. There are no shortcuts.
Sometimes Code Duplication is OK
--------------------------------
o Sometimes is better to duplicate some logic than to introduce coupling
Keep the Big Picture
--------------------
o Too much focus on solving the problem in hand, loss of the Big Picture
o Insufficient understanding of the architectural principles.
Conform to Standards
--------------------
o Changing things only to suite a personal or organizational preference
o Inflexibility, Inability to adapt
o Not Invented Here (NIH) syndrome
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。