Hi,

On 31 Aug 2017, at 8:35, David Brown wrote:

On Thu, Aug 31, 2017 at 08:29:34AM -0700, Sterling Hughes wrote:
In my opinion this should be a sub-project of Apache Mynewt: apache-mynewt-nffs. The filesystem is a part of our operating system, unlike a boot loader which is more naturally a joint project. We can market NFFS as a sub-project, and separately release it within the Mynewt PMC (from *core.) The project definition defines governance, but does not restrict multiple different releases.

If we get critical mass on NFFS, we can break it into a sub-project of Apache Mynewt as the TLP (allowing it to have its own PMC/committers to vote on release), but that requires going through incubator which seems heavyweight to me.

My only concern would be if this results in a fork of the project.  I
don't know how heavily NFFS will be used in Zephyr, but it will be
interesting to see what happens if it does become popular, and starts
getting a bunch of patches.  If it lives just in the Zephyr tree (or
another repo outside of Apache), will the code drift, making for a
mess.


Yeah, I think from Runtime’s perspective, we’d like to work on NFFS within the context of ASF governance. We broke mcuboot from Mynewt because for a secure boot loader, having more bespoke governance policies, especially around security and safety certs, etc. made sense to us. And, at least in our mind, the boot loader being separate from the OS made sense.

When it comes to NFFS, we certainly don’t want to burden our development with those governance processes, at least not in the open source project. So Apache governance works more naturally for us. If Zephyr wants to take NFFS, and security and safety certify it, it can bring in patches from the NFFS repository, and (hopefully!) contribute back fixes and changes that are made as a part of bringing it in Zephyr.

For the moment, creating a separate repository in the mynewt-* directory is the easiest solution, as it basically is software that is “owned” by the Mynewt community, but it’s in a separate repository so that we can release it separate from *-core, and include the Zephyr porting layer, which I think is good and important. In my view, we should also break out a separate page and marketing for NFFS, and call out that the Filesystem is OS agnostic and has a Zephyr port as well. None of this requires us to have a new community or governance structure. The Mynewt committers still vote on the release of NFFS (even if released separately) and ASF processes apply, and people who contribute to NFFS can become committers on Mynewt.

If, over time, contribution directly to NFFS grows, such that it should be it’s own, independent voting entity, it can be created as a full separate Apache project - but I think that’s down the road, and orthogonal to breaking out the marketing and code structure.

Best,

Sterling

Reply via email to