 Let's get this started. So welcome everybody this I'm Kyle Mestri. I'm Armando Miyacho the one with the tough surname Yes, his throat is you know, he's It's been a long week. He made me yell too much. I think I definitely yeah, but it's okay So we're so we're gonna talk a little bit about upstream open source networking development And we've kind of ominously titled the top may add that you were the former neutral PTL. That's true That's true. I was and you're the current new trunk. I'm trying to pay you respect by Stepping in that's good. You're doing a great job. Thank you. Definitely Okay, so let's let's get started lots of room up at the front if anyone's interested Doug that's you Okay, so You gotta have a Star Wars quote in a in a talk like this, right? I mean it's Thursday afternoon late in the afternoon. Everyone's excited, right? So a long time ago right in the galaxy far far away. Look at that That's networking hardware at one point in time. Doesn't that look fabulous? Could you imagine trying to make that software defined? I mean, that's just that's amazing. Has anyone worked with a system like that anybody? No Okay, that's fine. Okay. So a brief history of networking socialize my my great Vanna white here will Okay, oh look at these things This is a history of networking for those of you who are new to networking Look at these great connectors that because anyone know what these are look at that Oh, who's used one of those before right? This is what networking has been like. There we go The gentleman over here. He's used that all look at that. What's next? That's great But this is good, right? The whole point of this is you know up to this point in time or up until recently networking Is like a giant black box, right? No one knows what it is You buy something the vendor gives you a tons of code with tons of features None of what you're using you plug things in and you cross your fingers and hope for the best, right? So that's kind of where we're at. So fast forward now like these jets here Let's see where we're going here fast forward and now we get to the point where? It's kind of the wild wild west at this point and open source networking There has been an explosion of projects. Look at all these projects. I actually missed a lot of projects, right? We have open v-switch the Linux kernel does networking that dragon thing is Ryu open daylight Everyone knows open daylight open switch open stack has neutron Mid-onet we're not even done the slides not full oven Docker docker has networking lib network. Look at this open contrail. I may have missed one here open source rowdy My finger hurts. It's a hurts keep going. We're not done. Oh, no, there's more. I think we're not done Calico we missed one. What did we miss? There's an obvious new one. We missed the Linux foundation launched it recently Does anyone know someone must know? I Oh visor. Yes, there it is that gentleman wins nice See there's the point is the point is that all of a sudden in the last few years There's been this giant explosion of these networking projects some of these have grown organically some of them have been around You know a lot of them have been formed by massive corporations coming together and putting some code out They all operate slightly differently perhaps both in how you interact with them how you use them I'm not even talking about how you would actually use them But how do you actually operate inside these communities to be effective? How do you enable your developers to be effective and I'm still trying to figure that out It's very challenging and that's what we're here to talk to you about how you can be effective working in these types of Communities because ultimately that's what you want if you're engaging with these communities because otherwise That's what otherwise you're gonna be a sad baby for sure. Definitely. No one wants to be a sad baby Look at that it needs a hug Okay, so four stages of open source networking development that everyone goes through So these are like the bad stages right so denial No, there's no way we're never gonna get that done in that project. We can't possibly you know We don't want to use it right. We don't even want to use it. Maybe right the next stage could be Anger we're not gonna use it. Yeah, no way for sure. We can do it better. We can do it better So the next stage panic we can do it better. Can we do it better? I don't think we can no we should look at it We could yes, maybe we should start using it. We can do it. I think we can use it at it. I think so. Let's do it. Oh It's too late. It's too late. We lost the boat. We lost it and left it So you don't want to be in this stage, right? You don't want to be in this There's another way to do this so there is the happy way to do it. This is the nice way to do it, right? The new project a new one look at this project. We're excited What's next? Oh wait wait, we don't have the skills to work on the project. We don't have the developers to do this What are we gonna do? What is that the new like russ? We can't do this. We're ready in Cuba. We're gonna fail. Yeah Wait, we can throw money at people. We can hire people. Yes. That's all it takes developers. Yes Success and then you'll find it. Yes. There we go, right? So that's what you want to be you want to be like that, okay? Okay, so yes, I mean as you obviously explained and you know entertain folks There are two ways to go up about this problem and you know trying to embrace these Open movements one is you know the right way The way to try and toggle these being positive very positive. You'd be happy like this being yeah, yeah And you know by doing so you end up Having fun along the way if you can beautiful or is the oh like yeah, no the you know hangry way and Ultimately, you're gonna have your liver explode and it's not gonna be pretty your medical bills going through the roof Yeah, yeah, that's not gonna. Let me say good night. It's ultimately your call, right? Right? How you want to tackle this right? I agree definitely So what we're gonna go through like in the rest of this session is to a number of scenarios We're gonna act these scenarios and I'm gonna be like that as you may obviously guess knowing me be the crazy angry guy Seems fair and he's gonna be like the nice guy who brings me back to the happy path Yeah, so again, we're gonna go through a number of scenarios again. I'm gonna be we'll walk you through Yeah, gonna wait. It's gonna. They're gonna be pretend scenarios Yeah, some of you who may be experienced with some of the open source communities that we've shown me So like the reference to facts are pure casual, right? Right, and the names have been changed to protect the innocent basically. Yes, don't worry But some of you been here before some of you may know may You know have a recollection of past events. Yes, it's okay That day Okay, okay. Here we go Look at this Look at this So Kyle. Yeah, wait. This is the new contributor. Yes. I I'm the new guy. Yeah, I a new project. They showed up Yeah, I have no idea what it is what it is I may actually come up with something that couldn't turn out to be the next big thing So, but I don't know how to go about it. I Come to you, you know expert guy. You've definitely you've been the visionary and I think I have this great idea I actually even try to play with the code a little bit Yeah, I managed to get something to work. I have a diff and I think it's gonna be great, but Since you know, this is so new. I'm not quite sure how I can go about Getting into the main tree. So why don't you help me out here because again, I want to do this right I want to do this right. Please help me with this right definitely so first of all welcome to the project You know our project is great. We definitely have instructions. We have a wiki. We have things written down We can just follow these instructions to get your code merged, you know, definitely. Oh Definitely if you need help, we've got IRC you can jump on IRC you can tell us the mailing list Okay, the mailing list is a great place. We use it for everything. Everyone loves everyone else on the mailing list It's true We'll guide you through the process. We're here for you. I have a bad feeling I mean, I don't know. This sounds like too daunting. I mean, okay I think first of all, okay, I appreciate your kindness. Yes. We're here But I I thought I had you know the code that if it's there and why don't you just take it and run with it I mean, can you do that? No, okay? I'm gonna give up. I think your project is It's too hard. It's so hard to contribute. I mean, I can't do this. I haven't got time for that. It's like life is short. Yeah So what can we learn out of this scenario? Um open source, you know are a great way to get to move faster and to develop ideas and prototype ideas in You know in the most effective way, but Some people tend to forget that there is much more than code alone. Yes, definitely You gotta basically go throughout the entire race and get to the finish line by Ensuring that what you've written is actually Understood beyond just yourself or your teammates. Yeah, so documentation is very important without documentation. There is really no way that what you've thought is really You know, it can be really used or understood by you know by by users Testing is very important. I mean there are you have to know like corner cases who cares about corner cases, right? You gotta have those are you know, it's important to have an exhaustive To a story in place that ensures that what you wrote is actually like work at the way supposed Same with infrastructure in the game the same same with all the things that are necessary to make a soft approach that complete, right? Definitely, okay. So next scenario. Let's go to the next scenario here. All right Next narrow. Oh, I found a bug Yes, so you're a user so we found a bug if you go, you know, the first time Yeah, you got a first release. Yeah, you throw it out there. We're so excited. I'm a user Yeah, really excited. Yep. I'm not an expert developer code is right. I try to yeah to get this Install so actually we're talking about open stack here Or maybe we can talk about any other like any open source project. Yeah, you may want to try this out on multiple nodes Yeah, and after many endeavors, I mean many attempts to get this installed correctly I was you know kind of playing with a few instructions here and there and The system didn't quite behave the way I expected to I go like a weird error like yeah, okay like You know 500 the most useful error ever useful Yeah, and I don't know how to go about it though So I'm not quite sure where the issue lies because I mean I got five made of 500. It's like what am I gonna do with it? It's a big number. It's a big number. Yeah, it's not like I played to the lot or something. Definitely Yeah, if he was up to 90 then I could use it. Oh, yeah, up to 500 not so much. So Why don't you help me out? Can you help me out? First of all, you're excited you found a bug. That's great, right? Hey, definitely. Thanks for popping into IRC and presenting your bug to us. Definitely. We're very interested in that for sure Right. So first of all, let's just step stop for a sec, right? We're gonna help you with this We've got it. We can do this together, right? So Tell me a little bit about what you're trying to do Oh, it would also be helpful if you had documented the steps on how you found the bug But even before we get to that what version were you running? It helps to know the version too So there's a bunch of things we'd love to collect. We can definitely help you once we get this information Okay, so first of all, I appreciate you coming back. Okay, but it took you quite a while to come back to me Yeah, I was in the process like I got married. I had a baby. I bought a house And It's like I'm afraid I don't have the environment really full. I mean, what do you want me to do? Yeah, I you know, I mean and okay, you know what never mind the issue is gonna stay there and no one is gonna fix it It's easier to complain about it. Not, you know, it's easier. Definitely. So okay, so so maybe that wasn't an exact sequence I mean, no one has a baby while you're eating lunch. Well, I sure have eight months ago. Okay, that's true Yeah, yeah, so okay, so so how can you do this right? You're using one of these projects You're excited and guess what? We're all human, you know We do our best to QA stuff upstream all these projects do the contributors do you're inevitably gonna find bugs, right? It's software. So so what can you do? All these projects have a bug tracker They have to have some sort some of them are very rudimentary and we'll show you later in the presentation Some suck some some suck and some don't write, but that's fine. You know, so report the blog Include relevant information Which includes versions what you were running how many of different things you were running the operations you did to Do this include steps on how to reproduce it as well Some projects may have a template for this even where they'll ask you like hey, you're filing a bug Go ahead and fill this out so we can proactively collect stuff as well But when also wait wait Please we have to wait Patience is important Patience no question. Not yet. You gotta wait. You just interrupt me in the middle of You're so a bug in the file a bug follow this section. Yes. Yeah, come back to us. Yeah. Yeah. Yeah Yeah, after the summit after the week. This is a busy week. We're not looking at bugs this week. So So it's a place you relax patience. So listen, we get there. Yeah, but we're gonna stick with us Stick with us try again an IRC if you give up Yeah, so anyways, right? So, you know, if no Anyways, patient we're having fun up here. We know but but definitely but you know, it's it's late in the afternoon It's late in the afternoon. It's late in the week. Yeah, definitely. Okay, so let's go to the next scenario. Okay So this scenario is the developer scenario. Oh, yeah This person found a bug but I I was the one who added the back. Oh, you came with code Yeah, nice. So it's self-inflicted pain. Yes, definitely Actually, I did develop a feature and with it I brought like 50 bugs with it Of course, I'd expect nothing less because otherwise, how can I keep my stats up? Listen, I'm sorry if that's your goal, you should leave now. No one is gonna be kept. Why I thought that that's the way You can get to well, it's true. Listen, you're never gonna beat the proposal bot. So stop trying. All right It's not gonna happen. Okay, so let's walk through this in all seriousness I'm gonna be the developer who's found the bug and I even have an attempt, you know, I even have a fix Yeah, so, okay. Can you ask for more? You all you have your fix. I had this is great. This is great. Let me see. Oh, but Oh, I Am not quite sure whether my fix is right So I need you to guide me because you're the guy who knows the architecture you the guy who built it You know build the wider thing that when I'm plugging into I know yeah And I need you to tell me whether what I'm doing is perfect exactly. Oh, right. This is good thing to go about definitely Okay, so let's see. So, okay, so hold on a sec. Let's look. Let me look at the code. I'm sorting this out You know, we're at This isn't quite the right fix. This doesn't it's not the right fix also You have issues and one I believe your comments are not spelled correctly. Okay, so you got issues there I'm gonna make these comments and then I'd like you to make all of these changes, please and submit a new version. Okay. Thanks, so Yeah, I mean Very helpful. Yeah, I mean you're a star But I gotta I gotta tell you I mean someone else told me exactly the opposite of what you just told me I mean just saying that never happens just saying but okay, okay, even if I want to listen to you because you do one That's more important than the other guy. Yeah, I really haven't got time for that I mean, why can't you take the fix and work from it? Well, hold on. Hold on. Don't go. We're close, right? We're close, but just to make these small changes. Don't leave. I'm just Straightforward you can Have a dispatch running like for a year. It's very close. You're very close. Just hold on It's like four leases that I'm trying to do this. You're close. Oh, okay. That's it. You're not merging my bug Yeah, yeah, I give up. You give up. This is too hard. This is too hard. Okay So what are we trying to teach here is that you know, the whole process is you know, isn't it? That's right. You gotta you gotta go through a number of marathon. Yeah. Yeah, I mean, it's like, yeah I mean some can you know something can be easy. Right. Some are tricky Some may unveil issues more larger issues that need to be tackled in a stepwise fashion. Yeah, I think so So be patient. Yes You know take whatever Enhancement drug you take I didn't say that. Yeah Don't take the feedback personally not take the feed. Yeah, I don't think the feedback person absolutely Yeah, but be sure to make it a constructive experience. Definitely Make a friend. Yes. Yeah, exactly Okay, let's see. We got a couple more of these. I think everyone's excited. I can tell right Someone laughing. Look at this, right? You now you're moved beyond bug fix. I you I've become abstract You know, you're a you're a woman. You have a feature. That's right. I'm like, I'm the actor guy Yes, the philosophical thinker. Yeah, and I think I've made you've got this discovered the next big thing Yeah, and definitely I I want to give donated to humanity to the project humanity is the same This is okay. That's fine So I realized that so far. I mean, I may not be much of a like a developer again I want to the next stage, right? I've evolved. You've done a couple bug fixes. It's time for a feature. Exactly I got promoted by the way, right? Oh, congratulations. Yeah, big beer ice. Nice. Yeah, I changed companies five times No, that's even better to get And okay, there you go. Okay. Yeah, I was given a mission by my new employer. Okay, doesn't have a clue of what I'm And So you should have got yeah, you've got a feature Yeah, I mean, I haven't fully formulated it. Yeah, that's okay, you know, we can go through the process together I guess but okay, so let's see. Let's see what you got there. Let's take a look at this. Oh It's not a bad idea. It's not too bad, you know People do propose crazy ideas like this sometimes, you know, but you're a pretty level-headed guy So, you know, let's see thank you. Let's continue the conversation I went through a process right to get to the stage where I am. Oh, definitely. I'm sure exactly. Yeah, five jobs is a lot So, yeah, yeah Yeah, thank you by the way for the compliments. No problem. I'm really excited Yeah, how should we go about, you know, making this feature integrated in your project? Oh time out time out Oh, I just said I liked you. I didn't say we were merging your feature. Okay, just relax No, no, no, there's a couple of things, right? We have to consider right? There's a lot of things that could happen here There's dependencies, you know You know, honestly Do you have unit tests even for the feature yet? Have you thought about how we can test this functionally with the rest of the system? I thought I could get someone else documentation. I like your feature, but I don't know how to use it at all You know, can you help us with these things? These are really great things. We can get your feature in Can't you get someone else to do it? No, hold on Just relax. We're gonna get you there. I don't need to do these few things but I Don't know. I'm gonna start to cry in a minute. It's like it's like I tried many many times Just a couple of things pushing back. I mean, I can't do anything in this project. No, don't worry. So no You must accept my feature right now. No, that's so let's see. So what what did we kind of learn through? That was actually pretty good I like that one. Yeah, that was good. Yeah, what did we learn right? Okay. So, you know, a lot of these projects a Lot of these projects have a roadmap, right? It depends right the projects will be presented before and we'll yeah, we'll talk about this in a little more detail Have different ways of tracking features how they accept new features Some of them have a very complicated process and some of them just use a mailing list Yeah, but figure that out before you jump in with your 5,000 line patch figure out how they digest new features how it works And guess what the project might not be interested in your feature. Perhaps that's you know, like it happens That allows does it align with the goals, right? I mean, is it within the scope of the project? So these are all these are all good things Okay So let's see All right, so next we have advanced beyond architect to you know, I mean now I become a troublemaker now You're trouble like I realize that I can do anything in this project. Yeah, I'm just gonna try to it's not a sure feature It's a project now. Yeah, I'm you know, I'm trying to subvert you right. Okay, so I think I've had enough Okay, so you're doing wrong. Yeah, let me take over. Okay. You clearly have no clue. Oh, really? I I mean let's start from a clean slate. Okay. Sorry. I take it back Okay, I take it back. Okay. I want to be nice. You're gonna be nice. I would like to you know, innovate after all You have the same idea, right? Absolutely tension. So be successful together. Yeah, and You know it's like, okay, let's start the fresh Wait a sec You want to start a whole new project? Wait a sec. Hold on, you know, someone's already kind of proposed this before Someone's already started this idea of it, right? We have some people working on this. It's not quite done It'd be great if we could get you to work with you. See you kind of missing the point Oh, because the point is that the project I'm proposing. Yeah, it's it's doing it better I mean what you're doing is not quite what I need. Okay. I don't I mean, it's really obvious Yeah, to me alone. Okay, and to my peers, right and to my boss and Which job now still on five? No, I think I Yeah, I think that we should start from scratch. No, what you've done. It's like, you know, this is no It's a pet project. I don't really think so. I don't think we should write we can experiment sometimes we fail We try things and we fail, right? You know, but you're gonna face not kill battle. I think going down this Yeah, but see you're not listening. I'm already I'm already going down that path Okay, that's no good, right? So hey You look it you have a great idea. Can I replace you entirely and still be a part of your community? Yeah, no Whatever we've learned out of this scenario That you know, sometimes it's easy. The you know, it's easy to take the easy way out. Sure, right? Yeah That's why it's the easy way out. Exactly. Why would you call it otherwise? Yeah? I mean, definitely you know, we need to be conscious that things can be tough and We need to assess whether really there is an extent for trying to find why the communication is breaking down, right? Right between various various people and right sometimes you're talking like this, right? We've got a line to figure it out if you don't formulate the problem space well, right? We don't formulate the direction. I'll be that your new project could be satisfied by some existing work We have or maybe there is a teeny tiny enhancement that you could write instead of a whole new maybe it's just communication break down Yeah, maybe we're not talking. I'm talking like an accent and you can't really hear me I mean that happens difficult to understand. I know so we're gonna find a way to call, you know to find and you know a common ground where we can go and and Work together. Yeah, totally. Don't just give up. Don't give up and Stick with this song about that. Yeah, I think there is. Yeah. Van Halen, right? Yeah Okay, I think we got one more reference. This is it. Oh, we've moved on to our favorite one now. Yeah, yeah After these many jobs, I become an executive. You're an executive now, right? Yeah, I'm not a source Strategic I want to use it in my project. I no longer write code. Yeah, you don't write code anymore at all, right? But okay, obviously in the food chain. I'm not really high up. You're making decisions now. I'm making the mover and shaker That's right. Yeah, so my boss wants my team. Yeah, my manager. Yeah, yeah Like to adopt the project of you know in my organization. Okay, so I've kind of obviously, you know Yeah, look at this project for a while. I made the recommendation. Yeah, okay. This could be useful to us Yeah, so, you know great. We're definitely happy to see that We're actually love when we get new organizations in like that You know, it will be excellent if you could send some of your developers I mean even yourself if you have time and attend some of our meetings, you know, we've got some great needs We need some people to help with documentation Sometimes our you know our CI system. It's great But sometimes it breaks and be awesome if we could have people helping with that too If this is gonna power your company, it would be awesome to have you working on this too I'm getting a wrong vibe here And It sounds like an awful lot of work and you've seen up until now like our experience has gone so far It's not rocky. It's you say the least bumpy. I mean We had we hit some rough patches. So what mostly interested in in in taking the code that you would okay Even though if yeah buggy and it's not really it's not really doing what what we do But what we could do. Yeah, is that you know, we can ask you to add features Okay, you know, we can add features internally, but I'm probably gonna take them keep them just ourselves Okay, well, you know what great we've talked about this before you can request features following the way that we have written down But you know, I gotta say again Oh, you're a big organization. It'd be great to get your help with documentation for example since you're using it You're gonna use the code you could help with the documentation so others could also use it great as well But we're just a bunch of developers. We're trying our best, but if I have to add a doc resource How am I gonna get my bonus? Oh Oh, that's true. Actually. Yeah. Yeah, I don't think I have the bandwidth I mean all the all the budget that I even to my department. I'm gonna And for my travels come on. Don't do that. Stay with us here again, right? You're gonna make customizations yourself. You know, you're not gonna those aren't gonna be upstream. Come on Stay with us. I don't know about that. Yeah Yeah, we plan to leverage open source, right? So so, you know It's great that open source is strategic open source is a community it takes people being a part of that community and jumping in You know, so definitely right if it's evaluate how strategic these projects are if there's if they're that strategic You should definitely have people involved in working on it. Definitely. It's gonna help the project as a whole It's gonna keep life into the project and and and you know bring it along so so definitely consider that So now that we've kind of gotten through the the funny Anyways, the funny part I did hear laugh. There was a little bit of laughing. That was just salvatore though It was not okay. Yeah. Yeah, so so we thought we would now go through as we mentioned in and We wanted to compare like live examples of what we just talked about So we thought we'd take three projects in the networking realm open v-switch Open SAC neutron and open daylight and walk through and compare some of these things. They'll start with open They do they're all open right so project communication This is a critical piece for all of these projects for anything you want to work with Definitely critical. So, you know, we thought we'd take a look and we'll be posting the slides later The links are useless on the screen right now, but they're there So, you know, it's you can Google these two but but but all of these projects use mailing lists to various degrees They all have you know a large number wide and tall of mailing list We tried to innovate and change the networking tools, but we're still using communication We're still using mailing from the 60s. Yeah, that's fine. They all have IRC as well Open stack it turns out does have a sip voice conferencing option that they use occasionally and open daylight makes use of Webex for For phone conversations open v-switches as not applicable there. Well, no, no, well, it's about maybe that maybe they're very old school But I mean, I think what is important here to note is that also we Or as the folks who are involved in these communities, they try to Identify ways where you can have cross you know cross-project communication. So for instance for IRC There are channels that tend to tries to bridge On the open v-switch community and the open stack community and you know, open stack with open yeah Because the reality is is open, you know neutron and open daylight both use open v-switch For example, those are first you find a bug. You're not sure right But the thing is that these these communication mechanism You know media may not necessarily be advertised anywhere. That's true So if you don't find, you know, if you're wondering that yeah, there must be a way yeah to Communicate on a specific issue come and come and talk to the people who are involved in the individual project to see Yeah, whether there is hidden knowledge Whether there's something hidden I agree definitely So let's see so infrastructure and documentation as well So this one's interesting to look at from the perspective of where is the actual code for these projects? Open v-switch it turns out within the last year moved to github. So there they have a project there They actually have two repositories now the open v-switch one. Well, that's it. I know right But it's open v-switch and oven are in one repository and there's a new scale testing repository. So two Open stack uses Garrett. There's a lot of projects that neutron has Open daylight also has probably more than neutron actually projects and repositories Documentation this varies from these some of these projects used wikis. Some of them have very very good documentation The networking guide on neutron is pretty good I'd say it has become pretty good and some of the documentation is in the source tree and some of it is in another Guide that gets published in a different way And look at this there's links here and again you can grab these slides later But they all have new contributor documentation So if you want to contribute to one of these projects the projects have taken the time to write up How they would like you as a new contributor to jump in which I think is really nice and really critical if you want to jump in Yeah, but then again, I mean if you want to bring you know wired all these things together I mean you got off there may be lack of you know cross-project documentation, but I mean if you Look deep enough for you ask for help You would find that after all even though the documentation may be patchy There are places there are places that would allow you to better understand how these bits and pieces Oh, definitely either right so and even for instance when you want to deploy these technologies together They may even be like hidden software gems that help you like pull from from source and right compile and deploy Right and and cross-project wise I mean, you know like there's an example like the oven the best oven deployment guide is actually in the open stack Working OVN repo. Yeah, it just turns out so that's an example of that Okay, so you want to file a bug? Where do you go now this one is really varied? This is actually one of the most interesting slides I think because so for open v-switch if you find a bug you go to the mailing list. That's what they do It's that's how they track bugs you could argue whether that's a good thing or not But that's the way it is right now the volume is low there So I think that's why that works at this point there are no bugs. Well, and there are no bugs That's the other reason let's be honest It's so that's fine open stack uses launchpad to track bugs We have a beautiful template. I think for what we want information wise when you file a bug So that's really useful Open Daylight has a wiki page that takes you to their bugzilla And the wiki page is there because it depends on which project in open daylight You're using that'll help guide you how to file the bug The bugs are trapped just mailing lists and occasionally github issues for open v-switch And then of course launchpad and bugzilla Mailing list really drives everything for OVS Yeah, yeah, I mean then again here what happens when when we're trying these Technologies together and we find integration issues where we're like, you know, where would you go? So again, you can try making it you get the guess obviously if you cannot try and reach out to understand where the issue may lie and you can direct obviously your energy in the right in the right project and Typically, you know what you go and about it is how the way you go about it is try to Yeah use the right communication tool to talk to right people get a sense of where things You know, yeah are breaking and and then you proceed You proceed from there then you go from there exactly So if you want to add a new feature It's a common theme open v-switch you could discuss this on the mailing list That's where the feature will also be tracked For open stack neutron We have some nice documentation that talks about how you want to add a new feature and how you could do it how it's all tracked For open daylight if you want to add a new feature if it's part of an existing project There's documentation on how to do that if you want to add a new project There's also documentation on how to do that. Yeah pretty simple. It sounds pretty simple. Yeah Maybe maybe feel sometime. Yeah I mean at the end because I mean there is always, you know, there may be like, you know, gray lines, right? It's but the good thing is that In most cases you have people working on on a more than one project, right? Yes So you may try and leverage that that expertise. Yes, because those guys have gone through this process before you Definitely, so you can you know, you can ask for guidance and maybe you, you know, you're required to Work on both projects. Yeah, maybe don't think of first, but they're not this pair. Yeah Yeah, it happens. I mean sometimes, you know, it's you're chewing on something that's probably Hard. Well, there's sometimes your feature can span multiple projects like the The the OVS based firewall stuff that's spanned and the connection tracking in OVS down into the kernel So there's there's a lot of that too So project evolution So where are these projects? Where did they start? Where are they going to? So OVS kind of started with a small core group of contributors It's evolved to taking on a whole new project, which is oven so kind of growing slowly, but surely Currently no foundation though. That's being talked about potentially moving OVS to the linux foundation Open stack The great quote rough consensus of many disparate groups into one code base And it's focused a focused group of repositories very focused We're sharpening it again as we go And of course the open stack foundation runs open stack neutron from a foundation perspective Open daylight many separate groups under the same large umbrella autonomously moving around More and more projects Putting more things in there under the umbrella and the linux foundation runs that yeah Well, I have nothing to add to this. That's that's a beautiful slide. Yeah, okay So we're almost done here, right? So so practical advice Practical advice we wanted to leave you with practical advice on how to succeed upstream, right? So plan ahead You don't want to end up like this sign, right? So if you're going to go ahead, you know, if you're going to engage make sure you plan ahead for engaging with these open source projects Otherwise, you'll end up with your d below your a you don't want that That looks ugly. Oh, it does. So so respect. It's pretty simple If you're going to engage with these projects, you know, you got to give some respect to get some respect back Yeah, I mean it's saying it's like, you know treat people the same way you want to be treated That's pretty much. Yeah, that's pretty much unless you treat people mean then don't treat them the same way You want to be treated, you know, yeah, I mean and it may happen. So sometimes the circumstances where you play nice and you're not treated fairly It's that people get hurt. Yeah, but I mean that's yeah, but generally give people respect, right? So You can't have same thing, right? If you give a little love, you can get a little love of your own, right? You know, okay, that one didn't work. I'm sorry But it really is all about the little things and we've kind of been stressing that but but it's great You know the little things are what make it successful, right the human interactions the qa The documentation all the things don't mean right don't be don't be too ambitious Right. I mean jump in and update a wiki. So don't you know, if you if you you know are humble and you come To a community approach a community and just start a bit of led work and yeah, then you you know get more visibility You get more recognition people start Appreciating what you're doing and you'll build the relationships to be successful. Yes, exactly. I think yeah It's not like I come in and say, you know, well get out of the way they go. Don't do that, right? So so and You know empower empower your open source developers Right, let your people go and be successful. Let them build the relationships. It takes to be successful Let them succeed Let them work them full you know full time on the project let them work Well, that'd be excellent But even part-time if you can give them some time But let them be successful and able them to be successful upstream I think and then and then obviously right, you know, just be excellent to each other Bill and Ted and really said to be honest. Yeah, I have never watched that movie. Oh, I'm sorry I actually had an action to watch this movie before the stage. I never did. Okay. I thought it was I heard it was a good movie It's a good movie. Okay. Okay. So really that's that's all we had I guess we have a little bit of time for questions a few minutes if anyone I know it was daunting It's a mean maybe it wasn't exactly the content you were looking for but we're here to answer any We definitely are that happens too, right? Is anyone ready? Yep A little bit about how you prioritize getting features and functions into projects. Oh, that's a great. Yeah, it's a great quit That's an excellent question. Actually, you don't Next question, no Okay, I can elaborate on that. Yeah, but I mean I must admit as soon as I got over as pdl One of the, you know, one of the things that I changed in the process is that get rid of the priorities I tried basically to do something different and try to identify the importance of a feature so that you can try and change the perception Of the urgency to get the feature done because ultimately when you're when you're an open source community And especially as a ptl or as a as a person who's supposed to Drive, you know, hurt a bunch of cats like you're really not that able to Steer them in the right direction. So it is a, you know, a mind-bending exercise So that they can do whatever you want to do, but sometimes you're unsuccessful. Sometimes you are unsuccessful So if the group of people you work with are obviously like-minded You can do that type of okay. This is more important. We should focus on this first and do this first Or not, but ultimately it's down to okay I want to take this feature and I want to, you know, get it to completion And someone else wants to take the feature and get it to completion and it's really down to Making sure that the two things don't collide and see who obviously gets gets the end, you know To the end goal first, but yeah, I mean priorities are challenging Are a challenging open source because again, you are effectively not in control of the resources that that participate in the open source Makes it hard But excellent question. You really like you were spot-on We haven't, yeah, we haven't paid the guys. Yeah I think we have a little bit of yeah, there's a couple more minutes any more questions from anyone or I guess we started a minute early. So, you know, should we give them a minute? Yeah, definitely Okay. Well, thank you for for coming to our discussion. Thank you