How Linux and open-source software took the computing world by storm

Programmer and entrepreneur Miguel de Icaza talks about how Linux went from a college student’s hobby to powering most of the world’s computers, and his own story as a free software developer
Linus Torvalds, creator of the Linux operating system, speaks at TED2016 in Vancouver, Canada. Photo: Bret Hartman/TED

Episode Summary

Thirty years ago, Linux began as a college student’s hobby operating system project. Today, it’s a critical piece of software that powers the majority of the world’s smartphones and the most powerful servers and supercomputers. Along the way, Linux managed to displace much more established versions of the Unix operating system that it was designed to be compatible with.

But Linux as a technological phenomenon has been about more than what it makes computers do. It also popularized the concept of “open-source development,” a new way of programming where everyone has access to the underlying software code, and they can modify it and redistribute it as well.

Before Linux, open-source was considered a threat to capitalism and society itself. Today, it has become even more popular than Linux and is used almost everywhere in computing, including all the software we use here at Flux.

In this episode, we feature Miguel de Icaza, a Distinguished Engineer at Microsoft who played several important roles in the spread of open source, including at Microsoft, where he helped turn a company that was vehemently in favor of proprietary software into one that now embraces it and sells it in many different ways.

De Icaza began using Linux while he was in college shortly after its first release in 1991. Soon thereafter, he released Midnight Commander, a powerful program for managing files that is still developed today. Several years later, he co-founded GNOME, a graphical environment for Linux and other Unix operating systems. 

After creating GNOME, he began working on enabling open source developers to write programs that could run on Windows, Mac, and Linux. That eventually led him to co-found Xamarin, which was later turned into a software platform that could create code for both Android and Apple’s iOS. In 2016, Xamarin was purchased by Microsoft and he has worked there ever since. 

In the discussion, de Icaza tells the story of how Linux and open-source development became mainstays in the computing industry, how the “foot logo” of the GNOME project came to be, and why he has gravitated toward using a Mac despite decades of advocating for Linux and free software.

A video version of this interview is below. A lightly edited transcript of the audio follows.


Transcript

MATTHEW SHEFFIELD: Although we usually talk about political and religious trends at Theory of Change, technological trends are also very much worth paying attention to. One of the biggest recent technology developments has been the emergence of Linux, an operating system that has taken the computing industry by storm.

Thanks so much for being here, Miguel.

MIGUEL DE ICAZA: Thanks for having me. 

SHEFFIELD: So you are from Mexico originally, and that was when you first started using Linux as a university student in 1991, not too long after Linus had released it. So tell us a little bit about how you got into it or why you did. 

DE ICAZA: It was probably the first week of college and I run into to this really fun guy. Which I knew from reputation and from the BBSs, his name was Fernando Magariños (ph) and I just adored him because he was so funny in the forums. He was somebody that I love reading because everything he said was incredibly funny. And I fanboy him a little bit in the hallways and we had just recently gotten some Unix systems at the university I was working at, and these systems really didn’t have any software.

And he said, oh listen, you have these Unix machines, if you want to spice them up with software, you should go through this site. And he gave me a stack of papers and he gave it away for free. It was a stack of papers that contained lists of FTP sites.

SHEFFIELD: And what is an FTP site, for those who don’t know what that is?

DE ICAZA: It used to be — it used to be machines that shared software.

So this was a directory, it was like a yellow pages of free software that was available on the net. And he said, the first thing you want to go get, is go get the GNU stuff because they give you text editors for free, and they give you compilers for free, they’re optimized for your machine. 

So I went and did that and it was like being a kid at a candy store. There was so much software. But he was right. In particular, the GNU software was very well done and it was very comprehensive. And among those things, there were a couple of documents in those sites and one of them was a GNU Manifesto, where Richard Stallman explained why he had to build a free operating system from the ground up.

So I fell in love with the manifesto, and I was looking forward one day to repay to this community of people what they have done for me. Right? They have given me all these free software that I had no idea I could get. 

And what was radical, what was very radical is that the software at the time that you could get for PCs was locked up. You could get the software, it would be amazing, but you couldn’t see how it’s done or how it worked. And the GNU people had decided that this knowledge these very hard-earned knowledge that you could only get at the best universities or if you work at the best places in the industry was shared with everybody.

So I was in awe that somebody would give away all that free knowledge. And I learned so much just from reading their code. I was incredibly grateful and I started to look forward to how I could contribute. 

And they said, you can give money. I didn’t have money, so I couldn’t give them that. Or you can evangelize, or you can share the code or you can contribute code. So, so I decided to help in any way I could, except money. So, and so that’s what I did. That’s how I got started then, after this Linux was the missing piece of the GNU system. GNU was a nice addition that you could put on an existing Unix system, but Linux was the way of having a system from the ground up, from the moment that your computer started, running all your software and be entirely free. And you could learn from every part of it. 

