The Faces of Turso: Meet Alperen Keleş

Glauber CostaGlauber Costa
Cover image for The Faces of Turso: Meet Alperen Keleş

Turso is the next evolution of SQLite. It is a complete rewrite of the iconic database, adapting it to the demands of modern applications. But more important than any specific feature, Turso is an Open Contribution project. We welcome developers to come, contribute and become core members of the community.

True Open Source is about more than just having the code available. It is about giving back to the people who contribute, allowing them to pursue their own goals and interests. That is what made Linux into the powerhouse it is today, and that is certainly what we want to replicate with Turso.

One such member is Alperen Keleş. As many others, he appeared out of nowhere to become one of the lynchpins of what Turso is today. Now dearly known in our community as the “Turkish Delight” due to his powerful but gentle and sweet demeanor, “Alp” uses Turso as a research tool to advance the state of the art in software reliability.

Today I sat down with him to learn more about his story.

#Tell us more about yourself

I am currently a PhD student at the University of Maryland. I have been programming since high school and got my bachelors in Turkey before moving to the US in 2021. My research is on formal methods, autonomous testing, so I am very interested in practical applications and ramifications. I also play chess on the side!

#Chess! What’s your favorite opening?

I’m old school, I just play the Ruy Lopez! (1. e4 e5 2. Nf3 Nc6 3. Bb5)

#How did you hear about the project?

I’m a Twitter addict. The founders of Turso are always fighting on Twitter and picking a bone with each other. I found that amusing, so that picked my interest. One day, as they announced the project, I saw that it was using Deterministic Simulation Testing, which is right into my area of interest.

#How did you get started working on it?

I wanted to contribute to some open source projects for a long time, but in most mature projects, the opportunities are around small issues. Limbo (the project codename at the time) was (1) in Rust, (2) early stage, (3) in an area where I was interested in, namely, distributed systems and databases, (4) the codebase was very approachable, and (5) it had an easily consumable compatibility list that allowed me to very easily find ways to contribute. I picked a small function that had nothing to do with SQL and that I could just discover and test on my own and started working on it.

#You have done a lot of work to make the simulator better. Tell us more about that!

The early simulator was mostly focused on the Determinism aspect of “DST”, but I thought the random generation and correctness properties could be strengthened. My research is on Property-Based Testing, which is a way to encode properties of the system, which can then be used in conjunction with DST to explore the testing space. I wanted to evolve the simulator to better be able to do that.

I sent out a large PR that rewrote most of the original code to make it more scalable to be able to grow horizontally. At that point I didn’t know anybody else involved in the project. I’m sure the maintainers were like “who the hell is this guy, does he really know what he’s talking about”, so we had some discussions on why I was making the design choices I made. After they merged the PR, I’ve started growing the simulator, which ultimately got traction from the rest of the contributors and now at least 7 people I know contribute to it regularly.

#How did the project become part of your thesis?

An underappreciated difficulty in contributing to open source is that you, as a person who’s working full time, don’t really have the time to do it. The solutions are either to not work full time, which you can do if you’re a student or a FIRE, basically work overtime, which I would definitely have burnt out, or somehow make it a part of your job. That is what I did. I really liked the project, so I found research angles in the problem we were working on, which I pushed for. My advisor and committee liked the idea, so I was able to spend my work time as part of the project.

#The project benefited massively from your contributions. How did contributing to Turso help you?

Well, aside from helping me shape my research, which I already mentioned, it gave me the chance to design novel tools for random testing in the database space, as well as a platform to compete with state of the art.

I also got to meet with really cool people and network. That visibly increased my opportunities! I have been looking for a chance to learn more about databases, and Turso has been an amazing opportunity for this. I have the chance to be in daily discussions with database experts, understand what they do, why and how they do it, and use all that to design better testing tools!

#When you say meeting cool people, are you including Pekka?

Lol, of course!

#Next steps?

With this disagreement about Pekka, I saw fit to end the interview on a high note. Turso now has over 130 contributors, who like Alp, are advancing their careers and goals by being a key part of the project that is building the future of embedded databases.

Want to join Alp and others? Star and join us on Github today!