Actually, only samba clients are needed on each Linuxbox to get access to Windows shares (it is installed by default on some distributions). In order to access Linux shares from Windows, you need one samba server running on the network, decent configured (there are good tools, though).
To share files among Linux NFS users, each one has to set up mathcing /etc/exports and /etc/fstab files, which is not always easily done since there are a lot of details concerning, for example, rights and securities. You have to read advices (manuals, search the Net) and practice.
Why a share could be made easily read/write or not is sometimes obscure for me at least. But have a try and find as simple as possible a solution. In case there is no need for secrets among users it should be easier!