So it was like catnip for software developers. So when Linux came out, they immediately rallied to use it and install it, and be part of that community.

SHEFFIELD: So the other thing for Linux that was interesting — because at that moment in time, in the late eighties, early nineties, you had a lot of different Unix compatible vendors out there that were selling these versions of Unix, but they were all just a little bit different. And so as a developer, it was a nightmare to port your software to the different platforms. 

And then of course, all the platforms were using proprietary, very expensive custom hardware that was just out of reach for everybody. So there were there were a lot of problems and Unix as operating system really never took off, and DOS and Windows and Mac just utterly dominated the desktop space. Was that how it was for you? How did you see it at that time? 

DE ICAZA: Yeah, certainly the high-end vendors like Digital and HP and Silicon Graphics. They were selling high-end hardware that was out of reach for most people. And even those that tried to go into the mass market, like Apple had AUX and Microsoft has XENIX. I imagine that they had some license agreement that prevented them from pricing, but it was certainly expensive and it was not available.

So I actually never got a chance to play with XENIX. AUX, I think I saw it almost as a museum piece, years after, but Linux was available. Linux was available and was free and I could learn from it. So yeah, I think it took off and I became an evangelist of Linux almost overnight.

SHEFFIELD: Now around that same time, there were free Unixes that was emerging. But they never became as popular as Linux did. But they’re still going today, very strong in some sectors. What was, did you ever have any contact with the Berkeley Unixes? 

DE ICAZA: Yes, I have. I had a number of contacts. The way that it started, I actually was Dr. Dobb’s ran a series of articles on porting the Unix from Berkeley to PCs. And they run the series of articles, showing how they were porting the system 386BSD. And it ran for a series of months, and I believe that at some point they released a software, but there was a little bit of a technicality in that BSD relied on some proprietary pieces from the people that owned Unix at the time, which was AT&T.

So there were efforts to have a clean version of BSD and different approaches that having a clean version. So, some folks took 386BSD and made NetBSD, and there was a disagreement over the direction between the team members of where BSD should go. So it split up between two groups, FreeBSD and NetBSD.

And then there was a disagreement among the NetBSD crowd, again, over the direction. And this led to the fork between OpenBSD and NetBSD. And I took sides in some of these arguments. 

But there was a little bit of a concern that, that BSD might be prevented from surviving, there was a lawsuit between AT&T and a company that had embraced one of these BSDs called BSDI. So there was a little bit of that concern. And the other piece that happened at the time was that the Linux people moved very quickly to build a thing called shared libraries.

And they were a hack. There were not the shared libraries that we have come to use and love, and have a really good design. It was really a hacky version of shared libraries. The kind of ugly hack that you would expect from a DOS programmer. But it worked and it meant that it used a lot less disk space.

So for me, the big win really was that while Linux was more unstable than BSD, I could fit it on my machine. So I still have the use the university of computer I was using, I still have to use it for DOS operations, and I could dedicate a small sliver of the disk to Linux. I couldn’t afford that with BSD, so for me, the choice at the time was simple.

Despite the instability of Linux, it was worth having it for that reason. 

SHEFFIELD: And then you got into developing for it yourself. As you were saying, you were trying to give back in some way, and you decided to basically clone a popular DOS program. And it’s funny, because I’m sure a lot of people watching or listening today have no idea what DOS was (laughter), 

But yeah, so DOS was a text only, very basic operating system that was on early PC computers.

But they had a very popular file manager program called Norton Commander. 

DE ICAZA: That’s right. 

SHEFFIELD: Basically, it was a way for a lot of people who didn’t want to have to type commands to do stuff. It was something they really liked. There was a way to copy a file from one directory to another. Like nowadays, people think that’s a basic thing that you, it’s just something you do automatically. 

At that time, being able to copy something with one keystroke, it was amazing and people loved it. They loved this program, Norton Commander. 

DE ICAZA: Yeah. It had a good UI. It had a good UI. It was well done and I loved DOS. And it opened the doors to understand how a DOS system worked at the time. So yeah, when I moved to Unix, I did miss that agility that came with a file manager. So it was one of my early contributions to the space, having essentially a clone of that Norton Commander for Linux.

SHEFFIELD: And your program was called what? You didn’t say the name. 

DE ICAZA: It was called Mouseless Commander. Because Linux at the time didn’t have mouse support. So it was, one of the big things about this Norton Commander file manager was that you could use the mouse, right? So you could click and copy files and choose where to copy them.

So it was initially called the Mouseless Commander. And later, this engineer out of Italy, he wrote a driver for mice in Linux that I could use. So he collaborated with me in adding mouse support to the Mouseless Commander. 

