Can SourceCred Work As A Foundation For A New Guild System?

Hi first time poster, so my apologies if what I am saying has been discussed before, I searched ‘guild’ and many MMO threads showed up talking about the social network in these games.

The first thing that came to my mind while I was reading about this project is this could be used to fill a huge gap with open source projects. Every project has a learning curve with different degrees, and most of the time the lead maintainer is the same person who guides new contributors, usually this guidance is minimum as the maintainer is busy making commits as well.

As a result projects tend to treat possible new contributors as a waste of time, and that would only change once a few commits are accepted as proof of merit. The issue with this method is it functions as a crude filter, and there are potentially X times more contributors who would have helped with the project if they have received more attention and help.

Historically, craft guilds had a labor system that encouraged exponential growth. Where a skilled craftsman would have multiple apprentices during his lifetime by the time of retirement. Open source has nothing like this, since the ‘currency’ is the number of PRs made by each user.

SourceCred could solve this by building a web-of-trust like scheme based on mentorship. Say Alice is a lead contributor to IPFS, the amount of cred cannot exceed the natural limits of human labor. So the way for Alice to gain more cred is to move from journeyman making PRs to a repo and become a master craftsman taking on new apprentices Bob and train him for a few months until Bob becomes a journeyman and take the new apprentice Carl. Now each time Bob or Carl contribute and gain cred, Alice gains some cred as well.

This mentorship can be on different scales as well, from just being there in chat helping to answer quick questions or code review, to dedicating full time work teaching new contributors 1 on 1 from cloning the repo until they get their first major PR accepted.

I have taken a look at documentation and haven’t found anything like this https://sourcecred.io/docs/concepts/glossary

I recall there was something like this mentioned during the talk online, but it was about work being built on top another user’s work, not users gaining cred from another user working on different parts of the project.

2 Likes

Welcome @systemshift. Great first post :slight_smile:

I think you have a pretty good analysis of some dynamics in open-source. I definitely find myself applying the “crude filter” you mentioned, and have thought about guild or apprentice type dynamics as a way to onboard people into the project more effectively.

One thing we’d need to solve for is getting commitment. Open-source tends to be very low commitment from new contributors: you permissionlessly come, you work for as long as you feel like it, then you leave. However, this discourages the expert from taking on apprentices, what if you invest 4 weeks onboarding them and then they decide something else is more interesting and move on? You’ve now wasted a ton of effort with no visible reward. I’ve tried “taking on apprentices” in open source a few times in this fashion and this has always been the outcome. The only times it’s worked has been when the “apprentice” is an intern in a corporate hierarchy, where there is a clear commitment that the intern will be working full time for at least X weeks.

In the absence of being able to get formal commitments, using the crude filter of “send in a number of commits and then I’ll pay attention” filters for both talent and commitment, which is necessary.

That said, I definitely imagine we could create mechanisms to support “apprenticeships” with incentives that strongly reward sticking around long enough for the apprentice to work out. We could look to actual historical guilds for some examples on what these forms could be.

You are correct in the case of full commitment, this seems the only way that works. Let me use a more real world example to clarify what I imagine how things could work out. I see you have experience working on Tensorboard, say Google has decided to rewrite it in Rust, and had a bounty of one million to give away once the roadmap is done. If you decided to take this on by yourself, it would take you 10 years making 100k each year until the roadmap is achieved. With giving apprentices some credit, you can dedicate your full time taking 2 people each year, and achieve the roadmap in 3 or 4 years while still making more money as a result of your apprentices credit. So I am starting with the assumption of alignment of interest, mostly financial.

This is something that I have been thinking about as well, and don’t know how to figure this out. The only thing that comes to mind is a few ‘hacker retreats’ such as Recurse Center, where a maintainer would take a few months each year to on board new contributors.

One thing to add that I don’t think I made it clear enough in the original post. Apprenticeships don’t need to be a binary of yes or no, it could be a continuous number where the lead contributor gets a variable number of cred, ranging from 0.0N cred if it was small help answering some questions in chat, to almost identical cred if that person has spent evenings and weekends in a coffee shops having 1-on-1 for a good number of months.

It has been about a year now, and I have some updates.

Looking at the crypto currency community, one common theme ‘money is the weight of trust on statements’. For example the current Ethereum staking method is low in terms of computation, any consumer laptop can make a statement about the state of the blockchain, but your statement is worthless unless you back it with money.

Perhaps the same ‘put one’s money where one’s mouth is’ can work to signal commitment. Have a DAO where a user pays to signal willingness to learn, get a core contributor assign to him as a mentor, if the apprentice reaches a certain level of cred within a specific time window, they money is issued back. If not the money gets sent as a donation to the project.

This could also open a vector for fleecing money as well, where a main contributor would deliberately give hard tasks in order to fund the team, so a dashboard showing the number of people who signed up and gotten their money back is necessary for transparency.

Now adding money could ruin the spirit of community oriented project

But I do see projects like Google Summer of Code and they are still running, maybe this can work along with it without the management overhead cost. Google or Ethereum Foundation donates money to the project DAO, people sign up by paying a small fee, and if they reach enough cred they get paid the entire amount.

1 Like