bitdrift
PricingDocs

episode 15 | May 19 2026

Miguel de Icaza: GNOME, Mono, Xamarin, and No Sign of Stopping

Miguel de Icaza: GNOME, Mono, Xamarin, and No Sign of Stopping

Miguel de Icaza: GNOME, Mono, Xamarin, and No Sign of Stopping

Beyond the Noise

About the episode

In this episode of Beyond the Noise, Matt sits down with Miguel de Icaza, co-founder of GNOME, Mono, and Xamarin, and one of the most influential figures in the history of free and open-source software. Miguel rewinds to his early days in Mexico, where a crashing Windows machine and a printout of FTP sites set him on a path toward GNU, Linux, and eventually building one of the first serious open-source desktop environments. He traces the arc from true-believer GNU fanatic to pragmatic entrepreneur: what it felt like to ship a proprietary Exchange plugin and get kicked off the FSF board for it, why pure open-source business models kept hitting the same wall, and how .NET offered a clean slate that stalled Java efforts never could.

The conversation then shifts to mobile, fragmentation, and what comes after a long career building for other developers. Miguel breaks down the operational nightmare of Android fragmentation versus iOS's relative stability, and why the sheer volume of crashes was enough to shift his platform allegiances for good. He covers Xamarin's acquisition by Microsoft, what a cultural reset inside a famously combative company taught him about management, and his current chapter: a post-Microsoft bet on Godot, a Swift binding hacked together on spare afternoons, and a game engine IDE that half his users are running on their phones.

[00:00:00]

Matt Klein: Alright folks, welcome to another episode of Beyond the Noise, Signals, Stories, and Spicy Takes, the show where we dig into the stories of the people shaping the future of app-based computing with a special focus on mobile. I'm your host, Matt Klein, co-founder and CTO of Bitdrift, as well as the founder of Envoy Proxy. Each episode we'll talk with engineers, founders, and technical leaders who've transformed the way their companies build and understand what's happening inside their systems. We'll dig into the challenges, the breakthroughs, the lessons learned, and we'll wrap it all up with their hottest takes. So let's dive in.

Our guest today honestly needs no introduction and is a personal role model of mine, so this is a really fun conversation to have. Miguel de Icaza is a software engineer and entrepreneur with a long history of contributions to free software, including starting GNOME, Mono, and Xamarin. A substantial portion of his career has been spent in the mobile space, and most recently he's been contributing to the Godot game engine. Welcome Miguel, thank you so much for joining us. We have talked many times over the years and share a passion for open source software as well as mobile, so this will be a great conversation.

Miguel de Icaza: Thank you for having me, Matt. It's good to connect again.

[00:01:19] EARLY DAYS AND THE GNU PROJECT

Matt Klein: Your career is so long that we could spend hours talking, and we don't have that time. So where I'd really love to start is your work in the free software movement. I'd love to go back to the beginning and learn how you became interested in it, how you got started, and I'm sure you have some fun stories from the early days.

Miguel de Icaza: Yeah, so I used to write software for DOS and commercialized some of it in Mexico. It wasn't a big industry, but that's what I used to do. The world was transitioning to Windows and I started thinking maybe I could build some Windows apps. But when you made a mistake, you would crash the whole system, and my computer took about a minute to reboot. It was very frustrating.

Around that time, the university started getting some Unix workstations. They didn't have the nice graphics you could get on Windows, but when an app crashed you would just get a segfault and keep going without rebooting. So I started to be drawn to Unix purely from not having to waste a minute every time I crashed my app.

Matt Klein: But this was not free Unix at the time, right? This was paid Unix.

Miguel de Icaza: Correct. And Unix was amazing, but all I had there was vi. Then a friend of mine at university said there's this thing called the GNU Project and they give away all this software. There's this editor, Emacs, that is very similar to the one you use on DOS called Epsilon, and you should check it out.

This guy, Fernando La Mancha, used to carry around a stack of printouts of FTP sites. Back then, the way you found software online was to go into these FTP sites, list the contents, and download stuff. He gave me a printout and said check this out.

So I downloaded this free editor and GCC, because I couldn't believe somebody would give away a compiler. At the time, getting a compiler on DOS was proprietary and expensive. And they were very proud of some optimizations, apparently beating the Sun compiler.

I thought, this is amazing, why are people giving away this stuff for free? I read Richard Stallman's Manifesto and I was hooked. What can I do for these guys? You can contribute money, but I didn't have money. Or maybe you can contribute to the effort.

At the beginning I was nearly just a consumer, promoting it and telling people there's this group just giving away stuff that would have been super expensive otherwise. I was a mediocre programmer at the time. I knew some assembly and wrote some code, but nothing serious.

