I'm quitting as Pluto.jl maintainer šŸ‘‹

After an incredible journey, I’m stopping as core maintainer of Pluto.jl. I am proud of what I have achieved. I have happy memories and I feel excited about whatever I will do next! In this post I want to tell my personal reasons for leaving, and say thank you :slight_smile:

Looking back

I feel lucky to have worked with so many brilliant people, and I’m really proud! I have learned skills, I made friends, and I have found a new community. And you know what… I think Pluto is really really cool. It’s easy to forget while working on it. There are many good ideas and tech demos out there, but I’m proud to have built something real. Pluto is used to teach in universities around the world. Lots of people have had an easier time understanding science and computers… because of me!

I find it hard to show off sometimes, but I did my best in the recent 1.0 release post, take a look! I will write more about Pluto’s history later in this post.

Why I quit

In short: I’m quitting because it’s too much, and I need space in my life for other things. And sometimes I feel unhappy with this work. I’m really proud of what I made, but I’m actually not enjoying the process anymore. I also just get too much negative feedback, and I feel lonely trying to make Julia more accessible.

Open source is not glamorous work. I have received so much negativity – why do people express anger and entitlement about something I give away for free? I am sensitive to what other people say and feel, and I had to learn to not take things personal, or to just ignore some people. This strategy works, but it doesn’t feel right to me to actively distance myself. I made Pluto with love, and with care, but the open source world felt too cold for that.

The responsibility as a lead maintainer felt overwhelming at times. I’m responsible for community, marketing, engineering, outreach, design, finances, infrastructure, privacy, security, you name it! Sometimes I was able to share these tasks with others, but financing open source is so hard that I wasn’t able to get people to stay.

I also feel lonely. I am a people person, and asynchronous anonymous FOSS development is not right for me. I need to sit together with people and have an experience together. It’s not all bad – I did have some amazing collaborations with people I met through open source, more on this later! But this has been slowing down in the last years. (Maybe because the project has matured, or maybe because of AI.) The Julia conferences and meetups have always been highlights. I would recommend anyone to go out and find their community! So yeah, I’m grateful for all the time I spent working with people to get to this point. But recently, most open source work is just communicating via emails and bug reports, with people I never met. Or with robots, even worse!

And I feel alone in working on Julia’s accessibility. The magic that I see in Julia is accessible scientific computing. A powerful, expressive language and a toolbox to bring engineers, scientists and programmers together. To me, almost every scientific coding project feels like it would have been better if it was in Julia. But I wish that accessibility to newcomers was a stronger value in our community. There are not enough exciting projects that make Julia accessible – the focus seems to be on making Julia faster, bigger, more advanced. At least, that’s how it feels to me – and I understand that you might see it differently from your perspective!

And my final reason: this just feels like a good point to stop. The project feels well-rounded right now, Pluto doesnt’ need to always be better. It’s actually super good right now! Better than I imagined when starting the project. A logical next step would be to add lots of AI, to make a cloud platform, to support other programming languages. But I don’t need to take the logical next step, and I don’t think that working on these things will make me really happy.

Next

I will stop contributing to Pluto projects today. I will stay connected to the project until the end of 2026 to make sure that the transition goes well. But from my side, Pluto is… done! It will need to be maintained for future Julia versions, and I hope that the community will contribute. There are still other core developers available (notably @pankgeorg) to help with PRs and issues.

This is not a sudden change: I have been preparing to quit for the past year. The other Pluto developers have known for a long time. And I worked hard to finish open projects, and to get everything in a stable, easy-to-maintain state. Other core developers have complete access to Pluto’s code, registration and infrastructure.

Are you using Pluto to teach? Then I expect that you can keep teaching your Pluto course with Julia 1.10 or 1.12 for many years to come, don’t worry! These versions will continue to work well. And with help from the community, Pluto will also work with future Julia versions (1.13 and later).

And as for me, I am so excited for my next adventure! I don’t exactly know what it is yet, but I know that I need to take distance from Pluto to have capacity for something new. It’s a bit like compost! And I’m also very excited to take a break :slight_smile: No more issues, CI, PRs, emails, responsibility… I will travel with friends this summer, and I look forward to seeing you all at JuliaCon in Mainz!

Looking for a job

Ah and if you hear of any jobs, let me know! I am looking for a hybrid/onsite position after 2026 in the Netherlands (Amsterdam/Utrecht/Nijmegen) or Belgium (Brussels) with fun colleagues who make something they believe in. I don’t want a leading role. I want to work with a high-level programming language (not Julia) and learn something new. I’m good with computers and people, and I am passionate about making technology accessible.

Contact me

As always, I would love to hear from you! If Pluto means something to you, I likely have no idea about it, but I would love to hear :slight_smile: I’m also curious to hear how you feel about what I shared. Maybe it resonates with you, or maybe you want to share something of your own. And I get energy from hearing you new ideas!

You can talk to me here on discourse, or you can email me: fons@plutojl.org, or you can find me at JuliaCon Mainz 2026.

