 How many of you have been at start or at work on some project and even continue participating in the project later, but still we're struggling about getting new contributors and even more even users for the project? Okay, is there anybody who didn't have such a problem? You were not coming. Yeah, so this is a typical problem that so many projects that I think have. And I have been at first of many different things during my career and outside of my career and I've been struggling with the same thing as well. So basically having any people to learn about the project, to get new contributors and in the worst cases to even get any people to use the thing, be it a tool, be it a different project, be it something completely that is not technical. I believe you are here to listen for some sort of best practices or you are expecting me perhaps to give you a nice to the least of thing which wants to do, you will ultimately and very quickly get a lot of people to start participating in a project. So if you are here for this reason, I would probably disappoint you because I personally think and from my experience I can tell you that there is nothing like an ultimate source of truth when it comes to getting more people involved in your thing. So what I would like to talk about is what works for me and what might possibly work for you. Because I think it's quite the opposite. The way to getting more people is usually quite difficult and it's usually a long run. For example, from the recent past, when we've been working on a project that we were starting in the company about a year ago, it was basically tooling for automating container delivery. And although at the beginning, it seemed like something super exciting, something that didn't exist within our company, and we knew that we would have a huge user base so that there would be a huge demand for it. And also in the beginning, there were many people who wanted to use it who were excited into getting involved in that. Even after several months in, we still have just a handful of people who would try it, test it, use it, but not really contribute. And even those who were excited at the very beginning would just stand somewhere behind and maybe more watch it rather than being proactive and don't contribute actively. So that was just one way of how I discovered that this is probably not going to go that easy as I thought. And right now, finally the project started to ramp up, but still it's almost a year gone and the expectations have really didn't go that way as we were expecting at the beginning. So how do you continue justifying the same approach? How we continue justifying them. So basically, since we are doing automation and we know that the processes, some of the processes that people are using for delivering their containers are fully manual and the biggest justification is the savings in time. And actually, we are implementing the tooling into the real world so that people can see the benefits real time, so that's also a way how we are slowly ramping it up right now, since we have the core pretty much finished. All right, so why should anybody care about the contributors? I believe that there are many of you here who have begun some of their projects on their own, some tools, for example, from YouTube. They just don't care about anybody else using. It's just something for their own use or something that they like to develop in their free time and don't really care about anybody looking at that or finding it on all of the platforms on the internet. That's okay, but on the other hand, there are people who want their project to become known because they know that it will always bring them the value or that it's something that doesn't really exist anywhere else. So what are the reasons why somebody should care about external people finding their project? There's a number of things, and I would say that all of them are very much interconnected. Inviting more people to participate is basically fostering a diversity in thinking. It is bringing people with different opinions, different values, people with different backgrounds that can bring you different ideas and points of view at the problems you might have. It might be bringing new ideas so when it comes to implementing new features or approaches to problems. That is very much interconnected also with the health of the project. Because although you are a senior principal engineer with 20 years of background, it doesn't mean that you know the answer for everything. I would say that people tend to live in a small box and even if you think it's very big enough with the box, there still will be many other folks who will come and let you think differently about issues. Launchability is another one. It's related, I would say it's related very much to keeping the project alive in terms of when you basically either don't have any more time or it happens to us throughout our life we are going to different stages so it might also very well happen that you wake up one day and you no longer want to be a developer, you want to become a farmer and don't care about code anymore. So it is nice to have somebody in the team have a community created around your project so that they can take over or just step in and substitute you when you don't have time anymore. And let me tell you a secret. That's two things that I start there and which people don't tend to talk about but me as a manager, I also always think in terms of how can I maybe outsource some of the work somewhere else and potentially how can I end up hiring those people to my team in the company but those definitely shouldn't be the main reasons why you are trying to let the world know about your thing. I was thinking about, okay so that was the result but how do we get there? When I was thinking about this presentation I ended up pretty much with two ways how you can get to invite more people and attract more people to participate in your project. And that would be bringing the value which should always be there but unless you have something which really nobody has come up with yet and just bringing the value will ensure that the eternal taxes for the project you have to make the project visible. There is a separate talk on how to make your project valuable and beneficial for others so I'm not going to focus on that one in this presentation rather than that I would like to talk more about how to make the project visible. Again, I would say there are two ways. You just have to market the hell out of the project either by doing online marketing or offline marketing so the old school way for people. Online marketing might seem quite easy because you know there is the advantage of having the internet of hands but on the other hand the internet has grown a little bit over the last decades so you have to put a lot of effort into not getting lost within the wide borders of internet. The two simplest things and things that you can very easily take advantage of are social networks and blog posts. Social networks you know which I'm probably talking about the most favorite like Facebook or Twitter. It's very simple to enter an existing group group that has similar problems or is recording around some area where your project would be relevant or be the technology area or be the language in which your project is written in. You can communicate with people who are in the group. You can help those people who are there. You can just ask for advice. You can ask about feedback on your tooling and people will likely help and can give you their opinions. Ignore that. You can always create your own group. You can have a page for the project. You can make it well known as well. And I would say don't be afraid to go big. Social networks are there. As I said, many people, the words of internet are big so as much as you can do, go ahead and don't be afraid of going beyond fear. The other easy thing is simply writing articles about your project. If you don't have any ideas, have a look at the other similar things or other similar contributors and have a look at what they are writing. You can start with your personal books or you can write to bigger platforms like opensource.com or other communities like federal magazines or even use big platforms like medium.com to promote your thing much wider. If you are not sure about the big platform or just want to start smaller or maybe aim at a target more target audience, you can always have a look around you and see what works around your local community be it your city or the whole country. For example, in the Czech Republic, we have a nice portal, root.cz which is a portal that is basically focusing the whole IT area or again, loya.cz which is revolving around the federal project. And these are platforms who are always looking for new contributors for more articles. So go ahead, do the research and take advantage of those. It's the easiest you can do and these big platforms will very likely do the traction that you are looking for and will invite more people to learn about it. On the other hand, there is the old school way of reaching out people face to face. How you can do it? Again, first thing that you can do is having a look around you. Look for things like that for example if you are living in Bono, there's plenty of opportunities but not just big conferences. If you are not comfortable speaking from the public audiences, you can start smaller. You can look for local meetups, local workshops or just meetings of people who are interested in a similar thing as you are. When it comes to meetups, you don't even have to attend meetups as it already exists but you can think of creating your own because there's usually a need for people to meet and talk about the specific technology but there is nobody who would take care of that and who would be organizing it for them. So it might also be a good way how to leverage this for your project. You all know how the influencers work on the internet and it's very same also in the IT world. If you have somebody who can just mention your project, take Ben Walsh for example, if he mentions your new container related tool, it will probably get a lot of people interested in at least learning what it is about and how they can take advantage of it. So if you have somebody in your friend circle or the circle in your contacts, ask them if they can mention it in one of their talks or mention it in one of the articles they are writing. And one thing that turned out to be quite beneficial for me was also participation in community events being as I said meetups or being at an event like Google Summer of course. For example, for our project, the automation tool that we are doing, we have been collaborating with students during the Google Summer of course and in the end we even ended up hiring one of them. So not only we sort of expanded the base of the users and people who would be contributing to the project but also there was a benefit for the work afterwards. So that will be for the promotion but how can you make people actually feel like they want to contribute to the project? So except that thing of bringing value with introducing your project, you should also think how you can make it easier for people to contribute. So also thinking about people who are not technical, how can you get those involved? Not just people who can contribute with the code but people who can contribute with documentation, with graphics. Maybe you might want to translate the project at some point so think about how you can get people involved who speak different languages and can participate and localize it to move. And most of all, you should always provide clear information about the project. And this is something where you can also get people who like to document things about something. The project should at least have a reading file and not just a reading file that says DVD or something like that, but a nice reading file that says what you are trying to bring to the audience or the potential users, why should they use it and how should they use the thing and maybe how they can contact you. That's one of the things you should also have additional information licensing, contributing guidelines, how people can contribute code, what are the things that you are expecting from them when they are filing an issue. For this, you can make a vantage of creating templates on GitHub or GitHub, there is the option. So that's also a way how you can make it much easier for you afterwards. What I think with people is communication, which will be there whether you want to or not. So make it easy for people to reach out to you. Make it easy to reach out by email or by IRC. Again, take advantage of the existing communities and their channels or just create your channel and then you can take advantage of plenty of other tools like Flick with their messages, Telegram and so on. And all the important of all, even if you have all of these means, make sure that you are responsive, that the people know that you are still there, the project is alive. Because when somebody contacts you and you just don't respond for a week, what would you think in that case? Things still alive, do they care about my opinion? Do they want my feedback? Do they want anybody from outside the community? So make sure that you let them know and you don't have to write anything all over it. Like I understand everybody comes to the point where they don't have time for dealing with messages or with outsiders, but you can always set up an algorithm, for example. And communication is related to feedback, which should be pretty natural when it comes to implementing this project out to the world and to other people. So not only do you keep the contributors feedback, which by the way should be constructive and should not be full of hate and just bashing the person in that extent that they won't return anymore, but let them be great for their contribution and give them examples of how they can improve it, how they can make the work better in the future. And on the other way, accept feedback. And not just accept it and just forget about it, but try to do something about it. Think about what the person told you and whether that's something that you'd like to call it. And you should care about fostering the team work. This is ultimately, if you are opening your project to the outside world and inviting people to contribute, you are building a team. So make sure that the people who come to your project and want to contribute will feel welcome. Say thank you when they come up with ideas, even though those ideas might not be great because you always have to count that there might be people as I said with different backgrounds or young people who are just starting. And one thing that happens quite often to me, me as Slovak, we tend to speak with Czechs in our own language, even when there are people present who don't speak those languages. So be careful and think about it every day we are speaking with people from the same country and think that the English is really the standard language so use it if possible. And as I said, be welcome, be thankful. There's just a few communities where the community owner or the project owner is a total asshole. And for some reason people tend to return to those communities, but it's mostly because they're bringing such a huge value that there is no other way. Example. Do you make a phone or a phone or whatever? Just enough to see if it really works. Yeah, so our project, everything, like all the sources are up streamed, so it's available for anybody to look at. So that's how we could also show it to the world and how we advertised it. So basically there are Vitas in Bernou, they're co-journal related, so we had a bunch of presentations in there. We have been writing articles at the Devil River portal that Brands of Pirate had, we wrote some articles for opensource.com. We are participating at events like this, so having those and basically talking about the stuff. Okay, how do you like the same approach to seeing how do you not just apply it to say, this is the key, this is the same approach, how do you read it? Being able to justify the value that you're bringing, that's really the time that you are spending into the project will pay off in the future. So it's exactly very similar with the my manager and so maybe other upper managers and those managers don't really think they care, because the information that we are doing is mostly for the developer. So I would say that it's staying somewhere among the line managers or maybe one step higher where it doesn't really go into the huge executive.