Hi Greg, I agree with this idea! A NuttX distribution makes sense and will avoid licensing issues, we could let the user to select which licenses he accept to use.
BR, Alan On 3/20/20, Gregory Nutt <spudan...@gmail.com> wrote: > Hi, group, > > There has been talk for years about the idea of creating a separate > project out of apps/, extending it so that it is a real NuttX > "Distribution," basically like OpenEmbedded, Buildroot, or Yocto for > NuttX. It would: > > * Download and install the NuttX > * Select and build the custom firmware > > I have always thought this was a novel idea, but I have not particularly > been an advocate. But I think that Apache licensing issues might drive > us to reconsider this idea. The nuttx/ repository is really pretty > clean. There is certainly some bits of third party code and certainly > some ICLAs will be needed, but the code is really very clean. > > You cannot say this about apps. apps/ is a collection of code with a > lot of third party code. There are full ports of third party > applications (like interprers/bas, or netutils/thttpd, or modbus, or > wapi, or ...). There are original applications (like NSH). And there > is all manner of things in between. Mostlyare original applications > with varying amounts of highly modified third party code. NxWidgets > contains some Whoopsi code, for example. > > So perhaps we could simply things by pulling some or all of the apps/ > out of the NuttX repositories. There apps/ are NOT the OS. They are a > hodge-podge collection of applications that runs on the OS. The OS in > the nuttx/repository stands alone and does not depend on the existence > of apps/. So there is no imperative reason that we should retain apps/ > in the nuttx/ respository. > > Certainly doing so is a convenience. But if licensing becomes an issue, > then we should consider some options: > > * We could pull the entire apps/ repository out of the Apache > repositories and manage it as a separate project outside of Apache. > This would be the cleanest way to deliver a complete NuttX > distribution in the spririt of OpenEmbedded or Buildroot. But there > are some cons: The build system and PR checks depend on the > existing configuration and such a change would potentially cause > breakage or complexity. Some of the applications such as NSH really > are very connected to the OS. Finally, there is no project structure > in place to manage such a NuttX distribution. > * We could also just move any dubious components out of apps/ and into > a separate repository/project. As components that could be > installed in apps/. This use case would be awkward and there is > really no way to develop a "Distribution" from this. > * Finally, we can do nothing and deal with the third party software in > apps/ as we encountered it. > > Thoughts? > > Greg > > >