Panel: Open Source .NET
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Janeková, Radka
Hutchinson, Mikayla
Cieslak, Krzysztof
Icaza, Miguel De
Come here our panelists discuss the past, present and future of open source .NET. There will also be opportunities to ask questions.
 Is this a place where they grill us? So we only have one microphone and the microphone is super important for the recording, so we will have to pass this around. It's going to be like hot potato. Okay, so this is the panel on.NET and open source. And I'm going to start out by asking our panelists to introduce themselves because I'm sure they can do that a lot better than I can. Hi, everyone. My name is Ratka. I'm a.NET Core Quality Engineering Lead at Red Hat. And I like presenting about silly things. Thank you earlier. Oh, I didn't know you were at Red Hat. Excellent. I am Miguel de Casa. I worked for the Loyal Opposition to.NET for many years. And I am now part of the.NET team where we work towards bringing you a happy.NET experience across every platform. Hey, my name is Chris. I'm a weird F-Shop guy. And on this panel, I will always say, yes, Miguel, you are right. You know, when people say that they're weird F-Shop people, you look very normal. I was like, people told me about you. Oh, yeah, no, no, he's an F-Shop guy. And when I saw you presenting today, I was like, oh, we should hire this guy. He's awesome. So one of you told me that the F-Shop people were weird. But no. Yes, we are. Don't stress me, go. All right. So what is next, Mikayla? Yeah. Okay. So in a bit, I'm going to start taking questions from the audience. So start thinking about what questions you might want to ask. But I'm going to start out by asking, what first caught you into opensource.net? Well, Red Hat caught me into open source.net. Basically I started as a game developer on the usual suspect C++. And eventually, our studio needed to write really fast prototypes. So we created a clone of World of Tanks in six weeks, which is quite an achievement. And this was in Unity 3D Engine with C-Sharp Mono, at that point, I believe 3.5 version. And from there, I was freelancing for a bit, doing a bit more game development. And then Red Hat offered me a job because in my private time, I really liked playing with Linux. So they're like, you're the right person for the job. C-Sharp and Linux. All right. So my first contribution was kind of like classical F-Sharp way. So there was some project. Actually it was fake, so F-Sharp make, which is F-Sharp build system. And I've done this passive aggressive tweet that, oh, hey, fake doesn't support this feature that I really, really need. And there's this guy called Stefan Forkman, you might have heard about him. He's responsible for fake and packet. And he tweeted me, yeah, you should do this. And then after I've done it, to every new contributor, he posts those really nice GIFs after contribution, after he merged politicals. And that was so great experience that I've decided to contribute more to F-Sharp ecosystem. Yeah, that was the story, seriously. Well, I just did this presentation a couple of days ago, actually, to some interns. I was inspired by Richard Stallman for a vision of free software and the free software of the freedom to use, modify, redistribute, and redistribute modified versions of this for many years. And this started around 1991 or 1992, when I had access to a song computer and out of nowhere, I could get a free compiler that these people at the Free Software Foundation were giving away for free. And I could not believe somebody would give away a compiler for free. And I felt that in a text editor that I used to this day, Emacs. And I felt that I owed them something. So every scene I've been working on open source software, I've got a couple of gaps that I mentioned before, but open source at the time or free software was not really viable in the world that was dominated by Windows. So I decided that I was going to work and build to create a world where free software was an equal partner in the world. In a shorter version of that, I was set out to destroy Microsoft. I just had a slide of everything that I tried in my career, which was I worked on the Linux kernel, on device drivers for the Linux kernel, on the GNOME desktop, on a failed attempt at Java called the cafe with SWT, SWT is a piece that failed. And I worked on the Windows emulator so we could bring Windows applications to Linux wine. Then I worked with SON. There was an opportunity to work with SON to compete against Office and have a free office so we turned Star Office into Office. That was a negotiation that included giving up my own baby at the time called the numeric. So it's been a long route of things that I competed with Microsoft for many years. And the ironic part is that at the end, after trying many times to build companies that did open source software, it turns out it's very difficult to pay the salaries of people purely by writing software. You can try different businesses, but it's very tough, very, very tough to sell software, open source software. So I've been doing proprietary software for a while and ironically, like I mentioned earlier this morning, the ironic piece is that it took Microsoft to acquire my last company to open source my work of the last, I don't know, six years, seven years. But to me, the reason why I started doing.NET, it was because it was a means to an end. In this competition with Microsoft, we needed to build a lot of software and we were writing tools at the time when we started in CNC++. We tried Python, we tried Perl, we tried Scheme, we tried Tico, we tried everything that was available in 1995, 1996, 1997, and it was just too slow. Nothing, scripting languages in that era were just not good enough. The computers are running at 33 megahertz. They have eight megs of RAM running and interpreters, just suicidal. So we had to write C code and then Microsoft came up with this thing, which was a combination of high level programming and speed. And we said, huh, this is exactly what we needed. And it turned out it was exactly what we needed and it blossomed and now Mono is built and deployed in more places than you can imagine. If you own an Android phone or an iOS phone, you probably have one to 30 copies of Mono installed right now. So and I can't share the numbers, but they're not mine, they're Unity's. But yeah, it's been a fabulous, but to me it was a means to an end, right? It was the right technology for maximizing performance and productivity. That's it. So what excites you most about the current state of open source.net? Well, I personally like the fact that it is open source and that's, I guess, all that needs to be said because.NET framework has been closed for too long and I know there are issues why that cannot be open source. So we have.NET Core and I really like the exciting part for me personally is the cooperation between RAD and Microsoft on.NET Core and the whole journey, I guess. Yeah, well, my point of view is kind of similar to that. So what excites me is the fact that Microsoft is trying so hard. So not just the fact that they've dumped some code on GitHub, but that teams on the Microsoft product teams on Microsoft are really trying hard to cooperate with community, at least most of the teams. And yeah, that's something really exciting because only with true cooperation, true gains of community-based software opens, open source software may come. So it's not enough to just dump code on GitHub and do your own stuff, but you need to cooperate with community. And Microsoft is trying really hard to do that. Thank you. I think to me it's a sense of relief that now it's open source. I think that if.NET Core had not been open source, while Mono was available, I think that it would have continued to be a fringe technology used in a very narrow market, specifically gaming. And that was not a general purpose market. So what is really exciting to me is that it is now open source, that we have a community. And one of the projects that we worked on in the past year, which I'm very proud of, is that we just dismantled the.NET foundation as you know it. It used to be a foundation run entirely by Microsoft people. Starting in January, we're going to have a foundation that is run like the GNOME Foundation. I don't know where we got this idea from. But anybody that contributes to.NET code, documentation, advocacy, helping people, running events will be able to become a member of the foundation. And becoming a member of the foundation essentially gives you one vote to name the board of directors. So the board of directors will no longer be appointed by Microsoft. We're going to have a board of directors that decides the future of the foundation and what we do by the community. And I think that from there, it just goes into what you just said and what you just said, which is we have a lot of people now invigorated and excited about contributing in this open source world. So a big sense of relief that this happened. I would like to add to what you said that Microsoft is doing their best and really going all the way, not just like dumping some code somewhere on Git. So for example, we work on packaging for Fedora and Microsoft is really trying to not just publish binaries on Microsoft website for download, which is how it used to be for a long time. But there are engineers working directly with contributors in Fedora to meet the packaging requirements, which are quite tough in Fedora, which is for those of you who don't know. You don't just have to build from source on Fedora. You have to build all the things that are used in the build process from source on Fedora. So and those are mostly pre-built currently. So engineers in Microsoft are dedicated to this work. So now I'd like to open it up to questions from the audience. So does anyone have a question? Okay. When are we finally going to rewrite evolution in.NET? When are we finally going to rewrite evolution in.NET? Because that's actually why you started it, right? Well, I have mixed emotions about this. We now have the infrastructure necessary to build an email client in the form of Mailkit and MIMEkit that one of the early developers of evolution wrote. So he learned everything that is wrong about Mail APIs and he implemented the right ones. Although the problem today with writing an email client from the ground up is the amount of work that you need to do on filtering garbage. And maybe it's my 47 years of age speaking or 48, 46, I don't know. I'm on that range. So I just use Gmail and at work I just outlook. So yeah, it's just dealing with spam. I just, my life, it's slipping away. So it was an interesting challenge. I didn't realize to what extent the Internet would be used by scammers, grifters, con men, slimy people, and it requires a full staff. And very few people have the staff to keep up with just how horrific the Internet has become. And sadly, an email client is in the forefront of this. So yes, I would like to. Which is better things to do. Sorry. Okay, next question. Yeah. The first touch.net about six years ago and the more mature of.NET developers around there at the time, you could definitely tell that they had. I was going to try repeating it. Okay. I'll go back to that. So yeah, the first time six years ago at the time, the other more mature.NET developers had an expectation that Microsoft would lead the way and any libraries you got probably half of them you have to pay for. And I've seen the change over the time to where we are now. What are the things you think happened, either top down or more bottom up organic that caused us to be in where we are right now? What was the thing that made the change happen? So now the expectation is more that compared at the times of the Java ecosystem where you still had a company leading the way, but a large fraction of the libraries were community contributed. And we're getting to that point now with.NET where Microsoft is still in some ways leading the way by dissolving itself. But I was kind of getting at is that how much is this Microsoft made the decision and they caused this to happen or is it because the community made this happen or some combination? I don't believe I might have a full picture of how this happened, but I can tell you a couple of anecdotes that I saw. And I don't think I have the full picture because it's a large project and I cannot keep up with everything that is happening. But my reading from the outside was that at the time there was a feeling among some people that throwing software over the fence and calling it open source could be perceived as we are abandoning the software. So I believe that some people were very concerned that they did not want to give that impression. That is one piece. So there are certain people that were influenced by that. There are other people that came from different cultures, not necessarily the.NET culture or the open source culture, but there are people that started to get into the whole YouTube streaming thing and they started to become very open about talking about what they were doing and the design and they have this week. I think that nowadays is a weekly stand up. I don't watch this thing, but I guess if you're into Twitch and video games, you are into this. But a lot of people apparently participate in these discussions and rat hall about API decisions. And that independently of the other concerns kind of took on a life of its own. So I don't know if there was a concerted effort more than different people in the team were given the liberty of trying things out in the open source way. And we struggle. I proposed Mail English, which I love, and I was shut down. But other people love Git and they went with Git, some people like Gitter, they went with Gitter as a way of engaging. So I think that the top down mandate is let's make this successful, let's engage the community. But the tactics, I've seen people try many things and some have worked and some haven't, but they keep trying. And I think that emo is really into this kind of thing, right? So there are some people that are very gung ho and are people that are obsessed with GitHub notifications. I can't take it. It's just too much. But there's people that live and die by GitHub notifications. I wish I had a better answer. But I think it's a lot of different viewpoints coming together and contributing to that. And that's the effect that you see. I don't think that it's a very well coordinated from the top down, how we will engage and how we will not. So as a total outsider, I'm a member of the community, but I don't have anything to do with Microsoft. It seems that it's natural process in the fact that, oh, new people are joining the Microsoft and new people are getting more senior, new people are getting to the project manager positions, senior project manager positions and so on and so on. And those new people that joined the company default now is open source. It's community everywhere. No matter from what background they're coming, whether they're joining just after studies, university or from some other ecosystem, default is open source everywhere and that kind of probably flows through the company. That would be my wild guess as a total outsider knowing some of the people at Microsoft. Thanks. Okay, so in the monotimes, I remember that you were trying to push like monos a platform for developing like desktop applications for Linux and GNOME. And at the time, there was part of the like open source community that had some pushback because at the time, Microsoft was not that friendly with open source. And I think that now we're in this interesting position where now Microsoft is way more friendly and they're open sourcing a lot of things and things have changed. But at the same time, I feel like the monocomunity got smaller and that link was lost. In some way, Microsoft is more friendly but also the parts from the community are smaller. So how do you think we can just come back and try to push again for.NET as a good alternative for open source in this world where there's not a monocomunity as strong as it was before? Well, that is a traumatic experience. There was a traumatic experience. The attacks on Mono because it was built on a Microsoft technology at the time got fairly vicious. I had not seen anything like that in my life before. To give you an idea, we received, there were basically editorials written on a daily basis about how bad this was and calling my morals into question and the morals of everybody in my questions. And we did receive a few death threats. So I think, I mean, from my perspective, that was one of my early touch points with abuse on the Internet. We kept going because there were people that loved it. There were people that didn't care and we kept going. In particular, Unity kept going and the community with Unity didn't really care. It's not even clear to me that it really mattered. I think that it became an ideological fight, like the ideological fights that we have over Brexit or we have over the Orange Man. So I don't think that at the end of the day, it mattered. That is when we created Xamarin. My company that did mobile applications, we went full of proprietary and what happened is we took.NET, we made our version proprietary and we sold it to a community that was not ideologically bound. So when we went to the mobile world, the abuse stopped. I've never been as happy as that day when I abandoned open source because the abuse stopped. And I was sick of it. I was sick of years of abuse. Then there was GamerGate years later and it gave me all the flashbacks of the delightful open source community attacking Mono. So yes, Mono did shrink. It did shrink and it did shrink because I did not care more to push it towards the Linux desktop or Linux in general. Because we were very happy with the mobile developers, mobile developers had the same needs that Linux developers had. They had money, they had a problem to solve and they were not ideologically driven. So Xamarin succeeded. And it's very interesting because when I look at other startups that succeeded to put it into perspective, when I look at the revenues of successful startups, Xamarin was making a lot more money than those are than what you think are those, right? So it was a very successful company. Our run rate was amazing. It was just fantastic. So those were very, very happy years. Now part of what makes me very happy that Microsoft open source.net and we got the patent covenant in place is that it eliminated the complaints that were the root of the abuse. Some of it's still continuous. People still type micro-dollar soft. People still think that I'm an undercover Microsoft agent. I do work for Microsoft. But it is a conscious thing that we are trying to restore from a community perspective because we did lose that community. And I think that the community that we attract today is mostly a web developer community and the mobile community. And we're starting trying to restore the rest, but it takes time and it's definitely not a priority anymore. At least it's not a business priority. So it's the people in our team that believe in Linux and open source and want to make it happen. So we keep working on those things. We contribute to open source constantly and we try to encourage the work. In fact, I've asked my team to move all of our discussions that are in an open source product away from our internal Slack to Gitter. It's a trick thing because we link Gitter with Slack. So we actually keep using Slack internally because it's fantastic. But we are engaged with the community. So Gitter Mono Mono, Erho, MonoDevelop, Xamarin, Android, Roslin, I don't know, all those things. We tried to engage with the community, but we did kill those links. We killed IRC. We killed the mailing list. We're unattended for years. But it was part of it due to trauma, really. It was trauma. I would like to also add that I've been also called Microsoft's spy within Red Hat and stuff like that. There's still among us, yes. Miguel mentioned that C-Shark now runs on many platforms, Windows, Linux, Android, iOS. Are there any plans on supporting.NET languages on Google's next operating system, Fuchsia? I'm not sure how it's pronounced. I'm not a native speaker. But yeah, Fuchsia. So I work two hats. I work two hats. I am a Microsoft employee, so I'm going to give you the Microsoft answer first. No, we have no plans. But Microsoft generally will consider platforms that are important to support. Right now, Fuchsia is not considered a major platform as a research OS. If somebody wants to support it, fine. We support all kinds of other research OSes like Wilderness Labs. Right now has a beautiful mono that boots, you boot into mono in a microcontroller. So I mean, we do support things like that. Now with my personal Miguel de Caza hat on my spare time, I am working on getting mono to run on Zircon. And I have bindings to Zircon. Zircon-sharp. And I'm talking to a bunch of Google people that have been kind enough to help me do that. But it's not a Microsoft thing. It's a personal thing. I do like Fuchsia. I do love the design of the kernel. I don't know about the rest because I haven't figured it out yet. But the kernel is very pretty. It's a very interesting design. I don't know if it's going to be fast or as good as Linux, but it's interesting. So from my, I love to try new things. I am trying it out. You can go to my GitHub. It's in there. The other thing we can do is I could repeat the question. Or we could repeat the question after the afternoon. Yeah, if it's short enough. Okay. Short, short questions, everyone. Yeah. I'll repeat it. You talked about changing the mentality of the community. Let's say I have a friend in organization where we have to change the mentality of the middle managers because they were developers 15 or 20 years ago. And that was an era where they don't want to hear what Microsoft and they don't want to sell the idea of using Microsoft versions, particularly for development. So the question is about how we can change the minds of middle managers to start using these new Microsoft open source technologies. I've talked too much. If you guys want to take it, you can do it. Otherwise I can, I can do it, but I don't want to. I don't want to. I probably earned a lot of money. Yeah. Yeah. You could probably earn a lot of money if you knew. But I think that the key is to start trying to contribute towards changing that, let's call it, legacy feeling from bottom up. So think about how you can contribute as an individual. So, for example, if you see a discussion and someone just says that it's Microsoft technology and starts flaming or something, don't argue with them. Just explain the facts. It's open source and everything and let them take those facts. That's my take on it anyway. Let's try. So first of all, in my experience with like middle management, it's not only convincing middle managers to use Microsoft stuff, but there's also totally second kind of middle management is to convincing existing C sharp shops to use Microsoft open source stuff. Because there definitely is huge part of the C sharp.net ecosystem that will do only the stuff that Microsoft tells them to do. So that's out of the box in Visual Studio. That's the policy. So MS tests instead of the community alternatives, entity framework instead of the community alternatives and stuff like that. And the response to both types that was just random addition so I can have longer sentence. So answer to both those types is convincing your fellow developers in the team that it's good idea. And then if majority all your developers on the team are convinced, yes, this is good idea. This would need to be really bad manager to not consider the fact that oh, maybe my developers are right. So yeah, that would be my tip, I guess. There's another question, but we can talk later offline. So you've all been outside the community outside Microsoft working on that. What specific things have changed in the last, say, five years that have made your experience outside working with.net better? And how can we repeat it self interest? So the question is what changes that have happened in the last five years have made your experience working with.net from outside of Microsoft better? Yeah, so definitely the thing I've mentioned earlier. So the fact that Microsoft now is open to collaboration. I mean, F-Sharp was always in I speak from the F-Sharp experience. F-Sharp was always F-Sharp team was always kind of open to collaboration with the community because it was in this weird place. So F-Sharp on its own had really strong, strong, has really strong experience with the open source. So when I started working with F-Sharp open source was default and in general,.net open source was not default at this point in the time. And that was really annoying because I've got used to this fact that, oh, I can just tweet to project manager working on F-Sharp team and talk with him about next language version or design or some ID features or whatever. Or I can go to Don Simon, have a bit with him and just discuss whatever is happening in the F-Sharp community. And I couldn't do that with ASP.net team or whatever other products that I've used. And nowadays what has changed is, yeah, they are happy to cooperate with the community. They are happy to talk with community, at least most of the teams. So yeah, so that's the change. And I guess on the most teams there are really like people, again, I'm outside there. But my experience is that many, many teams in Microsoft there are people that are super happy to work with the community. So just go to them, talk with them, email with them, tweet with them, whatever. And they will be happy that someone is interested, someone is passionate about the product. And they will be happy to collaborate with you. I think that the key, the piece to me that has been key is really the ascension of Sacha Nadella as the CEO. And I'm going to say why. I have not been at Microsoft for the whole time that Sacha has been CEO, but we did meet with him, Xamarin and Microsoft, when he was the head of the service and tools business. And he is the one that triggered the collaboration between two companies at a time when we needed it. And he's been always a man that is very impressive because he listens and is willing to change his mind when he's presented with new data. I don't know when this started happening, but inside the company he rolled out a set of changes. And there's an article on Forbes in the last couple of days. I read it this morning, but it's something that is part of everything that we do, every time that we do a performance review, it's there. And it's called the difference between what it's called the growth mindset versus the fixed mindset. And you can Google it, it's research from a Stanford professor on how to build better organizations and just leave a better life, generally. But it comes down to changing your mindset to essentially acknowledging that you don't have all the answers. And that when you have a discussion, the point of the discussion is not necessarily to win it, but to explore the alternatives, a little bit of the scientific method, right, of questioning and trying to find the answer. And then, you know, it might, and sometimes you might learn 5%. And the next time that you debate the same thing, you learn another 5%. But this has been now embedded in the company at least since I've been there since 2016. And it is part of the performance review. And some of it includes things like what have you done that has helped another team? I don't know if you remember that graph of organizational structures of Microsoft where there were guns pointing at each other. So this is what he set out to fix. And I think that these principles are good, not just there, but among our communities, among this horrible dystopian world that we're living in right now. And so some of the questions are, what have you done to build on somebody else's work? How have you helped somebody else use your work? How have you explained it? And then we have a secondary sort of principles that he introduced, and I'm going to mess this up, but they're called the leadership principles. They include deliver results and all kinds of things associated with that, generate energy and everything associated with that and create clarity. And these points are very important, particularly creating clarity as a manager means that you know that your team understands the objectives and what are the constraints are, which means that you as a manager don't need to micromanage. You have a chance to transfer a vision and then the team can execute on their own. So all of these principles were things that Saatchi brought in. And honestly, they're principles that should be applied elsewhere that I wish were applied beyond their industry. And I'll give you another example that is very clear. In the last few years, we've realized that we treat women, minorities, people of different colors like shit, and they don't have the same opportunities. They don't have the same job opportunities. And you know, a lot of people say, well, it's a matter of the pipeline. If we don't hire more of fools because not enough food are applying, right? And no, it's because we're lazy. The reality is we're lazy. We go and we interview kids at Harvard, which means that we select the people that could afford Harvard, right? So a mandate, I don't know if it came from Saatchi or from Kathy, from Personnel. Anyways, there's a massive initiative within the company where we said we're not going to pay lip service to this. It is not one of each individual has an objective to drive some of these principles of diversity and inclusion. So while a lot of people are talking and debating externally, well, what does it mean? Why are you imposing me this? My freedom to do these things? We've moved on. We've acknowledged that this is a problem. We know that it's a problem. In the company, we go through training for, we just had an ally workshop last month in Cambridge. And McKellar can tell you more about that. I wish I could tell you about that, but I was not available that day. I'm scheduled for my trip on February. But we're doing that and diversity and inclusion exercises. I mean, and this is training that you have to take, right? So we're going beyond lip service and we're trying to address those things. And I think everybody needs to get there, get over your objections to the code of conduct and embrace it. So you would say it's cultural top down? I think it have come from anywhere, but it came top down here. Since you touched on diversity, I just wanted to mention that we can't change the current state of our industry. We can change the 90 to 10 ratio. It's not going to change immediately. We need to work towards educating our children and giving them equal opportunities. So when you're buying Christmas gifts, don't just buy Barbies for Girls, buy remote control robots and Barbies for Girls. Buy a painting set for the boy. That is the way to change, to give the children basically equal opportunities. And we are at time. We're at time? We are at time. Yep. We have something else, right? We now have lightning talks. So how many people have lightning talks? One. One. Okay. We could extend the panel a little then. Okay. Okay. Well, since Visual Studio is currently not available on Linux, I was wondering what you guys would use there. Okay. So since Visual Studio is not available on Linux, what would you use to write code there? I would recommend Closed Tours Protect. It's JetBrains Rider. It's, they also created the Resharper for Visual Studio and all kinds of other.NET tools like.trace,.memory and.whatever. It's probably the only big IDE that you could use for.NET languages. The only other things that are there like Visual Studio code, which I believe you've been using in the presentation, they're plugin based. They used language server. Rider is not using language server. There's a difference, I guess. There is also the fully open source top to bottom monodvelop. And monodvelop serves as the core for Visual Studio for Mac. Visual Studio for Mac takes monodvelop and adds some proprietary extensions on it. But monodvelop is there. Now that said, if you really want to get the Visual Studio thing with all the Visual Studio things, you should go and complain on developer community. So my management. Here's about it. I would use Visual Studio code. I've heard there's really good IDE for Fsharp for Visual Studio code called Ionite. Yeah, you should try it out. I would also add to it that there are many other IDEs that utilize the same language server. So for example, Eclipse, we have a bunch of red headers working on that. Yes. And also Atom, we had some support. I don't know to what extent. What actually would be the reasons not to bring binaries of Visual Studio that are available for Linux under any reasons whatsoever? So the question is what are the reasons that Microsoft would not have binaries for Visual Studio on Linux? I'll tell you the reason. The reason is when we launch Visual Studio for Mac, while it is a decent IDE for mobile, we added some capabilities and but we didn't add every capability. So what we're trying to do right now is we're trying to make sure that every capability that we ship is rock solid. So the mandate from my boss is that we need to polish this thing until it is perfect. And we have very concrete metrics as to what perfection means in this thing. We're not meeting them yet. You just heard Mei Chin show you the numbers. And this is the kind of numbers that she has to report to my boss as well. So Julia Luzon, who is our boss. She's tough. She's tough and wants quality products and doesn't want half baked products. So she is willing to do it, provided I do two things. A, I deliver the quality that is needed and all of you are super happy with Visual Studio for Mac. So, you know, we have a survey built into the IDE and when the tie turns and people say this is super happy, she will let me do it. But that's it. We need to make this thing perfect. And right now we're failing our users on a few dimensions. We know what those problems are and we're fixing them. And it's very methodical and I have a preview if you want to see it. It's very interesting because my question is stability. Why don't you have Visual Studio? Why are you trying to make one of those more or less? I don't know. You borrow another member of it. It's like my back then said, I don't think that the net on Linux could ever be a success because of the special studio. Back then I said in Istanbul that the net on Linux is probably never going to be a success because the developer needs visual studio. But nowadays Microsoft is apparently working on visual studio for Linux. That opens up a whole lot of opportunities in my opinion. It is hard to discuss an opinion. I value your opinion and I believe not only I value your opinion, I believe in your opinion. I believe that you're right. That said, we've offered a couple of band-aids, writer, VS Code, mono develop. They're not the same thing, but they're options. That said, as management, once you become manager, you're really in the role of, you kind of move away, or at least that responsible manager like my boss is. You move away from the world of possibility and unlimited options to, it's more like a physics world. I have three buckets of water and I have a big pile that I need to fill in. What can I do with this? You need to manage your three buckets and it's physics, it's people and time. We need to serialize and rather than having two mediocre products, we're going to have a fantastic product and we're going to serialize it and we're going to have a fantastic second product. It's her choice. I think it's the right choice. Yes, it might be a little bit painful for a while, but we do have options in the meantime. In the end, you're going to be happy that you didn't use incomplete stack and you'll thank us for that. Maybe it's going to take me another year, but I'll get there. I could also add that we show studio is not probably the highest of priorities on Linux because you can just write your code on Windows or Mac and then deploy to Linux servers, which is the current most popular use case or containers. All right, let's do a lightning talk. Can we lose Linux?
 Is this a place where they grill us?  So we only have one microphone and the microphone is super important for the recording, so we  will have to pass this around.  It's going to be like hot potato.  Okay, so this is the panel on.NET and open source.  And I'm going to start out by asking our panelists to introduce themselves because I'm sure they  can do that a lot better than I can.  Hi, everyone.  My name is Ratka.  I'm a.NET Core Quality Engineering Lead at Red Hat.  And I like presenting about silly things.  Thank you earlier.  Oh, I didn't know you were at Red Hat.  Excellent.  I am Miguel de Casa.  I worked for the Loyal Opposition to.NET for many years.  And I am now part of the.NET team where we work towards bringing you a happy.NET experience  across every platform.  Hey, my name is Chris.  I'm a weird F-Shop guy.  And on this panel, I will always say, yes, Miguel, you are right.  You know, when people say that they're weird F-Shop people, you look very normal.  I was like, people told me about you.  Oh, yeah, no, no, he's an F-Shop guy.  And when I saw you presenting today, I was like, oh, we should hire this guy.  He's awesome.  So one of you told me that the F-Shop people were weird.  But no.  Yes, we are.  Don't stress me, go.  All right.  So what is next, Mikayla?  Yeah.  Okay.  So in a bit, I'm going to start taking questions from the audience.  So start thinking about what questions you might want to ask.  But I'm going to start out by asking, what first caught you into opensource.net?  Well, Red Hat caught me into open source.net.  Basically I started as a game developer on the usual suspect C++.  And eventually, our studio needed to write really fast prototypes.  So we created a clone of World of Tanks in six weeks, which is quite an achievement.  And this was in Unity 3D Engine with C-Sharp Mono, at that point, I believe 3.5 version.  And from there, I was freelancing for a bit, doing a bit more game development.  And then Red Hat offered me a job because in my private time, I really liked playing  with Linux.  So they're like, you're the right person for the job.  C-Sharp and Linux.  All right.  So my first contribution was kind of like classical F-Sharp way.  So there was some project.  Actually it was fake, so F-Sharp make, which is F-Sharp build system.  And I've done this passive aggressive tweet that, oh, hey, fake doesn't support this feature  that I really, really need.  And there's this guy called Stefan Forkman, you might have heard about him.  He's responsible for fake and packet.  And he tweeted me, yeah, you should do this.  And then after I've done it, to every new contributor, he posts those really nice GIFs  after contribution, after he merged politicals.  And that was so great experience that I've decided to contribute more to F-Sharp ecosystem.  Yeah, that was the story, seriously.  Well, I just did this presentation a couple of days ago, actually, to some interns.  I was inspired by Richard Stallman for a vision of free software and the free software  of the freedom to use, modify, redistribute, and redistribute modified versions of this  for many years.  And this started around 1991 or 1992, when I had access to a song computer and out of  nowhere, I could get a free compiler that these people at the Free Software Foundation  were giving away for free.  And I could not believe somebody would give away a compiler for free.  And I felt that in a text editor that I used to this day, Emacs.  And I felt that I owed them something.  So every scene I've been working on open source software, I've got a couple of gaps that I  mentioned before, but open source at the time or free software was not really viable in  the world that was dominated by Windows.  So I decided that I was going to work and build to create a world where free software  was an equal partner in the world.  In a shorter version of that, I was set out to destroy Microsoft.  I just had a slide of everything that I tried in my career, which was I worked on the Linux  kernel, on device drivers for the Linux kernel, on the GNOME desktop, on a failed attempt  at Java called the cafe with SWT, SWT is a piece that failed.  And I worked on the Windows emulator so we could bring Windows applications to Linux  wine.  Then I worked with SON.  There was an opportunity to work with SON to compete against Office and have a free  office so we turned Star Office into Office.  That was a negotiation that included giving up my own baby at the time called the numeric.  So it's been a long route of things that I competed with Microsoft for many years.  And the ironic part is that at the end, after trying many times to build companies that  did open source software, it turns out it's very difficult to pay the salaries of people  purely by writing software.  You can try different businesses, but it's very tough, very, very tough to sell software,  open source software.  So I've been doing proprietary software for a while and ironically, like I mentioned earlier  this morning, the ironic piece is that it took Microsoft to acquire my last company to open  source my work of the last, I don't know, six years, seven years.  But to me, the reason why I started doing.NET, it was because it was a means to an end.  In this competition with Microsoft, we needed to build a lot of software and we were writing  tools at the time when we started in CNC++.  We tried Python, we tried Perl, we tried Scheme, we tried Tico, we tried everything  that was available in 1995, 1996, 1997, and it was just too slow.  Nothing, scripting languages in that era were just not good enough.  The computers are running at 33 megahertz.  They have eight megs of RAM running and interpreters, just suicidal.  So we had to write C code and then Microsoft came up with this thing, which was a combination  of high level programming and speed.  And we said, huh, this is exactly what we needed.  And it turned out it was exactly what we needed and it blossomed and now Mono is built and  deployed in more places than you can imagine.  If you own an Android phone or an iOS phone, you probably have one to 30 copies of Mono  installed right now.  So and I can't share the numbers, but they're not mine, they're Unity's.  But yeah, it's been a fabulous, but to me it was a means to an end, right?  It was the right technology for maximizing performance and productivity.  That's it.  So what excites you most about the current state of open source.net?  Well, I personally like the fact that it is open source and that's, I guess, all that  needs to be said because.NET framework has been closed for too long and I know there  are issues why that cannot be open source.  So we have.NET Core and I really like the exciting part for me personally is the cooperation  between RAD and Microsoft on.NET Core and the whole journey, I guess.  Yeah, well, my point of view is kind of similar to that.  So what excites me is the fact that Microsoft is trying so hard.  So not just the fact that they've dumped some code on GitHub, but that teams on the Microsoft  product teams on Microsoft are really trying hard to cooperate with community, at least  most of the teams.  And yeah, that's something really exciting because only with true cooperation, true gains  of community-based software opens, open source software may come.  So it's not enough to just dump code on GitHub and do your own stuff, but you need to cooperate  with community.  And Microsoft is trying really hard to do that.  Thank you.  I think to me it's a sense of relief that now it's open source.  I think that if.NET Core had not been open source, while Mono was available, I think  that it would have continued to be a fringe technology used in a very narrow market, specifically  gaming.  And that was not a general purpose market.  So what is really exciting to me is that it is now open source, that we have a community.  And one of the projects that we worked on in the past year, which I'm very proud of, is  that we just dismantled the.NET foundation as you know it.  It used to be a foundation run entirely by Microsoft people.  Starting in January, we're going to have a foundation that is run like the GNOME Foundation.  I don't know where we got this idea from.  But anybody that contributes to.NET code, documentation, advocacy, helping people, running  events will be able to become a member of the foundation.  And becoming a member of the foundation essentially gives you one vote to name the board of directors.  So the board of directors will no longer be appointed by Microsoft.  We're going to have a board of directors that decides the future of the foundation and what  we do by the community.  And I think that from there, it just goes into what you just said and what you just said,  which is we have a lot of people now invigorated and excited about contributing in this open  source world.  So a big sense of relief that this happened.  I would like to add to what you said that Microsoft is doing their best and really going  all the way, not just like dumping some code somewhere on Git.  So for example, we work on packaging for Fedora and Microsoft is really trying to not just  publish binaries on Microsoft website for download, which is how it used to be for a  long time.  But there are engineers working directly with contributors in Fedora to meet the packaging  requirements, which are quite tough in Fedora, which is for those of you who don't know.  You don't just have to build from source on Fedora.  You have to build all the things that are used in the build process from source on Fedora.  So and those are mostly pre-built currently.  So engineers in Microsoft are dedicated to this work.  So now I'd like to open it up to questions from the audience.  So does anyone have a question?  Okay.  When are we finally going to rewrite evolution in.NET?  When are we finally going to rewrite evolution in.NET?  Because that's actually why you started it, right?  Well, I have mixed emotions about this.  We now have the infrastructure necessary to build an email client in the form of Mailkit  and MIMEkit that one of the early developers of evolution wrote.  So he learned everything that is wrong about Mail APIs and he implemented the right ones.  Although the problem today with writing an email client from the ground up is the amount  of work that you need to do on filtering garbage.  And maybe it's my 47 years of age speaking or 48, 46, I don't know.  I'm on that range.  So I just use Gmail and at work I just outlook.  So yeah, it's just dealing with spam.  I just, my life, it's slipping away.  So it was an interesting challenge.  I didn't realize to what extent the Internet would be used by scammers, grifters, con men,  slimy people, and it requires a full staff.  And very few people have the staff to keep up with just how horrific the Internet has  become.  And sadly, an email client is in the forefront of this.  So yes, I would like to.  Which is better things to do.  Sorry.  Okay, next question.  Yeah.  The first touch.net about six years ago and the more mature of.NET developers around  there at the time, you could definitely tell that they had.  I was going to try repeating it.  Okay.  I'll go back to that.  So yeah, the first time six years ago at the time, the other more mature.NET developers  had an expectation that Microsoft would lead the way and any libraries you got probably  half of them you have to pay for.  And I've seen the change over the time to where we are now.  What are the things you think happened, either top down or more bottom up organic that caused  us to be in where we are right now?  What was the thing that made the change happen?  So now the expectation is more that compared at the times of the Java ecosystem where you  still had a company leading the way, but a large fraction of the libraries were community  contributed.  And we're getting to that point now with.NET where Microsoft is still in some ways leading  the way by dissolving itself.  But I was kind of getting at is that how much is this Microsoft made the decision and they  caused this to happen or is it because the community made this happen or some combination?  I don't believe I might have a full picture of how this happened, but I can tell you a  couple of anecdotes that I saw.  And I don't think I have the full picture because it's a large project and I cannot keep up  with everything that is happening.  But my reading from the outside was that at the time there was a feeling among some people  that throwing software over the fence and calling it open source could be perceived as we are  abandoning the software.  So I believe that some people were very concerned that they did not want to give that impression.  That is one piece.  So there are certain people that were influenced by that.  There are other people that came from different cultures, not necessarily the.NET culture  or the open source culture, but there are people that started to get into the whole  YouTube streaming thing and they started to become very open about talking about what  they were doing and the design and they have this week.  I think that nowadays is a weekly stand up.  I don't watch this thing, but I guess if you're into Twitch and video games, you are into  this.  But a lot of people apparently participate in these discussions and rat hall about API  decisions.  And that independently of the other concerns kind of took on a life of its own.  So I don't know if there was a concerted effort more than different people in the team were  given the liberty of trying things out in the open source way.  And we struggle.  I proposed Mail English, which I love, and I was shut down.  But other people love Git and they went with Git, some people like Gitter, they went with  Gitter as a way of engaging.  So I think that the top down mandate is let's make this successful, let's engage the community.  But the tactics, I've seen people try many things and some have worked and some haven't,  but they keep trying.  And I think that emo is really into this kind of thing, right?  So there are some people that are very gung ho and are people that are obsessed with GitHub  notifications.  I can't take it.  It's just too much.  But there's people that live and die by GitHub notifications.  I wish I had a better answer.  But I think it's a lot of different viewpoints coming together and contributing to that.  And that's the effect that you see.  I don't think that it's a very well coordinated from the top down, how we will engage and  how we will not.  So as a total outsider, I'm a member of the community, but I don't have anything to do  with Microsoft.  It seems that it's natural process in the fact that, oh, new people are joining the  Microsoft and new people are getting more senior, new people are getting to the project  manager positions, senior project manager positions and so on and so on.  And those new people that joined the company default now is open source.  It's community everywhere.  No matter from what background they're coming, whether they're joining just after studies,  university or from some other ecosystem, default is open source everywhere and that kind of  probably flows through the company.  That would be my wild guess as a total outsider knowing some of the people at Microsoft.  Thanks.  Okay, so in the monotimes, I remember that you were trying to push like monos a platform  for developing like desktop applications for Linux and GNOME.  And at the time, there was part of the like open source community that had some pushback  because at the time, Microsoft was not that friendly with open source.  And I think that now we're in this interesting position where now Microsoft is way more friendly  and they're open sourcing a lot of things and things have changed.  But at the same time, I feel like the monocomunity got smaller and that link was lost.  In some way, Microsoft is more friendly but also the parts from the community are smaller.  So how do you think we can just come back and try to push again for.NET as a good  alternative for open source in this world where there's not a monocomunity as strong  as it was before?  Well, that is a traumatic experience.  There was a traumatic experience.  The attacks on Mono because it was built on a Microsoft technology at the time got fairly  vicious.  I had not seen anything like that in my life before.  To give you an idea, we received, there were basically editorials written on a daily basis  about how bad this was and calling my morals into question and the morals of everybody  in my questions.  And we did receive a few death threats.  So I think, I mean, from my perspective, that was one of my early touch points with  abuse on the Internet.  We kept going because there were people that loved it.  There were people that didn't care and we kept going.  In particular, Unity kept going and the community with Unity didn't really care.  It's not even clear to me that it really mattered.  I think that it became an ideological fight, like the ideological fights that we have over  Brexit or we have over the Orange Man.  So I don't think that at the end of the day, it mattered.  That is when we created Xamarin.  My company that did mobile applications, we went full of proprietary and what happened  is we took.NET, we made our version proprietary and we sold it to a community that was not  ideologically bound.  So when we went to the mobile world, the abuse stopped.  I've never been as happy as that day when I abandoned open source because the abuse  stopped.  And I was sick of it.  I was sick of years of abuse.  Then there was GamerGate years later and it gave me all the flashbacks of the delightful  open source community attacking Mono.  So yes, Mono did shrink.  It did shrink and it did shrink because I did not care more to push it towards the Linux  desktop or Linux in general.  Because we were very happy with the mobile developers, mobile developers had the same  needs that Linux developers had.  They had money, they had a problem to solve and they were not ideologically driven.  So Xamarin succeeded.  And it's very interesting because when I look at other startups that succeeded to put it  into perspective, when I look at the revenues of successful startups, Xamarin was making  a lot more money than those are than what you think are those, right?  So it was a very successful company.  Our run rate was amazing.  It was just fantastic.  So those were very, very happy years.  Now part of what makes me very happy that Microsoft open source.net and we got the patent  covenant in place is that it eliminated the complaints that were the root of the abuse.  Some of it's still continuous.  People still type micro-dollar soft.  People still think that I'm an undercover Microsoft agent.  I do work for Microsoft.  But it is a conscious thing that we are trying to restore from a community perspective because  we did lose that community.  And I think that the community that we attract today is mostly a web developer community  and the mobile community.  And we're starting trying to restore the rest, but it takes time and it's definitely not  a priority anymore.  At least it's not a business priority.  So it's the people in our team that believe in Linux and open source and want to make  it happen.  So we keep working on those things.  We contribute to open source constantly and we try to encourage the work.  In fact, I've asked my team to move all of our discussions that are in an open source  product away from our internal Slack to Gitter.  It's a trick thing because we link Gitter with Slack.  So we actually keep using Slack internally because it's fantastic.  But we are engaged with the community.  So Gitter Mono Mono, Erho, MonoDevelop, Xamarin, Android, Roslin, I don't know, all those things.  We tried to engage with the community, but we did kill those links.  We killed IRC.  We killed the mailing list.  We're unattended for years.  But it was part of it due to trauma, really.  It was trauma.  I would like to also add that I've been also called Microsoft's spy within Red Hat and  stuff like that.  There's still among us, yes.  Miguel mentioned that C-Shark now runs on many platforms, Windows, Linux, Android, iOS.  Are there any plans on supporting.NET languages on Google's next operating system, Fuchsia?  I'm not sure how it's pronounced.  I'm not a native speaker.  But yeah, Fuchsia.  So I work two hats.  I work two hats.  I am a Microsoft employee, so I'm going to give you the Microsoft answer first.  No, we have no plans.  But Microsoft generally will consider platforms that are important to support.  Right now, Fuchsia is not considered a major platform as a research OS.  If somebody wants to support it, fine.  We support all kinds of other research OSes like Wilderness Labs.  Right now has a beautiful mono that boots, you boot into mono in a microcontroller.  So I mean, we do support things like that.  Now with my personal Miguel de Caza hat on my spare time, I am working on getting mono  to run on Zircon.  And I have bindings to Zircon.  Zircon-sharp.  And I'm talking to a bunch of Google people that have been kind enough to help me do that.  But it's not a Microsoft thing.  It's a personal thing.  I do like Fuchsia.  I do love the design of the kernel.  I don't know about the rest because I haven't figured it out yet.  But the kernel is very pretty.  It's a very interesting design.  I don't know if it's going to be fast or as good as Linux, but it's interesting.  So from my, I love to try new things.  I am trying it out.  You can go to my GitHub.  It's in there.  The other thing we can do is I could repeat the question.  Or we could repeat the question after the afternoon.  Yeah, if it's short enough.  Okay.  Short, short questions, everyone.  Yeah.  I'll repeat it.  You talked about changing the mentality of the community.  Let's say I have a friend in organization where we have to change the mentality of the  middle managers because they were developers 15 or 20 years ago.  And that was an era where they don't want to hear what Microsoft and they don't want  to sell the idea of using Microsoft versions, particularly for development.  So the question is about how we can change the minds of middle managers to start using  these new Microsoft open source technologies.  I've talked too much.  If you guys want to take it, you can do it.  Otherwise I can, I can do it, but I don't want to.  I don't want to.  I probably earned a lot of money.  Yeah.  Yeah.  You could probably earn a lot of money if you knew.  But I think that the key is to start trying to contribute towards changing that, let's  call it, legacy feeling from bottom up.  So think about how you can contribute as an individual.  So, for example, if you see a discussion and someone just says that it's Microsoft technology  and starts flaming or something, don't argue with them.  Just explain the facts.  It's open source and everything and let them take those facts.  That's my take on it anyway.  Let's try.  So first of all, in my experience with like middle management, it's not only convincing  middle managers to use Microsoft stuff, but there's also totally second kind of middle  management is to convincing existing C sharp shops to use Microsoft open source stuff.  Because there definitely is huge part of the C sharp.net ecosystem that will do only the  stuff that Microsoft tells them to do.  So that's out of the box in Visual Studio.  That's the policy.  So MS tests instead of the community alternatives, entity framework instead of the community  alternatives and stuff like that.  And the response to both types that was just random addition so I can have longer sentence.  So answer to both those types is convincing your fellow developers in the team that it's good idea.  And then if majority all your developers on the team are convinced, yes, this is good idea.  This would need to be really bad manager to not consider the fact that oh, maybe my developers are right.  So yeah, that would be my tip, I guess.  There's another question, but we can talk later offline.  So you've all been outside the community outside Microsoft working on that.  What specific things have changed in the last, say, five years that have made your experience outside working with.net better?  And how can we repeat it self interest?  So the question is what changes that have happened in the last five years have made your experience working with.net from outside of Microsoft better?  Yeah, so definitely the thing I've mentioned earlier.  So the fact that Microsoft now is open to collaboration.  I mean, F-Sharp was always in I speak from the F-Sharp experience.  F-Sharp was always F-Sharp team was always kind of open to collaboration with the community because it was in this weird place.  So F-Sharp on its own had really strong, strong, has really strong experience with the open source.  So when I started working with F-Sharp open source was default and in general,.net open source was not default at this point in the time.  And that was really annoying because I've got used to this fact that, oh, I can just tweet to project manager working on F-Sharp team and talk with him about next language version or design or some ID features or whatever.  Or I can go to Don Simon, have a bit with him and just discuss whatever is happening in the F-Sharp community.  And I couldn't do that with ASP.net team or whatever other products that I've used.  And nowadays what has changed is, yeah, they are happy to cooperate with the community.  They are happy to talk with community, at least most of the teams.  So yeah, so that's the change.  And I guess on the most teams there are really like people, again, I'm outside there.  But my experience is that many, many teams in Microsoft there are people that are super happy to work with the community.  So just go to them, talk with them, email with them, tweet with them, whatever.  And they will be happy that someone is interested, someone is passionate about the product.  And they will be happy to collaborate with you.  I think that the key, the piece to me that has been key is really the ascension of Sacha Nadella as the CEO.  And I'm going to say why.  I have not been at Microsoft for the whole time that Sacha has been CEO,  but we did meet with him, Xamarin and Microsoft, when he was the head of the service and tools business.  And he is the one that triggered the collaboration between two companies at a time when we needed it.  And he's been always a man that is very impressive because he listens and is willing to change his mind when he's presented with new data.  I don't know when this started happening, but inside the company he rolled out a set of changes.  And there's an article on Forbes in the last couple of days.  I read it this morning, but it's something that is part of everything that we do,  every time that we do a performance review, it's there.  And it's called the difference between what it's called the growth mindset versus the fixed mindset.  And you can Google it, it's research from a Stanford professor on how to build better organizations and just leave a better life, generally.  But it comes down to changing your mindset to essentially acknowledging that you don't have all the answers.  And that when you have a discussion, the point of the discussion is not necessarily to win it,  but to explore the alternatives, a little bit of the scientific method, right, of questioning and trying to find the answer.  And then, you know, it might, and sometimes you might learn 5%.  And the next time that you debate the same thing, you learn another 5%.  But this has been now embedded in the company at least since I've been there since 2016.  And it is part of the performance review.  And some of it includes things like what have you done that has helped another team?  I don't know if you remember that graph of organizational structures of Microsoft where there were guns pointing at each other.  So this is what he set out to fix.  And I think that these principles are good, not just there, but among our communities, among this horrible dystopian world that we're living in right now.  And so some of the questions are, what have you done to build on somebody else's work?  How have you helped somebody else use your work?  How have you explained it?  And then we have a secondary sort of principles that he introduced, and I'm going to mess this up, but they're called the leadership principles.  They include deliver results and all kinds of things associated with that, generate energy and everything associated with that and create clarity.  And these points are very important, particularly creating clarity as a manager means that you know that your team understands the objectives and what are the constraints are,  which means that you as a manager don't need to micromanage.  You have a chance to transfer a vision and then the team can execute on their own.  So all of these principles were things that Saatchi brought in.  And honestly, they're principles that should be applied elsewhere that I wish were applied beyond their industry.  And I'll give you another example that is very clear.  In the last few years, we've realized that we treat women, minorities, people of different colors like shit, and they don't have the same opportunities.  They don't have the same job opportunities.  And you know, a lot of people say, well, it's a matter of the pipeline.  If we don't hire more of fools because not enough food are applying, right?  And no, it's because we're lazy.  The reality is we're lazy.  We go and we interview kids at Harvard, which means that we select the people that could afford Harvard, right?  So a mandate, I don't know if it came from Saatchi or from Kathy, from Personnel.  Anyways, there's a massive initiative within the company where we said we're not going to pay lip service to this.  It is not one of each individual has an objective to drive some of these principles of diversity and inclusion.  So while a lot of people are talking and debating externally, well, what does it mean?  Why are you imposing me this?  My freedom to do these things?  We've moved on.  We've acknowledged that this is a problem.  We know that it's a problem.  In the company, we go through training for, we just had an ally workshop last month in Cambridge.  And McKellar can tell you more about that.  I wish I could tell you about that, but I was not available that day.  I'm scheduled for my trip on February.  But we're doing that and diversity and inclusion exercises.  I mean, and this is training that you have to take, right?  So we're going beyond lip service and we're trying to address those things.  And I think everybody needs to get there, get over your objections to the code of conduct and embrace it.  So you would say it's cultural top down?  I think it have come from anywhere, but it came top down here.  Since you touched on diversity, I just wanted to mention that we can't change the current state of our industry.  We can change the 90 to 10 ratio.  It's not going to change immediately.  We need to work towards educating our children and giving them equal opportunities.  So when you're buying Christmas gifts, don't just buy Barbies for Girls, buy remote control robots and Barbies for Girls.  Buy a painting set for the boy.  That is the way to change, to give the children basically equal opportunities.  And we are at time.  We're at time?  We are at time.  Yep.  We have something else, right?  We now have lightning talks.  So how many people have lightning talks?  One.  One.  Okay.  We could extend the panel a little then.  Okay.  Okay.  Well, since Visual Studio is currently not available on Linux, I was wondering what you guys would use there.  Okay.  So since Visual Studio is not available on Linux, what would you use to write code there?  I would recommend Closed Tours Protect.  It's JetBrains Rider.  It's, they also created the Resharper for Visual Studio and all kinds of other.NET tools like.trace,.memory and.whatever.  It's probably the only big IDE that you could use for.NET languages.  The only other things that are there like Visual Studio code, which I believe you've been using in the presentation, they're plugin based.  They used language server.  Rider is not using language server.  There's a difference, I guess.  There is also the fully open source top to bottom monodvelop.  And monodvelop serves as the core for Visual Studio for Mac.  Visual Studio for Mac takes monodvelop and adds some proprietary extensions on it.  But monodvelop is there.  Now that said, if you really want to get the Visual Studio thing with all the Visual Studio things, you should go and complain on developer community.  So my management.  Here's about it.  I would use Visual Studio code.  I've heard there's really good IDE for Fsharp for Visual Studio code called Ionite.  Yeah, you should try it out.  I would also add to it that there are many other IDEs that utilize the same language server.  So for example, Eclipse, we have a bunch of red headers working on that.  Yes.  And also Atom, we had some support.  I don't know to what extent.  What actually would be the reasons not to bring binaries of Visual Studio that are available for Linux under any reasons whatsoever?  So the question is what are the reasons that Microsoft would not have binaries for Visual Studio on Linux?  I'll tell you the reason.  The reason is when we launch Visual Studio for Mac, while it is a decent IDE for mobile, we added some capabilities and but we didn't add every capability.  So what we're trying to do right now is we're trying to make sure that every capability that we ship is rock solid.  So the mandate from my boss is that we need to polish this thing until it is perfect.  And we have very concrete metrics as to what perfection means in this thing.  We're not meeting them yet.  You just heard Mei Chin show you the numbers.  And this is the kind of numbers that she has to report to my boss as well.  So Julia Luzon, who is our boss.  She's tough.  She's tough and wants quality products and doesn't want half baked products.  So she is willing to do it, provided I do two things.  A, I deliver the quality that is needed and all of you are super happy with Visual Studio for Mac.  So, you know, we have a survey built into the IDE and when the tie turns and people say this is super happy, she will let me do it.  But that's it.  We need to make this thing perfect.  And right now we're failing our users on a few dimensions.  We know what those problems are and we're fixing them.  And it's very methodical and I have a preview if you want to see it.  It's very interesting because my question is stability.  Why don't you have Visual Studio?  Why are you trying to make one of those more or less?  I don't know.  You borrow another member of it.  It's like my back then said, I don't think that the net on Linux could ever be a success because of the special studio.  Back then I said in Istanbul that the net on Linux is probably never going to be a success because the developer needs visual studio.  But nowadays Microsoft is apparently working on visual studio for Linux.  That opens up a whole lot of opportunities in my opinion.  It is hard to discuss an opinion.  I value your opinion and I believe not only I value your opinion, I believe in your opinion.  I believe that you're right.  That said, we've offered a couple of band-aids, writer, VS Code, mono develop.  They're not the same thing, but they're options.  That said, as management, once you become manager, you're really in the role of, you kind of move away, or at least that responsible manager like my boss is.  You move away from the world of possibility and unlimited options to, it's more like a physics world.  I have three buckets of water and I have a big pile that I need to fill in.  What can I do with this?  You need to manage your three buckets and it's physics, it's people and time.  We need to serialize and rather than having two mediocre products, we're going to have a fantastic product and we're going to serialize it and we're going to have a fantastic second product.  It's her choice.  I think it's the right choice.  Yes, it might be a little bit painful for a while, but we do have options in the meantime.  In the end, you're going to be happy that you didn't use incomplete stack and you'll thank us for that.  Maybe it's going to take me another year, but I'll get there.  I could also add that we show studio is not probably the highest of priorities on Linux because you can just write your code on Windows or Mac and then deploy to Linux servers, which is the current most popular use case or containers.  All right, let's do a lightning talk.  Can we lose Linux?