One thing that really bothered me about Unix was that I didn't have the command line tool I loved, the Norton Commander. So I decided to clone it for Unix, and that became my first contribution to GNU. I sent an email to Richard Stallman saying I wrote this file manager and we should make it part of GNU, and it did become part of GNU, which I actually regret.

Matt Klein: Why do you regret it?

Miguel de Icaza: Because once we did that, we had to get paperwork for copyright assignments, and that whole process added a lot of friction. And then Richard embarked on his effort to rebrand Linux as GNU/Linux, and I just didn't understand why we were doing that. In retrospect I regret it, but at the time I thought being part of GNU meant I was helping the movement. The reality is you could help the movement with or without the GNU branding.

Matt Klein: It's pretty interesting because over the last 30 or 40 years there's been a real progression in how people think about open source. In the time you're talking about, it felt like evil Microsoft versus the people doing free software. And then the world obviously moved toward free software. But even today people still argue about copyright assignment and all those same things.

Miguel de Icaza: Yeah. Though this actually predates Microsoft being seen as evil. At the time, the real tension was around companies fragmenting Sun. Microsoft was certainly skyrocketing, but from my perspective Windows was a terrible OS that crashed and didn't do multitasking. This was the era when FreeBSD and Linux were starting to happen, and all of a sudden I could run these free operating systems on my tiny computer. They were rough at the beginning, but they were better because they wouldn't crash and because I had the source code.

Matt Klein: I personally feel like I would have liked to have been 10 or 15 years older, because the late eighties and nineties felt like the golden era of operating systems. Linux started, Microsoft did Windows NT which was actually a solid operating system. There was a lot happening. It was a really exciting time to be involved.

Miguel de Icaza: It was fabulous.

[00:09:00] STARTING GNOME

Matt Klein: So you found your passion in open source, and from the outside it seems like you were particularly drawn to the user interface side of things. You started the GNOME project, and I'd love to learn where that interest came from.

Miguel de Icaza: Initially I was really into the broader movement. I wanted to bring something like the Mac operating system to the SPARC machines at the university, though for various complicated reasons that didn't work out. Linux was starting to gain momentum, so I joined the Linux on SPARC effort and wrote a bunch of device drivers for video, keyboard, network, and so on. I was very much on the operating system side.

Then a friend told me I was wasting my time on SPARC because the PC was just as fast. I was in denial for a while, thinking a PC could never match a SCSI drive. But as Linux took off, I realized that for Linux to be relevant we needed a UI. So building GNOME was really a means to an end, something that had to be done more than something I particularly enjoyed doing.

Matt Klein: When you say you believed all software should be free, was it more about freedom or accessibility? I'm trying to understand which part resonated with you most.

Miguel de Icaza: I believed all software should be free and that I should be able to modify everything on my machine. We were coming from the DOS world, where there were these big fights where Microsoft drove out competitors by keeping APIs proprietary. They tried to drive Borland out by withholding certain information. I felt we could never really win when things were stacked against us that way. We would always be subject to the whims of a big corporation.

The big corporations always find a way to do something that advantages them, whether it was device drivers then or AI pricing models now. At the time I was really driven by this idea of having a fully open system that we could all innovate on. I had fully drunk the Kool-Aid and was a fanatic of the GNU movement.

Matt Klein: And that led you down the GNOME path.

Miguel de Icaza: Yes. What happened was there was already an effort called KDE, and KDE was amazing. It was an incredible desktop, but they had chosen a license that prevented it from being truly free. I even emailed Stallman at the time saying you've got to start promoting this thing. And I emailed Eric Cron, one of the founders of Red Hat, saying you've got to ship this on Red Hat. Both of them told me within a day that they couldn't support it because of the license. Eric was very business-minded: the license doesn't allow us to do this. And Stallman said we can't because we would be building on a foundation that undermines everything we've worked for.

So I started GNOME based essentially on those two pieces of feedback. It led to some nasty open source drama for many years, the GNOME versus KDE wars, but fundamentally it was a matter of licensing. One positive outcome is that it created pressure on Trolltech to eventually change the Qt license, so KDE did become free in the end.

Matt Klein: Based on the rest of your career, it seems like you must have found something about that work genuinely compelling, because you didn't exactly go back to writing device drivers.

Miguel de Icaza: Right. One thing that was really powerful is that here I was in Mexico, where nobody cared about what I cared about. Free software came late to Mexico. But the internet was this magical place where I could work with people who had very similar interests from all around the world. We had never met, but we managed to get together around the Linux kernel, the GNOME desktop, the Midnight Commander. It was very addictive, finding a purpose and getting excited and having these brainstorming and hacking sessions and seeing things make progress.

