Communities have a prominent role in many peer to peer networks and applications, such as BitTorrent, Gnutella and
DC++. There are different elements that contribute to the formation, development and the stability of these communities, which include interests, user attributes, cost reduction, user motivation and the dimension of the community.
Interest attributes Peer communities are formed on the basis of common interests. For Khambatti, Ryu and Dasgupta common interests can be labelled as attributes "which are used to determine the peer communities in which a particular peer can participate". There are two ways in which these attributes can be classified: explicit and implicit attributes. Explicit values are information that peers provide about themselves to a specific community, such as their interest in a subject or their taste in music. With implicit values, users do not directly express information about themselves, albeit, it is still possible to find information about that specific user by uncovering his or her past queries and research carried out in a P2P network. Khambatti, Ryu and Dasgupta divide these interests further into three classes: personal, claimed and group attributes. In their work
Peer-to-peer File Sharing Communities, they explain that "the act of sharing is costly since any download from a sharer implies that the sharer is sacrificing bandwidth". Usefulness is a valued aspect by users when joining a P2P community. The specific P2P system must be perceived as "useful" by the user and must be able to fulfil their needs and pursue their interests. Consequently, the "size of the community of users defines the level of usefulness" and "the value of the system determines the number of users". This two way process is defined by Vassileva as a feedback loop, and has allowed for the birth of file-sharing systems like Napster and KaZaA. In her research Vassileva has also found that "incentives are needed for the users in the beginning", particularly for motivating and getting users into the habit of staying online. This can be done, for example, by providing the system with a wide amount of resources or by having an experienced user provide assistance to a less experienced one.
User classification Users participating in P2P systems can be classified in different ways. According to Vassileva, users can be classified depending on their participation in the P2P system. There are five types of users to be found: users who create services, users who allow services, users who facilitate search, users who allow communication, users who are uncooperative and free ride. In the first instance, the user creates new resources or services and offers them to the community. In the second, the user provides the community with disk space "to store files for downloads" or with "computing resources" to facilitate a service provided by another users. In the third, the user provides a list of relationships to help other users find specific files or services. In the fourth, the user participates actively in the "protocol of the network", contributing to keeping the network together. In the last situation, the user does not contribute to the network, downloads what he or she needs but goes immediately offline once the service is not needed anymore, thus free-riding on the network and community resources. == Tracking ==