Jan Ainali

Foundation for Public Code

[June '21]

Jan makes FOSS and takes our Twitter mic from June 23 to 30. Thank you, Jan!

Please tell us about yourself

I am an open source enthusiast that have engaged in various open projects over the years. I work at the Foundation for Public Code as a Codebase Steward where we help public organizations collaborate when they develop software. I have a long history in the Wikimedia movement and also ran a small company called ‘Open by default’ for a few years, helping government agencies be more open.

What are you working on right now?

So what we are doing in our work in general is to ensure that codebases public organizations develop are of such a quality that they can easily be reused by any other public organization. That of course includes lots of stuff, ranging from code quality and good documentation to make sure there is an inclusive community that you can find yourself into and anything in between.

We are helping four different codebases doing this and they are in very different phases. The most mature one is already in production and has it first replicator, and the “youngest” one had their kick-off just a month ago.

Right now our focus is to get more international engagement. Naturally, starting in the Netherlands it has been fairly easy to get connected to Dutch codebases. But we aim to have global coverage so we are both looking at helping the four we steward to be discovered outside of the Netherlands, as well as finding codebases that are already international and with a community ready to commit to the Standard for Public Code.

What is most interesting about that?

Making codebases reusable in the public sector, especially for municipalities have such a large potential. Just in the Netherlands there are almost 400 municipalities with essentially the same needs. Being able to collaborate would have huge implications on what such software could do and in a longer perspective also be very cost effective. Scaling this up globally to tens or even hundreds of thousands of municipalities is a mind-boggling opportunity.

How did you first discover FOSS?

I think I came across it through my engagement in Wikipedia. It runs everything on FOSS software and almost all of the supporting software like mailing lists and chats are FOSS too. From this community I discovered the joy of FOSS and soon after switched to running Linux on my own machines. What prompted you to start contributing to FOSS?

That definitely started through my involvement in Wikimedia Sverige (the Swedish chapter in the Wikimedia movement) where I first was in the board for ~5 years and then the Executive Director for another 3. For us it was natural to develop our solutions as FOSS and I sort of brought those habits back home. I am not really a developer myself, I can barely get by making simple things. But from working with requirements analysis and user testing, I do know the value of a well written bug report or a feature request that is actionable. I try to contribute in those ways in FOSS projects, as well as localizing to Swedish.

Why should others get involved with FOSS?

After having seen how Wikipedia have been built by just a tiny proportion of all its users, I am convinced of the power of collaboratively building almost anything. This also means that you don’t need to do huge contributions in every project. Just be a good “FOSS citizen”. Make a bug report if you encounter something, submit ideas or suggestions you get for things you only kind of care about. For things that you really care about, do take the time to become a part of the community. It makes a difference if you join the conversation, even if it is to just agreeing to someone else’s idea. That might spark the motivation for people to continue building features for the benefit of all.

How should they get started?

Start by reading the README and CONTRIBUTING files of the project you are interested in. If it’s a larger project, there might even be nicer workflows to get started. Use them, since people usually have tried to make them easy to understand. And if you cannot understand them, suggest improvements to them, it will help everybody coming the same path as you did. This is a great way to make your first contributions.

What difficulties and limitations do you see with FOSS?

One of the biggest hurdles is to get a critical mass of users. With that I mean enough users to give you feedback on what is good with the code and what can be improved. Not everyone will create an issue, so getting the user base to have enough people that takes an interest is the important part to make it sustainable. Before that it can be hard to keep the motivation for the maintainers.

How can they be solved?

Quite soon in the life cycle of a codebase, you need to think on more than only code quality and features. Make sure people can find the code and give them a way to contribute. Thinking about the codebase as a product and the people as a community becomes important and you should be open to include more people with a diversity of skills into your core community.

Where do you see difficulties in contributing?

It is often difficult to contribute in poorly documented parts of a codebase. If no one else can understand it, it is hard to suggest changes. Sometimes it can also be hard to contribute in areas that doesn’t interest the core maintainers. They might not recognize the value and could be slow or unwilling to delegate authority. But getting over a hurdle like this can lead to a ketchup effect. For example, before someone takes up the role of handling a social media account or two, it might be hard to reach new users and thus no one picks up other tasks. This is applicable to many areas where improvement in one part can enable contributions in others (it’s not only social media, it’s just a clear example).

What does a perfect day off look like?

I’ll constrain myself to the current pandemic situation. I like a slow start of a day, having a cup of coffee and looking at my Wikipedia watch list to see what happened since yesterday for topics I follow. Perhaps do a few edits and participate in the discussions, mostly on a meta level. Follow that with a breakfast before really getting into my creative and productive part of the day. I have a number of Wikimedia related projects I try to contribute to and getting something done in the morning makes it a good start of the day. Then I like to get out for a short run before getting lunch. In the afternoon I usually continue contributing to Wikimedia but in a more relaxed pace. I possibly even do a live stream when editing Wikidata or something other that might help explain what is going on to more people. In the evening I might relax by watching some videos, often with the Wikipedia stream of recent changes on a second screen to help out reverting vandalism.

In normal times, I like to get out in the nature more, but I avoid public transport for now.

Do you want to tell us something else we didn’t ask?

Besides that people should checkout what we are doing at the Foundation for Public Code and also consider contributing to Wikipedia once in a while and not only consume it, my friend Albin Larsson and I just started a project with a purpose of making it easier to find and contact public organizations online. We call it govdirectory.org and have only just started, but if this feels like something you would see work in the world, please join us!