Once a Maintainer: Joakim Antman
an interest in cryptography led to maintaining jwt, a ruby implementation of the JSON Web Token (JWT) standard
Welcome to Once a Maintainer, where each week we highlight an OSS maintainer doing great work in the community. Each week we ask the same five questions.
For our first issue we interviewed Joakim Antman, a maintainer who lives in Finland and has been contributing to open source software for more than a decade. Joakim maintains jwt, a foundational package in the Ruby ecosystem that securely transmits information, often for user authentication purposes.
How did you get into programming?
I’ve been tinkering with computers since a very early age and also was privileged to have access to tech and the Internet from early on. My dad was into computers and we had an Intel pc, the 386. I remember it had a button that said “turbo” on it and I thought that was really cool. I always wanted to push the button.
Code has always fascinated me but I can’t say that I have ever really been a natural at coding. I enjoyed playing video games and tinkering with ready-made pieces of code like qbasic and the gorillas game back in the day, but never really understood what I was doing. There used to be these gaming magazines that would have pages full of code and I would write down the code from the magazine and then go see what it did.
By not really knowing what I wanted to be when I grew up but enjoying tinkering with computers, it felt natural to pursue something involving tech. Before my studies I had been involved in PHP programming, not really knowing what I was doing but it resulted in various strange web apps. After high school I started to study programming and the basics of it. The most valuable thing (not counting the partying) was getting familiar with the basics of C/C++ and assembler. It seemed super hard at the time but I’m grateful now that there actually was focus on these low level languages, because I’ve benefited a lot from knowing the inner doings of the more high level languages like Ruby. I crawled my way from the bottom up to the top where Ruby is today. There is actually a very close link between C programming and Ruby because of how it’s built.
My first job involved C/C++ and later C# and web apps, it was a very contained environment and OSS was looked at more as a risk than an enabler. This was before Microsoft got into opensourcing .NET.
What made you interested in contributing to jwt?
My first contribution to OSS was back in 2011, a jQuery component that had a bug that I somehow figured out how to fix. It was a pretty big leap for me, from being contained in my work bubble to opening up to the public by posting my findings and fix on GitHub. It was also a great feeling to be able to give back and actually help others.
I can’t really remember how I ended up contributing to the jwt gem, I have always enjoyed cryptography and the concepts behind the algorithms. How math becomes something useful. I’m grateful to this one professor in school that introduced and demystified the algorithms and science behind cryptography for me.
I had to look up what I actually did a few years back and it was the initial JWK functionality in the jwt gem. I think I mainly did it to learn. The welcoming feedback from everyone has been really encouraging and helpful. Tim (Tim Rudat, @excpt) was super open and kind and I pretty quickly felt that he trusted me. I actually only got publishing rights for the gem to rubygems a few months ago. Even as a novice contributor I received such kind feedback that motivates me to continue, even so much that I've taken a leap to the past by doing some contributions to the openssl ruby gem and the openssl library.
We should remember that it’s intimidating, super intimidating sharing your work in public to be openly criticized. Because of things like this, gems can just die. They become abandoned and they slowly die over time. My current work is related to Ruby, so I can contribute on my work time. It’s important and I enjoy it every day.
What’s your favorite ruby package and why?
Oh, every gem that makes my life easier is a favorite. Rubocop is the go-to gem for fixing the imperfections in my code.
The grape and sinatra gems for building web apis, also very nice people involved. I have been trying to give back to the community when possible here also.
How can we get more people into open source?
I think by being nice and polite. People contributing and caring are usually giving their time for free. So each change should be considered a blessing.
There’s a lot of talented people out there, but the social part of it is probably a big blocker. You shouldn’t have the expectation that you’ll get feedback instantly because the people doing it are doing it for free in their extra time. They may only get to review your code once a month. Things may move slower than you’re used to.
I still think companies should give more value to OSS. People working should be given more time to explore, contribute and give back, not only with sponsoring or money but by encouraging people to fix issues and be involved in the components they are using. In your normal work if you notice something, contribute. If there’s a problem let’s try to fix it in the source. This needs to be part of company culture.
Who’s someone you think is doing really interesting work?
@dblock (Daniel Doubrovkine), the creator of the grape gem I think, he was the first personal encounter to the Ruby community for me, such a welcoming experience. Also I do not get how he has time with everything he is doing.
@olleolleolle (Olle Jonsson), I chatted with him a few years ago at some virtual Ruby conference. He seems to be everywhere in the Ruby community and I think he is doing valuable things keeping dying gems alive. He’s one of these people that tries to keep everything up and running. I think he’s doing very valuable work.
Once a Maintainer is written by the team at Infield, an app that helps dev teams keep their open source dependencies up to date. To share, hit the button below: