Open Source Stories: David, Founder of Babylon.js and Principal Program Manager @ Microsoft

Microsoft + Open Source
Open at Microsoft
Published in
4 min readMay 4, 2016
Courtesy of David Catuhe

David Catuhe, a Principal Program Manager for the Window & Devices Group at Microsoft, chats about founding Babylon.js and running an open source community.

What do you currently do at Microsoft?
My job at Microsoft changed last week actually, so it’s really new. Before, I was working with the Developer Experience team (DX) — DX is the evangelism part of our company. I was mostly involved with everything related to the web, and my job there was to connect developers with everything related to Edge, the newest Microsoft browser. My new job is still with developers, but it’s more about apps — to help developers to create apps for our store. Before joining at headquarters, I was the Technical Evangelist lead in France for about three years.

What was it like when you first started working on open source at Microsoft?
For my former job, the developers we reached out to were not really motivated to work with Microsoft. For several reasons, the main reason being Internet Explorer 6. It was really a problem for the web community. But Babylon.js, as a free, open source 3D engine, became a useful tool because it helped me get credibility with web developers. They saw me as one of them because I am a web developer who created open source stuff. So open source was really a way for me to change perception. It’s free and there’s no hidden agenda or anything. It’s just my way to share with the community.

What inspired you to create Babylon.js?
I’ve been creating 3D engines since I was 19. I used C/C++/C# and now I use JavaScript.

How did you manage to maintain the framework while having a full-time job?
When I started, it was just my wife and I (we had a baby just recently, so less free time but more fun for sure!). Back then, I was with DX and we decided that it was part of my mission to keep working on Babylon.js. It was not a one-time thing. So that’s how I was able to maintain it — DX allowed me to work on it as part of my job.

What have you learned from growing and maintaining an open source community?
I used to talk at a lot of conferences and write lots of articles, so I would add a reference to Babylon.js. Essentially, I used Babylon.js as a tool for demos — it’s easier for the audience to understand what I want to say because there is a live example. It was the way I used to communicate. When you deal with an open source project, it’s about letting people know that this open source project exists. It’s not 100% coding — it’s 50% coding at the beginning and 50% creating the community. This means finding the right people who are really motivated to help you take care — or even take ownership — of the framework and letting people know that they can use it. It’s hard today because there are so many frameworks already out there. It took at least one year to really build a strong community, and then it became easier because people will talk to people who will talk to other people. (Check out David’s blog post on Hints for successfully managing an open-source project).

[Open Source] is not 100% coding — it’s 50% coding at the beginning and 50% creating the community.

What do you think makes Babylon a unique framework?
3D is not easy. You have to learn mathematics, a lot of complex languages… the goal of Babylon.js is to simplify everything. As an average developer, you can still do 3D without having all of the mathematics, vectors and matrices. It was really successful… it’s now used by Ubisoft and the Xbox team and more.

What is the Babylon.js community like?
The main way to see this community is as a forum — we have a really active forum. We get around 10–20 questions a day. We also have a GitHub, with 80 contributors and almost 3,400 commits — more than one commit per day. It’s huge, and extremely cool. The framework is driven by the community, and we use Slack with a group of core people to maintain it. To me, it’s a good example of a successful open source initiative.

What are some of the coolest projects you’ve seen built with Babylon.js?
Tons of projects — they are all on babylonjs.com. There’s a project on History Channel’s website demonstrating and showcasing dinosaurs. It’s not a video — it utilizes Babylon.js. There’s also Assassin’s Creed Pirates from Ubisoft — you can play on the web and more. Xbox Avatars too — if you go to the Xbox market and play with the objects, you can add tools options for your avatar.

What do you like most about being in open source?
You share your passion — I’m not a painter and I’m not a singer. But I’m still really creative and to share with others, I think that open source is a really good way for that. You write something, and you invite others to help you write the next step and to maintain it — that works pretty well. And with tools like Slack, we can keep a certain coherency inside the team. A group of people working just like one person — and being able to move the needle easily, improving the framework every time.

Quick Bytes
Favorite Coding Environment & Tools: Visual Studio, Visual Studio Code

Favorite Late-Night Coding Snack: At the moment — white chocolate-covered raisins, but usually French brioche

Favorite Swag: My Star Wars T-Shirt

Role Model: John Carmack — literally the person who invented realtime 3D on computers

--

--