So it became the Mouseless Commander with mouse support. I thought it was funny, but the community of people thought it was ridiculous. So, so they held a vote and we renamed it Midnight Commander by popular demand, which was probably seven votes versus three or whatever.

It wasn’t that big election, but we changed the name at the time, and it became the Midnight Commander. 

SHEFFIELD: And it is still a program that other people are developing even today. 

DE ICAZA: Yeah. 

SHEFFIELD: So is it available for Windows and Mac? It is available for Mac. I know that.

DE ICAZA: I don’t know if it’s developed for Windows, but it is for Mac. I use it every day. Every day. There’s not one day I don’t use it. If I turn on this Mac, you’ll probably see it. But if I do it, it’s going to switch the audio again. I use it every day. I use it every day. Works on Mac, works on Linux. I’m sure somebody has running on Windows. 

In fact, I think that when the Windows people wanted to show their new terminal, the new terminal emulator, they showed the Midnight Commander. For some reason, the Midnight Commander, it’s one of the few apps that use color on the Linux terminal. So it ends up in every screenshot that you can imagine.

So every time somebody does a terminal, there’s a screenshot of the Midnight Commander in there. (laughter) So I get to see it a lot. 

SHEFFIELD: I’m sure that’s fun. 

So basically, you, and other programmers, especially the GNU ones had developed the suite of command line utilities and programming libraries and whatnot— text editors.

But then, people began to start thinking about graphical software from a open source standpoint. And the proprietary Unix systems that were out there, they had graphical systems, but frankly, they were pretty rudimentary. Sun had one that was called OpenWindows that it had one button on the windows, I think. (laughs). 

DE ICAZA: I liked it. 

SHEFFIELD: You liked it. Okay. Interesting. 

DE ICAZA: I liked to OpenWindows. And they made a lot of those things open source before we called them open source. I would say that Sun was ahead of their time, but they had, they had, I would say the design system was a little bit odd for people to embrace. They have those round buttons before it was popular, and they had a few ideas that were not quite common for Windows people to see.

And there was a competitor called Motif that I believe HP and others used. And that’s the environment called the Common Desktop Environment, CDE. 

Yeah, so there were definitely user interfaces for Unix and they worked fine, as long as you had powerful hardware. So I would say the first challenge that Linux had on the UI front was the graphical system that we could get our hands on called X11 was just too complex for the kind of hardware that we had at the time, and for the kind of graphics cards that we had at the time, and for the kind of optimizations that we could drop in the graphic cards.

So it’s just initially a really terrible experience. The graphical user interface. It would take time. It would take years for hardware to get better. It would take the device drivers to get better, machines to get better before a serious attempt could be made .

SHEFFIELD: One of the other limitations that they had was that they were trying to use Adobe PostScript which was developed to be a printer programming language. They were trying to use it as a display interface. And that PostScript is a very complicated and limited. So like OpenWindows, as I recall, was in PostScript. 

DE ICAZA: Yes, that’s right. It worked fine for some, but it definitely didn’t work for Linux. And it was very slow. In fact, we tried using this technology and it was just, there was not enough memory or power at the time for us to run it. It was not optimized. We couldn’t make it work at the time, 1997. It’s a good idea, but not great. 

SHEFFIELD: Yeah, and Apple reimagined that concept later when they came back to Unix. And because the Quartz system is based in PDF, descendant of PostScript.

But I guess we’re getting a little bit ahead of ourselves. So people were wanting to have an open—and free software, of course, for those not familiar, meaning that you have access to the source code and you can modify the software and redistribute it. That’s the quick and dirty definition of it.

So people who wanted a graphical environment for their open source software, they began trying to come up with their own versions of it. And I guess, some of the early ones out there, let’s see, I don’t know if TWM, how old that one is, but that certainly, it was quite an old one. 

DE ICAZA: It’s quite old, but TWM was a window manager, so it didn’t really do much in terms of having a full system.

SHEFFIELD: Yeah. And I’m thinking though, was it AfterStep might be the first sort of attempt to try to copy that? Would you say that? 

DE ICAZA: So there’s a couple of things. One was the look and the behavior of your windows, and that was handled in the X Window System by window managers.

So there was TWM which was very old. There was FVWM which was highly configurable and very popular for awhile. 

SHEFFIELD: Just a window manager, too, though.

DE ICAZA: Yep. And it led to the creation of FVWM95 which was starting to get some attributes by cloning the Windows 95 UI. But it was lacking everything else as far as control centers, the settings, the printer, to managing applications, to associating application types with software and so on.

So it was a progression of, on the one hand people building window managers, which was a natural place to do this work, people having UI toolkits, like Tcl for rapidly building applications, or GTK, or XV, or LessTif, Java had a thing called AWS. And we have clones of that as well. So it was a very set of disparate attempts at doing these things. 

