Welcome to Once a Maintainer, where we interview open source maintainers and tell their story.
This week we’re talking to Okura Masafumi, a software developer based in Tokyo and lead organizer of the Kaigi on Rails conference, this October 25-26 in person and online. Okura has contributed to and created several open source projects including alba, a JSON serializer for Ruby, and as a longstanding user of Vim, translated the book Mastering Vim into Japanese.
Once a Maintainer is written by the team at Infield, a platform for managing open source dependency upgrades.
How did you become a software developer?
My major in university was economics. I was not interested in computers at all at the time. But I live in Japan, and when I was about 20 years old I went to Stanford University to learn English as part of this program, and there were some activities outside of classes where we went to Palo Alto. There were some guys there that did stuff with computers and they were trying to start a company. And this made me think I could do something similar back in Japan.
Do you remember what company it was?
No, they were really just starting. They were in a garage, literally.
So it looked, well not easy, but not that difficult you know. They were just sitting in front of computers and it looked so fun. So when I got back to Japan, a friend of mine suggested that I do an internship where I would build iPhone apps. This was 2009, 2010. The iPhone 3GS had just come out. I thought, oh, this is wonderful, this is what I want to build my own program for. At the time I had no interest in desktop apps. And six months later I successfully launched my first app in the App Store. So my first real world programming experience started with the iPhone.
How did you learn to build the app? Were you self-taught?
Mostly self-taught. As I said I did an internship, but they didn't really talk to me all that much. The app was a location reminder type app, which is now built-in to iPhones. When I reached a subway station it notified me to do something, that kind of thing.
Did you have any users?
I’m afraid no. Maybe 10-ish users, but the primary goal was to publish the app itself, not marketing. So I was satisfied.
What was your first exposure to open source?
When I look at my pull request history data in GitHub, my first contribution to open source was 2012, which is around when I switched from iPhone development to Rails. At the time I had just started to use Vim because for iPhone app development, we must use Xcode. But for Rails development, we were able to choose editors. And my editor of choice was Vim. I still use Vim. There were many plugins for Vim at the time, there still are, and my first contribution was a feature request to a snippet plugin. The snippet in Vim has placeholders. And I wanted to skip one. So if there were 3 placeholders I sometimes wanted to skip, for example, the second placeholder. I wanted that feature.
The funny thing is that after I submitted an English description for my feature request the author replied to me “Please reply in Japanese if you’re uncomfortable in English” because he was Japanese. So I switched to Japanese.
How did you find the human element of collaborating with people that you had never met before? Because something that we hear a lot as a barrier to people contributing to open source is that they feel scared or intimidated just by the prospect of putting themselves out there and saying hey, this is a feature I want or this is a bug that I found. What gave you the confidence to write that first issue?
So one of the first Rails issues I wrote was for the spring gem. And it turned out that I was wrong. I actually went ahead and closed my own issue. But what I learned is that there were other people who ran into the same thing, and they found my issue and it actually helped them a lot. So just because my contribution was not perfect because I raised an invalid issue, it turned out to be helpful to people debugging their own code.
How did you end up eventually becoming involved in conferences and organizing Kaigi on Rails?
The first Kaigi on Rails event was in 2020. We in Japan had a similar event called Rails DM (Developer Meetup), but it ended in 2019. I was assistant staff for that conference, and so I communicated with DHH so he could join remotely, and I invited Jeremy Daer from Rails Core who physically came to Japan for that event. So I knew that if we had a Rails-specific event in Japan, people will come. I was also an organizer for VimConf. So I was confident by then that I could be the founder of a conference. I came up with several friends who might be interested in helping, and talked to them one by one. We ended up with a staff of eight.
When Covid hit we needed to decide to stop planning entirely or just go. And we decided to go, to make it a virtual conference. Which made some issues irrelevant, like physical venues or food. But we still needed to think about keynote speakers and gathering proposals. It was eventually successful partly because we have the Japanese Ruby community, the community behind RubyKaigi, and their experience.
Last year, 2023, was the first year we had Kaigi on Rails in person. We’ve had three virtual conferences, and one hybrid.
It’s much easier to have people join virtually obviously, but you miss out on the spontaneous interactions that can happen in person, where people run into each other getting coffee and things like that. How was the transition to in-person?
I personally preferred it in person. As an organizer, we were lucky because we had three virtual conference experiences before the in-person one. So we knew how to organize talks, how to get sponsors, etc. And the only experience we lacked was the in-person part - throwing a party, for example.
Which is much more expensive, I imagine, too.
Yes. But the sponsors also pay more. And we’d built up a brand by then.
When is Kaigi on Rails 2024?
October 25-26, hybrid in person and virtual.
Finally, who’s doing something in open source right now that you think is really interesting?
I’m a Neovim user now, and there is a guy called Folke who is a Neovim plugin author. He invented lots of plugins simultaneously, and he’s one of the people I’d love to meet in person because he’s so productive. He also sometimes goes on vacation for a few weeks, and during that time doesn’t do any open source. And so I wanted to ask him about that.
How he takes a real vacation?
Yeah! A vacation from open source. I’d love to talk to him about that.
To get in touch, find Infield on Twitter @infieldai or write to Allison at allison@infield.ai.