If the cost isn't affordable and the company doesn't want to public all
source code, he can try this approach:
1. Enable userfs to move yaffs from kernel to userspace
2. Build yaffs as wasm module and run it in:
https://github.com/apache/nuttx-apps/tree/master/interpreters/wamr
This technology could satisfy all GPL requirements but without
exposing your private source code.
Another option would be to add dynamic registration of file systems
within the OS. Currently in fs/mount/fs_mount.c, the file systems are
in const arrays. But an option could be to very simply add a run-time,
dynamic registration to add file systems to a RAM array.
File systems could then be delivered as kernel modules and they would
register themselves when the kernel module is installed. This capability
is a good new OS feature, regardless of YAFFS.