SHEFFIELD: So, yeah, there were different attempts to try to create various, as they call them toolkits. And the one that kind of really started getting rolling was one called Qt, Q-T, which was put out by a commercial company called Trolltech, out of what was it, Finland? Or Sweden? I always forget.

DE ICAZA: Norway.

SHEFFIELD: Norway, yeah.

DE ICAZA: The company was called Trolltech. So I guess trolls had something to do with Norse mythology. 

SHEFFIELD: Presumably yeah. And so Qt was a cross-platform toolkit also, which was interesting. There weren’t a lot of those at that time period. So you could write software in it that would run on Windows and Mac and also on various Unix versions. That was the promise of it. But there were a number of people who were concerned about the license of it. 

But many were not. And so they began working together on creating a suite of graphical applications, which they called the K Desktop Environment, which was a play on the Common Desktop Environment, CDE. Did you ever use KDE in those early days? I know obviously you didn’t get into it eventually.

DE ICAZA: I was a fan. In fact, like I said, the early Linux days were fascinating. There was a new thing happening every day and people sharing their code and ideas. And there was, we were talking about this before the interview, but there was this forum called comp.os.linux.announce. And that was my drug. I would go there every day to check out what new capability had been published on Linux. What do you think it could do? 

Because it seemed every day brought in a new superpower. And it was a super power because you have to remember that at the time, Linux was a multitasking and safe operating system compared to Windows, which had a better UI, but it was not really multitasking.

And if one application crashed, it would crash the entire system. So you have to reboot your machine. On Linux, if something crashed, the system kept going, it just restarted again. So Linux in this particular era was magical. It was ugly, but magical and every day got better. So when they announced KDE, I was in awe. I loved KDE

SHEFFIELD: And this was 1996, just for everybody keeping track here. 

DE ICAZA: But I had been working on, I had been working with the Red Hat folks on a collaboration, on bringing Linux to SPARC computers, Sun computers, because I thought the future of Linux was high-end computers, haha, not consumer computers. 

So I had been working with them, and I had a good relationship with them. I remember sending an email to Eric Troan who was at Red Hat. And I said, Eric, we’ve got to get this thing on Red Hat. We got to put this UI. This is amazing. This is our ticket. And I also sent an email to Richard Stallman and I said, Richard, we’ve gotta get, we gotta get this thing.

And both of them, I don’t remember the separation between these emails, but both of them replied and said, the challenge is that — Red Hat said we can’t distribute it because the Qt license prohibits us from doing that. And Richard replied something along those lines, which was a shame because we had built something from the ground up, right? We had spent all these years, Richard coming from one end building the tools, and eventually Linux bringing the other part of the half. So we had struggled, the community had struggled to get a full system that was free, and all of a sudden, a missing piece that UI, which at this point, the video cards were good enough.

The speed of the systems was good enough that it was a reality. All of a sudden, we were willing to give up on those principles of having everything be free for the sake of using this toolkit, Qt from Trolltech. So, that was a sad moment. 

And I decided to go and build an alternative. So we can use that. We can build an alternative and we can use some pieces, there have been some pieces of free software that have been created. Let’s use those pieces and let’s build the desktop from the ground up. So that was the launch of GNOME. 

SHEFFIELD: And it had an acronym. What was the acronym? 

DE ICAZA: It’s a layered set of acronyms. It actually stood for, we repurposed that acronym from another project, but it was the GNU Network Object Model Environment.

And the reality is that before we did the desktop, we wanted to build a reusable component system, which is where the GNOME name comes from. So we had the name and we had started to think about writing the reusable software inspired by what Microsoft was doing with COM. But we didn’t really get a chance to build it when this sort of high-level emergency, ‘hey the future of the desktop, we’re risk giving it up because it’s going to be proprietary.’

So we just repurposed the name of the project. So we didn’t have to think too much about this. And that’s where we were. We went off to the races. 

I think that, to these days, the logo of GNOME is a foot, and the story of that is interesting. There was this artist in the community called Tuomas Kuosmanen.

And Tuomas had done a lot of drawings with the paint program, one of these free paint programs called The GIMP, and he had made a lot of little things that looked cute. And when we were building the desktop, GNOME, I say, Hey, do you mind if I use this icon for the mail app or the settings app or the clock or this or that?

So we were building applications, so we needed icons and we just asked Thomas, can we use your artwork? So we used a lot of his artwork, and he started to do some artwork for us, and every day, there will be something, ‘hey, do you have a use for this or not?’ ‘Can we would use it or not?’

And just before we did the first launch of GNOME, there was one icon that we had found absolutely no use for, it was a foot. And we decided to take that foot and put it on the equivalent of windows start menu. And we just put it there because that was the only icon that we had no use assigned yet. So we put that icon there, and that became the GNOME logo, haha. And we’ve restyled it over the years, but we ended up with that, because that was the sole surviving artwork asset that we didn’t know what to do with. 

