 Thank you Okay Let's get started. So this talk named from fun to business is about Maybe like three main things the first one is the most important thing fun Have more fun, please. This is like my major call to action. I want you to have more fun And it's also a bit about open source. It's a bit about how we grew the koala open source project and Then in the end we will be talking about like Even what what do you do if your open source project takes over your life and you're like 30 hours a week in your free time Maybe you can try making business with that while keeping the stuff that makes fun So fun is really essential That actually means or Can mean in my case Sometimes making less money Can help you making more money per hour like just like do only stuff that is fun and if you have like not enough time and People are willing to buy that time. It's a normal freelancer You can just charge more per hour for example So we will be talking about those kind of stuff as well as then being an entrepreneur So the red line through this is basically just my personal story because I Basically started out as a student in a university and I was bored So when you're bored, there's basically nothing better you can do with your time than writing operating system, right? So that's what I did and and that was called Yafos yet another free operating system and That was like a I was a colonel it had it even had like multi-processing in the end and it was printing ace and bees and parallel on the screen and I was very very Excitedly showing that to my girlfriend and she was looking at me like a sheep But you know it was fun and I learned a lot about it and I never regretted doing this kind of project But what went from this project? Eventually we had lots of code and it was lots of shitty code and I had a friend I was like Hey, do you want to join this? This is really fun writing an operating system colonel and see he was like no way I'm going to try something new Python And I was like very skeptical a language that uses indentation But he did his stuff and then he wrote He wrote basically the first version of koala back then which was a Code checker that actually already dynamically loaded Python routines that would check my source code because it was also ugly and badly readable to Go to be a bit a little sidetracked from that story What happened then was my introduction to open source and that was a Google summer of code short Gsoc For those who don't know a Google summer of code who knows Google summer of code Great who raises his hand when they ask him to raise his hand like everyone raises hand Okay, that didn't work interesting Google summer of code For those few who didn't raise their hand is a program of Google and they set out scholarships For Pete for students to work on open source projects over the summer. The motto is basically flip bits instead of burgers It works pretty well, and I had a Google summer of code at GNOME So I was working with GNOME, and I was learning a lot especially about gits Gits and git commit messages And more about gits. So that really shaped the way I am nowadays working and thinking and it was the first time I worked on real life project and that and that was way beyond University stuff because much of that like especially like how you work together in a team is never being taught properly in universities and All that people know outside universities seems to be the git flow Which half of the people think they use but don't use and the other half of the people maybe use I don't know But do you do to this Google summer of code I got involved in open source and Eventually we made koala like a proper open source project and we renamed it and we rewrote it and out of sudden people became interested and This was really unexpected This whole project was just done so we could have a refund you see a pattern here, right? So eventually people got interesting interested and helped us doing this Because a lot of people are asking also last time after the talk like what is koala anyway I Will do like very very quick presentation of what koala is koala. I mentioned this earlier Analyze source code it finds problems in the source code and it also can fix some of them So it can give you patches. It's like a linter, but it's a linter framework So if we look at the world of linters, we have lots of different tools Like really lots and lots and lots of tools and we have lots of ways to use those tools And it's basically like rewriting labor off is just a spell checking for another language, which is kind of stupid But that's how the world currently looks like So koala is a framework that allows you to write code analysis and it gives you the whole user interface for free So you just write the logic And what we also did was We wrapped the existing tools so koala is one central API I can take all tools wrap them to it and then again you can use all those tools in Sublime if I want to or maybe directly in GitHub as though currently the code analysis provided is for more than 60 languages and If you want to know more you can come to our stand, which we have in the hall. We're also some of the food is At some point we had a problem a Very comfortable problem to say so So this is the graph of the github stars, but the contributions like the number of contributors behaved similarly and with programs like Google Summer of Code and with hackathons we had Lots and lots of people joining the project Lots of people also only for a short amount of time But some not and we had a community that was steadily growing And we really had a problem of we have those great Mainteners who are all helping us And they are all busy Inviting newcomers assigning them to issues GitHub permission system is totally broken in case you don't know it like you can't Give somebody access to take an issue without giving him full right access on everything Also, you don't want to have all your maintenance have administration excess being able to change everything like inclusion Including branch protections. I wish even I couldn't change that so with that we had the need for automation and Also, we Investigated like what makes people come to open source projects and what makes it easier for them to get started So as for the last thing I basically took like what I learned from gnome and what I think that so to say went wrong Or that could have been better and a few of I'm now presenting like a few things a few tips and tricks if you want to if you want to make An open source project if you want to get contributors and it basically is down to make contribution easy and make contribution also rewarding if you can Because in the beginning as a newcomer you have two problems You need to fix an issue in a code base that you don't know and At the same time you also need to learn a new workflow and that is the git workflow usually the workflows in open source projects are like More complicated than what people know from their company or from the university Especially if you have like a proper workflow meaning no merges and fast for us because you want to have your passing CIO also passing on master So you can for example introduce issue levels and That is a very simple tool It basically says like whenever you see a typo in your documentation or anywhere Something that is really really simple to fix something that you can you can grab any person on the world Tell that to who can speak a little bit of English tell that person to fix it and that person can fix that issue That's a newcomer issue And the newcomer issue is critical So people can learn the git workflow people can learn the git rebase people can learn how they can make pull requests and if they can do all that not that's fine, then they're done with this in five minutes and if not then they learn this and Usually like I think almost every contributor and that includes to experience people because workflows are special every contributor learns something The next thing is that You also have the problem like you have few maintenance and you have lots of newcomers At the same time like those newcomers You want them to be part of your community and you want them to grow up You don't want them to feel like I'm just a contributor and there's those holy mighty maintainers So what you can actually do is like let them review code of the maintainers and the maintainers review code of the newcomers because The maintainers are maybe more experienced but the newcomers are also providing a fresh site a fresh view on the code and They they are a good complement to each other and at the same time newcomers feel respected and their opinions are taken into account and then they also grow up faster and They can become a maintainer eventually and This this whole border of maintainer and newcomers just like a permission thing There's nothing more Yeah, so those quotes I sometimes have quotes here those are things like when I asked the Call our community about like what do you like or not like about our newcomer process? We I don't think we had any negative comments on stuff that we did accept that Reviews are not fast enough. That is Problem for us at the moment so the next thing is same a Bit in the lines of before we can learn from newcomers like we the holy mighty maintainers We can learn from the new people Especially when it comes for example to the newcomer workflow like how did this go for you? Did you have any problems? Where are your problems? It's like you can use ability test your newcomer workflow And then you can make it very easy to contribute and then you can get more contributions It's basically as simple as that So you have to iterate and you have to think like a startup and That is a decision that you really have to make Because you can't really Progress like super fast with the maximum of power that would be like having all maintainers working on all important features And instead you can decide you don't have to to grow your community And that will cost time it will cost a lot of time for the maintenance and everyone But you will you will grow as a community and you will have to think like a startup because a startup Usually doesn't think about like revenue or short term goals. They want to grow as fast as possible and So I think this comparison is like really an interesting thing and that is something that an open source bridge It has to decide what is my priority? so eventually This became the full-time free-time occupation as I hinted earlier And now we're getting a bit into the automation part so We started writing a tool that Reviewed the pull requests of our people automatically using koala. We already had the code analysis tool So why not use it why not have the newcomers automatically being told hey your commit message is not an imperative tense Or you have a trailing period in your commit message. Those are like the most Common issues for newcomers are they have to learn the commit message guidelines or also the code style and This way newcomers get an instant feedback on GitHub for the code Yeah, I don't have a demo for this right now, but It's it's basically just a bot that automatically commenced right in the GitHub diff And You can go further you can automatically label issues if the issue label is in the issue text So people who don't have access to labeling issues can just mention them in the body You can build a chat bot to assign people to issues so they can self assign them without having right access to the GitHub Propositary I will do a lightning talk about the chat bot right after the stock in the lightning talk session and The next steps for us are we definitely want to look into finding duplicate issues for example Because the issue base grows and this is all stuff that sucks up maintainer time and that you can automate So thinking about how can we turn this into business we have this I'm working on this. This is all great. It's totally fun But it's not really sustainable forever and open source community can only grow so far with love and error, right? So I personally started to go freelance at some time Problem with freelancing is it's kind of hope business As the founder of an open-source project you usually have something that you can show to people and that definitely works It's usually being perceived as a very impressive thing, although like It's just luck, right? Plus a bit of like iterate and take feedback seriously, but it's nothing really special So What I try to do with my freelance business is I basically try to make a sustainable business model And then I tried building this website and this totally failed So I'm not showing an advertisement here, right? This is a failed product Because I think it's also important to show things that do not work This was for example like hey, we're good with open source We can grow open source communities and we have shown success here We can show off stuff and let's just Try to build packages that companies would pay on a monthly basis That to help companies building open source projects and Like we didn't fully check that business model like to the book with some lean startup methods but I did talk to a few people here and there and We had the website up and there was No interest at all in this like nothing so we screwed this and I found a new project new product which is Working on MVPs for startups, which seems to go better I think one lesson here is if things are screwed up Just throw them away like that's okay, and then maybe you wasted a bit of time But that's no reason to waste more time, right? so Apart from this freelance business we were like how can we make a Business that suites more than one person. It's again like how can we make a product? Also, especially a product that is related to koala and That is basically what we tried with gitmate or what we are currently trying with gitmate and We're a startup. It's completely chaotic. We have no idea where we're going I think it's good that way. It's very fun. It's exciting Actually, I can show it like this was the automation that I talked about earlier So every poor request would get a poor request state and You can you can have comments right in the diff that basically show you how to build better source code and We are not fully sure how we are going to make a working business out of this We got some government funding. We have a first client that pays us for GitLab support for this basically But it is possible to Go out with open source products to build Solutions that are free or at least largely free. We are still considering the open core model Which is what GitLab also does? But it is possible to do that and I'm saying you can do that and I can do that like you just have to just do it and The main lesson is again Have fun in whatever you're doing and Don't be afraid of I Need a hundred bucks more in my bank account If you don't really need it, I don't know there may be cases where it really matters, but In my case like it does not really matter. I can pay my rent. It's not a lot, but it works and I can have fun doing what I want and I think that's more important than having way more money that I would need or can eat And that's basically the main message and with that I'm Opening up there on for questions With the hint if you want to speak more like if there's any questions that we can't talk about We have a koala stand in the main Hall where all the other stands are I'm mostly there and you can approach us with any question you like I don't know and if it's what do you take per hour? I don't know be blunt, right? Just come around and also consider coming at the hackathon if you want to get hands-on on Anything koala git made or your own project Right Okay, so any questions Thank you. Last for this wonderful talk. We have some question We can go for Okay, do you want to add more about the project itself? We have some minutes. Are you sure there's no questions? Okay, I Don't know. Is there anything that anyone would like to know? I Don't want to bubble all day long with nobody actually wanting to hear more information And we can just close this and if you have questions Yes, so you just you just take some time for the first question to come Hello, my name is Hanyari and I have the same issue that described if GitHub not being allowed to give other uses to tag the issues or Assigned to people to fix. Did you try any other? Workflow instead of like having a bot to try to do that work Sorry, you're you're asking about the permission problem. Yes, and if we tried any Existing bots or solutions to that? I don't know. I just wondering because I Think it's a big issue for any community that you are trying to build to like not being blocked just because Someone decided no, this is a feature that we're not going to implement like giving permission for Brandon people So do you know the S flag for UNIX executables? Sorry, do you know the S flag for UNIX executables? So basically it says like this application has administration rights Even if a non administrator runs it, right? It's used for for example, plus plus WD like for changing your password You need access to a normally read-only file So you have applications that have root access that otherwise don't have root access We basically did the same with GitHub by having a bot I Can show you? so we have a chat bot and when newcomers come and the page loads They have to wait until the page is loaded and After that they basically just like right hello world into the chat And then we have a bot the bot has a github account that has full administration rights Okay, so much for that The bot has a github account that has full administration rights, so Here so when you write hello world the bot can just invite you to the organization and Tell you like here. Take care of that. Take care of that. We have documentation about newcomers guide and everything and Then you can just do portable assign me assign me to that issue give me that issue and All those newcomers don't have access to the repository but through that bot like this executable Which can perform actions for you But only selected actions the bot can assign people and then you don't have this permission problem anymore and That's this is open source at github.com Slash koala slash codeable. I will present it later in the lightning talks Did this answer your question? great We can take Okay, I think probably they're waiting for your lightning talk they will happen soon so Thank you so much last game