TAKE IT AWAY, MAESTRO! CONT.
LXF: Maestro started as a school project. You shared your roadmap on the blog and it really seems to have gathered pace since then. How has the project evolved beyond your initial expectations, and which milestones are you particularly proud of?
LL: Each new feature was satisfying to implement and see in action, but I would say the one that truly changed my perspective is the support for Bash. When I saw the Bash prompt displaying and functioning correctly, that’s when I realised what I’d done was absolutely awesome.
LXF: As a lone developer, how do you manage the balance between adding new features to Maestro and maintaining its existing functionality?
LL: Refactoring, over and over again. I spend more time refactoring than adding new features.
LXF: Are there specific OS developers or projects that have inspired you? If so, how did they influence your approach to the development of Maestro?
LL: SkiftOS (https://skiftos. org), in particular, inspires me a lot given it has the kind of graphical interface I’d like to have in Maestro. I’m also impressed by Aero [another Unix-like OS written in Rust] (https://github.com/AndyPython-Programmer/aero) and [microkernel-based OS] Managarm (https://github. com/managarm/managarm).
LXF: Looking back at the entire development process, are there any other moments that were particularly challenging or rewarding, and how have they shaped your perspective on operating system development?
LL: I wouldn’t say that there were any particularly difficult individual moments, but rather that everything is a constant challenge. Nothing is simple in the world of OS development. The main lesson this project has taught me is that it is very important to refactor one’s code regularly to keep the project viable. I believe that refactoring represents the majority of the time I spend on this project.
LXF: Can the community become actively involved in the development of Maestro, or do you intend to continue the project as a solo endeavour? Presumably, as it grows in popularity, there will be more demands for new features?
LL: I’m considering it; there are people who have shown interest in participating. But first, I need to change the project’s licence, most probably to GPL.
LXF: As you know, there have been many recent developments in the Linux kernel to support modules written in Rust. Can you imagine a day when major Linux distributions will be entirely written in Rust, just as Maestro is?
LL: Completely rewriting a Linux distribution in Rust would take a tremendous amount of time and effort. I think if it were to happen, it would be more of a transition over several decades rather than a direct rewrite.
LXF: From your blog, it’s clear you’re a polyglot, given that beyond French, you speak English, Spanish and Chinese. Did your talent for spoken languages influence your desire to learn a new coding language in Rust?
LL: Not at all – it’s an entirely separate passion! I would also like to learn Ukrainian, German and Italian.
LXF: You have provided links on your blog for developers interested in developing their own OS. What advice do you have for those who wish to undertake a similar journey, especially for developing their own OS in Rust?
LL: I would offer a few pieces of advice:
1. Carefully read the documentation and pay attention to details. Precision is extremely important.
2. Dedicate a significant amount of time to it. Projects like these are very time-consuming.
3. Be very persistent. It is not uncommon to spend several days, even weeks, tracing the point of origin of a single bug.