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.