 Thank you for coming to the softwares easy people are hard panel How many of you believe that's true that softwares easy and people are hard? All right, you've worked with people and maybe software. So there we go These are our panelists Introduce everybody you guys almost sat in the right order. That's amazing. Not that you've seen these slides almost This is Steve Blackman of Apache Streams project. This is Sharon Voga Did I say that right? All right a patchy office. She does a lot on comdev Helped to attack one year when I was there. That's how we met. That was awesome rich Bowen who you've probably seen a lot of already He's famous Exactly he cut the cake and Daniel Bruno who's mr. Infrastructure with all the other mr. Infrastructure's and Mrs. Infrastructure Yeah, all right, so that's how that works. These are our panelists. I'm Benjamin young. I'm big blue hat on the Internet's I'm in a patchy couch DB and I'm incubating a project this Panel is important to me. I'm here to listen also I'm just gonna ask provocative questions and let these people solve my problems and you guys get to listen in I've been in a patchy for about six years and Incubating is brand new to me. So I have new questions One of the questions that Apache that gets asked a lot is who's in charge when everybody's in charge, right? Everybody gets a vote. How does this work? I'm gonna just a quick overview of this and then we've got the questions This is kind of how I perceive what happens. Sorry panelists The stuff's behind you the Apache way versus something right the company or the BDFL or the Linux or whatever and these are the words that are in my head like community overcode versus coercion volunteerism versus command and control top down bottom up stable unstable and An image that helped me when I was getting into Apache was this one about what it looks like to be a leader versus a boss or a manager The boss is on top, right? He's just calling the shots and the people are doing what he wants them to do and then in Apache it's a little bit more like the leader thing where you're just one of the guys pulling something and You people are following you because you're leading That's the idea So let's get to these scenarios How do we survive in this environment, right? So it's an area one I've got a github based project. I'm the BDFL. I really like my code This is my project and for whatever reason I've thought, you know community overcode is promising I get it. I've been doing Apache con once these are cool people. They know how to collaborate Now I want to transition from just me to a bunch of other people What are your insights panelists into how I give up my like Dominance and share it with other people and Do you have any experience in that personally? Go for it. Oh, you need a mic. I do have a mic. I have to do that too So transitioning from a single dictator to sharing leadership with the community it can be difficult for reasons that aren't always immediately obvious because You know if you're determined to give up control The difficult part is having other people accept that responsibility and and so you know if people continue to look to you for leadership You often have to refuse that you have to you have to actively give the keys to someone else and you know this get this can happen as easily as Someone asks a question and everybody looks to you for the answer and you pass the mic To answer it, right? You you refuse to answer the question on which you're the authority you say let's hear from someone else instead and you refuse to answer it, but Yeah, that to me that what I've observed is that that's the difficult part getting getting the community to actually step up To to recognize that they're allowed to so you have to you have to very actively allow them to step up cool I think sort of following on from that It's that if you've decided that you want to transition the project then you're actually thinking that hey I can't do it by myself. I do need some help and You understand that there's going to be some sort of process of adjustment. There's going to be something and You although you're the center of the knowledge It's going to be hard for you to to say no to answering things You know people are coming to you and you say all right I do know the answer to that but maybe I need to just wait a bit to see whether or not somebody else can help out and That's the way you can sort of empower People to join to show that you're open to show that you're willing to accept and Learn from other people as well. I think this applies more generally to being a leader manager of People will often Look to you to kind of help them understand what they should work on and why so part of getting them to Take over something is Pointing them in the right direction and encouraging them to try that thing and to giving them good feedback when they're When they're doing it well and then talking to them about what parts do you really want to be working on? Not all of those discussions will Happen in a public forum. Sometimes you have to you know kind of get in the mix and develop a more personal relationship and understand someone's Aspirations and technology or business or or whatever And kind of prod them in a direction that kind of makes sense And then if it's the right direction, then they'll thrive Daniel any thoughts on this one You sweet There's also the the aspect of giving up the direction of the project if you're the The leader of the project the the only one coding you have in your mind the specific goal you want to set And when you give up the project you also have to give up that goal because That is not what other people might see in your project and if you keep Setting this is my goal. This is the goal of the project then It's it's It's it doesn't come a community project It's still just your hobby project and it doesn't have the legitimacy of for example in the party project if it was Personally, I had like I had a project called pony mail Which was just me for a while and then some other people came in and say hey We want to help and I was like that's great and the first two or three months was pretty much Well not in public, but in private. It was just infighting because we had different goals We all wanted the best for the project, but I had trouble giving up that this is not my project It's a community project And I had to kind of just shut up at some point and let other people Get their say and get their way Because otherwise I won't get any contributors and if I don't have contributors then the project is at some point going to die Because I realize I'm not a Maintainer we have two different kinds of people maintaining or building code in the patch We have the maintainers and we have the entrepreneurs that the entrepreneurs start up the code and then at some point they burn out or they give up and Then you if you don't have any maintainers the project just dies so the Goal for me as an entrepreneur is to at some point shut up and give the What you call it them Well give the the gold definition of gold to the maintainers because they're the one that are Going to maintain it for now and forever and not me So even though I love for example pony mail I can't be the one that decides this is what's gonna happen in five years because I probably won't be Well, I will be developing but I'm if I lead it. I'll burn out and then the project will die so sorry at a very early stage you just have to Not give up the project But you have to give up the reins and you have to shut up for a while and let other people figure out What what do I think about it and what do they think about it and I Have no idea where I'm going with this. I'll just hand in my go-brother The next scenario may help you out or one of them will for sure So what do you do when you've done this and you're starting to share your leadership and everyone else is wrong like I've got this Going this is my baby and I'm sharing it now and I'm okay, and I'm trying to share it I want I want to do that But everyone's just wrong right like they don't understand why we're here. How do you how do you do that? How do you like? Grapple with that and you don't want to be that person in the project, right? Well, you can probably want to start by Recognizing that they might not all be wrong that you might be the one who's wrong If you're standing in a corner all by yourself It might be because you're not thinking through it the same way that they are and they're Even if they're newer they're take on What the project can and you know cannon should be is just as valid as your own? I think that's an interesting comment as well. It's I think it's about Being able to see that other people's opinions are as valid as yours By saying that you know everybody else is wrong. It's effectively you're discounting everybody else's opinion I mean, yes, you may be you may have something but if you can't portray or communicate that value that you can add to other people then You might as well, you know, you're by yourself You need you're there because you want to be part of the community you want to work alongside other people It's not about One person it's about the community So it's about understanding and respecting other people's opinions too. So maybe look if people are telling you that you are wrong Okay. Yeah, maybe Where am I wrong? What do you see? Why do you think I'm wrong? Ask questions about it rather than making a you know, they think I'm I'm right and they're wrong so ask questions try and understand why people think that you're wrong and Get to the bottom of this and I think once that dialogues created then you've got some common ground to find out Okay, maybe I need to think about something a bit differently Maybe the other people once you they started up you answer the questions for them. I think oh actually maybe you know Hey, there is a bit of merit here. There's a bit of something interesting here, but maybe you just didn't communicate at the correct one there's a number of Scenarios in my various worlds right now that that overlap around this particular question So I work for a company that has grown from 4,000 people to 11,000 people in the last four years Which means that the old people are in the minority, right? So who's who's right? I work for the Apache software foundation where we've grown from one project to 200 projects in the last 20 years And so those of us that were there the first year are no longer in the majority so who's right and There there comes a point and this there's an internal discussion at Apache that's going on right now around the question of what our core values Who gets to decide what are the core values? Is it the the people with gray in their beards or is it the majority who care passionately about this thing? And this is a conversation that will happen Always in any group of people that grows beyond the original founders So you have the choice to keep it just us and our little social club or open it up to the entire world and Allow them to mold the direction But you do need to determine what are your core non-negotiable values and and stick to them so You know if I were to pick a software project the core values of the Apache HTTP server are that we adhere to the HTTP Specification that's not something we're ever going to negotiate away The core values of the Apache software foundation Well, that's a little bit more difficult to pin down but it's something that you need to determine and Document and stick to and and be willing for that to be the hill to die on not what color you paint the bike shed And I'm gonna go in a completely opposite direction and say if if you don't want to be that person You just lay on your back be completely defenseless and say I am actually wrong Let the others be right for a for a change because in a in a systemic context Everyone you talk to even though you disagree with them They're right and they have a reason to be right. You might not know it, but in their little Bubble They are right when they say they're right. It's because they have reason to believe that they are right and You probably also have reason to believe you're right, but you're being defenseless Sorry, you're being defensive because it's your project so the the goal of for you if you don't want to be that person is to Stop being so defensive about your project And it's it's really easy to become Defensive of your project when when you build it from scratch and someone comes over says well that doesn't work or that is technically wrong But in your mind because you made all this you know exactly why it's it's right and not wrong You just can't explain it because there is your actually you are wrong, but and The way you imagine the project in your head Everything is fine and if someone comes to criticize it. It's not the project. It's not the software. They're criticizing It's suddenly you they're criticizing or so you think so you gotta just Lay on your back belly up and say I'm sorry you are right I am wrong if you can't do that then you can't grow a community because It'll be your project and you will be the the not even the beneficial dictator for life You'll just be the dictator if you can't lower your defenses And that took me personally a while to do I Hope I'm there now We still have some infighting but it's It's getting better and we're getting for in my project. We're getting more contributors because I am Kind of saying I don't want to deal with it you deal with it and then They eventually they're the new people will deal with it because they do have an Easter scratch so they look to me first and If I just shut up then eventually they will actually Do it? Have so I've learned So set back lower your defenses say the word sorry I'm wrong or I might be wrong And that will that will also give them confidence to Contribute more because hey, I got an idea and it didn't get shut down the first second. I said it So maybe I write maybe I can contribute. Maybe I'm actually good at this It'll give them a boost Yeah Buffer comm It's like a social sharing thing They have these great articles on collaboration because they're all remote and they talk about a no ego doer Which is like somebody who's not Basically what you described not super self-defensive, but out there doing Contributing in some way this combination of things and I liked how like solid you said like you just got to do this And then there's room for other people to have an opinion. All right, let's see what's next great thoughts all All right dealing with that person. So it's not you you've you've taken Daniel's advice And it's great advice But now there's this other person that's shown up and and they are an ego non-doer perhaps And they're just throwing mud in your issue tracker and and being that person How do you do? How do you deal with them? I mean, there's no really like maybe they have commit bid already, right? You can't just like punt them out. I have a good soul. That's called whiskey Oh, we can just go on the next slide then It's it's super difficult to answer that because you you really you have to well first of all you have to have patience and you have to have a I Mean code of conduct and all that plays a side you have to have a place to vent also and and it shouldn't be the public mailing list for God's sake It's a patchy is it's open. It's open development. It's over discussions But you're allowed to have a small group where you say, oh my god, I really hate this person and you should Because if you don't vent Privately you're gonna vent publicly at some point and that's not gonna just affect you It's gonna affect the the entire project. It's gonna some journalist is gonna snoop it up and say hey this party's in trouble and Then you won't get contributors and Then it goes downhill so Find a place to vent find some scotch and Because you can you can be a What I want to call a legal jerk You can be you can do something that is allowed, but it's not cool But I can't kick you out Like it's okay for me to yell at my neighbor. It's not cool that I do it It's not but it's not illegal so I could do it and he couldn't do anything about it So that there will be situations in which we have no tools for dealing with people that are just in the Right above the line. They are not People you can throw out But they're also people you don't like so Find a find a place to vent privately get some scotch and if they if they break the code of conduct It's quite important to have a code of conduct and we have that at a patch, you know things to join us two years ago We actually just we just did it we added a code of conduct But but it doesn't cover everything and I have personally no way of dealing with See there's a name I want to say but I'm not gonna say it But yeah, the panelists know who I'm talking about that kind of person I have no no quest no way to deal with the person. I have a boy to deal with myself and my feelings for that person So I'm gonna pass the mic on to someone who probably also has no idea, but There's so many people you could have meant and there's not enough scotch to really There's you know something that we say at Apache is that community is Community over code community is more valuable than code and So, I mean this is a very it's a very difficult question because there's so many different scenarios in which this might apply because some people are actively destructive to the community and other people are just folks that you disagree with for reasons of ego or for reasons of technical direction or whatever so There is a There's a presentation that was given by One of our one of our members. It's called dealing with poisonous people. It's it's worthwhile watching I don't agree with everything that Fitz says in that but It it's important to consider before it happens what you're going to do to poison do to do to people Do about poisonous people in your community As Daniel says we have a code of conduct, but what's lacking from the code of conduct is the or else The the enforcement aspect of it if somebody breaks the code of conduct then what and that's a very important thing to consider Before it happens rather than trying to figure it out once it's happened My view is probably around looking at Separating the the person from the behavior So is it the person that you don't like or don't get on with or is it the behavior that they're exhibiting within the community So you might have the case where you get on with somebody quite socially but on the mailing list They're quite disruptive So there there's a there's there's a separation there or you see this is why I think it's a bit complicated so I People are hard. Yeah, so I mean if it's a behavior I mean people are adults as well and have the ability to modify or change their behavior Maybe from a cultural perspective They don't realize that it is an actually aggressive or negative or whatever behavior And it may be that it's part of their culture to be maybe abrupt or whatever so one Way that you can deal with it is to have a private conversation with the person to Understand to see whether or not they realize that they're causing disruption in the community because they might not realize it you know and This is something that you can attempt I think and to see whether or not that the person can be Given the feedback that they are causing some disruption and if they can adjust that behavior, that's fine If they don't believe they're they're wrong or the Etc then yes, it's going to be quite difficult and I think I agree when you say well with the code of conduct There isn't an or else piece there you can work through it and you've got somebody in the community and you just have to be Patient and you also have to be not drawn not not be Pulled into an emotional sort of battle because that's what it becomes it can escalate into like a war and a battle So once you get into that stage, then it it's like you know, it can be really really negative and destructive So first of all try and approach the person try and understand the behavior and if that doesn't work Then yes, you just need to be mature about it really Just real quickly. I want to appeal to a higher authority I'll quote scripture at you if your brother offends you approach him privately and So I'm quoting from I'm misquoting from the letters of Paul in the Bible And he says if your brother offends you go talk to him privately and that usually works and if it doesn't take two or three of your friends and talk to him again and That usually works and if it doesn't then call this person out in front of the entire community and If that doesn't work, then throw them out. So there you go. I Don't have any specific experience with Community saboteur, I guess just kind of what we've been talking about here But to the theme of giving up control, right? I'll note that people that are coming into your project are bringing their own mindset and experience and preferences They're gonna often find fault with how things currently are and You know the the proper response. I think in those situations is a I'm really glad that you're interested in this I'm really happy to you know to have you here trying to make things better Yes, that thing that you said isn't good enough. You're right. It's not good enough, right? how about we talk about how to make it better and then you know as a as a Person with a vote as to whether something gets accepted or not just be very Explicit about here are the criteria that I have for whatever we would replace it with right? Here's the current thing does these things the new thing should do those things too as well or better and then If that person wants to take the lead and making a larger change You should be supportive of that a hundred percent even if it means Swapping out the familiar for the unfamiliar Say two things to this the first one is I'm gonna quote the letter of rich Bowen That there is much on her in the email not sent If if you have one of those People on the mailing list that just irks you and you have a really really long rant about him or her Step away Save it as a draft look at it the the next day And then hopefully you'll you'll just delete it Because we escalate especially at a patchy also because we are we are so committed to a patchy That things escalate very very quickly because we both believe that this is not the core value of a patchy Or this is the core value of a patchy or this is Definitely a technical decision and you might say it's not And because we're both so committed to the project it escalates very quickly So always take a step back Look at your email save it, but don't send it and then look at it later when you cool down and That really helps a lot or just delete the email that irks you and also What's the name Jenna lichens? Yeah She does a great talk about something called this con. It's kind of like Defconn, but for Escalating or escalations in in in the way that people talk to each other on the mailing list or in in in real life And about how you can analyze and find out what sort of level are we on are we on death con one or two or three or four and Depending on what level you're on how do we disengage and and go to a lower level? How do we make people relax? It's I think it's on YouTube somewhere She's done it quite a lot. So you should go check that out Awesome Thank you all and in case you're not noticing a lot of this is applicable outside of the Apache Foundation Have a have a sent mail or a drafts thing full of all your angsty emails Yeah, really it's cathartic if nothing else right all right next up No one else cares So I'm here I'm working on this project and maybe there were other people at one point and everybody was excited and then they left the room you know Digitally and and now I'm trying to get more people in or maybe it's my incubating project And I'm looking at you Steve and you've been banging and banging and banging at this thing and nobody's showing up and come on Please please I've been six months in an incubator project trying to drag people in so so what do you do that? How do you incentivize volunteerism? How do you get people to care either as much as you do or ideally to Daniel's earlier stuff more than you do? Well, I have the mic so Sometimes You have to Well, so Daniel already already gave a concrete example of this you step back and you see what happens And and when you do that You might somewhere in your mind have to be willing to accept the fact that nobody does care that this is a project that only matters to you and You know, that's okay but Some projects don't don't become what you wish them to be but very frequently when you step back from something and it starts to to fall into disrepair the people that do rely on it step up and make it happen and This organization is a result of just such a situation There was a web server project. It's called the NCSA web server the person that worked on it got a job and quit working on it and It laid abandoned for six months and then some people that realized that it was abandoned Stepped up and started working on it and here we are today I think When you when you look at projects, I mean we have the the the various mailing lists So we have the dev mailing list we have the user mailing list and a lot of the Activity around the project tends to happen around that on the dev list because it's you know creating releases, etc So I would say, you know, look at the user list. I mean, maybe I'm linking into The talk that Steve did Look at the user list because that your user base your your project is creating something people are Downloading and using that, you know, it's a those are the people that maybe maybe What it will be interested in doing something in contributing because they're using it already. They're already customers, they're already clients and if there is the possibility that Hey, you know that we're not no longer gonna be able to have this when I've no longer be able to Maintain this or or do this and actually well we're getting value out of it Maybe it's time for us to step up and do something So I would say maybe sort of reach out and look at the the user base because that is I think a really what a wide net Where you can capture Potential people that would be interested in in doing something for your project So the reality is in a lot of in a lot of circumstances just because you build it doesn't mean they're gonna come, right? of And so what what I've learned is that you have to be You have to be a recruiter like you have to identify the people that you think will be interested You have to reach out to them and you have to sell you got to convince them Here's why this is exciting Here's why it's important. Here's where it's going. Here's how you specifically can come make it better and Fortunately, you know, there's there's an imprimatur to being associated with Apache I think we those of us who are in it deeply don't you know, think about that as much But that can be a strong motivating factor to people who aren't part of Apache Here's a chance for you know work with people who have a lot of experience in software and an open source and You know my team is looking for people like you to come in and be a part of it so don't be afraid to sell all the valuable learnings and you know career credentials that that are that can be potentially achieved if they do a good job and work hard And you have to understand what those individuals are motivated by and Encourage them to participate in a way that is going to be both interesting to them and Fulfilling for them over the longer term if things go well I Another comment I want to make is that I was at a conference and somebody came up to me and they said hey One of the things that I really admire about Apache is that you have the attic in the sense that if it's time For a prod to retire a project that there is a place where the code goes all the information goes And if somebody at a later date wants to pick that up They can do and that was an amazing thing that I heard you know Hey, somebody somebody's happy that we've got the attic and it seemed a bit strange, but you know listening it It's it's part of what Apache is it's part of you know, there is a cycle of projects They're not everything is going to last forever. We want things to last forever We build an environment for things to try and endure, but some of the projects are not going to make it So let's make sure you know We've got a place for that and we've got we've put in a provision for if anybody wants to come along in the future Pick that up and get it moving again. Then they can do one other comment, oh and there's a Henry had a comment about the the attic I guess So something I wanted to share was there was a study recently around socialness and what makes you successful Being social and as an inch of it likes to hide at the back of the room. I Was kind of reading this and it said there were two things one was be where the traffic is So if you're at a bar if you're at a party when you'd be social be by the keg be by the drinks Don't be in a corner and the second one was listen Don't be a don't be a talk who's telling everyone everything and pushing his opinion out Be someone who's listening and I think this actually works really well in this case is as an open source project we tend to make the project and we think the place Where the conversation should be is with us on the project, but that's not where your traffic is your traffic is not yet with you So when you've got a user list your traffic starts being a user list but before then where are your potential contributors? They're not even with you yet. So you got to get on Twitter. You got to go to conferences You got to tell people about what the thing is you've got But you want to argue little on the selling side is I think you don't need to sell I think you to ask people what do they want to do with it and you just sit and listen Because that turns them into an owner and a member of your project rather than into a customer And so there's my two ones like traffic and listening So the other thing I wanted to say is that you need to Preach the message that software projects are not just source code that other places where people can contribute are not That are there at least as important as the source code and often more important Encouraging people to contribute to documentation is often the the gateway to them eventually Contributing to the source code, but maybe they'll just contribute to documentation and that's that's what I do That's what I've always done at Apache Marketing helping you get the message out That's something that people can contribute to without a degree in computer science design is Something that every single project at Apache desperately needs if if you know how to design anything from a on-screen widget to a website to stickers to physical goods every Apache project desperately needs your help and So again, just just the message that source code is is only a fraction of a software project My answer here would be fake internet points and by that I mean there Usually when you have a project and it's not going that well you think oh, I've got no users You're just not looking the right place You're not looking where the contributors are because again, they don't have you don't have fake internet points to give out If you go to a place like Stack Overflow, this is I'm stealing rich's thoughts here We have we always have issues on the way a patch grip server with People not showing up to write documentation or helping out answering questions and we're like well, where are they? Why don't anyone care about the documentation? They do there are thousands of people out there. There are bursting to come and help us with documentation They just don't know where to go So they go to Stack Overflow and they get their fake internet points and they answer Sometimes they give the wrong answer sometimes to give the right answer, but they want to help and We just suck at finding them and bringing them back in so we The thought I had this morning was at Apache. We should kind of get Some sort of fake feather points or whatever Karma that there's in your cat that is cross community So we could track how well people contribute to Apache projects And then maybe make them commit or if they get a thousand points or something like that because it kind of matters to people that they have a Stab that says I am helping out blend and they might not be a commuter yet, but it's Even though it's fake. It's real and I really think that we should sort of in a way do that at Apache and in the individual projects to Give some recognition that isn't just committership, but is something That everyone can have without having to spend days on and committing patches to to the project It's a great idea and then we can apply the Fedora badges program. Yeah, that would be cool Awesome, we have one more scenario and then a final call to action and then a question So this is our last scenario. I'm trapped in my own project I've been doing this forever. How do I get out Daniel gets the mic immediately? How do I get out? Like I'm done. I've got other things. I want to work on maybe it's another Apache project I just want to say whiskey again. That's how I get by I I don't I I have this scenario in my head for a few projects And I have no answer actually So I'm gonna give the microwave and please help you want the answers, right? Yeah If anyone wants to help produce the next Apache con I'm in this scenario and no seriously I think that this is close to related to some of the other questions that have been asked and You know you just you you just have to step back give other people permission and Allow them to make you know what you would call mistakes without correcting them and I've seen Daniel do this on on the pony mail project I've seen Brian Bellendorf and Roy Fielding do that on the Apache web server project and you can tell that they're just itching to Tell you you're wrong But they they have the self-control not to and that's incredibly difficult when you know you're right and you know they're wrong But so it's so it's closer related to the former question Yeah, I think it's a it's a hard scenario because I think as projects sort of develop you get people that are seen as the Experts in particular areas and so the rest of the community are right Okay, if it's anything to do with documentation our contact rich if it's anything to do with such as our contacts leave So you've already got a reputation as being the the person to go to and also that knowledge expert so if Anything comes up around your specialization people expect you to step in they're waiting for you to step in and You know when you when you don't step in there's an hey, did you not see that post? Hey, did you not do that? Yeah, I did see it, but I was I think it's time for somebody else, you know, so it's it's hard and I think that the the dilemma is that you make you think that the project might suffer a little and Because you're committed to a project. You don't want the past the project to suffer You don't want the community to suffer and so it's you're in between a rock and a hard place really but you need to make the community Develop on its own the community is a living entity It's a thing that that grows and it needs to evolve and you're not going to be there all the time You know not you're not gonna be there forever. So that you know that the natural cycle is that somebody or some people need to Take over that to be able to develop into the next generation. You could call it as well. So, yeah It sounds like the earlier you start the happier you'll be later There's actually kind of a counterintuitive thing about community that the more that you as a founder of a community help The less of a community you have So you you got to do the the right thing with these the wrong thing in your head is Don't don't develop the project because the more that we develop as a founder as a sole programmer The more I help the less the community will grow because there is no need for the community to grow because I'm doing all the stuff still So why do why do what switch switch needs to submit a patch if I'm doing all the work? so you need to Do the the thing and and and not develop your project if you want to develop the community and Then the community will hopefully make some code or documentation or whatever But it seems counterintuitive to that you got to do the thing that you really don't want to do One of the founders of the Apache community Stefano Mazzocchi Wrote an amazing document 15 years and now it's for 15 years ago now where he says the the best way to develop a vibrant community in Software a software community is to have an imperfect idea and terrible code Because if you have a complete idea of what the final product has to be and you've written all the code what is there for anyone else to do and So yeah, I recommend finding his his original blog post because it says it a lot better than I did I don't know if it's just me, but it seems like this problem is way worse at my day job than it is Apache You know, I think the answer though is kind of similar like if If you're on the hook to do something and it needs to get done and you feel you need to devote your energies elsewhere The only way you're getting across that transition is to identify and Encourage and in train a replacement And as it happens, you know, it's great if there's a horde of people on your list like looking for something to do But then it's been a long time since I worked for a company where we had people sitting around not busy that I could just Motivate with by telling him it was their job But the difference in the volunteer side is you have to actually Motivate them to think that it's important to step up and do that It's not enough to like it might be at a job to just tell them it's their job Yeah, cool. Okay one last thing guys Last piece of advice to achieve community over code. Is there anything that we haven't covered that you could tell somebody You're trying to build a community. It's more important to you because you've listened really well for the last 40 minutes Then your code is What would each of you say? Do this and you'll be fine? Ish I'm gonna go last I would say Be open in in Understanding that the community over code concept is is sort of internalized different differently to buy everyone You know your interpretation of community over code may not be the same as somebody else's and even though we have you know all this documentation and this thing about you know how we do how we describe it it might be slightly different and Just to be aware of that and to not Get into the battle of You know, I'm right and you know and you're wrong that previous scenario, but just to say hey, you know We've got different opinions about how we do this But the community is the thing that we both care about we have this common goal and that's all that matters My answer would be to give permission And and you know there's there's the technical side of it where if you're a software project You should hand out commit rights like candy because this is why you have revision control if somebody screws up the code you revert it Right, so there is no risk in giving someone Commit bit early. There's no such thing as Giving them commit bits too early because you can revert changes and then on the social side Give people permission say I you know You have great ideas too. Please come implement them ask people please come and help us Don't assume that they're just going to show up But but go pursue them and say you have permission to do this thing I just want to add that that it might be true for subversion. It's not as true for get because you can just override the repo I just want to say give it time and and don't look at how well all our projects are doing You can look at how they're doing it, but don't look at at a project and say oh, this is really really going along Why isn't it? Why is my project not? growing the community as fast because especially in the incubator we have 59 projects at the moment and some are huge some are popular Some have companies back in them and then there are some that are small tiny was just one or two developers that had an idea and That is just That's just life and maybe your project will die. Maybe it will flourish But you're not IBM. So stop pretending you're I'm not calling IBM out of just saying I'm not IBM. So So stop pretending you're as big a project and look at What they're doing but not Don't don't get sad because you're not a big project give it some time and again If if your project dies then So be it you'll make a new one The question was framed of what's the one thing you can do to achieve this ideal that is the purpose of of the foundation So I don't have an answer to that specific question but oh the one thing I would say is if you want to just be going in the right direction and not maybe falling backwards then just in every interaction that you have with The people that are on the project or that are otherwise affiliated or interested in it Try not to be the people we were just talking about before So ask yourself regularly in in this situation if I push back on this proposal Am I being that guy or am I acting like a BDFL and what kind of impact is that gonna what message might that be sending to people on the other side so and In all those interactions try to always Be open and to you know try to check your own sense of you know preference for specific direction or your own you know sense of Wanting to not not let it get messed up right because it's gonna get messed up sometimes That's part of the process like we were just saying something can get worse before it gets better and often does so just embrace that part of Of the journey awesome So we're gonna end with maybe two questions and then we're gonna wrap if there are two questions. I Mean, I feel like they solved it all Cool well, thank you everybody for coming I think lunch is next