It was never officially released, and it is unclear whether it will ever be officially released. However, some programmers have reverse-engineered an early beta version and written clones based on it. Gnutella clients form a mesh. Each client who receives this message responds with information about itself. This way, all clients know the next hop to all other clients.
Clients search for files by flooding the mesh with search messages.
The message has a TTL to limit its spread. One unofficial spec says that other clients must track the search message to prevent loops. If a client has a file the requester wants, it sends a message back to it. The file transfer is made directly from the client with the file using an HTTP-like protocol. A Nullsoft employee said in an IRC chat that Gnutella would probably not scale to more than 250 or so clients.