Resources Blog Meet an open source developer - Lex Vorona

Meet an open source developer - Lex Vorona

 

Lex Vorona is a data enthusiast, Russian translator, and advocate for open source software.

As he continues his decades-long involvement in Linux user groups, he’s also a software engineer on the Data Identity team at Sonatype. You also might remember him from our holiday post, where we covered his creation of a few LoFi audio representations of software packages.

As part of our ongoing series for World Open Source Day, we had a conversation with Lex about his journey in open source software development so far. Let's dive into his story where he covers discontinued tech, Linux-powered devices, and his involvement with a NASA project.

What do you think is the most important aspect of open source?

It’s the sense of community. Whenever you contribute in any capacity, you get this wave of appreciation most of the time. Although that could be good or bad, because I think some of the high-profile maintainers get burnt out because they would get those feature requests, and people get really upset that nothing is done about them for years. But the sense of community is great.

How did you start becoming more involved with open source?

My first contributions actually happened when I was in university. I was working on, essentially, a research paper, which actually turned into a series of research papers. And I was not studying computer science. I was pursuing an optical electronic engineering degree. So, I wasn’t even writing that much code. But I was using OpenOffice instead of Microsoft Word to get the papers out. And my very first contributions were translations.

I would notice that there were translations missing for new versions for the Russian language. That was a very good experience because Ubuntu Canonical already had Launchpad out. So, it was very easy to create an account and just start to do translation suggestions, and then somebody would follow and edit all of them. It was as easy as going to edit something in Wikipedia, maybe even easier.

The amount of recognition I started to get was huge, because essentially I dropped in on the forum, and I started to notice the questions people would ask like, “How do I do this?” and then I knew the answer. I would respond and get a wave of feedback. And then somebody would complain about the translation being wrong in some place, and I would go and fix it because I knew how to do it. And people would be like, “Wow, that was fast.” So that was a very positive experience that drew me into it.

My graduation paper was modeled in Scilab, which is a very niche product, open source as well. It's by a French research organization, so government-funded, but they open source everything. It’s great. And it had pretty much no translations. Almost none. There was French, English, and some German. But that was it.

And I just felt like, “Oh, cool, I could just translate.” That was a little bit more challenging, because I had to get the commit rights and do a little bit more work to translate it. But I did it. I even got mentioned in the credits. In the application, it shows translations in different languages, and my name is there. That was a huge factor for me.

And after that, the code contributions came once I graduated and switched careers to be a software engineer.

There was actually a really cool project I saw after I’d just moved to Vancouver, Canada. There is a Mars probe that NASA launched back in the 1970s— I think it was Viking 1 or Viking 2— and they lost the software used to decode the images sent back. So, they had all these images in the binary format, and there was a description of the format as well. They were pictures of Mars which were never published, and nobody could even publish them. NASA said, “We have nothing for that. We don't have the software. We don't have the spec.” So, a group of people from Vancouver reverse engineered the format and created an application that could produce a normal PNG out of that 1970s format that nobody remembered from the digitized tape that they had.

I was drawn into that as a translator, because they wanted to have a wider reach. So I did the translation but ended up contributing to the code too. That was a cool project, because I think it showed the power of open source. Although it's not that challenging to reverse engineer. It was a pretty simple black and white picture format. But it was something that no commercial company would be interested in because there was no value, as far as commercial value, in it. But as far as historical value for humanity, I think that was a cool project.

If you were teaching a beginner about open source, what is one piece of advice you would give them?

The best advice that I ever heard is that if you use a certain application, and it's missing a feature and that’s something that you don't like about it, just go and try to fix it yourself— for yourself first and then maybe submit somewhere. That's a great way to get into open source, if there's something that could be done better. 

A lot of open source software is very configurable. So, there is usually a small amount of scripting that I've just done for myself, and it solves the problem. But the script is not good enough to just become an open source contribution just because it solves my problem. 