And you really nailed something: in high-performance open source projects, you will never be able to assemble in a corporate environment the talent that comes together. Either because they're around the world, or because they simply wouldn't all work at the same company. You get experts in very specific domains who show up and contribute things no one else could. A guy passionate about calendars fixed all the calendar bugs. Another guy who cared about Unicode implemented that support. You get the world's experts coming together.

The other thing is that corporate development always has this layered structure: company vision, product priorities, management constraints, budgets, deliverables. You end up making a lot of cuts, and open source essentially worked around all of those issues.

[00:17:38] OPEN SOURCE SUSTAINABILITY AND BUILDING A BUSINESS

Matt Klein: With that said, you are also an entrepreneur who started companies around open source and eventually worked for Microsoft. I'd love to hear how your thinking evolved over the years, from being a fanatic to wherever you are now on open source sustainability.

Miguel de Icaza: Very early on we tried to build a business around pure open source and it turned out to be very difficult. We had built this product, it was fully open source, and we went to Red Hat and said you should ship this to your users, it's going to be great, but you should give us some money. And they came back and said no. In fact, you should give us money to distribute this.

That was a bit of a shock. We realized we couldn't pay the bills that way. So we started doing some proprietary work, stuff that Red Hat couldn't ship on their own, and customers had to pay for it. That was the beginning of finding a balance. The majority of what we did was still open source, but we had to have proprietary extensions.

Matt Klein: Was it hard to accept at the time that pure open source is difficult to sustain as a business?

Miguel de Icaza: Yeah. And I don't think you can fully sustain it that way. I keep hoping someone will come up with a sustainable model. People are still quoting that XKCD comic where the whole stack depends on one guy in Nebraska. There are people trying all kinds of things: peculiar licenses, asking for donations, putting notices in npm packages. I wish them all good luck because these are genuinely passionate people who wish they could keep working on what they love while paying the bills.

It was a painful realization. We were employing people, we were VC backed, and the choices were: fire all your friends, or sacrifice your ideals. So we made that first proprietary plugin. In fact, Richard Stallman kicked me off the FSF board when I did it.

Matt Klein: And this was for which project?

Miguel de Icaza: We had an email client called Evolution, and we made a plugin for Microsoft Exchange. If you wanted to connect Evolution to Exchange servers, we decided that was something people should pay for. That's how it started.

Then in the Mono era we tried dual licensing. We had the full copyright on the Mono runtime, and the VM was LGPL. The problem is that LGPL you can really use for almost anything. The only place it got difficult was for people building things they wanted to keep locked, like embedded consoles and gaming devices. So Mono ended up with a market mostly in the gaming space and a handful of embedded vendors, including the Unity folks, which became a very big game engine.

But it was a very difficult sales process. These were enterprise sales that took months and could fall through at any point. Very slow sales cycles. Then the iPhone came out and Unity came to us and said we've built our whole engine on .NET and we need you to put it on the iPhone. So we prototyped that and gave it to them, and Unity just took off from there.

[00:23:36] THE ORIGINS OF MONO AND .NET

Matt Klein: Going back a bit: how did you first get interested in the .NET ecosystem?

Miguel de Icaza: We had been building GNOME for a long time, entirely in C. The original vision was to write high-level code in a scripting language. We tried that early on with GNOME, but scripting languages in 1997 were really slow. GNU had their own scripting language called Guile. We wrote the calculator in it and just starting Guile took about 13 seconds. You're waiting 13 seconds for your calculator to open. So we ended up writing everything in C.

There was always this tension between needing something fast and compiled but also high level. We had looked at Java, but Java was proprietary. And the open source Java efforts kept getting stalled because not enough people cared. Most people just said, well, we have the proprietary version that works well enough, why build an open source one?

When .NET came out it was almost like Java, almost exactly what we needed, with extra features Java didn't have. But the big draw was that there was no open source version and Microsoft hadn't shipped anything for Unix. So we started from scratch and there was a real risk it would flop the way Java had, but the opposite happened. Because there was nothing, we grew a big community very quickly. It was a vibrant community, and it was really a means to an end: we want to develop high-level applications with a compiled system. That's how we ended up with Mono.

[00:28:01] MOBILE, iOS VS ANDROID, AND XAMARIN

Matt Klein: Okay, so now let's get into the iPhone, because I think that's probably the beginning of your major interest in the mobile space. One thing I'd love your take on: if you look at the Android ecosystem, it's based on free software, while the iPhone is very proprietary. There are pros and cons to both. You're a big Apple fan, which is interesting given your free software background. Why not Android?

