The problem with peer to peer is that you lose the synchronization that a central server provides. The value of a central server is in effectively providing a common clock source that everyone's audio is synchronized to. If you can find another way to synchronize all the audio streams together at the recipient, more power to you.
One of you might be running their audio interface at 44.1khz instead of 48khz. Everyone should be at 48khz I believe.
Tom, if you use qjackctl or Carla or some other way of controlling the Jack audio connections graph, sometimes there will be a connection made directly from the system capture device to the system playback device. This is effectively software monitoring. You can just delete those connections to fix it. You basically want audio flowing audio_capture_device -> jamulus -> audio_playback_device.
Giles, I don't think the idea of everyone running their own server makes sense. Then there would need to be additional software connecting those servers together. It would just add more complexity and latency.
Depending on what your OS version is etc. you might need to go to System Preferences -> Security & Privacy -> General and approve the app after the first time trying to run it. If you have the MacOS firewall on, you may need to go to System Preferences -> Security & Privacy -> Firewall, and then add Jamulus to the list of allowed apps. This might only be needed if you're running a server, not sure.
Andres: Qt Creator is a cross-platform IDE that comes with the Qt development kit. Jamulus uses Qt, so downloading the Qt development kit and starting Qt Creator is a good way to get started browsing and building the code. https://www.w3schools.com/cpp/ is one of many C++ tutorials out there.
VOTE: llcon
More important than the geographic distances from each other are the ping times from each other... If you connect to the server and then open up the "Settings" dialog box while connected, what are the numbers it shows in the lower right area for ping time and overall latency? Since you mention a laptop, it's worth asking if you're using WiFi. Ethernet will reduce latency slightly and be more reliable, especially if you have other devices sharing your connection. As far as making your server private,...