SHEFFIELD: I wonder how many people know that, that story. 

DE ICAZA: I bet a thousand people know this story.

SHEFFIELD: Yeah. So that was 1999, roughly when you guys went public with that

DE ICAZA: Was it? 

SHEFFIELD: Yeah. At least that’s what Wikipedia thinks. 

DE ICAZA: OK. 

SHEFFIELD: Yeah, so at that point, having all of these graphical software environments in Linux actually set— and you had the internet gold rush at the same time with a lot of these startup companies. And then Linux was really starting to emerge as a full, complete set of software. It set off its own little gold rush in a sense. And so you had companies like Corel go into it. And Corel was, at the time was, this big desktop application vendor that was making CorelDRAW, Photo-Paint, and WordPerfect. So they were big, they were a big deal in the application world at that time.

And they decided that they were going to get into Linux themselves. And so they launched their own Linux desktop to try to compete with with Windows and Macintosh. And it didn’t quite end in the success that they wanted it to be. But I want to say they were the first big investment in Linux at that time period, in such a big way. 

DE ICAZA: Yeah, yeah. 

SHEFFIELD: And so it set a pattern. I think it put Linux on the map in terms of the corporate technology world that, hey, this is something to look at because at least on the server side, a lot of websites at that time were being served in proprietary Unix or on Windows who dominated that space. Even FreeBSD was bigger early on.

So Linux began gaining some attention here, but hadn’t really taken off to the degree that it ended up later getting attention. And then, you guys kept refining GNOME over various releases. And so did KDE and KDE actually had created a web browser that was also a file manager called Konqueror. 

DE ICAZA: M-hmm. 

SHEFFIELD: And Konqueror was later adopted by Apple to become their Safari browser, the original basis for that, which Google then turned into Chrome. 

DE ICAZA: Yes.

SHEFFIELD: You were obviously, I’m sure, very excited about all this stuff happening. You guys still hadn’t hit the full, big time, like you had wanted, right? You wanted to keep expanding GNOME into other areas, which is how you got started into Mono. You want to talk about that and what that was supposed to be? 

DE ICAZA: Like I said, I think that there was a lot of excitement and 1999, I don’t remember when Red Hat went public, I’m sure we could look this up, but I believe that VA Linux was the second company to go public in 1999. And like you said, there was a gold rush of companies around the internet at the time going public and making millions of dollars. 

And that’s the year that I joined forces with this guy, Nat Friedman, we wanted to build our own company. We want to build our own company around GNOME. So we said, ‘Hey, we’ve built GNOME„ let’s go on to build a company around that. So we launched our company in 1999. That’s how I ended up in the United States. And in fact in Boston, because he was graduating from MIT and we did launch our company.

And, once you’re a company, you have some venture capital, you have a lot of additional pieces to play with. We could fill in a lot of the gaps, a lot of the things that were not being done to GNOME. We fixed a bunch of bugs and usability problems. 

We could hire full-time artists. So rather than pick the foot, haha, that nobody had taken, the only icon that was there, we could actually have designers go and build us icons that we needed. So we did that, that company we did from 1999, until we sold it to Novell in 2003. But at the same time, like I said, around 2002 or so, I was worried that GNOME was not growing fast enough.

And that while we certainly had some applications being built. It was painful to do them. We’re using a low-level language. It was difficult to build. It was error-prone. We actually had this company that we started called the Ximian. We were trying to clone Outlook, Microsoft Outlook. So bring calendaring, email, and contacts, and synchronization to Linux and—

SHEFFIELD: In order to get big companies to be interested in Linux and GNOME. 

DE ICAZA: Yes. Yeah. And the web is in its infancy then. So things like Gmail are, far away in the distance. 

So it was so painful to build this thing. It was incredibly painful. We’re spending all of our recent money debugging low-level code and barely making any progress. It was slow. It was a bear. But computers at the time were very slow. So you couldn’t really afford to use, today you could use JavaScript or Python or whatever, a high-level language and get away with it.

In 1999, these were really bad choices. So we were developing with a low-level language. So by 2002, it was clear that we needed a better way of building this software or 2001, 2001. And there was nothing really on the menu that we could use. And this is when Microsoft released Microsoft .NET.

And we said, this is exactly what we need is it’s a compiled language, but it’s also high-level enough that we can use it to move faster. It might be a little bit more computationally expensive, but it’s within the realm of computers in 2001. And we couldn’t use Java for the same reason that we couldn’t use Trolltech at the time, which is the license was not open source.

So we said we can’t use Java. And Java is a monster and there’s this new Microsoft thing called .NET. They’re making all the specifications public. So let’s go and clone that. So we reimplemented those specifications and that led to the Mono project. Initially, I just wanted to have a tool for us to build better software, and as you kept building it you find new, interesting challenges and opportunities, and users, and things that you could do with it.