Panel__Open_Source__NET_O4Y4KClr9tw_0_167.png Panel__Open_Source__NET_O4Y4KClr9tw_168_5459.png Panel__Open_Source__NET_O4Y4KClr9tw_5460_17927.png Panel__Open_Source__NET_O4Y4KClr9tw_17928_23063.png Panel__Open_Source__NET_O4Y4KClr9tw_23064_36935.png Panel__Open_Source__NET_O4Y4KClr9tw_36936_61967.png Panel__Open_Source__NET_O4Y4KClr9tw_61968_62087.png Panel__Open_Source__NET_O4Y4KClr9tw_62088_62675.png Panel__Open_Source__NET_O4Y4KClr9tw_62676_65567.png Panel__Open_Source__NET_O4Y4KClr9tw_65568_65711.png Panel__Open_Source__NET_O4Y4KClr9tw_65712_66131.png Panel__Open_Source__NET_O4Y4KClr9tw_66132_69287.png Panel__Open_Source__NET_O4Y4KClr9tw_69288_71627.png Panel__Open_Source__NET_O4Y4KClr9tw_71628_71759.png Panel__Open_Source__NET_O4Y4KClr9tw_71760_71807.png Panel__Open_Source__NET_O4Y4KClr9tw_71808_72263.png Panel__Open_Source__NET_O4Y4KClr9tw_72264_72359.png Panel__Open_Source__NET_O4Y4KClr9tw_72360_72419.png Panel__Open_Source__NET_O4Y4KClr9tw_72420_72534.png