# SourceCred as an incentive compiler

**URL:** <https://discourse.sourcecred.io/t/sourcecred-as-an-incentive-compiler/556>\
**Category:** Initiatives Wish List\
**Created:** [January 2, 2020, 7:24pm UTC](https://discourse.sourcecred.io/t/sourcecred-as-an-incentive-compiler/556 "2020-01-02T19:24:41Z")\
**Posts on this page:** 1\
**Showing post:** 4

<div class="post-metadata">

**Author:** ![s\_ben](https://yyz2.discourse-cdn.com/flex032/user_avatar/discourse.sourcecred.io/s_ben/32/816_2.png) [@s\_ben](https://discourse.sourcecred.io/u/s_ben)\
**Post date:** [January 11, 2020, 5:29am UTC](https://discourse.sourcecred.io/t/sourcecred-as-an-incentive-compiler/556/4 "2020-01-11T05:29:58Z")

</div>

I love taking metaphors until they break 😈

> [@wchargin](#):
>
> So: Is SourceCred an incentive compiler? That depends. What language is it compiling from, and what’s it compiling to? What semantics is it preserving, and what non-semantic transformations is it making, if any? And how does this help us reason about what it is or should be?

I was definitely thinking of it in the most common definition of the word, which is as an assembler. I.e. taking a high-level desired behavior and ‘compiling’ that into more granular, lower-level incentives that aim to generate, in aggregate, the desired low-level behavior. For the core algo, which actually generates scores that are usually meaningful enough to be actionable (though typically only within a single repo/Discourse instance, as activity is different in nature across repos), it’s a bit fuzzy. Because the semantics are fuzzy. We’re looking at what’s been valued in the past and saying, “More of that please…”. It remains to be seen if we’ll actually get more of that in the wild, but let’s say for the sake of argument that it works well enough. This seems more like AI almost, which learns a model by being fed “successful” data. It “compiles” code much the same way it can generate target images using other images.

 ![image](https://canada1.discourse-cdn.com/flex032/uploads/sourcecred1/original/1X/eecf5e887971a1cab420d285935b66e0b757aa79.jpeg)

I suppose one can also say that new Issues, PRs, etc. are a more specific set of semantics guiding behavior. In this case the language is English (or other spoken language). But also, in my experience in OSS, the _language of doing_. It is concrete actions, guided by Issues, etc., or self created but still valuable contributinos, that generates ❤s, PR reviews, and other actions that confer meaningful cred, driving the incentives.

When [Initiatives](https://discourse.sourcecred.io/t/draft-initiatives-guide/525) come online, they will act more like high-level programming languages. Giving more specific semantics (desired behaviors).

> [@wchargin](#):
>
> (Exercise for the interested reader: In the context of programming, what are “compiled languages” and “interpreted languages”?)

These seem kinda the same, as both compile high-level languages to low-level languages. One just does it ahead of time in a more optimal manner, and the other does it on the fly. Maybe Initiatives are more like compiled languages, and the base SC algorithm is like a run-time compiler, the other “developers” entering “commands” in the form of Issues, comments, likes, etc.

---

_[View the full topic](https://discourse.sourcecred.io/t/sourcecred-as-an-incentive-compiler/556)._
