NFS is an excellent point!
NFS (now that I think about it!) -- brings up two additional software engineering considerations:
1) Distributed file system protocol.
2) Software that implements that distributed (or at least remote/network) file system -- via that file system protocol.
NFS is both.
That's not a bad thing(!) -- but ideally from a software engineering "separation of concerns" perspective, this future software layer/level would ideally be decoupled from the underlying protocol -- that is, it might have a "plug-in" protocol architecture, where various 3rd party file system protocols (somewhat analogous to drivers) could be "plugged-in"...
But NFS could definitely be used to boot/run Linux over the network, and is definitely a step in the right direction, and something worth evaluating for these purposes... its source code is definitely worth looking at...
So, an excellent point!