Thank you

(For the videos: I went through my old screenshots folder and I found some nice gifs from 2020!)

My professor at TU Berlin, Jürgen Fuhrmann, got me excited about Julia and open source. He taught his class with passion and joy, and I found it inspiring that he made a package just to improve our learning experience! He now uses Pluto to teach this class, and he jokes to his students that one of his students hated his course so much, that he dropped out to make something better – quite the opposite! Thank you Jürgen, for being so kind, and for supporting me throughout this journey.

Pluto started in the winter of 2020 as a geeky prototype with my friend Mikolaj (Nick) Bochenski. Nick and I felt inspired by Observable Notebook, a reactive JavaScript notebook, and I wanted to do more with Julia. In the following months, while COVID locked us inside, we hacked away on a first prototype: a reactive notebook for Julia. We discovered amazing Julia features every day, and we stayed up late discussing ideas. I remember feeling full of joy from our first ā€˜GitHub Star’ or ā€˜Issue’. We wrote a proposal for JuliaCon 2020 that got accepted (how??), which meant we had to quickly finish what we promised! We made a theatrical JuliaCon video with jokes and effects, and it was a hit! The rest is history :slight_smile: Thank you Nick, for reminding me to dream, and to believe in my dreams!

Michiel Dral and I were friends in university, and he got in touch again after hearing about Pluto! I really wanted him to join and help the project, and he said that he would – under the condition that I rewrite the JavaScript codebase into something maintainable. It took a couple of iterations, but he slowly converted me from a JavaScript-sceptic to loving and embracing the technology. This was a crucial turning point for Pluto. Michiel joined the project, and his contributions were pure genius, like… really. But Michiel was also just the best person to discuss ideas with! Thank you Michiel for reminding me that computers can do magic. You made me feel like anything is possible!

After our first JuliaCon, I got a job at the MIT Julia Lab thanks to Shashi Gowda (you are awesome!!). As a first project, Alan Edelman paired me with climate scientist Henri Drake to make an interactive dashboard for his Julia climate model. I did a reasonably good job and the computational thinking team (including David Sanders and Grant Sanderson) decided to use Pluto to teach their course! This course has been the biggest boost to the Pluto project by far! We worked hard to make interactive lectures, guided homework assigments and much more! This would turn out to be the core use case of Pluto – teaching!

Ī Ī±Ī½Ī±Ī³Ī¹ĻŽĻ„Ī·Ļ‚ Ī“ĪµĻ‰ĻĪ³Ī±ĪŗĻŒĻ€ĪæĻ…Ī»ĪæĻ‚ (Panagiotis Georgakopoulos) found Pluto through the computational thinking course during COVID, and decided to contribute! I rejected his first PR, but his good faith in humanity made him come back! His experience building robust software, and his ability to emphasize with everyone’s viewpoint has been invaluable! In our weekly dev call, we talk less and less about software, and more about life. I feel lucky to have made a new friend :slight_smile:

Living in Berlin, I got in contact with Simon Danisch, author of Makie. Even though we have similar values, we never seemed to agree on technical choices, and WGLMakie support in Pluto is still… hmmm. But I loved spending time with you! And you introduced me to treating myself to a nice lunch or coffee, for which I am forever grateful! I wish you the very best!

Paul Berg also joined Pluto through open source. Paul went straight into the tricky internals of Pluto with a PR, working on what later became its own package: ExpressionExplorer. Soon, Paul was solving problems that I assumed were unsolvable, like adding macro support to Pluto’s reactivity engine. In 2021, we had a crazy idea – we get an office for one month in Berlin, and we collaborate in person! We got funding from QuEra and JuliaHub, and Martin Kavelaar offered to share the gorgeous Nextjournal office! It was exciting to work with someone as talented as Paul, and I’m grateful for his excitement and drive!

At PlutoCon 2021, Gerhard Dorn presented a video-game inspired MOOC using storytelling. His talk was amazing! He soon joined the project, and instead of code, Gerhard contributed vision, dreams, energy and community. Which is much more important! Gerhard helped organise Pluto’s online community, and he organised multiple in-person meetups that I thoroughly enjoyed. And we went on a Balkan road trip that I will never forget! Thank you Gerhard, I feel lucky to have met you!

There are so many people who have supported me and the Pluto project. Avik Sengupta from JuliaHub has helped me to be more professional. Thank you Benjamin Lungwitz, Rik Huijzer and Alberto Mengali for your ideas, for brainstorming, and positive energy contributed to the project! You helped to broaden the scope of the project, and I learned to appreciate that! Clark Evans helped with difficult decisions around Pluto’s widget API. Connor Burns has incredible energy, I believe he can do anything he wants! Boshra Ariguib writes fantastic interactive notebooks, and helped to make Pluto more accessible.

