We use cookies to understand how you use our platform and to improve your experience. Click “Accept All” to consent, or “Decline non-essential” to opt out of non-essential cookies. Read our Privacy Policy.
Jul 22, 2026 · 0 min
# FLOSS-876 **Jonathan:** Hey folks, this week I talk with Michael Meeks about Collabora. They do a lot of things, but we're talking specifically about their office suite and how they pay the bills…
# FLOSS-876 **Jonathan:** Hey folks, this week I talk with Michael Meeks about Collabora. They do a lot of things, but we're talking specifically about their office suite and how they pay the bills doing an open source project. This is Floss Weekly, episode 876, recorded Tuesday, July the 21st. There is no money fairy Hey, folks. It's time for Floss Weekly. That's the show about free, libre, and open source software. I'm your host, Jonathan Bennett, and my voice is just a little extra raspy, a little extra bassy today, and that is because I've been at Open Sauce this past weekend. And in the infinite wisdom of the people putting the show together, they put our booth back to back with a guitar amp booth. So I've been speaking loudly to be heard over the sound of sick guitar riffs for about three days now, and my voice definitely took the hit. But that was a lot of fun. I'm back now, back in the saddle. Didn't miss any Floss Weeklies this time around, and we have got something really neat today. We're talking with Michael Meeks of Collabora, and one of our, one of our live listeners before we started the recording said, "Are we talking virtual reality, or are we talking office suites?" I think the answer is office suites, but apparently VR is part of the conversation. We'll get some information about that in here in just a moment. So our guest today, Michael Meeks he is CEO of Collabora, and he is, has served as the director of the Document Foundation. He's done all sorts of stuff over the years, including worked at Novell/SUSE, then part of doing lots and lots of Linux stuff over the years, and a, a whole lot more. Let's go ahead and bring him on. Michael, welcome absolutely to the show. It's good to have you here. **Michael:** Thanks so much, Jonathan. Pleasure to be here. **Jonathan:** So w- are we talking virtual reality, or are we talking office suites? **Michael:** That's a really good question. So Collabora, of course, is two things really. So it's a, a consultancy doing Linux enablement, open source stuff across the stacks- in multimedia, graphics all sorts of kernel enablement hardware stuff to get open source in at the bottom of the stack. So it's the obvious choice. There's always someone there that can help you get your hardware enabled, and so open source comes up from the bottom. And then of course, Collabora is also Collabora Office. It's always coming from the top of the software stack with these very, very leaf node- ... with all these dependencies. And so yeah there's two companies there. But we love to share the same brand and, work, work together. We have a mission, which is to make open source rock, and so we do that. Gotcha. And the hope is that in the end, the bottom and the top guys meet in the middle and shake hands and then everything is open source. That's the long-term plan, basically. But yeah- ... we're getting **Jonathan:** there. It's when they were digging the ch- the Channel, and they started at both ends, and finally they broke through and, shook hands through the rocks. **Michael:** Absolutely. Absolutely. H- So yeah, a, a breakthrough. **Jonathan:** How did it come about that there are these basically two separate companies that are under the same banner? **Michael:** Yeah, so I did a lot of work as you mentioned at SUSE Novell, as distinguished engineer there. And at some point, SUSE got really good management. And the good management realized that infrastructure software services and office productivity are pro- probably two separate things. All of these people are suffering in the Linux kernel at the bottom, toiling away. And, Linus says, "The interesting stuff's happening in user space. Up there. Go and do those things." And so there we were, writing Android apps and so on and people were a bit, aggrieved. And so fair enough, totally fair. We... They spun us out, they did it in a really good way Niels Brinkmann, Ral- Ralf Flakser. And they even gave us a, a small support contract for the first year or so to support their usage of LibreOffice, at the time. And yeah, just brilliant. So we got spun out, and that just makes decision-making so much easier. And helped me learn a whole load of, things about open source and business that seemed so simple back when I was employed and someone else was doing the selling and so on. And now, yeah, make... I think I was extremely naive, let's say. Yeah. To put it- I- Put it one way or another. I **Jonathan:** understand. Yeah. You got a very abrupt crash course- ... in herding cats, among **Michael:** other things. Absolutely. But of course, Collabora was a key part of that. So- ... **Michael:** I couldn't do it by myself. We took six other people from SUSE, and that's always an exciting ask, isn't it? "Please come and join my company with no customers, no... and no money and whatever." And so I think, Collabora played a really important role there, the parent company, in, in seeding that and providing some of that business experience. And my, my key partners there, Philippe Calaff at the time, Rob McQueen, really helpful- ... in terms of, just advising and providing infrastructure, finance and personnel and contractual basis and so on. So it was really useful. **Jonathan:** Yeah I had no idea until this very moment that Collabora was spun out of openSUSE. That is absolutely- Yeah, the office piece was- ... n- news to me ... the office piece. Yeah, interesting. **Michael:** Yeah. **Jonathan:** The... there's some news that everybody has been talking about this week, and that is that Valve and Collabora have released the official Arch Linux ARM64 port for the Steam Frame **Michael:** Awesome. **Jonathan:** And that is- Awesome ... that is something like what you're generally aware of that because you're the CEO- ... but otherwise you're just hands off. "Oh yeah, the guys are doing that. I don't have anything to do with it." **Michael:** So to be clear, I'm the CEO of the subsidiary that does office pieces. Philippe Calaff is the CEO of the, of the- Okay ... above. And it's a really, it's a great company. I think there's a lot of subsidiarity in those groups. Lots of groups that working, pushing out in their own direction. So yeah, I think sure this group is probably doing the valve bits there. But meanwhile, other people are reverse engineering GPU drivers and maintaining Mizar and improving. We- we're pushing in so many directions. **Jonathan:** Yeah, **Michael:** absolutely. So yeah, it's always great to see these things. **Jonathan:** Okay. **Michael:** We do so much good stuff, it's nice to be able to talk about it. **Jonathan:** Absolutely. So I feel like we've placed the landscape now and we kinda know the things out on the periphery that we're not gonna talk so much about. Let's talk about what Collabora, the office suite in Collabora Online is. And how did this come about? So is Collabora a fork of... the granddaddy of all of these is StarOffice, right? **Michael:** Yes. Ultimately yes. So if we go back to 2000 or before I was working with Sun Microsoft or Zimian. And Zimian, met with Sun and Marco Börries, who was the, the kid who created OpenOffice or StarOffice in his garage, and then built a big business around that in Hamburg. They kinda met together and decided how, to open source this thing and how best to do that. And so I was involved with that, before even it was open source, trying to think about component models and plugging things together. And if you remember component models, but the punchline is you don't need them. Open source is open, and so you don't need to have all of these special contracts. Just, mash the software together, improve it, and work, work together. But either way, back in the day we loved that. And so then OpenOffice, of course, lived for about a decade before LibreOffice came in. And of course, Oracle, the economics for the Oracle division there weren't, I think they say accretive to gross margin or something like that. Meaning you've gotta make an insane amount of profit, otherwise you're not welcome. And that's a great shame. And a lot of those Oracle people were being let go, redeployed in other places And so then LibreOffice came out of that. **Jonathan:** And **Michael:** that was great. It was funded by, I guess SUSE or Red Hat with help from Google. And, the Linux desktop was hot back in 2000. There, there were lots of people there, and we had big teams working on this. And yeah, and then of course, over time... So we founded LibreOffice, and over time some of that desktop excitement died away, let's say, or at least reduced in magnitude. And you then end up in a rather different world economically in, in terms of sustainability. And then of course, when SUSE effectively pulled the plug on this and said, we're stopping," that was, would've been devastating to The Document Foundation, LibreOffice. So we yeah, so hence- Gotcha Mortgaged the house, start the company, rescue as much as we can, and then grow up. And now I guess we're about 70, 70 people in the productivity office part of Collabora now. **Jonathan:** Yeah. There's yet another Office suite out there ONLYOFFICE. **Michael:** Oh, **Jonathan:** yeah. And I remember that there was some drama between ONLYOFFICE and Collabora back six months ago, nine months ago, something like that. And my, my comment- ... at the time was the whole story was just bizarre. What and obviously we're not here to throw stones at ONLYOFFICE, but I'm curious from your perspective, what's the what's the overview of all of that? **Michael:** Yeah. So at least from my perspective, we didn't have a huge amount of drama ourselves with ONLYOFFICE, but I think Nextcloud then took the ONLYOFFICE code base and then created a fork of that called, it's called EuroOffice. And, ... there's a lot of, There's a lot of interaction there that's quite, quite interesting. I, I'm- **Jonathan:** Entertaining for outsiders. **Michael:** Yeah, absolutely. There's a popcorn thing going on there. Yes. W- but, from our side, in terms of positive things we can say about, Collabora Office, and I'll just say a whole load of positive things. We have zero Russian comments in our source code. We have clean- ... licensing provenance. We know what our license is and- Absolutely ... have statements from everyone that, that contributed to it. **Jonathan:** That's **Michael:** such a huge deal. **Jonathan:** And we build around our... So- We've had a... I'm sorry to bre- to cut you off, but we've- **Michael:** No, go **Jonathan:** for it, yeah we've talked to several projects over the years, and it's like what license are you?" And it's complicated." One project in particular, portions of it were written by US government employees, therefore those portions are in the public domain. And portions of it were written by contractors, and no license was ever assigned to it, which technically means that those are, all rights reserved. And w- and we had the guys on the show, and they're like, "It's open source. We want everybody to use it." And we're like, "How does this work?" And they were "Yeah, it's hard." Oh my good- Yeah. So that is a, that is actually a really big deal that you have clean- Definitely ... provenance on your licensing. **Michael:** Yeah, completely. And I helped set up the structures there at the Document Foundation, and people would send license statements. Ultimately I think we use the Mozilla Public License, so the MPL 2.0- ... which has a number of advantages and disadvantages. So it's a weak-ish copyleft, right? So it's per module copyleft, and so we can be pretty sure that if you're contributing stuff or reusing that code, then you're accepting the, the MPL 2.0. But beyond that it allows you to ship binaries under whacked out licenses. As long as you don't harm people's rights in the so- source code you can sh- use IBM's proprietary license and ship the binaries under that. So that's really nice. We got a clear source binary split there for the for the code, and it works really quite well, I think. And we share that with LibreOffice and, ... yeah. Yeah. So there was a lot of license collecting and yeah, due diligence and so on there that's really very good, both at LibreOffice and Collabora Office, I think. **Jonathan:** So Collabora Office, and I'm trying to remember the exact details of this. Obviously your, even your T-shirt that you're wearing says Collabora Online. And I- It is ... I'm trying to remember which direction this went. You guys turned the office suite into a web-based version, and that was your- That's right was that your primary offering for a long time? **Michael:** That's our primary offering. Yeah. Okay. Has been our primary offering for 10 years now. So we're just about to celebrating the 10th anniversary, and we actually got our release on Thursday of the 26, so four enterprise release of that. So there's a whole load of excitement around that. Yeah. And the team are crazily, fixing and improving and documenting and writing press releases and so on. And I think- Yeah, absolutely ... you've seen some of those. So yeah, so we're super excited about that. And, but of course- We've done a lot of work on the user experience. It's much nicer to use, much more familiar. Lots of research and, study there to, to improve it. And so we thought why don't we bring that to the desktop as well?" And actually, that had already been there, so if you'd had an Android version, you have this responsive UI and it looks like a mobile phone, one-hand touch interface. Great. But were you to plug a big screen in, suddenly it would turn into the, the, the real Office Suite, full fat. Absolutely. And so that's why you could run it on a Chrome OS and you would get real document editing there. And so that was pretty cool. And so we sort, took that and then just brought it to Windows, Mac, and Linux natively, and that's Collabora Office. So yeah. **Jonathan:** What, what was the decision like back in the day to say, "We're gonna make a web version of this"? And what was the engineering challenge there? **Michael:** Yeah, so well, the engineering challenge is making it work in the browser is, was quite exciting at the time. Sure. There were a whole load of choices we had to make 10, 10 plus years ago. **Jonathan:** It was before, WebAssembly came along, made a lot of things easier. **Michael:** Oh, totally. Totally. Totally. So we still don't use WebAssembly, so still we run a lot of the code on the server side. And there are a lot of reasons for that. I think from a security perspective- ... you wanna enforce policy on the server side. **Jonathan:** Absolutely. **Michael:** So if you want a policy like you can't download it, or you can't print it, if the first thing you do is download the whole file to the client- ... and then have your office suite there, You have a problem, right? Yes. From a security perspective. Yes, **Jonathan:** absolutely. **Michael:** And of course, if the first thing you do is download eight million lines of JavaScript and then JIT them on your mobile phone, you also have a problem that not only did you lose the document it just, it's ruinously expensive in terms of memory, performance, startup- Absolutely ... user experience and so on. So we try and keep that, that fast rendering in the i- in the server there, and bring it as tiles to the client, and that's really good. And we're starting... We- we in- increasingly moving more and more stuff to the client. So of course, your cursor blinks and there's no network traffic, this is rendered- ... i- in the client. Your selections are overlays rendered on the client. Your objects as you move them have previews. Your dialogues are reconstr- reconstructed on the client using native Java, JavaScript, HTML widgets for accessibility reasons if nothing else, so that you can move through them and screen read and get that rich rich accessibility experience. And now we're gonna be moving what we call turbo layout to the client as well. So there's a whole load of work to move away from what we thought would be super easy, pixel rendering to vector rendering in the in the browser. And actually, it works extremely well. But we think we can do more with vector rendering. We can just render once independent of view zoom, and then have everyone use that. So there's some, there's efficiency wins. But then we can start to do what we call turbo layout. So if you look at how Collabora Office lays out text text layout seems simple. You just nail the next glyph along. What could be wrong, right? But it turns out there's squishing text and justification and hyphenation and balancing columns and footnotes and re- laying out pages, and it's very easy to end up in loops. So there's no space there's... We've got a footnote here. We've fitted the text in, but we can't fit the footnote in as well. So let's get rid of the footnote. Now we can fit more text in. But, and you can end up in these iterative situations where, yeah you just... Anyway, you fail. The grass- So we have- The grass **Jonathan:** is greener perpetually- ... on the other side of that decision. **Michael:** Yeah, absolutely. That, that sort of thing. So yeah, you just basically can't win, and at some point you have to give up and try and do your best you can. One of the things that means is that's can be quite a slow process in a large document, so we have a turbo layout where you type and it nails it on the screen as quickly as possible. Like i- in, in the most plausible way, and then it will slightly update it. In many cases, you never notice that or it doesn't really need updating. But we're starting now to look at bringing that into the browser itself so the keystroke latency is exactly nothing. It, a frame, maybe two frames. Then again, at 60 hertz, within two frames you can get, some, some pretty impressive round trik- trips. Frankfurt to, to London is easily, is within one or two frame delays anyway. So yeah, you you don't really have a big problem there. **Jonathan:** Yeah, interesting. What was the what was the impetus behind back in the day saying "We, we need a web version of this"? **Michael:** I think collaboration is the key thing. So being able to collaboratively ed- edit documents together is just so useful. And I guess, so not only collaboration, but also deploying this. Ease of deployment. So one of the things we've wrestled with for years is document standards, and, we, we do... A huge amount of our work is making Microsoft documents import and export and round trip beautifully. And actually, we've done tons of work in 2604 for that just to make that better. But turns out URLs are better standardized than Microsoft documents. And the spec you can print out and it doesn't break your back if you try and lift it, you don't need a, a wheelie thing. And so sending a URL to a friend and going, "Hey, what do you think of my document?" A- and then being able to live co-edit that, comment on it, and interact together is just so much richer and so much easier from a standardization perspective. And that then allows us to use open document format and keep your actual raw data in a really, future-proof consensus industry format rather than a, a documented dump of the Microsoft internals. So that's a good thing too. **Jonathan:** Yeah. So one of the, one of the things that we've talked about, and we've talked with for example, Simon Phipps about this, he's done a lot of work with this over the years- Sure ... is trying to convince particularly European governments not to mandate the use of Microsoft Office document format types. And it seems like some of that is finally taken in the form of what they g- what they're now calling digital sovereignty. **Michael:** Yeah. **Jonathan:** And that's obviously, it's something- ... that you guys have to be, like, tracking along with. And I have several questions about this, but first just what... W- where are you in this process and what do you see going on? **Michael:** Yeah. So I think we're at the, really at the center of the, the drive for digital sovereignty. I'm periodically more or less encouraged about where the open source world is going. At the moment, I'm super encouraged. I don't know. Some of the largest things in the news. W- when you see yourself being talked about in The Economist or whatever, it ma- it's really helpful. So for example- It's nice. It feels pretty good, yeah ... the International Criminal Court, we're helping these guys with, with Collabora to move away from some of their things that are happening. Geopolitical disaster areas- ... we, let's not go too deeply into them, but geo- geopolitical risk is back with a vengeance. And if you're a government, you've gotta continue governing. You've gotta serve your citizens e- even in, the, the h- these high-risk scenarios. And I think the balance of risk is now turning. So previously it was no one got fired for buying, IBM or whatever, right? And so people choose the low-risk option. But I think increasingly- There is a lot of correlated risk there. And so actually, the low-risk option is to make sure you have a plan B, a, a minimum of plan B, of some people so you can reset your hardware, reboot, and you're now able to collaborate on a, say, a Linux base with a free software office productivity suite, and support for that. **Jonathan:** Are we, **Michael:** are we to- and better ... are we **Jonathan:** to the point that we could say that no one gets fired for open source? **Michael:** I hope so. Yeah. Like- ... it's the obvious choice, right? And s- so I think the, the balance of risk is really moving. And actually, there's some really large groups. So Caisse des Dépôts of Fra- France is a big shareholder. The French government shares. They're saying, "Just give them the effing purchase order. Get... Do it. Let's not talk about it. We're ready." Yeah. The software's there. It's just a matter of political will. And I think if you look at, say, Schleswig-Holstein in, in, in northern Germany there so Dirk is the the leader of this migration You start to see what actually we all knew all along. There's nothing wrong with our software. The software is great. What's missing is the leadership to say we go this way, and maybe if you have a problem, we fix it." That's fine, but- Sure ... tell me about the things and we, with a goal for fixing them, not, as a way of making excuses to do not much. And and so it's just fantastic to see, and I think it's the CDU government there, so coming from the right, are saying, "This is the way to go." And I've been in a lot of more left, let's say, political drives for open source, which we talk about solidarity and working together, and that's fantastic. I love all of those things. But it's refreshing to hear someone quoting Schumpeter and Hayek and saying open source is the way to go on the other spectrum, and once you see... if we can get the whole political spectrum to realize that this is where we need to go then that's just deeply encouraging to me about that alone. The real **Jonathan:** danger, and I speak to this from a very American political viewpoint. But the real- Sure ... danger is that the left and the right realize that they agree on it b- ... and lose their minds and immediately go no, we have to differentiate ourselves from them." It's like, no. Oh, **Michael:** dear. So yeah, it's just really encouraging to see. I think 40,000 users in Schleswig-Holstein. Tens of thousands of them already migrated. The Austrian Armed Forces, a conservative type of institution. 16,000 users off Microsoft Office, and again, supported by Collabora and backed by, sponsoring development work there and buying licenses as well, so- ... one of the things from an economic perspective is to get that subscription revenue that effectively maintains and funds and improves the software for everyone. **Jonathan:** Wait. ' **Michael:** Cause we, we, we- **Jonathan:** You make money from open source? I didn't think that- ... was possible. **Michael:** Yeah. We like to say in our community, there is no money fairy. You know- ... we don't have some insanely wealthy banker or, backer. Like to be fair, we do have some insanely wealthy people who who out of the goodness of their hearts, invest in features and do things, but broadly, there's no one bankrolling it. It's organic. There's no VCs. It's a real company, Collabora and yeah we... I think my grandad said, "You pay as you go, and if you can't pay, you don't go." It's pretty simple. In a way. And so that's basically where we're at. So we try and, yeah, do this in a sustainable way for the long term. We, this is a multi-round battle we've been in for 25, 30 years. Yeah. And **Jonathan:** yeah. We can get back to digital sovereignty in a second, but I think it's- Sure ... just super interesting. What i- what is someone buying when they buy a Collabora l- online license? **Michael:** Sure. A lot. So- So we talked about security. I, there's a whole load more to say on what we do there. But- ... suffice to say that we have, some of the absolute experts in the industry looking at modeling and receiving threat things and generating fixes and improvements, often that are only in one level of our multilayered onion, but are still, a problem. So we ship updates, so we have signed updates and maintenance. We support the product for three, three-plus years. You can choose which of their annual releases you b- base off, and then you can deploy that with complete confidence that we'll be there and backing it and supporting it. And one of the most fun things I like is product management input. You can come into our conference call days, and you can talk to the engineers doing it. You can give your feedback. We rank that and show you what we're doing and you can get a real feel for how that's going. We also do consultancy, and on our product, we would expect you to buy the product first. So if you wanna drive a particular feature, then, that's fine. But you get a subscription first, and then, go wild and we'll work crazily together. What else? Bug filing. If you have a bug or an issue, a- any kind of thing, there's an, Eat as much as you can, support entitlement there. So if you have a problem, regression of any kind we'll fix that and then turn it around get binaries for you, and so on. So it's a whole load of different pieces intersecting there, a bit of a, a lasagna of of value for- ... for people. **Jonathan:** So if someone has a license and they run into a problem, can they actually call a phone number and talk to a real human about it? **Michael:** So I don't know that we like phone numbers as much, because we're quite distributed. But they can certainly email someone, and the developer will read that for sure and get back to them remarkably quickly. And- in some **Jonathan:** ways email is better, but **Michael:** Yeah, with logs and things, if you- ... if you've got a, if you've got a complicated problem. But, then we often get on a video conference like this. If it's a difficult problem, we'll just, video conference someone, they'll talk to you. Yeah, the world's expert in, their problem. Is it, I don't know, pivot table calculated field support or something? Or is it a- Yeah ... a, a sockets weirdness with some SSL variants, or TLS cock-up? And then we can help debug and, solve installation problems set-up problems, and occasionally even level three code problems too. **Jonathan:** Some of my, my... So I've done IT, one of my other hats that I wear, I've done IT support for years and years. Some of my most depressing moments is to find a bug on a customer's computer, go searching for the bug online, and find a thread on the Microsoft support forums where, th- it's one person seven years ago reported it. 50 other people are like, me too." And, you have a, "I'm a Microsoft certified support technician, have you tried turning it off and back on again?" And that's about all the help that you ever get, and it's like it's 2026 now, and this dang problem still exists. Thanks, Microsoft. **Michael:** Yeah. Yeah. **Jonathan:** So- **Michael:** It's really sad, isn't it? I think one of the things, and there's some quite nice an- a- analysis of that, but hopefully we build a culture in open source of excellence. That's the hope. Of getting down to the root causes of problems and fixing not only those, but the whole class of problems and all of the others that could be related and doing a good job. And of course that's time and and culture and is expensive, but in the end, my hope is it yields a better product. In their defense, Microsoft have so, such large deployments of paying customers that actually hardware failure does start to become a real thing. **Jonathan:** Yes. **Michael:** Yeah you want a lot of reports before you, You go, "Yeah, that, that could just be, cosmic rays." And I, actually, when you look at our, some of our analytics, there are crash reports there that you just... it's just not possible. **Jonathan:** It's go- it's gotta be bad RAM in some cases. **Michael:** Yeah. Either bad RAM or- **Jonathan:** And **Michael:** I- ... basic error in electron migration. We worked the CPU too hard, and it, Yeah. **Jonathan:** So in, in... I f- I could think of a few cases where I thought it was a bug in somebody's product, and I'm like, "You need to talk to..." One of them in, in fact, was Intuit with QuickBooks, and they would do one thing in particular and it would crash it. I'm like, "That has gotta be an Intuit bug. You need to talk to them." And the customer did it, called Intuit up, and it's like, "You need to replace your RAM." And they were right. That is exactly what it was. That's really interesting. And I was so s- I was so surprised, but yeah, it's, it is a real thing. Hardware failures sometimes look like software bugs- Yeah surprisingly. **Michael:** Yeah. We used to... I used to design hardware systems actually so we did a whole other thing. So one of the fu- fun things is DRAM refresh, and one of my colleagues created this little bit of embedded microprocessing, or like a, a bespoke microprocessor, an FPGA, to do a piece of software. And it worked fine until he increased the length of the program, and now it was two lines of RAM. And previously, just executing the program refreshed the RAM. **Jonathan:** And **Michael:** then subsequently, when it got longer, it stopped. And so you're looking at, he just forgot some RAS CAS cycles to to refresh his RAM all as well, but yeah, it just a little- That's- **Jonathan:** it's a little bit amusing. Yeah, that's hilarious. All right back to the digital sovereignty thing this, this- ... we have a question from the chat room that really ties in well with it, and it is "Tell us a little bit about the headache it is to support Microsoft's formats." Specifically, here's the question, "Does Microsoft intentionally twiddle things just to ruin your day?" **Michael:** Look I was involved in OpenXML standardization- **Jonathan:** And has your lawyer told you're not allowed to answer this question? **Michael:** So no, my lawyer hasn't told me that. But he probably should tell me to say nice things. But actually I'm gonna say nice things anyway out of the goodness of my heart. So I was involved in the OpenXML standardization- ... of the Microsoft formats back in the day, and it would be remiss of me... we complain about the size of the spec, but some of that is awful. We asked for more and more information, and they provided it. They did a straight-up job. And, whilst there are whole fields that aren't specified, like layout the layout of your document is based on an integer, which is the version of Word, right? There's one number in there. Change that, document looks different. Everything changes, yeah. Quite a lot changes. And the more complex the document, the more will change. And so yeah, there's a whole load of stuff there. But that's fair enough, and that's just software engineering, they wanna be able to improve their layout. And why not? And I must say that the people I dealt with there, Brian Jones, Tristan Sean Villaron, some, were great guys. Really friendly, really helpful. They did a, a great job of standardizing that. There are some things that are unfortunate. I think if I, if we look back in the day, I think the Visio file format, the binary file format, had an undocumented checksum of the whole file. And unless you could generate the right checksum, it would go, "This file's invalid," and that's fine. You can see there's always a reason for these things, right? Oh, **Jonathan:** Yeah. **Michael:** But I think this is gone now. I think the, the joy of the OpenXML or the XML formats, of course, then, is that they're much, much more open. And so obviously Open Document Format pushed them in that direction, but it's a good direction to go in. They've gone there. The, the slight sadness of the OpenXML story was that- we really were dumped all of this, this XML file format could not be changed. We could change the documentation about it, and we did a great job of that, so you could better document what was going on. But you couldn't go, "Wait a minute, this XML tag sucks a bit. Why don't we move that into an attribute? Ooh, there's a tree structure here that's represented with integer lists for parent nodes. What's going on?" "And we c- can we improve that and just, hey, we've got an XML, it's a tree structure, why don't we use that?" So none of that was possible. But even lots more was out there. So I, I think Microsoft is... plays quite carefully in many ways in the market and that's, appreciated and yeah I I have my concerns. There's a Competition Markets Authority investigation in the UK that we're we're involved with. But I think m- much of that's at the business level rather than the technical level. If that makes sense. **Jonathan:** Are we at the point now to where you can open up a Microsoft document in Collabora and it basically just works and looks right? **Michael:** Sure. Completely. Yeah. I do that all the time. **Jonathan:** Completely? I, I- That's quite a statement, actually. **Michael:** You say completely. There's always- Yeah. There's never 100% in what we're doing, right? I think encouragingly, sometimes we find bugs on the other side or we're like, "W- what is... we're broken. Let's fi- fix our problem." And they're like no, don't fix that. That's a bug in our side." We need to fix it over here rather than you learning to adapt to this, this bug in our side." Software has problems, and that's why you need support, and that's worth getting. But yeah. It's really extremely good. I routinely redline DOCX contracts with lawyers and sign them, a- as part of my day-to-day job. Sure. There aren't problems that I see. We do... We run the whole company on it, so our spreadsheets, our finance planning. We still get problems with spreadsheets, but it's fat finger errors and I got the wrong... it's hu- human error. One in 20 cells is supposed to contain an error when you analyze spreadsheets. So that's the problem. ... But yeah, c- compared to that we're acing it, **Jonathan:** yeah. Yeah. **Michael:** Yeah. **Jonathan:** So one of the, one of the other things that has been happening over in Microsoft world for a while is they are retiring SharePoint, or at least the, the online or the, the local premise version of SharePoint, right? **Michael:** Yeah, absolutely. Absolutely. So those people who cared most about their privacy or the, the confidentiality of their documents would typically run a SharePoint server on premise. And they'd embed in that their Office online viewer. So like Office 365's Microsoft Office, but actually on-premise. And so you could then collaborate around SharePoint behind your layers of VPNs and, anti-tank ditches or whatever. You could really be sure that was staying internal. And that's then being obsoleted by December 31st, that's going. And the good news there is, of course, that... there's two, two bits of good news. One, we have a solution here. And it's a drop-in solution. We use this WAPI-like protocol that's compatible with Microsoft's protocol. And so you can spin up your Kubernetes thing and just drop it in, and that's great. And then you can co-edit and view documents as before. **Jonathan:** Very cool. **Michael:** Totally on-premise. The second thing is that it's actually better. So one of... There are a whole load of things you can do in Collabora Online that you just can't do in that Office online editor. Say, for example, putting a chart in a word processing document Can't be done in Microsoft Office online Really? It's not there. It seems incredible. Check it out afterwards. Go and try and insert a chart, right? Now, maybe you can get a picture of a chart or maybe a bitmap off your clipboard if you- if you're particularly lucky. But actually getting a full fat, full feature chart, axes, numbers, data table, whatever, just, it's just not there. **Jonathan:** Oh. **Michael:** Which is quite extraordinary 'cause it hasn't been there for five, since its inception. It's not like it's improving. And so this leads people to suspect that the online Office products are kept deliberately low fat, low feature because they're an advert for a Windows Office fat client. Ultimately, that's their role, is to basically put something in this space- ... so that- **Jonathan:** I have noted, I, I have had customers over the years that use macOS, and they've always noted to me "Microsoft Office on Mac is just terrible." And I just give them this wry smile, and it's Microsoft isn't, th- they're not really a, th- they're probably not too interested in making it a really good experience on macOS, now are they? Similar thing. **Michael:** Yeah. Yeah. **Jonathan:** The in- the incentives just don't line up there. **Michael:** Business incentives are real, obviously. Yeah. Definitely. I think they do they try and do quite a good job o- on Mac. It's, compared with the browser version, the Mac thing is a, a, a thing of beauty and wonder. **Jonathan:** Sure. **Michael:** But obviously the real stuff is the, the Windows mainly fat client. And yeah, so that's- ... really quite interesting as a thing. **Jonathan:** Yeah. **Michael:** And of course it's different. So Collabora Office then is essentially feature parity with browser and desktop. It's the same thing. And so we're sharing code. It's a shared code base and building up. **Jonathan:** So does the Collabora Suite have an email client? **Michael:** No. Okay. One of the things that we try and avoid is boiling the ocean- ... as they call it, and Office is already quite a challenging space to get right. And we actually partner. So if you look at something like OpenDesk, which is the German government's s- digital sovereignty or- organization, or was it Zendesk? It's their product for digital sovereignty. They use a thing called Open Exchange, which is, a very mature product. Actually- ... was also spun out of SUSE in Poland i- in- in the past, I think Rafael Laguna and various others. And that's a really large, successful product that's used and white labeled in lots of hosting providers and so on. And they run Dovecot. They create a thing called Dovecot Pro, maintain that. So email is sorted there. Of course, lots of other... we've got a th- a partner called eGroupware doing that. Obviously, we partner with HCL Software, who have Domino. There, there's a whole load of different... We integrate with vast numbers of partners with different product features. And again, why would we want to compete with that? It's a difficult space. I was there. I helped write the Evolution client under Gnome- ... way back in the day. And it all looks easy until you, you find the iCal quirks and the whatever. Everyone starts. **Jonathan:** Yeah. One of the- we just- ... one of the real interesting stories over the last few years that I've looked at and seen and thought about is apparently there for a while, Mozilla was thinking about letting go of Thunderbird. And- Sure ... one of the, one of the suggestions was the, the Document Foundation would take it. **Michael:** Definitely. Yeah, **Jonathan:** yeah. And then Thunderbird would become part of LibreOffice. And that, that did not come about. And there's just this part of me that thinks maybe Thunderbird would be great as part of Collabora. **Michael:** So not for lack of trying. We really encouraged those guys to come to the Document Foundation. I think in retrospect, where you see where things have evolved there, I think it was it was a good choice not to come. Although- ... you can never s- see what, what could have happened. No one's ever told what would have happened. Of **Jonathan:** course. **Michael:** But, they seem to be doing really well, the Thunderbird guys, and- I'm pleased. I actually, I switched from Evolution to Thunderbird at that point, so I'd actually have some clue of what I was talking about, so I'm a Pine Evolution Thunderbird person. There you go. Who's evolved through that- **Jonathan:** There you **Michael:** go ... that axis. And, Yeah. I, I- I'm a secret **Jonathan:** I've, likewise, I've been thrilled to see that Thunderbird has really found their feet again at Mozilla, and they've- ... they've put that back together and it's becoming a more healthy project again. **Michael:** Yeah, loving it But yeah, that's we partner with people. So one of the things- Right I really wanna talk about is just, that we love to go to market not by ourselves, but with other people. And I guess that's the open source way at some point. Sure the, these, these smaller pieces you put together. So we need, file sync and share probably. We need someone to do storage for Collabra Online. And we need someone to do authentication, because you would think storing files is easy, and you would think aut- authentication is easy, and then you end up with a multilayer active directory SAML authentication system, blah, blah, blah. Yeah. And you have this object store and a metadata store and, scaling and making that thing work nicely. And so we love to work with, say Wire, that bought Piedra recently. They have a great product there. And Nextcloud, ownCloud, OpenCloud, this whole cluster of things called cloud that came out of that sort of trifurcation of companies there. Yeah. **Jonathan:** It was unfortunate to see **Michael:** And- **Jonathan:** I'm- Yeah ... i, so that was actually something I, that was in my mind to ask you about, is, the, the integration with the a- asterisk cloud providers, and whether Collabra has almost a competitor to that, or whether it makes more sense to run underneath one of those. **Michael:** It always makes sense to run underneath one of those. So our partners are not best thrilled if we compete with them, for a start, so that's basically... I mean- Sure ... some, some partners haven't got the memo. But generally I, from my perspective, I really don't wanna be competing with our partners. Now, some of them, if we're partnering with a chart rendering provider, then I think when you go into that it's pretty clear that they're gonna do charts, we're gonna do charts. There'll be some evolution of the product. But I think when there's a very clear functional difference, I think it's very helpful to, to, just have your bit, and I think that's a good faith way of partnering people, and we like to honor that. And build confidence in our partners that we're not coming after their business, that their customers stay their customers. We're not gonna go around them, so it's not just technology. It's also just business practice of getting those accounts and building a business for other people. So one of the things we love to do is give margin away to our partners. It sounds crazy but we really pay a, a high margin for the local guy who speaks the language, who owns the customer, hel- helps them, holds their hand, installs it, because we want their business to succeed as well. We really wanna grow a, a flourishing ecosystem of individuals and, mom and pop shops through to giant, multi-billion multinationals working with us to push open source- ... most effectively and get it out **Jonathan:** there. Yeah. So when someone goes and says I want a Collabra Online install," like how difficult is that to set up? Is this... I- is it, as simple as running Docker, or- Sure ... is there a- Absolutely ... a, **Michael:** Yeah ... **Jonathan:** five-hour course you have to go through to be able to get it working? **Michael:** No, that, no, that, that's it's that easy. And so what typically people do is that they get stuck in with code. So we have a, all of our software is 100% open source code. But we have this thing called Collabora Online Developer Edition, which has just the latest and greatest stuff in it. So if you're integrating, people typically play with that to start with, and yeah, it's just in the Docker repository. You Docker, up and there you are. They, you have that. And if you're lucky, you have a Helm chart for a bigger collection of things that does the storage and so on. And yeah, it's, it... I've heard people say, "It's easy, it just works," I think that's nice. And if you look at our dependencies, some of our competitors require a Postgres database, an NFS file share, or, a Redis, a RabbitMQ message bus, and then they run on top of that. We have none of that. We're basically a, a single Docker image, and yeah, you can s- scale that out sideways with a, a load balancer. So it's pretty easy to do. **Jonathan:** Inside that Docker image, what does provide things like 'cause obviously you still have the need for some of those services. There's probably a database down there somewhere. There's a file storage down there somewhere. **Michael:** Nope. Nope. So how- So basically what we talk to is we talk to our storage and our authentication provider. So we we get a URL. So there's some configuration. Obviously there's, there's some YAML somewhere that's gonna say, "You are allowed to talk to these servers and not these other servers." But ultimately we're gonna get a Whoopi URL coming in saying, "Hey, this file is over there on that server." We'll match that against the servers we're allowed, and if we like it, we'll get the file. We'll, we'll- fire up a actually container. So there's a, this highly secure container system there. And in the container there's no shell. There's actually only just some fonts. There used to be time zone information, but pretty much nothing, and your document. So if you break out of that containment in some way, and we're talking 8 million lines of C++, you end up holding only your document. "Yeah, whoo. I escaped. I managed to run some native code." I get only my document, and if I execute any kind of system call that we don't like the look of, we set comp BPF, so any time you try and P trace or kill or anything, you're just terminated straight out. There's no, you stop executing. So that model is really nice. And so then inside that jail when we wanna save, we put that back to the file file sync and share with that, that storage, and then we tear the jail down and that's pretty much it. So we're essentially stateless. **Jonathan:** Okay. **Michael:** What is the- Except for the state while you're editing, but- **Jonathan:** Sure. Sure. What are the file storage backends that you support? **Michael:** Oh, crikey. Now you're gonna just r- ruin me. So there's a very long list of these. So let's take some more exotic ones. I think I've talked about, HCL, Domino Workplace. There's Nextcloud, there's Zonecloud, there's OpenCloud, there's Pydio now owned by Wire. There's C-File there's eGroupware. But let's take, say, Moodle. So if you like doing a learning management stuff there's Moodle, and there's another one. There's the other big learning, open source learning management system, which now slips my mind. Both of them are using Collabora Online, and so then you can do classroom stuff. You can give people assignments, get them in market, and do it all inside the web there. Very **Jonathan:** cool. **Michael:** And because we're multi-tenant, you can actually do that for... The, the same instance can serve both your Moodle and your, Wire and also your, Py, all of these things on the same cluster, which is really nice aggregating that together. Yeah and I've forgotten we have about 230 partners, so I'm gonna get shot by, I don't know how many people afterwards. But I'm terribly sorry, a, a **Jonathan:** bunch of **Michael:** them. **Jonathan:** And so now- **Michael:** Yeah, a, a real bunch of **Jonathan:** them. It... But if somebody just wants to throw this on a Raspberry Pi, right? Sure. First off, does it fit? But then secondly, like I'm still trying to understand, like what storage backend do you use if you don't have anything at all, and it's like I just wanna use it on the Pi? **Michael:** Sure. So I think the Pi would probably provide something for you there, but OpenCloud, ownCloud, Nextcloud, one of those things is quite popular often. And you just grab one of those and then you embed us into that. Okay. And yeah, we do run on the Pi. That used to be a challenge. Actually, so Calabra did some of the original hardware enablement of the original Pi with the- Oh, really? ... the overlay masks- ... and the one-bit alpha, and the trying to make that perform really well. And they did, there were some miracles done I think with the original Pi. But when you look at a modern Pi, whoa, you know- Yeah ... it's this multi-core powerful GPU and a- again I'm hoping open source drivers left and right. So the world has totally changed- ... and that's something that actually can really run quite well now. **Jonathan:** The, **Michael:** the **Jonathan:** first one or two Raspberry Pis were quirky in multiple ways. **Michael:** Yes. Yeah, absolutely. One of the, one of the things I like particularly was that if you used one of these gaming mice, I actually have one of these, you know, that I... Just to test, with buttons everywhere and, you know- it, it gives you so many events coming out of the thing to try and keep up that, that it would just drown the poor Raspberry Pi's event interrupt handler. So like it would spend 30% of its time just trying to respond to mouse events and send them to people, which, yeah, it's not as cool as it can be. You're probably not what you want. And so yeah, we had to- **Jonathan:** Yeah. **Michael:** Yeah. Yeah, we had to dial that back a bit. **Jonathan:** Yeah. **Michael:** But yeah, these days of- it's no sweat at all, of course. There's lots of horsepower there. **Jonathan:** Yeah. Okay. And so you said there's a big release coming up in, like o- on Thursday. **Michael:** Yeah **Jonathan:** We're recording this on Tuesday. It goes live on Wednesday. It'll be the day after that. What what are you excited about there? What do you want, what do you want folks to look for in that new release? **Michael:** Yeah, sure. So one of the big things there is, of course AI. Now, lots of people are either fans or not fans of AI. A controversial minefield. I'm just... Let me just tap dance into it briefly and and we'll see what, what explodes. Obviously it's off by default, so lots of people don't like that. Yeah. Nothing is gonna leak your data anywhere unless you tell it to. And actually it's better than that. So the sidebar then will show you, and it kind of color-code it is this your dangerous off-premise whatever, or you can make it green or red or whatever to try and help the users understand- ... the, the implications of what they're doing. And then of course you can actually start to use the selected text as context, so that's nice. So instead of it being this kind of nailed on the side thing that can see the whole document, it can actually interact with bits of document that work works really nicely. And then there's lots of course, little demos. Of course, if you're writing text documents- Large language models turned out to be reasonably okay at language. And i- it makes a lot of sense for those kind of translation and make the tone more professional or make it a casual style. Th- this kind of thing is, summarizing and conciseness is really... Are really easy. It can do other things too, like looking for fraud in spreadsheets, so if you you know- Yeah ... numbers that are fraudulently added often don't follow the distribution you'd expect of sampled numbers. And so there's a whole load of things you can do with that's cool. **Jonathan:** Yeah. **Michael:** And yeah, and you can of course make pretty pictures and embed that. That's very important. Of **Jonathan:** course. **Michael:** In your presentations. **Jonathan:** Yeah. Does, does the c- the new Collaborator AI features, do they have the ability to use locally hosted AI? **Michael:** Of course. Of course. Yeah. And that, that's su- super easy because ultimately- these are basically a standardized protocol. You dump stuff down a, a text socket and you're done. So yeah, that, that's really nice. And there's also some MCP stuff coming- ... **Michael:** Which is really helped by this, are we talking about the security and the jails and the onion around that, right? You really don't want the AI playing inside your machine if you can avoid it, in a scary way. So having all of that sort of wrapping around that's really helpful. Whole load of other features obviously in there that, transcend the AI stuff. So better navigation, better search, a pretty UI s- document comparison, so side by side. We didn't do three up, which I think developers like, side by side document comparison, where there are- larger changes, if you've been offline for a long time, maybe when you come back. I was actually using Starlink on the in Mid-Atlantic the other day, and it's quite... Yeah, you can use Collabora Online really nicely over Starlink back to Ireland and, you're in the middle of Greenland looking at icebergs out the window and it's working just nicely, except for the laptop power, which, if you have a beefy laptop, you blow the fuse on the, **Jonathan:** Yes the **Michael:** thing. **Jonathan:** So I don't- I have 100% had this- Ah ... this experience. This is my- Too annoying ... this is my complaint, my one complaint with my Framework 16, is that it's got such a beefy power supply that it immediately, doo, turns off the the airplane breaker. **Michael:** Yeah, indeed. I'm trying with these, these xscale. So the hope is that if you get a small laptop with a with a big screen, and you put your glasses on- ... the, y- you're really winning. And so then you can get a lower power thing and li- life is good. But unfortunately my eyesight is, I'm like halfway to glory signpost here, and it's really just not very good. And so I needed to cut down some gl- anyway, we'll see. May- maybe that'll work out in the future. I hope so. **Jonathan:** Yeah, **Michael:** absolutely. **Jonathan:** It's funny. **Michael:** So yeah, lots of other things. Better calculated fields and pivot tables. Lots of interoperability functionality. We actually had a chance to do systematic interoperability work, so we have this huge, over a million test documents now I think. And actually just working through that and doing two kinds of things. So just making sure that stuff is preserved when it's roundtripped, but also just silly stuff like tweaking the order of attributes, so when you diff the XML to see what's different, you get many fewer changes there. And just making sure we don't do silly stuff. The whole load of- paper cuts there that would just cause grief on import that we've just got rid of for better round trip interop, and that's, it's really nice to see the fruit of hundreds of fixes there proactively trying to chase- things that could be problems. Now, of course, the, the test set is huge, and it's all bug documents with the worst documents in the world. We're really pushing the I guess you'd push envelopes, don't you? Something like that, you know, trying to find the the twisty corners. But it's- Right ... yeah, it's great to have a team that you can put on that for a while and make a real difference, so **Jonathan:** yeah. Yeah. I- ironically, that's something that AI is actually pretty good at, is to help find those weirdnesses in the code and write test cases for them. **Michael:** Yeah. I suppose so. Yeah, possibly. I, I like it for for the documents. What we're really focused on, though, I think is trying to train our staff because it turns out if you're looking at product for a 10X productivity win the, the key is to get your juniors and, give them the confidence and skills and experience to, to really to up, up level what they're doing there- I think. So that's that's where we're focused on that. Hey, I go to school- local schools and recruit. If you can get the best guy in the year, or best two people in the year- **Jonathan:** Yeah, **Michael:** absolutely ... that, that would be a guy and a gal, to to train them up, then we try and do that. Just because finding skills in our 35-year-old co- codebase is just not there. You get people sending you, "Oh, I'm a full stack developer. I know React and JavaScript and some Node." You're like, "Yeah." None of that is what we do. We, we have bespoke toolkits and huge C++ code bases, so we find, yeah, it's better to train people than to to hire, **Jonathan:** Yeah, interesting **Michael:** people's preconceptions. Yeah. **Jonathan:** Interesting. So in, in doing the development and the the maintenance on the code base, where you guys have had such an influx of users, and sort of users that are different than what you've had in the past in some ways at least. Sure ... have there been any really interesting bugs or findings that have shaken out from, like- Suddenly, the, the German minister is using Collabora. Are there any fun stories around that? **Michael:** Yeah, so surprisingly few which is annoying. And often they, some... So we had one with the Danish Ministry of Digitization, I think. So they're doing a pilot and their biggest problem that they had was that they had loads of styles in their documents, and they had style previews at the top, and they wanted, we were previewing all of the styles. And they wanted to filter this down to only a few. And so there's a feature in Microsoft Office that will effectively hide or not show, not make it so easy to use all of the styles they didn't want you to use, and then see the ones you want. And so this is a big deal for them, so we, we implement that, ship that, they're happy, life is good. And then for free. We're helping pilot these things. If you're looking for really odd bugs, some of the ones often come from automated systems. So some genius out there writes a script that generates OpenXML. Okay. So Microsoft Office generate OpenXML is one thing, but they basically generate this thing and they tweak it until it works in Microsoft Office. And that often involves not outputting any style information creating, they, they basically twist the thing to the nth And see what it will tolerate and generate the most minimal file. And so you then just have to know that if you don't have a font, it's Arial 12 point. And if you don't have a, a this and a that and the other, these are all of the... There are no page margins, there are no whatever. So all of those defaults that aren't actually written down anywhere, you then have to make sure that they match. So that's- **Jonathan:** It, it actually seems like that would be a really interesting place to set a fuzzer on and may- maybe even like an AI or an AI-guided fuzzer. Like- ... make minimal viable files that Microsoft Office will open, and then see what Collabora Office does when it tries to open them. **Michael:** Sure, sure. So actually I, we have some loop automation going on there that loads- ... all of these files, exports them to Microsoft formats, and then imports them to check that actually Microsoft is not complaining. So we have a big old loop automation doing that over hundreds and hundreds of thousands of files in the background. **Jonathan:** And then- Actually- And then you fall into a question, like a, a really important question I think, and that is do you want to be bug for bug compatible with Microsoft Office? Yes. Or at which point it's like Microsoft does this wrong, we're going to fix it. **Michael:** Yeah. So I think to some degree that depends whether Microsoft wants to be bug for bug compatible with themselves, right? Fair. And that's the sort of expectation. So there's this very famous Lotus 1-2-3 bug which has been inherited from Lotus 1-2-3. I, IBM created it, and it's a missing gap year. They, their leap year algorithm was wrong. And that sounds like... and so I don't know if you know how spreadsheets work, but basically you have this double precision number in a cell- ... **Michael:** And then you apply a format and it shows up as a date. But, a- and so you'd think we can fix the gap year algorithm. We'll just..." What would we do? We change the number, but the number could be a result of a formula. So then do you walk the formula tree and try and change the root numbers to fix the gap? It's just, it becomes- it becomes fundamentally impossible to fix, ultimately. Or to work out even in a spreadsheet where it is. And even today we support the old and the new way. The real leap years and the old leap years. So there's a setting there, and Microsoft has that. We have that. And, there are sheets that are still using that. And actually one of the things that you find most surprising is that when we look at some of, say, our macro support, so we support VBA macros to some limited extent in your browser running, from a XLSX file. Some of the things in those macros are the Office 95 to Office 97 portability shim. So in Office 97 they radically changed VB because b- that, that was before they'd forked the whole Visual Basic engine and put it in Office. So they were following the VB thing, and they didn't realize that the language would change and then the APIs would change, too. And so there's basically a magic object that is I forget the name of it, but, say VB 95 compat or something. And they rewrote those macros line by line to introduce this compat thing and have all of the old methods on it. And we still see those out there. So we have compatibility for that Office 95. Only some subset of tho- that, that helper class, which is weird that you would still see that in today's code. **Jonathan:** Yeah, so there is a... So you said that and it brought a memory to mind. MS Works. I, I have... Th- this, this kind of blows my mind. So years and years ago oh my goodness, I don't even want to tell you how many years ago, my family had a computer that did not have Microsoft Word on it, it had Microsoft Works. And we'd save documents in Microsoft Works. And Microsoft Word will not open those documents, but OpenOffice, LibreOffice, and I'm assuming Collabora Office does. Indeed. And it is of endless delight and hilarity to me that Collabora, and of course the rest of them, are more compatible with Microsoft products than Microsoft products are. Yeah. And I think so that's hilarious on one hand, but there's also a, a deeper thought here about Making that information of those documents accessible in the future and even just like the inf- the idea of the information preservation that's going on. Yeah. And so like you think about this, it's 100 years from now, are we going to be able to open any of these documents? And I think part of the conversation that needs to be part of that is like open source allows you to have a chance at preserving- Yeah ... that information. Yeah ... who- Microsoft may not exist in 100 years. ... Obviously Microsoft Word is not going to exist in the same format in 100 years, right? Yeah. And so th- this is not... I think about this with a lot of things, right? Even like the the preponderance of YouTube videos that are out there right now. Like YouTube ev- is eventually going to go away, and are we just going to lose... Like YouTube has become culturally important to the world. Are we just going to lose all of that? And so that's- Sure ... that's obviously, that's outside of the conversation we're having right now. But I think it is very important to think about that just for documents that like- **Michael:** Yeah ... **Jonathan:** it's important to think about the preservation for the future. **Michael:** Yeah, absolutely. And I think the sort of digital archeology almost is something. And there's a couple of guys there. So there's a chap called Friedrich Stroeher and Valek Filippov, who calls himself Frob. And these guys are just passionate about that. That's what they love doing. And they've found a niche there that they can serve in a beautiful way- Yeah ... and created those document liberation filters, and all kudos to them. And there's a project there to liberate documents they call it. But yeah, so we can import those Works files. Now, there's a security question there because the more import surface area you have, the more risk you have. So we tag those with what we call an exotic filter. So probably you're gonna get a pop-up going, "You do know this is a file that last was used, 20 years ago. This is the last file that was written with this, this format," right? And so hopefully that, that defers the, makes it much harder for a zero day in, if- if there is such a thing there. But then again, these guys are really passionate, and they fuzz their codes very heavily. There, there's a whole, there's a whole big fuzzing thing going on there. And actually it's really cool. Let me just tell you about that. So there's a thing called OSS-Fuzz. I don't know if you've seen that. The Google project. Yeah, absolutely. And that's run in part by a U- Oxford based UK company, I think called duh. Nope. I can't remember their name. That's terrible, isn't it? I how rude, let me see if I can look it up. **Jonathan:** I **Michael:** know OS- Anyway, Ada- ... OSS- ... AdaLogix. Okay. AdaLogix. Yeah. Google fund it. So Google fund the hardware, but I think A- AdaLogix contributes very heavily there. One of the things that they have is these huge multi-thousand node clusters basically do using evolutionary algorithms to hunt down bad code paths that, that take you to nasty places. And that's extremely effective. Before that started running, we would routinely get what looked like nation state reports on, there is this remarkably well-formed bug report that w- with a sample document that takes you to a problem. And after we got the cluster, that didn't happen. We caught most of those during development- which is the way to do it. One of the interesting things we found from the Mythos stuff, so AdaLogix actually has c- the... So it's a code coverage informed tool. So it's actually watching what code is executed- Absolutely ... and then trying to enlarge the coverage. So let me give you an example. We had a bug in our HTML filter for copy and pasting into spreadsheets. So there's a little custom parser there of tables And there's a bug in it. And so not only did it find the bug by walking the code wider and wider until it, it got it- ... **Michael:** But then it reversed the process to minimize that down to the smallest piece of HTML that would walk all of those paths and go there. So first it colors it all in red, it finds the problem, and then it colors it all, in gray again until it's just got that. And so normally file formats are binary, but with HTML you can see, like these are the 63 characters that minimally walk down the stack tra- trace to find your crash. Absolutely. And that's just such a beautiful thing. Yeah, it's very useful. And so we really love that. And I guess that's almost automating QA. Or you could argue it's like a, a precursor to AI stuff. **Jonathan:** Yeah. **Michael:** But the problem comes when you hit a crypto wall, right? Like you can't evolutionarily work your way through a signing. That, that ain't gonna work, right? And so one of the wonderful things that Ada Logics is doing is then applying Mythos to audit the code past that. Yeah. The bits of code they couldn't get to with their fuzzing. And we're getting quite a number of interesting more interesting reports from them which is great. **Jonathan:** Have you- ... have you found that they're fairly high-quality reports? **Michael:** Yeah, definitely. I **Jonathan:** mean- So that's something that people have found. Like historically over the last, let's say six months, it's gotten a lot better. But, Yeah ... you would ask AI to find you a vulnerability, and AI has n- this is one of the problems with it, still is one of the problems with it, honestly. AI has no capability of saying no or I can't do that. And so it- ... will just, historically it has just hallucinated a vulnerability for you. And then- Yeah ... someone that doesn't know what's going on will report that to a project, **Michael:** In, and in great detail with this, this mass of text that then someone competent has to read, which is the people you wanna protect. Look, all tools, all new tools have this problem. So if you- Sure ... if you look at the sort of what we've done with security, we did like W error. So cr- s- stop compiling when there's a warning. And of course there are a whole load of warnings that are, you need to instrument your source code to turn these off, because actually- Right they're not really errors, but at least there's a manual process of doing that. And then you add more and more warnings, all of which fail, and you repeat this process and eventually your W error clean at the highest level the compiler can do. And then you put, maybe lint tools and you put Coverity Scan on it. And, Coverity Scan comes up with loads of, you know- False **Jonathan:** positives ... **Michael:** yeah, there's a drop through into a case statement, and of course that was intended that you did this case and then the default after it. And it's, but you then put an annotation in saying, "I meant to drop through here." I know that it drops through. "Please don't warn me." Yes. **Jonathan:** Yeah, **Michael:** absolutely. And, and so at least half of the, the warnings coming out there are false positives, maybe more in, ace human-made static checking tools. So we, you expect that. And there's always a peak and a trough. Every new tool comes with a new set of problems, and then they fade away. I actually have a OWASP talk when I show the graph of all the generations of these these checkers coming in and the impact that has. **Jonathan:** But **Michael:** yeah. Yeah ... so yeah, I think doing good stuff interesting security pieces and yeah, just great to have that OSS Fuzz back up that. **Jonathan:** Yeah, absolutely. I've thought for the longest time that it would be super in- and it sounds like this is what they're doing, but it would be really interesting to have a fuzzer that is guided by AI it wants to look in- So as **Michael:** is, lib- libFuzz is like that. Yeah. So it's, I- as I understand it, it's looking at the c- the code that's executed. It's then i- inferring how to perturb the input to- ... increase code coverage, and it's watching the code execute as the data flows through it, and then perturbing the data, and it's doing that incredibly quickly. Yeah. So it forks and checkpoints and comes back, and it's... yeah. It looks like magic. It looks like intelligence, but there's not a, there's not an AI in it, it's a- ... it's a, no. So it's really cool. **Jonathan:** Yeah. Super cool. **Michael:** I love that. **Jonathan:** One of, one of the note I've got here, we're running out of time, but one- Yeah ... other note I've got here is that you you also have, in all of your copious spare time, you have a comic strip. How did that come about? **Michael:** I do. I do. Oh I've been, in the open source industry now for a very long time, and there's a lot of funny situations and scenarios and problems that people come across. And as one gets much older and, it, it might be useful to to pass on some of the the fun stories and- in a friendly way. So explaining what open source is we do that with, Oh, actually, I've got... what do I have? If I reach over here. Yes, pictures of beavers. If you've got the camera on, you can see this. Yeah. Building roads instead of building software. I think one of the tragedies as a software engineer is that we make beautiful things. We make castles in the air poetry that you can't see. There's a whole aesthetic around taste and structure and architecture that were at a cathedral, people would want to walk into it and go, "Wow, that's really good," or, "Oh, that's a bit dingy." Like- ... why didn't we paint, repaint the basement?" And it's just a shame because software engineers can communicate that to each other and see it. And so how do you articulate and share that? Anyway, we decided to do road-building as a more concrete way of seeing a- actual- ... talking about construction and- right luckily I studied a bit of civil engineering as well, so there's some- Oh, okay ... there's a whole lot of sort of overlaps there. **Jonathan:** Pull- **Michael:** pulling from- And show me the road instead of show me the code. Ah. It's, **Jonathan:** Show me the road ... yeah. I gotcha. I gotcha. So speaking of these sort of in-jokes, and this crosses over to bugs as well, one of my favorite stories about a bug, and you may have been involved with this, was the can't print on Tuesdays bug. **Michael:** Oh. Oh yeah. I think Bjorn fixed that. Yeah. I don't remember all the details, but yeah, some horror in the, the generated, output that. Yeah **Jonathan:** It, when you went to print, it generated a file, and because of the way the timestamp and the date stamp lined up when the computer then looked at it to print it, it interpreted it- Yeah as a different kind of file. **Michael:** Yeah. It's really not good, isn't it? And you... Yes, you can't make this stuff up, but it, you ... And actually it's quite interesting. You think Linux is by now a very polished desktop. It looks beautiful, and, i- it beats many other things. My... Just recent files is such a useful thing in your file picker. That's the hot place everyone goes, right? And you just still not... I don't think you see that in Windows still, which is just nuts. It's such an obvious and simple innovation, right? It's a beautiful desktop. Underneath it, though, when you start to print things, there really is a shell that's forking LPR and piping stuff to it still. And that's that's all fun. And so yeah if the file doesn't look like the file they think it's gonna be, then yeah- ... that can cause some problems. And yeah. And then of course it goes to CUPS at the back end, and there's some kind of reason- reasonable, IPP thing going on hopefully. But, **Jonathan:** yeah. So it it thought it was an Erlang JAM file. I had to go and found it, and went through and- ... and pipe- clicked through it. Yeah, this was what? Back in Ubuntu 9.10. Almost 20 years ago, this was a thing. Yeah. It's still, it's my... It is absolutely my favorite bug story because it, it well captures the seeming inanity of some bugs. And you're like, "How in the... There's no way. There's no way that could be a bug. There's no way it could work like this." And then you step through the details like, "Oh, okay. Yeah, I see it. I understand now how, this, this random, seemingly random collection of of things came together," and you can't print on Tuesdays. **Michael:** Yeah. And sometimes you need an expert to help you find those things and fix it properly. And that's yeah, so we love to be that- **Jonathan:** Yeah ... for people. Absolutely. Have you guys started using AI to try to find and fix those sorts of things? Is, are you, are **Michael:** you- you know- ... on the AI **Jonathan:** programmer bandwagon? **Michael:** As I say, I think by far the most effective thing we can do to improve productivity is just train and help our young people get involved with the code base. So that I think is, that's the 10X. And I'm always intrigued to hear of these stories of huge productivity wins. And so actually we do a whole lot of training along those lines. So we do tee-time trainings, and videos, and we look at the code structure, and we try and- try and teach people that a- as we go along. But yeah. So come and get involved, and watch a tee-time training and get stuck into the code. **Jonathan:** If somebody wants to if somebody wants to come and actually hack on the Collabora source code, where's a- Yeah ... where's a good place to start? **Michael:** Yeah, so if you go to collaboraoffice.org then there's whole sort of pictures of beaver mascots that'll make roads and all sorts of nice instructions to help people, Get involved. And of course, there's so many different platforms now. So there's Collabora Online on Linux, and then there's iOS, and Android, and Mac, and Windows and Linux. And there's instructions for each of those, and simple setup steps. And then we have a Matrix channel, so you can just jump in there and say hi, and get, get stuck in. Or come to our... we have weekly meetings, so just come to the meeting if you got stuck. And there's a video chat there with a whole load of engineers and mentors. People love to help you get going, really. **Jonathan:** Oh, very cool. Yeah. Awesome. Okay I've gotta ask you a couple final questions before I let you go. Sure. I do get emails if I forget this. You personally, what is your favorite text editor and scripting language? **Michael:** Oh, dear. So I get... I use the editor for middle-aged computer scientists, Emacs. **Jonathan:** Okay. **Michael:** It's probably a mistake. I should probably enter this advanced modern world of, automated everythings. But yeah for me that's where the key bindings feel like home. Sure. And the nervous tic is to bookmark where I'm at, so I just do Control-X, RB, one, every, too often. And then you say... what was the other thing? Client choice? ... scripting, **Jonathan:** scripting language. **Michael:** Scripting language. Grief. So because I'm extremely old, if I need to do text processing, I would use Perl, just because I understand the stupid regular expression syntax- ... and whatever in it. I- if it's gonna be s- small and quick. If it's bigger than that, I go for Python, just because my colleagues tell me I'm old and crusty, and they can't understand my Perl scripts. Which is fair enough. I'm completely with that. So yeah Python, I think, is is probably the right answer. **Jonathan:** I shall have to ping Randall Schwartz and let him know that we got someone that said Emacs, and their first answer was Perl. He will have a little celebration for that. **Michael:** Excellent. Excellent. **Jonathan:** Michael, thank you so much for being here. It has been a blast to talk about Collabora and all the various things going on there. Thank you so much. **Michael:** Absolute pleasure. Thank you. **Jonathan:** All right. That was Michael Meeks of Collabora. And we've got some fun stuff coming up. Next week we're talking smoked meat, and that is actually about CI security and not losing your all of your secrets to a malicious pull request. And then after that, we have Jonathan Polant of Ferrous Systems. We're gonna talk Rust yet again. And then I know we have some things working in the pipeline, but we've got some openings after that. You can drop us an email, floss@hackaday.com, and we will get you on the schedule if you've got an open source project to talk about. Other than that, we just wanna say thank you to everyone that is here. We sure appreciate it. Whether you get us live or on the download, whether you listen or you watch we wanna say thank you. And we'll be back next week on Floss Weekly.
# FLOSS-876 **Jonathan:** Hey folks, this week I talk with Michael Meeks about Collabora. They do a lot of things, but we're talking specifically about their office suite and how they pay the bills…