Disclaimer : I am a hobbyist programmer, I have not gone to Uni for that , so I might not know everything I am talking about.
My question is why don't open source programs include something like diagrams of the algorithms they employ ?? I Was looking for algorithms for a chat program with client-server architecture, I was hoping to find diagrams and descriptions of how algorithms work, so a to study them an adapt them to my needs. All I found were FOSS projects with no such documentation.
Considering that reading source code can take a long time, and sometimes interesting projects are written in a language the user isn't familiar with, I was wondering why such documentation style doesn't exist ? It could help even newer contributors get started quicker.
I think you're describing protocols rather than algorithms
For a chat program you can look at xmpp, or matrix, both are open protocols for chat apps. You can find info about how they communicate in RFCs or Google "xmpp architecture"