So, I started on .NET then, and I kept going. These days, I still contribute to .NET, so it’s been almost 20 years of that. 

SHEFFIELD: Yeah. It looks like it was 2004 was the initial release. 

DE ICAZA: That was 1.0. The Mono announcement was at an O’Reilly conference. 2004 was the official release, but we announced it years before that. 

SHEFFIELD: Oh, okay. 

DE ICAZA: Okay. Here it is. December of 2000. Yeah. And I announced it officially in July 19th, 2001. So we had the basics of the compiler, I believe of the C# compiler. We were not self hosting. I think we went self hosting by the end of the summer. So it was a very aggressive timeline, but I remember working during my vacation in Mexico, went vacationing in Mexico, in 2000, and I was working at that. 

SHEFFIELD: A lot of people didn’t like what you guys were doing, right? They were—

DE ICAZA: Right.

SHEFFIELD: They were offended at at.

DE ICAZA: Some people were offended that it was a clone of a Microsoft technology. And Microsoft in 2000 was deeply distrusted. For many reasons. Microsoft had taken a very antagonistic position towards Linux. And my view was it’s a good technology. We should use that technology.

And some people felt that we shouldn’t encourage the use of a technology designed by Microsoft. And then over time, things got a little bit worse. In 2006, my employer at the time, Novell, signed a patent license agreement with Microsoft. I don’t remember the details, but the high level is, we won’t sue you over Linux, we won’t sue you over your Windows. And that was seen as maybe there is a submarine patent in Mono that will destroy Linux.

So the same mistrust, right? Same distrust that some people have toward these things are the same distrust that I had that ‘we can’t build a future on Trolltech or Java.’ Now, some people are saying ‘we can’t build our future on Mono either.’ Which, I thought was a little bit extreme, but I can understand why some people had that feeling.

And that distrust actually went on for years. Like I said, it was started in 2000, I think it was okay until that agreement in around 2006 and it remained really on shaky grounds ever since. And I would say that it only really turned a corner when Microsoft itself said, we are open sourcing our version of .NET from the ground up, you’re okay to use it for whatever purposes you deem’ in 2015 or 2016. So there were 15 years of internet flame wars over patent and copyright minutia getting back. 

SHEFFIELD: And Richard Stallman was one of those critics, was he not? 

DE ICAZA: Well, so Richard was one of the original people endorsing them on a project. He had concerns though. He had concerns over the technical decision. That compilers are separated. The front ends are separated from the backend, because he used the strategy effectively to force some proprietary languages to be open-sourced. So he had success with that approach. So he didn’t like the fact that there was an intermediate representation that would allow proprietary competitors from existence. So he wanted to stamp those out.

But eventually, eventually he accepted it. And it got more complicated in my company, right? My company that did open source software. Eventually we realized that if you’d make pure open source software, nobody’s going to give you money. So we started to sell proprietary software and that annoyed Richard Stallman tremendously.

So these were the— 

SHEFFIELD: And what was the software you were selling?

DE ICAZA: We were selling an extension to our Evolution software suite. It was that an extension that allowed it to talk to Exchange servers to Microsoft Exchange. So we said, ‘hey, listen, the software is free, but if you’re going to connect the proprietary server, we’ll sell your proprietary extension.

And that was my fallout with Richard Stallman. And it, that was, I wanna say 2001 or 2002, perhaps. I can’t remember. But we were no longer on speaking terms after that. 

And, and he saw Mono from the eyes of one day, it might be proprietary. So he did start a competing project to Mono called dotGNU. So there was more than one .NET for implementation. There was Mono which was ours, and then there was dotGNU that was from other folks on the internet. 

SHEFFIELD: In the meantime, you had emergence of smartphones. They had existed for a long time , primarily initially as a descendant of Windows CE from Microsoft, that had the earliest mindshare, grew out of PDAs. And then you had the other one that was the descendant of the Psion computers, which was EPOC, which later turned into Symbian. And then you had the Palm pilots gradually acquired some cellular functionality, but all of these programs ultimately were very fractured.

And they had some severe limitations, whether it was in terms of memory or the processors were a huge limitation, obviously. 

DE ICAZA: Right. 

SHEFFIELD: And then you had Blackberry come along. So the market was, in a lot of ways it was very similar to the way Unix was before Linux. And so you had these four big vendors that nothing they did was compatible with each other. And that was by design, and many of them were hardware vendors as well. And so smartphones, they were kind of a geek accessory. If you were involved in the technology industry or you were a ,journalist, or a professor, or computer science person, you had them or like a traveling, businessmen or something like that.