Miguel de Icaza: The first thing to keep in mind is that a lot of my Apple fandom actually started as mocking Apple fans who were completely over the top. So some of it was parody.

But one day my Fedora system came up with an error saying my hard drive was about to die. I thought, oh this is neat, I didn't know Linux could do this. So I got a new hard drive, crawled under my desk, unplugged all the cables, swapped the drives, put it all back. And when I got to plugging in the audio cable for the speakers I just thought, why bother? The audio never works anyway. And I left it unplugged.

That was the beginning. Apple could fund things that open source couldn't: working printer drivers, working audio drivers, working ethernet drivers. Every time I got a new laptop I'd have to go to some webpage and check whether suspend worked, whether the ethernet worked. Meanwhile Apple just had all of it working. Open source is still not great at that. I understand why, but it's a real gap. I eventually just got tired of things not working and wanted something I could rely on.

Matt Klein: And what about from the Xamarin side? Did spending more time on iOS professionally also push you in that direction?

Miguel de Icaza: Yes, definitely. We ported Mono to both iOS and Android, and both were successful. But my iOS team was much smaller than my Android team, simply because the volume of problems was so different. When you had a crash on an Apple device, you could figure out what it was. With Android it was a universe of failures.

Our product took a real beating from claims that Xamarin doesn't work on Android, and when you looked into those cases, yes some of them were our bugs, but 90% of it was dealing with a fragmented ecosystem. Drivers that didn't work, CPUs that didn't work. There's a write-up about how we caught an interrupt handler that was a hardware bug overriding memory, and we had to patch every signal handler with workarounds. That kind of thing happened constantly.

We ended up building a device test cloud where the pitch was: upload your app, we'll run your tests on a hundred different SKUs and give you a report. With iOS, it was basically just a test runner, and either it passed or it didn't. Maybe the layout was off in a few places. With Android, you'd submit the same test suite and get something like a 5% success rate. It really soured me on Android. Maybe it has improved, but it was too late.

Matt Klein: There must be cases though where you hit bugs on iOS and don't have the source code to debug them. That's a pretty difficult situation.

Miguel de Icaza: Absolutely, it happens. It's just that the volume is in a completely different ballpark, different orders of magnitude.

[00:40:29] JOINING MICROSOFT AND CULTURE CHANGE

Matt Klein: So you wound up at Microsoft after Xamarin was acquired. Was that strange for you?

Miguel de Icaza: It was, but the way I internalized it is this: for many years we had this difficult relationship with Microsoft where they kept hinting they might sue us one day. But there were people there we genuinely liked working with, like Scott Guthrie, who we had known since the early days of .NET when he was just an engineer.

One of our investors eventually secured a meeting with the head of cloud computing at Microsoft, who was Satya Nadella at the time. We went and pitched Xamarin, and even with the tension that existed between Microsoft and open source under Ballmer, it was a very productive conversation. We built a genuine collaboration with that team. Then Ballmer left, and Satya became CEO. So a few years later when they acquired us, these were people we trusted and had worked with through a difficult period. It didn't feel so bad.

The other thing that was genuinely interesting was that Satya seemed to understand there was a real cultural problem at the company. It had been a very combative culture, very much about winning at all costs. He had a whole program of cultural reshaping. Working through that period really showed me that if you have management that genuinely cares, culture makes a massive difference. As a young engineer you roll your eyes when people talk about culture. But once you see it in action, both the bad version and the good version, you understand.

Matt Klein: It's funny, and I don't know that I've ever said this publicly, but I started my career at Microsoft in the very early 2000s. And for the middle part of my career, I would have a recurring nightmare where I would wake up in Microsoft new employee orientation, having rejoined, and then run out of the room screaming. That's how I felt about going back. But to your point, in the last five to ten years, it is incredible to see what Microsoft has done. From the developer tools ecosystem to the embrace of open source, it really is a different company now. I can totally understand what you're saying.

Miguel de Icaza: And what's very interesting is that as I grew from my teens to my opinionated twenties, like almost every young engineer I had a low opinion of management. Working through that cultural change really shows you that if you have a manager who genuinely cares, it plays a huge role. As a young engineer, when people talk about culture your eyes just glaze over. But once you see what culture actually does, and how it impacts people, you understand. I probably sound like a 50-year-old man talking about the importance of culture now.

[00:45:28] LEAVING MICROSOFT, GODOT, AND WHAT'S NEXT