The best projects I've seen came out not from software engineers but from people working in a certain domain when they just want to automate something. I remember I was just taken aback when I looked at hospital software. There was a whole bunch of software to analyze brain imaging scans. This is a whole area of domain knowledge which almost no software engineer would ever know. It was essentially a bunch of people who are medical professionals who wrote that software. So, if you have a problem that is not automated, that is a great idea to start with.

You could even just post that as an idea somewhere. And people would be glad, because I know a lot of open source people are willing to contribute but struggling to find what would be a good project, because as far as automation— for text messages, web browsers, voice calls— everything's done already. You just choose whatever tool is the best. This is the range of ideas that people usually come up with. But if you have domain knowledge, maybe as a hobby photographer, and there's something in the photography space that's not automated yet— that would be a great idea for a project.

Or if you like an existing project, just go look at what tickets are open for it, and just try to fix it. And remember that open source contributions are not only code. I started as a translator. So, if you have more than one language, or even if you want to learn the language, it’s good to translate something. This helps get people into using software, because not everybody speaks English.

Is there a tool, community, or area of open source you feel should receive more attention?

SuperCollider, which is definitely a super tiny community. There’s a couple of forums on what they do, and it's like the same people everywhere. There hasn't been too much development but mostly because the tool is great already. 

It can do almost anything as far as sound engineering goes. It's hard to learn and master though. There’s many projects that use SuperCollider, but they try to get a friendly UI on top of it or even friendly scripting language on top of it. 

Some of them also come up with their own language to design the sound sequences. For me as a software engineer, it's super cool because it comes straight from the ideas that Smalltalk had as a language back in the 90s, which the industry as a whole discarded and now there is not that much software written in that way of thinking. But it's cool. So, if more people know about it, more people use it, it would get better.

I think more people should use Vivaldi, which I believe is also open source. It's a Chromium-based browser, which is not enough of an alternative to but different enough from Google Chrome. I think it's cool if people would use it more.

There is another browser that has helped me a lot in the past. It's called Dillo. It's not well known. It has very few features. Most modern sites wouldn't work on it. But it's great because it's so lightweight, so fast. It's great for essentially anything I need for work, and creating some sort of documentation would work on it.

There was a time when I had some sort of an Internet addiction when I would just be jumping from one social media site to another and would barely do anything else in my day. And that browser helped. I essentially uninstalled everything else, so that was my only browser. So, Facebook, anything like that, is not even going to load into that browser. And that was great. It helped me a lot. Not too many people know about it, but it exists. It's very lightweight and fast.

Who has helped you in your journey through open source?

I've been involved in the Linux user groups for a couple of decades. After I moved out of Vancouver, I stopped doing that because in Victoria there was not one. I could have started one, but I happened to be the person to run the Java user group. And there’s only so many user groups that one person could run.

Back in Russia, I was in Saint Petersburg. There was a Linux user group which was very active. It was a very eye-opening experience to me because it had a lot of engineers who got into Linux-powered devices. So, there were Linux-powered phones that they would bring into the group meetings, and it wasn't something, and still is not something, that's easy to get.

I know Raspberry Pi revolutionized the space, and so many people got this experience. But back then, it wasn't the case. If you wanted to get a dev kit for any of those devices, it was like hundreds and thousands of dollars to get the device. And if you just want to play with it, it definitely wasn't worth it. But there were people who were serious enough about playing with it, like the firmware, or actually had an idea in mind of what they're going to use this device for.

So, they would bring those devices to the Linux group meetings, and I would see a lot of those. The tablets and phones were a little bit smarter back then. I remember it was cool when I got one of the Linux-powered phones, it was a Motorola Ming, and I came to this group and a person helped me install a web server on it. Eventually, I probably would have been able to do it on my own, but this person already knew how to do most of the stuff. So, in half an hour we changed the version of Linux running on my phone and installed an Apache web server on it and was running over the mobile internet a small web page. It was a great experience.

Picture of Aaron Linskens

Written by Aaron Linskens

Aaron is a technical writer on Sonatype's Marketing team. He works at a crossroads of technical writing, developer advocacy, software development, and open source. He aims to get developers and non-technical collaborators to work well together via experimentation, feedback, and iteration so they can build the right software.