You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@nuttx.apache.org by Gregory Nutt <sp...@gmail.com> on 2019/12/12 18:57:54 UTC

Project Repositories

The current NuttX project at https://bitbucket.org/nuttx/ consists of 
five respositories.  We will need to understand how each of these 
repositories will be handled under Apache.

  * nuttx/  This is the operating system.  It is only the operating
    system.  It is complete and usable with no dependency on any other
    repsitory
  * apps/ This is a optional collection of user-space applications and
    libraries that may be used with nuttx/.  Most people use at least
    parts of the apps/ to create their full embedded application.

The above two repositories are the parts of NuttX that will be included 
as Apache NuttX and will be changed to Apache licensing. I think they 
would be sub-projects of NuttX.  The remaining three repositories are 
supporting tool repositories that are essential to supporting and using 
NuttX but have GPL licenses and cannot be released under the Apache license:

  * buildroot/ derives from the "real" buildroot at
    https://buildroot.uclibc.org/ and is used for building (mostly) GPL
    tools like GCC cross-compiler, genromfs, and kconfig-frontends for
    NuttX.
  * tools/ Contains miscellaneous sources for tools and scripts used
    with NuttX.
  * uClib++ holds and older pre-C++11 C++ library that is tailored to
    work with NuttX

There is a more contemporary C++11 library that probably should also be 
included in the discussion.  It resides at 
https://bitbucket.org/acassis/libcxx/src/master/ and is described 
here:   https://nuttx.org/doku.php?id=wiki:nshhowtos:llvm-stdcxx

These build tools must reside at some location that has close 
availability with to the Apache NuttX code.  Nothing in these GPL 
repositories is ever delivered with the NuttX releases.  There are only 
references in the documentation to these repositories as steps to 
building and installing the operating system.  Should these be 
maintained completely separately from the Apache NuttX code?  Or should 
the reside in the Apache NuttX github area?  My understanding is that 
there is a precedence for including GPL support tools in Apache github 
repositories:

  * https://www.apache.org/legal/resolved.html#build-tools
  * https://www.apache.org/legal/resolved.html#optional

We will need to revisit this in the coming weeks.

Greg