 So you guys get a bonus because I'm going to do two and one, two talks and one. The reason I'm doing this is because I put together this new one which motivates why we have extensions. So let's get to it very quickly. So I call this letter thousand flower blooms. It's actually going to be part of the keynote. The problem is the keynote, I have five minutes so you get the full set. I think it's interesting because it brings, it raises an important problem that we have. Why do we have extensions? This is the reason I think. So first thing is, what is this? We're in Switzerland. This is a cow, right? Most people know companies like IBM have products that are essentially cash cow. And I can talk about IBM but I'm sure it replicates everywhere. And what happens when you have a cash cow? You protect it. It's sacred. But it also is a problem. And the reason it's a problem, if my time would work, is innovators dilemma. I don't know if any of you are in business or if you've read this book. The issue is that every other company will try to kill that cow. And the problem is going to be that you are going to protect it as much as you can. And the reason you protect it is because it's your cash cow. And the problem with protecting it is that the people that are killing it, they're going to invent something new and you're going to miss out on it. This is a problem that happens everywhere. So for instance, Kodak. You've seen me taking pictures so I'm sort of a fan of cameras. But Kodak, as you know, is 100 plus year company. And they dominated film. And then eventually, if you guys remember, I can see all of you are old enough. They've also invented those little pocket cameras. They also invented digital camera. So Kodak could have been Apple because your iPhone, my iPhone is literally a camera. That's what people use the most. But Kodak is almost nonexistent. Why? Because they were protecting their cash cow. Another example of this is storage. IBM invented storage. This was like a gigabyte or a megabyte, sorry, of storage when it was invented. Less than about 50 years ago. And obviously what happened with storage is that it evolved into things like, for instance, this is a one gigabyte Seagate, which literally doesn't exist anymore. You can't even buy this. You could buy it on eBay, obviously, but you can't buy it new. Any of you remember these things? Zip drive, how many of you have still some of those, right? Exactly. And then now, that's the only thing you can really get, SSD. I mean, they are still computer shipping with hard drive, but pretty much SSD is what you get. The reason I mention this is because the guy that came up with the innovative dilemma from Harvard is Clayton Christensen. And if you read his book, the first few chapters talk about how storage, the storage business, literally is littered with these people, these companies, protecting their technology. Because as people went from DASD to things like SSD, it's a brand new storage technology. So if you had, for instance, the technology of the spinning disk, you protected that one, and then you lost on the next one, and then you kept doing that. So all of those companies died or they got merged and so on. So why am I talking about this in an extensions and also an open source? It's because I feel that there's also the open source dilemma. I think seriously that we need to look at ourselves and say, how do you keep your project relevant and people still interested in your project without necessarily protecting what you currently have? And if you look at Cloud Foundry, for instance, we have this problem. We literally was the king. But now we have to, I'm happy that we have Kubo and we have all these other things with Kubernetes, but we could have had what Kubernetes, the excitement around Kubernetes. We could have had the excitement of our Docker. You talk to other people, this might be a controversial statement, right? Because we have a way forward and I'm happy with it, so I'm not criticizing it. I'm saying that the next set of technology two years from now, we need to make sure as a community, we keep the excitement. So how do we make that happen? So how do we protect our, well, not protected, but how do we make sure we embrace the future? How do we make sure that we don't have a cash cow that we're protecting and then we get passed by the next thing? So I think they're example of these and open source. I didn't spend a lot of time trying to beat up on any particular, but I think a lot of people, I saw a couple of people smile when I put Apache struts here. They've been suffering recently from a huge problem in the security, but the point is that if you've ever used Apache struts, you know that Spring Boot is essentially a way better version of that and they protected their Apache struts and now it's sort of causing all kinds of problems. And I use struts. I was part of that community, right? So I'm not criticizing it per se, but I'm saying that how could it have maybe evolved into a project that still survived very well today? That's the question that I'm asking, right? And I have one part of the solution, I think, at the end. The other part, the other one is Tomcat. IBM, I can talk since I'm part of IBM. We were part of this and we still probably ship it, but we've evolved it, right? We've evolved it into WebSphere and various versions of that over time, right? Liberty and so on, and other companies have done the same. So there's a way forward to open source staying relevant while you can still protect a little bit of your cash cow. And I think the best way is this, is to let a thousand flower bloom, right? The idea is that you allow innovation for a platform like Car Foundry, which is massive, each one of those small pieces could be an Apache struts. You need this. You need to have a thousand flowers, right? So how do you make this happen? So embrace, invite people, right? And extend, and that gets us into extensions, right? So what is CF extensions? CF extensions is a process for any one of you, any one of your companies to contribute to Cloud Foundry. And it doesn't matter what you're trying to do. If you're trying to replace Diego or trying to replace a component of it, I want to talk to you. I want to hear. I want to have a discussion with you and we'll see how we can make it happen. Now, obviously there's a process. So it means that, you know, you come with your idea. Hopefully you have some code behind it and we review it. We spend time, I certainly spend time with people. And it's not just me. There's a whole community of people that care. You know, you heard from Dr. Nick, there's tons of people that will eventually get to reviewing your project. So you propose it. It gets reviewed. It gets voted on. And when it gets voted on, you add it to the Cloud Foundry incubator. And then the best part is once that goes through, and of course your project now is part of the incubation process, if it becomes something that any member of the community is releasing in production and making money and part of a business, you can actually go through the same process again, but this time to add it as a project. So whether it be runtime or Bosch or somewhere else. Okay? So there's a way. I don't care if you're pivotal, IBM, you know, whatever company you are, or a small company just new with Cloud Foundry, I want to know that you're doing something interesting and if you want to contribute it, you have a place and you have somebody in a process to make it happen. Okay? So that's the key. How do you participate? It's actually super easy. You just tag your GitHub project with a topic of CF extensions and it's going to start a whole process of asking you to create a proposal. Obviously, there's a link on how you get the proposal started. You have to, we should have a chat. I mean, obviously, I don't want myself to be slowing down the process. So if you think you want to have a chat with somebody else in the community, we can make that happen as well. The point here is so that we don't have duplicated projects, right? There is a place in the community that Dr. Nick created called the Cloud Foundry community where people can just come and just put as much as you want. So there could be duplication and so on. And it's great because it's a great fertile ground. What I'm trying to do is to take those flowers there and remove the weeds and make sure that we have maybe the groups of flowers that are red together and the groups that are yellow together to kind of make a nice garden. So that's kind of the idea. We have an extensions channel and stock where you can start some discussions. The cab now is officially the place where you can bring your projects forward to the community. We typically do this after you've gotten a chance to chat with me or somebody else in the community to make sure that this project is not a duplication or you should talk to other people and so on. So we do the first kind of step. In the Slack channel and the cab, you can actually get to present it and have some feedback. And then we have monthly calls that we're trying to get going as well. We've been doing this for about six months and Kubo came out of this. Now, obviously, Kubo officially started with Pivotal and Google Talking. Then they approached, you know, after they got some version of it, they started talking to me because the extensions was kind of getting started. Then I gave them some feedback. Typically, what I tend to do also is I talk to the relevant people, so Kubo being Kubernetes and Bosch. I spent time talking to the Bosch groups to give them feedback and so on. And it went through that process. And now, since it's becoming a product, I'm going to graduate to become its own thing. But there are other products also as well, right? So IBM contributed a backers. That's also part of it. Now SAP is deeply involved and pretty much, you know, leading the charge there. There's a new project called BBR, which is Bosch Backup Restore. If you didn't know about this, this is a great place to see it. SAP has just started the process for service fabric. I put it there because I wanted to highlight not just projects that have gone through the process and already are ready, but projects that are going through the process right now so that you can take a look at it. Obviously, there are different opinions, right? So there are going to be projects that die or that don't belong to Cloud Foundry. So there's a project called Unik, which was a Unik kernel project that hasn't gotten traction, although I was very excited when it was contributed. But this one probably will get out. So these are some of the projects. One thing I want to show you, and then I'll take some questions, is this thing here. So once you have your projects tagged or you added a topic of CF extension, it gets added to this list where we essentially are keeping track of who's the lead, a little bit of description, the links, the releases, and so on. This is an automatically generated page. The idea is that as we start having thousands of projects, I'm hoping maybe not a thousand, let's say a hundred, then we'll make this a little bit more browsable, searchable, you know, with different classification and so on. So as a member of the community, if you're new and you're like, well, I want to know what's going on in Cloud Foundry besides the core stuff. I want to see, like, say, new service brokers. I want to see new releases, anything like a new CPI, for instance, that's not part of Bosch yet. You come here and they'll be away for you to search. This is a project. It's called CF Extensions. I elated, I coded, but I'm taking contributions, so if you want to participate, feel free. So with that, let me stop. This is the second talk that just goes into more details, but I want to see if you have any questions, especially if you have a project that you have. Yes. I have a microphone. Which isn't why I get to talk first. I'll put my hand up first, but you have a microphone for your questions. Aside from, you know, your dismissal of the Cloud Foundry community organization, but it, you know, that was created three, four years ago, and then the Incubator idea came along and I've never really understood it. Like, the certain members of the foundation would be dismissive of or treat those projects as second class. We don't get to, I don't even know what we use. It's just projects. So why don't we get to, in the Cloud Foundry community, what does it take for those things to be able to have the signing certificates so that plugins and whatever they're distributed, or I don't get it. I think, at the end of the day, you know, it's, as you know, it's more than could, right? It's organization, it's matching regulations that make things successful. Meaning like, if you're going to try to sell to, say for instance, a company in Japan, they have regulations and it's very strong regulations on how, you know, things get put for your things, you can sell them. For instance, you can't have a product sold in Japan that is version zero point something. It has to be one point. Oh, that seems odd, right? Why does it have to be that way? No, do I go for an end then? Well, the point, the reason I'm mentioning this is that when you have a free for GitHub organization or GitHub itself, it makes things difficult to find the gems, like the diamonds. But I argue that the Cloud Foundry organization is full of, I mean, the people who have access to create new projects, create new projects. I don't have access, so I don't create projects there. No, actually, so... It's full of nonsense. You could argue that, I can see. I think part of what we're doing in Cloud Foundry Incubator and Cloud Foundry is to put some organization to what was lacking in the past, right? So obviously, because we didn't have a two-phase organization, things kind of were everywhere. Now it's starting to become more regulated, regimented. And the reason for this is to put structure so that when people come that are new, they have a place where they know where they can go and they can trust it. There's some level of initial trust. It doesn't mean... Let's explain trust then. Well, I mean by trust is that it's... Trust is reputation, one part of it. And the next part is to help you make decisions in a way that is easier than having to go and look at the source code and go to all the lawyering things and make sure the license is not going to make you ship beer to this one guy somewhere in China that wants to drink. So what is it else that goes in projects or the extension projects that adds trust that every other project... So for one, my employer IBM pays me to spend time and review each one of those projects. So you get my time. Now, maybe that's not valuable to you. That's fair. I'm just saying that I think it is valuable but I'm just saying that you may not think it's valuable. But the point I'm saying is that you get a process that makes sure that the project that gets added is not a duplication. It goes through all the checks. It has the right license. It's adding to the community. So in other words, you're not reinventing something that the community already has. You're not fragmenting it. So this fabric is they just took the dockerbush release and the CF container broker and forked it. So that's part of the reason why I should have put a store next to it. Because it's submitted but it has issues. And I'm working with them to solve those issues. And I'd love that you feedback on those issues as well because I don't want to be the only person pointing out problems. I've been making open source projects for 10 years and it's weird for this other thing to exist that says ours are better in some way, maybe more visible. Maybe there's an extra licensing thing. Maybe the CLA process. There's also more than that, right? So there's also the fact that do you want all the projects to go in? There's also the fact that right now, if you're new to this community you don't really get a sense for where can I go and add things? Where can I extend? There's this vast Nebulas thing and you know how to install it and get it ready and run your apps and you wanted to add your own build back. How do you get to do that? Now obviously you could work hard and see a copy and copy it and change it and so on but this is trying to put some structure and saying here's a way that you can actually go through a process and you can talk to people and you can get the support needed to have your projects added and get some visibility and so on. So it is a management solution, right? It's a very simple solution. Yeah, I just want to say that I really appreciate that there is a process and that people can know how to get into the project. I think that's healthy, that it's not this everybody just adds something on GitHub and it's the end. I think it's also good to kind of vet these expectations and the obligations which come from maintaining a project as part of a community. I think making this clear is a great thing. I have one question about projects like a new CPI, for example, or projects which would go into Bosch or into the runtime later. I'm a little bit confused what is the difference between extensions and incubation. I mean, for CPI I would expect that this is incubated in the Bosch PMC and not in the extensions PMC. How do you see that? Sure, sure. Let's talk about that. But thank you for highlighting the point that it's important to have these processes. So Dimitri and I Dimitri is the Bosch PMC lead. I spent a lot of time chatting about this question that you just asked, which is if I have a CPI I wanted to add it, does it belong in extension or does it belong in Bosch? I think I think it belongs in extension. Dimitri also does, but he thinks some belongs in Bosch and I think that's the confusion. And we're still arguing this, and so I'd love to hear your feedback about this the whole community. But let me give you my point. I don't want to speak for Dimitri. You can chat with him on Slack, I'm sure. I think it belongs in extension for the following reason. I see extensions as every part of the platform that needs to incubate goes to extensions. And obviously it can go to extensions very fast. So if it becomes a core CPI meaning that other your company for instance is putting it in production and it's following the rules so it's not breaking the process, not forking Bosch for instance then we can work to make it part of Bosch. Just like we'll do the same for runtime. So that's a simplest way to look at it. So everything always goes to extension so it gets a level of scrutiny. If you don't want that level of scrutiny then go to community. It's perfectly fine. It's brilliant that it exists. It's free form also so it's even better. But if you want the support, if you want the structure then you come to incubator and then eventually it goes to those different parts. So that's my view of it. But Dimitri has a different view. He has my view but he has an asterisk next to it. One more thing I want to mention is that everything I've discussed this is important for you too Dr. Nick the process, the CF extensions, everything is also incubation. What I mean by this is the process itself. I've had feedback. Konemi has given me feedback already. So if you have feedback on how this is being done you can fix it with me. So... Yeah, there's another question. Sendhi, you had a question? Yeah, so I think you actually partially answered my question but I think one of the things that may be helpful for people is, as you say the process is an incubation but I think one of the things that a lot of new potential contributors face is an obstacle is this sort of, as you described, the how do I contribute question but there's an implied sort of workflow here and it would be helpful I think for more contributors if that were published publicly, I mean there's good docs on as you say, how do I deploy Cloud Foundry? How do I use Cloud Foundry? And for individual projects like how do I run fork of this and test it and whatnot what isn't really well documented is what is the workflow to get new content into Cloud Foundry? And so I hope that as part of this incubation process of the Extensions Project one of the deliverables I would want to see would be documentation of the things that you mentioned that there is a slack channel that maybe there is a flow from you start off as an extension then you go into Incubator and then you eventually land up in the appropriate PMC maybe that's where it ends up, maybe it's not but that's what I would like to see and maybe even now just put a stake in the ground here's how you, your personal vision of that because I think I remember when I first came to the Cloud Foundry community and it was like, okay where do I start and obviously not where do I start as user where do I start as developer looking to enhance the platform I think that continues to be a point of frustration and question to this day You raise exactly why extension exists is to try to solve this problem definitely that's part of our goal I mean it's a journey right it's not going to happen immediately and I started by quoting Clayton Christensen and you should read one of his books I don't work for him I don't know the guy but what they are doing there is at Harvard under Clayton is to try to figure out solutions for this so there's even a new book called innovators solution and let me finish by saying that there's no one solution right so like this thousand flowers blooming that may not work you know Apple has a different way of doing of solving this issue that they have an open source should have different ways because it's not a business per se right so this is one way that I think it works by letting all in and then the success will flow but there may be different ways Linus Torval has a different way of doing this he's the benevolent dictator and and he you know for all practical purposes has been a resounding success with Linus so I don't know if this is the only solution but what I do know is that you have a way to make your voice heard and you have me and few others that I can introduce and I can kind of like you know get Cindy get you to talk to Cindy to make your voice heard and let's keep Cloud Foundry going okay so with that thank you