Matt Klein: So you ended up leaving Microsoft, and from your social media it seems like you've become very interested in the open source gaming world. How did that come about?

Miguel de Icaza: When I left Microsoft I really wanted to build something for end users. For all those years I had been building tools for developers to build mobile apps, watching from the outside, giving people tools and telling them how their UI should probably work. I wanted to build something myself, a real end-user product, which I hadn't really done since GNOME.

One of the things we thought we could do was build a game editor for the iPad. It's funny because when I left Microsoft I said, no, I want to build consumer apps only. I don't want to ever build another developer tool. I don't want to work with developers again. The problem with developers is that they're very smart and they think they could fix every problem you face faster and do a better job. They're a very tough crowd.

But while I was still at Microsoft, on spare afternoons, I had been hacking on a binding of Swift to Godot. I had met Chris Lattner at a conference, had my prejudices against Swift, sat down and talked through what they were building, and thought, my god, this language is really impressive. So I started binding it to Godot as a side project.

Matt Klein: Had you been involved with Godot before that? Advising them or anything?

Miguel de Icaza: Not advising. So when I say "we" it's one of my co-founders from Xamarin and myself. We were starting a new company but didn't know what we were going to do. We had also decided we weren't going to do any AI because we didn't know anything about it. The Swift-Godot binding was just an afternoon hack on the side.

Then Unity happened. Unity committed what I think is genuine corporate suicide, and it's rare to actually see that. They essentially told developers: here's what you pay us, here's what you get, make your business plans accordingly. And people did. Games take three, four, five years to build. You make business decisions based on what you've been promised. Then Unity decided they needed more money and retroactively changed their pricing model to take a cut per install. Rather than reversing course quickly, they kept dragging it out for about three months, and each iteration was worse than the last. The community was furious.

Godot is really the only game development tool close to the Unity model in terms of offering an end-to-end solution. So it started to get a huge influx of people and contributions. We were watching this explosion of interest while figuring out what to build next. And against my better judgment, because Godot is a developer tool and I had sworn off developer tools, we decided to jump in.

We saw that the Godot team had ported Godot to Android as a verbatim desktop port with no UI tuning, and it had half a million downloads. The active user numbers were insane. People were genuinely using a full game engine editor on their phones. So we built a properly tuned version for iPad, and eventually launched an iPhone version that I was sure made no sense. That version now makes up half our users.

Matt Klein: Is this a hobby project or something you want to turn into a business?

Miguel de Icaza: It's what I want to pay the bills eventually. We're self-funded right now, investing in tutorials, sample code, and features, but the goal is to make it a real business. I thought I was ready to retire. I'm not.

[00:56:26] CLOSING: PREDICTIONS AND AI TOOLS

Matt Klein: Are there any predictions or things you're excited about?

Miguel de Icaza: I'm terrible at predicting, but I'm genuinely excited about the industry across the board. We've never had this much amazing software. I still check Hacker News every day to see what people are building. I skip the comments, obviously, but I'm still amazed every day by what people are creating. It's addictive just to learn what makes people tick.

Matt Klein: Do you still write all your code by hand or have you started using AI tools?

Miguel de Icaza: I love writing code by hand. But the one thing I genuinely love AI for is crash analysis. Whenever I get an obscure stack trace from a random user, I paste it into AI Studio and say go figure it out. And it goes through all 20 stack frames and comes back with something like: the only way this could happen is a race condition here, because of this. And a lot of the time it's right. It's genuinely impressive. Every day I get a new crash, it goes straight in.

Matt Klein: I thought you said you were done with buffer overflows and stack traces.

Miguel de Icaza: I know, but this is C++ because of Godot. It's horrible. In fact, my first pitch at the Godot conference was: let's rewrite the editor in Swift. I still think it's possible.

Matt Klein: That's a fantastic place to end. We'll have to check back in a year and see what's going on with the business. Thank you so much Miguel, this was a great conversation. That's a wrap for this episode of Beyond the Noise. Huge thanks to Miguel for joining and sharing his story. You can find this episode and all past ones on the Bitdrift YouTube channel. If you had fun, drop us a review or tell a friend. I'm Matt Klein, and I'll see you next time.

Matt Klein and Kelsey Hightower discussing AI and the future of software development

Kelsey Hightower: What the AI Hype Machine Won't Tell You

March 30 2026

56 mins

Matt Klein and JP Simard discussing Swift, open source, and mobile engineering

JP Simard on Swift, Open Source, and Escaping the IDE

April 21 2026

54 mins

Subscribe for new episode announcements


© 2023-2026 bitdrift, Inc. All rights reserved.

SOC 2 Type II Compliant