👾 Making Open Source contributions a GAME? 🎲
Tags: opensource, discuss, webdev
Published: 2023-10-17 10:00:08

## Any Game Designers around? Let's discuss! 👇

I'm a maintainer of a popular open source project, we're building an alternative to **Typeform + Hotjar** ([here is the repo ⭐](https://formbricks.com/github)).

Open Source contributions are really great because they have different advantages for different people involved. 

However, they also have a few downsides attached to them, which we try to address in a fun way: **Making it a game!**

![level up writing code](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t1zl06rkx7lp657cf54n.png)


## What's wrong with normal contributions?

These are the problems which are recurring in different flavours:

- We have mostly **junior developers** = lots of overhead, little initial return
- Some, we help get started to never ship their PR = only additional work on our end
- When we release an issue which requires relevant experience, we often have to tell juniors who jump on it that they are lacking experience. Here we need a **better way to preselect**.
- The more experienced engineers stick around for 2, 3, 4 PRs but then often drop off. We want them to stick around longer and **get something for it**.
- We want to compensate for relevant contributions but are **afraid to kill the intrinsic** drive. This is why we want to embed it into a game.
- Contributors don’t have a great way to **showcase their contributions** for Formbricks.
- So far, recognising contributors publicly is very manual and time-consuming.

So far so good. We have addressed some of these issues in our first attempt to gamify contributions: The **FormTribe hackathon**!

## Our MVP: The FormTribe hackathon

{% embed https://www.youtube.com/watch?v=zed8IIQWZLk %}

Our project is called "Frombricks", our community "FormTribe".

This October, we're running the [FormTribe Hackathon](https://formtribe.com). In a nutshell, it works like this:

1. **Contribute code** to gather points or
2. Perform one of the **Side Quests**
3. At we end we have a lottery with 65 prizes (**MacBook Air M2** is one of them) and the higher your point score, the higher your chances of winning.

So far, this has **worked reeeally well**! At this point, we have significantly more people wanting to contribute than we have tickets available. We release an issue, reload the page, and someone wants to work on it already 😍 🚀


![level up writing code](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/abyjtjckubr6pca2fs2b.png)

This is enough for us to put some thought into how we could **gamify the complete contribution experience** in our community:

## The overarching concept (draft)

The idea is to wrap open source contributions into **a habit loop**: Trigger, Routine, Reward. In its simplest version it goes like this: See new issue notification (Trigger), create contribution (Routine), collect reward (Points). **Restart**.

![level up](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qesk5dniq268wsc2ai26.png)

The points help you level up. With each level, you have a new set of rights and benefits.

### Level 0 - Registered Contributor

You can start collecting points by **signing up via email**. With a simple form you add your GitHub name and Twitter handle for us to bring everything together. 

You receive all kinds of instructions via email as well as a notifier, when we release a new issue which you could work on. We also share a list of side-quests you can perform to level up to Level 1 rather quickly;

Points to reach Level 1: 250 (maybe 1h of work)

### Level 1 - "Repository Rookie"

![level 1](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fkpu66qn9xd1hzfuiua7.png)

**Rights**: Work on beginner issues, limited set of side quests to complete, GitHub badge
**Benefits**: Shoutout in Weekly / Monthly round up
**Limitations**: Cannot work on intermediate issues

Points to get to next Level: 1000

### Level 2 - "Deploy Deputy"

![level 2](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/doih7m2irhfj2cn4m65l.png)

**Benefits**: To celebrate they'll receive merch when leveling up + public shoutout, GitHub badge
**Rights**: Work on intermediate issues, expanded set of side quests
**Limitations**: Cannot work on issues with bounties

Points to reach next level: 3000

### Level 3 - "Pushmaster Prime"

![level 3](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sbj6etbmcx7u05fu7let.png)

**Benefits**:  More advanced merch (limited stuff) to celebrate leveling up, GitHub badge
**Rights**: Work on all issues incl. ones with bounties ($)
**Limitations**: -

Points to reach next level: 7000

### Level 4 - "Formbricks Legend"

![level 4](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q4o39i9dw5n3g03akh2a.png)

Benefits, Rights and Limitations to be decided.


With this level system and the benefits, rights and limitations attached to the levels, we solve quite a few of the problems listed above. 

What do you think?

### Open questions:

1. How do we **structure the ideation** process best? Any methods or frameworks?
2. What are the **most common mistakes** people make when designing a game?
3. What should we take into account **designing incentives?** We don't want hunger games, we want to foster a spirit of collaboration. How can we make sure we do?
4. What are we totally **missing**?
5. What are we **getting wrong here?**
6. Is anyone with relevant xp interested in helping out as a sparing partner? Currently, this is more of a fun endeavour we do on evenings and weekends, but i know that almost all other OS projects have these issues...

## Let's discuss 👇

**This is the point where we can take everyones feedback into account :)**

[![pls star our repo](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/g7juhu4ssqj1iejgrqbe.png)](https://formbricks.com/github)

To support our project and see this gamefied concept become a thing, please [star our repository ⭐](https://formbricks.com/github)!