That was the people who had them. And and then Apple came out with the iPhone and that just drastically changed the phone market forever. And around that time when the iPhone, the iPhone came out in 2007. And so, but while it was under wraps, Google was also working on a phone as well.

And they were, they had designed Android to be a clone of Blackberry at the time —

DE ICAZA: Yes 

SHEFFIELD: — initially in the private betas. And then when Apple came out with the iPhone in 2007, they threw everything in the trash for Android as they were calling it. And then redesigned it. But the interesting thing about what Google was doing was that they were using Linux as the core for it, as the kernel. And then they eventually rejiggered it to be very similar to the iPhone.

And then you had Palm, which also threw its PalmOS in the trashcan and started off with Linux as well, with their, in my opinion, very underappreciated WebOS. 

DE ICAZA: Yeah. 

SHEFFIELD: I was a fan. I was a fan.

DE ICAZA: Yeah. I have a Pre somewhere in the office yeah. (laughter)

SHEFFIELD: And so, that just revolutionized everything. But Google did not use one of the preexisting Linux toolkits. Instead they decided to use a modified version of Java as their foundation. Now how did you guys feel about all that in the Mono community when you got word that they were doing that? Did feel like you could have been a contender and it was taken away from you, or what did you guys think about all that? 

DE ICAZA: I wish I could remember how we felt. I was a fan of Android because it was Linux based. It was certainly a shame that it was based on Java.

And like you said, they were inspired by Blackberry, and the design of Android was inspired by the limitations of Blackberries. It was really intended to be running on super-low-power devices. And and this is the sin that Android carries to this day. This is what makes Android so difficult to program nowadays, because you’re still programming the way that you would program a system with very little memory.

So these mistakes that were made, 2000 whatever, 2007 or so, we’re still paying for those today. I don’t remember how it felt at the time, but I remembered that we, that we would try to push Mono. We said, this is maybe better for you. I remember that when the lawsuit between Oracle and Google came out, that some documents, some internal emails came out, advocating to use .NET or C# and Google outright saying, oh, this is a bad idea because some reason, and I remember getting very angry at the reason because it was a lie. So somebody either did not understand well enough or, pretended to understand things well enough. And, they make a judgment call that was the wrong judgment call because, very clearly, they were in a more precarious situation with Java, the way that I saw it. And they end up in that lawsuit. But I don’t remember exactly how I felt at that particular time about their use of Java. 

But I did like that it was Linux-based. That was exciting. I followed the development. Some of my friends went to work on Android, it was an exciting time. It was a very exciting world, but then, Apple released the iPhone and it was not designed to be a Blackberry replacement. It was designed to be a full Unix system with very good taste. A very good UI, much better than what we had built over the years on Linux. We struggled so much with so many of these things and it was incredible to watch Apple execute so well from the get-go on these things. So, yeah, so I fell in love with the iPhone very quickly. 

SHEFFIELD: I guess it might’ve been Google decided not to even bother with X11 as well. 

DE ICAZA: Oh yeah, definitely.

SHEFFIELD: And I think that probably was a big factor in their ability. 

DE ICAZA: Absolutely. Yeah. For not using C#, that was a separate discussion, but yeah, they didn’t choose any of my stuff.

SHEFFIELD: Yeah okay. So Xamarin was under the Novell umbrella for a few years up until that point. And then Novell got acquired by another company called Attachmate which was more in the corporate consulting- management type services. And then that brought a change for you guys as well. Let’s talk about that. And when was that? 

DE ICAZA: Yeah, they acquired the company. Attachmate purchased Novell, and then they laid off, I think, about a thousand people, right off the bat. My team on the product where we’re bringing .NET to iPhones and Androids was laid off. And we very quickly, so it was a blessing, right? It was very stressful, but it was a blessing. 

As soon as they laid off the team, in fact, they called me to the office: ‘Hey, we want to talk to you.’ I was like: ‘Oh, excellent, perfect. What are we going to talk about?’ It’s like ‘Hey, we need you to lay off your team. And once you’re done, you’re laid off too.’ So—

SHEFFIELD: And this was 2011? 

DE ICAZA: 2011. Yes. I have to lay off my team, the American team. The European team was more difficult because of European regulations. So they stayed at Novell employed for a few months as they sorted out what to do. But the American team was laid off immediately. 

And I said: ‘Hey folks, let’s start something.’ So I re-hired them. And again, I called my friend that I had founded the first company. He was on a one-year break. He decided he was going to travel the world for a year. And he was in some island in the Caribbean. I say: ‘Hey, we just got laid off and I’m starting this company. I could use your coaching.’

So, he was coaching in a few things about how to incorporate, which lawyers to use, that sort of thing. And one day he says: ‘Hey, do you mind if I joined the company?’ ‘Oh, that will be amazing.’ So he cut his vacation short (laughs). I think he was a month-six out of a year. And flew back the Boston.

