Both of the programs are basically like Napster, but will work with any sort of file. It has not been released yet, and it is unclear whether it will ever be released. However, some programmers have reverse-engineered an early beta and written clones based on it. 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. One of Nullsoft's employees said in an IRC chat that Gnutella would probably not scale to more than 250 or so clients.