In JuliaCon Eindhoven, Gareth Thomas and Dmitry Bagaev invited me as keynote speaker, which made me feel honoured (and nervous)! Through this conference, I found my current job at TU Eindhoven, working with Bert de Vries and Wouter Kouw to teach with Pluto. Thank you for supporting my open source work, and for believing in me!

For contributing ideas, for inspiring me, and for providing community, I want to thank Adrian Hill, Benedikt Ehinger, Chris Damour, Cormullion, Eric Ford, Eric Zhang, Gareth Thomas, Guillaume Dalle, Ian Weaver, Jelmar Gerritsen, Jingbo Ma, Joris Kraak, Kristoffer Carlsson, Lauren Clisby, Luka van der Plas, Michael Hatherly, Michiel Stock, Nathan Daly, Roger Luo, Roger Luo, Rok Novosel, Sebastian Pfitzner, Sergio Vargas, Simeon Schaub, Stephan Sahm, Sunito, Sunito, Thijs van der Plas, ThƩo Galy-Fajou, Valentin Churavy and Viral Shah.

And to you, the Julia community, thank you!! Thank you for accepting our package registration, for accepting my first-ever conference talk and for everything that followed. You made me feel welcome and appreciated, and I’m grateful!

The end of an era! Sad to see you depart but what a legacy - thank you for your contribution. I hope you’ll keep Julia in your toolkit despite your desire to work in other high-level languages and we’ll see you around the community!

Dear Fons,

that is sad to read, but I totally see where you are!
My packages are much smaller, but the feeling that there is much more issues and people saying what they do not like is a feeling I know quite too well. I cannot imagine how large that gets for a package as popular as Pluto.

I still remember the first talk about Pluto, I was amazed and still really like to use Pluto when working with my students, since it is easy to use and very nicely reproducible.
So thanks for all your work on that package, all your enthusiasm you spread in the community, your talks and interactions we had.

A long vacation with friends this summer sounds absolutely great! I hope you have a great time and find a nice job to continue with afterwards. Same als Nils I hope you still stay to some extend with the Julia community and language. I think with all your work on Pluto you have a huge amount of knowledge and together with your enthusiasm that would contribute to our community.

Keep up your enthusiasm and all the best – or as you ended the PRs I made: Dankeschƶn and Tusen Takk Fons!

Boy, this was a weird message to read. I’m simultaneously very happy for you and a little sad to see you go. Your contributions to this community are unique, not just because of your coding skills but also because of all the joy and accessibility you brought to Julia users.
So long, and thanks for all the fish :fish: I’ll always keep the memory of your best poster award at JuliaCon Local Paris!

IMG_E2282

Dear Fons, it was really lovely and definitely a highlight to get to know you and hang out with you in Berlin :slight_smile:
There are few people who are such passionate developers and yet so socially active with love and passion to help make the world a better place!
In a way this is a happy post to me, since I’ve followed your struggle over the last years and always wished you to find something more fulfilling!
You deserve the coolest new projects with the most fun teams to work together with! :slight_smile:
I’m looking forward to see what you’ll work on in the future, and hopefully we find a time and place for many more lunches, coffees and deep talk :heart:

Dear Fons,

thank you for your amazing work! When I did see its very beginnings, I could not imagine how far this would go! From the very start I was impressed by your comprehension of Julia and Javascript - these skills will help you to get very far in any coding project regardless of the language.

I appreciate your focus on accessibility - it teached me quite a bit, and it is very inspiring for my work.

I understand and share your grievances in this respect: Pluto.jl inspired marimo, and now they have wasm deployment, which is still not possible for Julia due to limited resources and different focus directions. I hope (and I always try to be optimistic) that this will change as juliac made quite some progress, freeing core developer resources for wasm.

Also, Pluto.jl is often critisized for being ā€œopinionatedā€. I however learned to understand that this ā€œopinionatednessā€ is a tool to stay focused on a core vision and on what is doable.

Knowing you in person I think I understand why you are not keen to become BDFL of the Pluto project. I hope, that the Julia community will be able to maintain this important project without a person in this role.

Also, your decision to move on reminds me of my own inevitable ride into the sunset… (no I don’t plan it to be fast). Thinking about this I feel blessed that I have been given the opportunity to interact with you, and all the other cool young people around in this community.

I wish you inspiring new challenges, and let us know where you go!

Thank you Fons! It was nice to meet you in Paris, and yes your poster was awesome! Why? Not because it was polished or typeset correctly, but because it was original and unique. Much like Pluto.jl, and I think that’s just how you are. I hope you find a new job/project where you can apply that same energy and creativity.

I would be interested in hearing more about the accessibility of Julia from your perspective!

I’m relatively new to Julia, we’ve never met, and I haven’t even used Pluto. Last year I decided to simultaneously learn the language and then teach a computational physics class in Julia, and I looked at Pluto as an option. I ended up just having students learn the kind of development pattern from ā€˜Modern Julia Workflows’, but the very existence of and development around Pluto as a made me optimistic that Julia could be an accessible, welcoming language for newcomers. Thank you for putting so much of your energy into the ecosystem.