He said: ‘Well, my wife says we wait until Thursday, because we just got here.’ So they flew in Thursday and we incorporated the company. He put in some money, I put in some money, we rehire the team. We re-hire the team and we set out to build a company. We were so lucky it was a great product for the right moment for the right platform, which was bringing .NET developers to iPhone and Android.

And so we launched the company in 2011, and we sold the company to Microsoft in 2016. And that’s how I ended up at Microsoft after spending, what, 15 years trying to unseat them. Competing at every turn. That’s not just kernels, office suites, run-time compilers and so on. 

SHEFFIELD: Yeah. Now how did that come about? Did you guys approach them or did they approach you? 

DE ICAZA: We had a long-going partnership because we were using .NET. So we gave them feedback on what we wanted from .NET. We had joint customers, people that were using their technology, our technology. So we had a bunch of different go-to-market plans and sales events together. So we had a very close relationship with them for almost, I would say maybe three years, two to three years. So eventually they reached out to us and I started talking about an acquisition, I can’t remember, 2015, 2015.

There was a previous attempt a year before, but it didn’t go very far. 

SHEFFIELD: Okay. Were they partially motivated also though by trying to promote their own Windows Phone operating system during that time. Was it related to that?

DE ICAZA: I think it might have been some of it, but I think that Windows Phone was already sunset when the acquisition took place. But certainly the idea was to have a single language. They had .NET on servers and windows desktops, and we gave them .NET on Macs, on Android, on iOS, and other rare platforms like S390, and other things like that. Which to us was a little bit of a setback. Because a big part of our promise is you can the same code that you used on Android and iOS, you can use on Windows Phones.

So when they sunset Windows Phone, it also took away some of the value that we gave. So as a matter of product, it was still valuable. Just, we lost a chunk of the value. 

SHEFFIELD: Yeah. Although it did enable them to have an ability to have developers within the other two— 

DE ICAZA: Yes. 

SHEFFIELD: — dominant operating systems that had emerged.

So at this point now though, here in 2021, Android is overwhelmingly the dominant operating system in phones and Linux is the server operating system. So, where do you see things? I guess that’s a big question here. And you don’t have a lot of time.

DE ICAZA: It’s interesting, right? Linux is— when I started to help Linux, I wanted to Linux as my desktop computer, I wanted to use it for everything that I did. It was something that really appealed to my younger self, and sadly, Linux on the desktop still, hasn’t quite unfolded the way that I wanted.

And I think the closest that you can get today is a Chromebook. Which is an OS from the ground up running Linux, although half the services, it’s really connected — 

SHEFFIELD: Are proprietary.

DE ICAZA: — services. And Android is a little bit that way. So, Linux didn’t quite manifest that way. That’s how I ended up with all these Macs.

But I have a thermostat around here. It’s a Linux machine, right? The shower control is a Linux machine. I was looking at my network activity and a bunch of these things are Linux boxes, right? So Linux is now everywhere. It succeeded in ways I would have never imagined.

And sadly, did not quite make it on the one place where I spend my whole day in and out. And maybe I could continue using it. But I think that I’m speaking as a general market, I really wished that Linux had taken over by storm. The consumer market. And that didn’t quite happen.

SHEFFIELD: Sometimes we can succeed in ways that we didn’t plan. And ultimately, as a number of people using it, that’s much greater than if it had taken over the desktop. You could argue that. 

DE ICAZA: There’s some good marketers that caution against that. Don’t do a frontal assault on the incumbent . You’re much better off offering products from different segments. I wish that I had known 20 years ago, this is now a well studied phenomenon that the frontal assault is very expensive, very difficult. And you’re always going to be chasing every single nook and cranny. So anyways, so now I know, so my next, effort, I’m not going to do a frontal assault. I’ll find new markets. 

SHEFFIELD: All right. I appreciate your time today. We could probably talk for hours and hours more so, but you’re a busy guy, so —

DE ICAZA: Thank you very much, Matthew. 

SHEFFIELD: I appreciate it you being here.

DE ICAZA: Thank you for the opportunity. 

SHEFFIELD: And as I said in the intro, this episode was a little bit different than our typical political and historical fare here at Theory of Change. But technology is a very important part of our world. And in many ways plays a role in our lives that we don’t often even understand or are aware of. 

So let’s definitely keep an eye on all of that.

About This Podcast

Lots of people want to change the world. But how does change happen? History is filled with stories of people and institutions that spent big and devoted many resources to effect change but have little to show for it. By contrast, many societal developments have happened without forethought from anyone. And of course, change can be negative as well as positive.

In each episode of this weekly program, Theory of Change host Matthew Sheffield delves deep with a solo guest to discuss larger trends in politics, religion, media, and technology.