Double your contributors using these 3 simple tricks!
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Subtitle |
| |
Title of Series | ||
Number of Parts | 490 | |
Author | ||
License | CC Attribution 2.0 Belgium: You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor. | |
Identifiers | 10.5446/47431 (DOI) | |
Publisher | ||
Release Date | ||
Language |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
|
00:00
Object (grammar)Projective planeComputer animation
00:19
Open setGame theorySoftware developerGame theoryProjective planeScripting languageSoftware developerStress (mechanics)Roundness (object)Prisoner's dilemmaNeuroinformatikBitPresentation of a groupComputer animation
01:17
Open sourceSoftware developerGame theoryDampingProjective planeOpen sourceSoftware developerSource codeComputer animation
01:46
Open sourceRadiusVideoconferencingSoftwareSoftware developerCloningOpen setFreewareMachine visionComputer configurationLimit (category theory)Game theoryOpen sourceOnline helpExterior algebraSlide ruleProduct (business)BitCloningGame theoryProjective planeSoftwareDigital photographyGoogolMultiplication sign1 (number)Perfect groupRadiusMereologyNeuroinformatikWebsiteLine (geometry)NumberFigurate numberCodeGoodness of fitBeat (acoustics)Axiom of choiceLimit of a functionDisk read-and-write headAuthorizationComputer-assisted translationElectronic mailing listUniform resource locatorReading (process)Open setRow (database)Process (computing)Computer configurationHypermediaLimit (category theory)Formal languageSpeech synthesisBeer steinRight angleHypothesisMachine visionWordVideoconferencingCartesian coordinate systemAugmented realitySoftware developerComputer animation
08:00
Game theoryControl flowLimit (category theory)ForceMetric systemFormal languageGame theoryRevision controlProjective planeInstance (computer science)Open setMultiplication signExterior algebraGame controllerBookmark (World Wide Web)1 (number)Software developerForceSoftware frameworkPower (physics)Structural loadBlogDirection (geometry)NeuroinformatikGodForcing (mathematics)CASE <Informatik>Limit (category theory)TouchscreenDemosceneCellular automatonComputer animation
11:22
Vector potentialGame theoryLattice (order)Feasibility studyForceSpring (hydrology)Projective planeOffice suiteWordCuboidOpen sourceAxiom of choiceMultiplication signSoftwareProcess (computing)Game theoryOnline helpLine (geometry)NeuroinformatikPoint (geometry)TouchscreenVideo gameAnnihilator (ring theory)YouTubeTotal S.A.VideoconferencingComputer-assisted translationSpring (hydrology)NumberFormal languageComputer animation
15:53
Game theoryMereologyDirection (geometry)Game theoryCheat <Computerspiel>Multiplication signLevel (video gaming)Software developerBeta functionComputer animation
17:38
Open sourcePoint cloudFacebook
Transcript: English(auto-generated)
00:07
So, hi, I am Eshed, and instead of talking about my project, I'm going to talk about yours. So, this is for the clickbait title, but in general, okay, forget about your project.
00:22
I don't want to talk about contributors and anything. I have a great new idea for a game. Get this. I want an MMO where you go around and you're itching. You have these itches that you want to scratch, and you find other players, and you go around,
00:42
and they have their own itches, and you're comparing itches, what itches to me, what itches to you, and it's cooperative. Maybe our itches are compatible, and we can scratch them together. It's very, very friendly, very nice. It's something that I don't think any of you have ever seen, and I need developers
01:00
and artists and designers, medical resets, everything like, does anyone here want to help and become a contributor in my game? Okay, I saw like a thing or two, kind of, which is a bit frustrating, so I'll have to go back to my original presentation. I wanted to call the game scratch that, but scratch that.
01:27
Why do we want contributors? This is actually a question when I said that I want to talk about motivation. People said, like, why, but is it really necessary that an open source project has more than one developer?
01:42
So I asked myself, like, if a developer releases the source code and no one reads it, is it still open source? And you can approach it from one approach, which is like ethics. We think that source should be open. We want people to be able to change our code. It doesn't matter if they do it or not. It's about your ownership of applications that are on your computer.
02:03
But I prefer another approach, like, that open source is like love. You can do it on your own, but it's way better together. And this made me think of a thought experiment. Let's do like GitHub Tinder. You know, people all the time, they said like, oh, I want to contribute to some open
02:23
source project. I had it so many times. And then, like, there's GitHub, and you could, like, swipe left or swipe right. And there's like my radius of interest. I can check what languages I know, what things. This sounds really, really nice, but I don't think it will work.
02:45
Like open source is not exactly like finding a partner. The alternative for not finding a partner is being alone. People come to this, like, they really don't want to be alone. And the alternative for not being a contributor is watching cat videos, which is kind of nice. So it's not really that someone wants to work about your project.
03:06
It's like people are saying, I want to contribute to open source in general, and then this is kind of amorphic. It's not really anywhere near actually being a contributor. And for it to change there, like, you have to find the cat videos.
03:25
So itches. Eric S. Raymond in the Cathedral on the Bazaar said that every good work of software starts by scratching a developer's personal itch. Now, I want to expand on it a bit, because, like, even if you're a contributor, if you're
03:41
not the first person who writes the first line of code, it's still like a good work of software that you're doing as part of a bigger work of software. So it should still be the itch. Like, the second contributor should have an itch that is compatible with the first contributor.
04:01
Otherwise they're going to watch cat videos instead. So we need these people, these contributors, with the compatible itches and the skills to scratch them. And itch. Whatever.
04:20
For this, we somehow have to reach them, because there is no GitHub team that they should come to the project and, you know, see what you do, figure that they have the itch that is compatible to you, and start working. Which brings me to trick number one. Make something that you already know it makes people itch.
04:44
How do you do that? Clones and alternatives. If you think about all the talks today that we had so far, I actually checked it. Sorry, I wasn't in the augmented reality one, but all the ones, like, we had a talk about Godot, which is kind of an alternative for some other unnamed game engines.
05:07
We have lots of games that are like OpenX, like OpenAoE or OpenRA. We have FreeSieve, we have LibreOffice, it's like, in general, an open source project. So we see this a lot of times.
05:22
We just saw Porting Doom, and before that, people were talking about AI for StarCraft. But why in open source we keep seeing all these references, clones, and alternatives to regular software? And this is because it gives you a shared vision.
05:41
Like, the people had this itch in the first place. I played a game, I had fun. Now when someone tells me what his open source project is, he can say, like, I'm doing this, and I'm in my head, this was fun. I can do that, and I will have fun. Or I want to expand things, like the alternatives.
06:03
People have something in proprietary software that they don't like, they cannot change it. So they're looking for an open source alternative where they can. So in Wikipedia, I did, like, a very new quick check, and it seemed like more than a third of the project on the list of open source games were remakes or clones and
06:24
stuff like this, and this was not bypassing every line by just searching the word clone. And there's, like, a huge site of OS games, game clones. In general, it's a bit, you know, impressive how much of the open source work is not really
06:43
original in a way. The problem is that it limits your options, like, I'm, you know, I'm a creative person, I have my own ideas, why do I have to make someone that somebody else made? I want to make my project, and I want to find contributors for it. This makes sense.
07:00
And obviously, if you already started your project, it is a bit too late to decide that it is a remake of something else. So this brings me to trick number two. Actively itch your future contributors. Like, if that itch didn't exist in the first place, let's try to itch them.
07:23
Release your game, have people play it, gather an audience, and then when people play it, they're itching. This is very nice. It's a bit the same as we talked before about proprietary game, that they, like, created the itch for us, this time we create the itch for us.
07:43
If you're really, really, like, brave, just leave small imperfections that will annoy people so they want to fix them. I haven't done it yet. Yet. All the imperfections are not deliberate. It's just, like, part of the process.
08:02
It's very nice, because if people actually play the game, and people will have more patience trying a game than reading what your new fancy project is about, because a game is more attractive than just, you know, a blog post about, oh, this is going to be an amazing game.
08:22
No one's seen it, anyway. And you have a lot of control over the direction of the project as opposed to alternatives and stuff, and especially because, like, you made the first version. You really control where this thing is going. It limits the scope.
08:40
Like you cannot do a really big game like this, because alone you're not going to get to a playable version that will itch people just by, you know, just by yourself. And also it can only be applied before development, so it didn't even help to what I wanted to solve, which is a problem. We're still only talking about things that you can do before you start your project.
09:05
Okay, so let's see. What about projects that already exist? Yeah, the attractive. I know that we talked about dating and swiping and wanting, like, that people notice us.
09:20
So, in this case, let's say I have a project, any kind of project, show, don't tell. It's much better to put screenshots than text. It's much better to give examples. Be nice. I know this sounds very weird, but there are communities that the developers are not
09:45
very nice, and it doesn't seem like a very friendly place to be. Some of them manage to, you know, power through it, because many people really, really, really need to work with them, and they're like a monopoly like Linux. But when you are a small contributor and this is the way to be attractive, then be nice.
10:05
And make scratching as effortless as possible. Let's say someone is insane and they want to contribute to your project. There's a really nice metric that Adam Kariv did, which is the time of onboarding, finding and fixing an issue end to end.
10:22
Like, if you have a really, really weird framework and you need, like, to start up VMs and make dependencies and I don't know what, people will just not have enough goodwill to remain until that works. They just want to fix something small.
10:40
No one will ever come to your project, okay, no one, but usually people won't come to your project wanting to change it end to end. They will want to fix something small. Make it easy for them to do this. This is also about, like, language. If you felt like, oh my god, I have an amazing project, let's do it in Haskell or anything like I want to learn this fancy new language, don't do that.
11:03
Just pick a language that people know that people can work with, like Czech, Godot, and basically everything that was said today were in languages that people use. Open Raffer instance is in C Sharp, and while it's not our favorite language, many people know it and they get loads of contributors.
11:24
No, wait, this still doesn't help. I told you what language has to pick and everything, so you still have to think about all these things before you start your project. So really, I think this is the moral here. If you pick the wrong project, nothing will help you. Like, you can try, you can work with what you have, but really, really, when it boils
11:49
down to it, it's a lot of choices that you make in what the project is based on, where you're going, and how you're attractive to other people. This is what's going to make or break whether people itch about your project or not.
12:05
And wrong project is not about the game. Your game idea can be amazing, and it can be really, really good, but it's just an unattractive project.
12:21
You cannot convey to anyone you talk to that it is attractive in the attention span they have before they switch to YouTube and the cat videos. So really, this brings me to my last trick. The best way and the only real way to double your contributors is find some project that
12:44
has one contributor and join it, and then it has two contributors, and you've doubled the contributors. And it's not a bad idea, because there are really, really many of these projects around there, and one of them can be quite interesting.
13:02
And by definition, it's going to be an attractive project because you picked it, so you're attracted to it. And like relationships, you just find something that makes you happy. It doesn't have to be like the fantasy that you hold about the perfect game, and
13:23
it doesn't have to be popular or anything. You just need to enjoy it yourself. So the really cool thing about Trick0, you can always do it, even if you started the project, even if the project isn't started yet. And it teaches you an important life lesson, which is just a bonus.
13:43
And it spreads the love, of course, because open source is love, and we want to do it together. I'm quite biased, I must say, because I've joined an existing project, and I haven't worked on any of my own very crazy ideas for the future that I really, really want to start. And I would be happy to tell you all about them, but just like, I think that I spent
14:04
my time quite well. And the project that I work on, and I didn't even talk about it, is called Spring. It's an RTS engine, and it started as a remake of Total Annihilation back in the day in 2005. I've been a player before becoming a contributor.
14:22
If you see, these are the exact tricks, like this is Trick0, this is Trick1, this is Trick2. And when I think of how I became, I really went through all these processes that I was talking about.
14:41
So, you might say, wait, this is just like you're trying to stifle my creativity. You're painting a very bleak picture of how open source is just uncreative and cannot compete in this manner with proprietary software. So maybe I am. I do think that we are, in some ways, disadvantaged.
15:03
And if you do really want contributors, you have to work with what you have, rather than hope for things that are better. I'm sorry if I disappointed here. What is going on? Oh, yes, I have finished, actually, really fast.
15:23
Nice. I thought, no, it just really, really fast. Went fast. Anyway, so, questions? Yes? I know. I'd say some of the tricks are kind of really hard to, especially in Trick number two. Yes. Because it involves first the releasing of the game, which is already like a hell of
15:44
a journey. And the second one, which is even harder, is to attract the player, which is, for me personally, is even harder than to release the game, because releasing the game in the end is just a development. It's a lot of time, but you can do this on your own.
16:00
But to develop an audience, you really have to work, I don't know, quite harder than on development. So how do you actually kind of play this trick? Yes, so the question was, how can you do this when even releasing your game is really, really hard on your own? And then, even once you release it, getting to players and getting them to play your
16:23
game is going to be quite hard. So I think that, in general, attracting players will be simpler than attracting contributors. It's just like, look at every community.
16:40
They usually have more players than contributors, unless they're entirely bad and they're not even trying to find players, or I don't know what. In most communities, or successful communities that I've seen, the majority of people are the players. So it's kind of, I understand that it is hard to find players. But this is like the lesser problem that you get here.
17:06
And now about releasing your game, you're right, this is kind of the problem. And it's just like, if you pick and you plan your scope accordingly, you can do a beta that is fun and shows promise.
17:22
It doesn't have to be 100% playable, but it should show and give this itching that I want to see how it will be when it is done.