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.
There’s no point spending twice the time making something that corresponds 1:1 to code - unless the code is truly horrific, and then you’ve got bigger issues. One generally assumes people involved with a project will know or learn relevant languages.
It’s more commonly used for things that are less obvious from the source itself - like “what’s sent between the client and server in this handshake” or “what is the overall architecture of this part of the code”
Flowcharts may be a bit more common when studying algorithms in general
Edit; from your other comments, you seem to be talking about protocols, not algorithms. An algorithm is a set of steps to do something. A protocol is a description of how different systems interact such as in a chat application.