7. Social Computing
7.1.1. Incentives
To understand why people get involved in computational resource sharing we first need to understand their motivation. According to Self-Determination Theory, two basic types of motivation can be distinguished, i.e., intrinsic and extrinsic [238]. A motivation can be described as intrinsic when a person does something “for its inherent satisfactions rather than for some separable consequence” [238, p.56]. Intrinsically motivated means being driven by curiosity, fun, or challenge. Thus, an activity itself is satisfying. In contrast, extrinsic motivation relates to the expectation of an outcome that is separable from the actual activity. In the absence of this outcome, people that are extrinsically motivated would rather not participate in this activity.
Intrinsic and extrinsic motivation are neither exclusive nor immune to changes. Many actives are performed for multiple reasons and the balance between intrinsic and extrinsic motivation changes over time. A person who starts working in a job only for money, i.e., has an extrinsic motivation, might start enjoy doing this job and develop an intrinsic motivation. Further, activities that might seem to be purely intrinsically motivated, such as donating money, could be affected by extrinsic motivations such as social pressure. In [221], Dellavigna et al. show that social pressure is an important factor in the context of door-to-door giving that can even be monetarized. Keeping this knowledge about different types of motivation into account, we further discuss different types of incentives for computational resource sharing. We start with the most intrinsic type of incentives, altruism, and end with a purely extrinsic incentive, namely monetary compensation. We do not claim that this order is indisputable but use it to present the different types of incentives in a meaningful order.
Altruism: The concept of altruism is often referred to as a basic motivation in crowd sourcing scenarios [239]. Altruistic users are willing to share their resources without expecting any kind of compensation. The mere activity of sharing and the feeling of a warm glow are inherently enjoyable or rewarding [240]. This can for instance be the case for some scientific projects in which users support the goals of the project and are intrinsically motivated to move the idea forward [9, 214]. This sense of meaningfulness is represented by the type of projects that draw the most volunteers on the BOINC distributed computing platform [241]. Many
7.1. Incentives and Relationships in Social Computing 152
of these non-profitable projects are either located in the area of astrophysics, chemistry, mathematics, or medicine. By sharing their resources with these projects, volunteers can contribute to science. Therefore, each project provides a description of its goals and explains why providing resources to the project results in an overall benefit for mankind. Rashid et al. [242] argue that displaying the value of a contribution is an important motivator for people to share resources. Altruism does not infer that there is no benefit for the altruistic person at all. Rather, this self-benefit is purely non-material but typically results in a certain kind of satisfaction [243]. This satisfaction can either result from a self-reward and the feeling of being a good person or can avoid feelings of shame and guilt [243]. An example for the latter are airline passengers that participate in the carbon offset program of an airline to make up for the additional environmental damage they cause by flying. In the case of computation sharing, an altruistic reason to participate could be to share resources in order to increase the utilization of computational devices and, thus, reduce the overall energy consumption. While this is undoubtedly an altruistic incentive, the user has a personal long-term benefit by living in a healthier environment.
Gamification: Starting from 2011, the idea of gamification has become popular. Gamification describes the embedding of game elements into non-game contexts to make these experiences enjoyable [244, 245]. In volunteer computing, gamification can be found when contribution is rewarded with credits that can be compared with those of other participants [241]. Even though these rewards do not have an actual monetary value, they may increase the motivation to participate and introduce competition between users. In this rather intrinsic type of motivation, the user finds the activity of sharing enjoyable, however, it is not an inherent trait of the activity, but an added aspect of gaming or semi-gaming experience. Satisfaction and enjoyment can be considered as parts of gamification behavior that explain participation in resource sharing activities [214, 246, 247]. The potential of gamification has been shown in multiple studies [245, 248, 249].
On the individual level, gamification can be used as motivation to encourage users to achieve a certain goal. Among others, gamification elements include badges, leaderboards, levels, time constraints, and limited resources [247]. In the context of computational resource sharing, gamification can be added in multiple ways [250].
7.1. Incentives and Relationships in Social Computing 153
Users can be granted achievements or scores when their contribution to a scientific project is high enough and the results can be published on a leaderboard [241]. Reputation: Reputation becomes relevant as a motivation when achievements are connected to real persons, for example, when users of volunteer computing have the possibility to share their results in social media networks. In [218], Ariely et al. show that people have a strong desire to be seen by others as doing good. Communicating that they have provided computational resources, for example, for a scientific project can be a signal that individuals can use to build up a reputation for doing good. The concept of reputation is related to the theory of social comparison that describes the drive to compare a person’s own opinions and abilities with those of others [251]. Nov et al. describe reputation as an extrinsic incentive [214]. Sharing leads to a gain of reputation among like-minded people which, in turn, enhances the willingness to share. Reputation as an incentive to share must not be mistaken for reputation as a means to establish trust in a peer-to-peer environment [252, 253]. The concept of reputation is related to the idea of gamification when, for example, ranks are rewarded to top contributors. However, in contrast to gamification, reputation has a signaling effect to enhance the status in the community [254].
Reciprocity: Sharing can be performed in a reciprocal way. Resource providers retrieve a credit as compensation for their shared resources. This credit can then be used to request computational power from other participants when these providers requires additional computational resources themselves. There are multiple ways to implement reciprocal sharing systems. In a one-to-one implementation, the exchange happens directly, in a tit-for-tat manner and the resource usage between two users needs to balance out [255]. A more flexible solution is to introduce a credit system which allows to trade computation between multiple users [256]. The most relaxed assumption is that there is no explicit accounting but computation is considered a public good. Users contribute as much as they can and, in turn, are allowed to use resources at any time and as much as they want [257]. Such systems require a high level of trust between the participants as they are prone to free-riders. Computation providers participate in the system as they require additional computation at another point in time. These systems only work well when the demands of the participants match in the long run and the same kind of resource is required.
7.1. Incentives and Relationships in Social Computing 154
Virtual Currency: Even though reciprocity can be one way to solve the free- rider problem, it is limited to scenarios in which the exact same resource is traded. This may lead to a situation in which a user who mainly wants to use computational resources from other users but cannot provide these resources in the future will be excluded from the system. In turn, users that own powerful resources accumulate credits that they will not need to spend as they are never reliant on remote computational resources. A virtual currency can help to solve this problem as it might enable users to trade computational power for other resources such as bandwidth or storage [258]. Virtual currencies are a popular near-monetary incentive. In contrast to a credit-based system, virtual currencies can implement market mechanisms such as auctions, inflation, deflation, and interest rates [252, 259, 260]. Virtual currency can be analyzed and implemented on two different levels. They can either be transparently handled by the system [230, 261, 262] or actively managed by the user [252, 263].
Monetary: Finally, users in computation sharing systems can even use real money in transactions. When users pay for using remote resources, they do not have the obligation to share resources themselves. Instead, each resource has its price which can be either fixed, variable, or negotiated between resource consumer and provider. Participants can be either consumers, producers, or both. Sharing resources can then be considered as a business model and the requirements for security, trust, and persistence are higher than in non-monetary systems. Accounting can be performed by a trusted third party or in distributed solutions such as blockchains. Monetary compensation can be attributed to extrinsic motivation, as the outcome of a fulfilled task is separable from the task itself [238]. Buyya et al. present different economic models for grid computing, including commodity markets, posted price model, bargaining, tender/contract-net model and auctions [264].