Thoughts on “finding” open source to contribute to

I was watching Open Source Fridays streamed on Github’s YouTube channel a little more than a week ago and was struck by how they went about recommending people find projects to contribute too. They were discussing metrics about projects, so I left a comment in the chat.

I would not recommend that way of selecting a project to contribute to. Much better is to contribute to something that you use and where you like to see an improvement.

44:15 Open Source Friday with OpenSauced – redefining the meaning of open source

Even though my pushback was well-received, I feel my point was missed. The host only went so far as to defining “use” as cloning it and getting it running.

Is there a right way to contribute to Open Source?

Yesterday, Edoardo Dusi published a needed blog post on opensource.net with thoughts aligned with mine. He titled it There is a right way to contribute to Open Source and delves deep into the hype surrounding stars and likes. He also provides a great list of other ways of contributing that are not reflected in the most common metrics. Go read it; it is well-written and what sparked this blog post.

Where to contribute

While Dusi touches upon contributing to projects he is familiar with, I want to emphasize the point more clearly. Perhaps it felt so obvious to him, he didn’t feel the need to state it. But as a Wikipedian, I am used to stating the obvious so let me delve a bit deeper into it.

The point that I tried to make in the livestream, and what came so naturally to Dusi, is that it is much easier to contribute to an open source project if you are familiar with it because whatever they build is part of your workflow and that the workflow depends on it working. Knowing what the software is trying to do and the aims of at least one end user (that being you) can really help you along the way when making contributions.

But we are not there yet. Because if you are anything like me, and mostly rely on open source tools, it may not narrow it down much. In that case, I think there are basically three strategies to pick from: your need, your joy, and their need. These were ordered, and I’ll delve into each of them and explain why I think this is the order to consider. I will also mention some, in my important, properties of codebases related to this.

Your need for a change in the codebase

I believe this is partly what Dusi was talking about when he mentioned business motivation. But whereas he described a larger tit-for-tat scenario that would lead to long-time gains in the codebase, I really mean something more direct, as referred to in “scratch your own itch”. By solving a problem in a workflow or tool that you are experiencing yourself, not only do you have in-depth knowledge of the problem, you are also properly motivated to solve it. The reward becomes inherently tangible because you will reap it yourself. And while sometimes it may not actually be worth the time, the joy of seeing your improvement every time you are in that workflow may be very satisfying.

Example – Wikidata SPARQL service

I often use the Wikidata SPARQL service to create map queries that I later used on Wikipedia. But to add them to an article, there was always a step in reformatting the query as Mediawiki did not accept the line breaks similarly to the query service. Therefore, in a hackathon, I wrote a tiny conversion tool and got it added to the code snippets export functionality so that I now just need to copy and paste every time I do a new query.

The mapframe code snippet.

Your joy of making a contribution

This motivation may be a variation of the former, but I distinguish it separately because often there might not be a direct reward in some of your workflows. What I group in this category are projects that you are charmed by and just want to exist in the world. It could because they are just fun ideas that tickle your mind, or a civictech project that you feel is important to the world somehow. In this group, I would also place most of the motivations that Dusi mentioned, the long-term view of improving some part knowing that others will improve other parts down the line, making the entire project better.

Example – Weeklypedia

Weeklypedia is an automated weekly statistics generator, showing which articles on a language version of Wikipedia got the most edits last week. I don’t really use this knowledge for anything, but I think it is a fun tool, and it gives me a peek into what is on my fellow editors’ minds this week. Here, I could translate the interface to Swedish, and now I get the newsletter delivered to my inbox in my native language. Easier to read for me, and it feels great that it might also lower the barriers for others.

Their need of help

Perhaps surprisingly, the next option in my recommended order is to look at young or small communities rather than the big and “healthy” ones from within the software you are using. My reasons are two-fold.

First, in a small community, even a tiny contribution can have a lot of impact. Not only because you might actually be accelerating the development by a considerable amount, but also because in a smaller community, someone else caring might raise the spirits in the community by orders of magnitude.

Secondly, if your plan was to start an “open source career”, in a small community it may be a shorter step to be delegated more responsibilities and have an impact on the direction of development. Now, keep in mind that not all small communities are looking for contributions and collaboration; it might be a single person’s pet project, so check that your help is wanted before you get started.

Example – OpenRefine

I have been an OpenRefine user for many years, and even did a few video tutorials showing my workflows with the tool. Two years ago, the advisory committee needed a new member, and since one of the staff knew that I was showcasing the tool, I was asked if I would consider helping. Now, OpenRefine is neither small nor new, but there was clearly a need from their side. Since I had experience from being on NGO boards from before, it felt like an excellent way for me to help the community, even though technical contributions here is beyond my skills.

Other properties to consider

Even within these groups, you might have several codebases that you are considering contributing to, and then I think there are some properties that make sense to review.

Ease of collaboration

It might not be surprising that I think that ease of collaboration is an important property of a codebase; after all, for the last five years I was working on the Standard for Public Code, which is all about making it easier to contribute a codebase. Besides the obvious benefit of making it easier for yourself when contributing, it is also a strong signal of a community who wants more people to join them. So if a codebase has a well crafted contributing file or other ways that guide a new contributor into the community and make them (and you!) feel welcome, I would suggest it is a codebase well worth investing your time in.

External rewards

Only lastly, I want to acknowledge the external rewards. Especially if you are looking for a professional career, there are signals that a future employer might be looking for. Now, I want to emphasize that I believe that these in themselves are poor criteria to start with when you are looking for a project to help. But if you are looking at two projects that are equal in all other aspects, it would be naive to suggest that these “fame metrics” would not matter, whether we like it or not.

To be fair, I admit having participated in Hacktober fest and got the t-shirt, and to have submitted codebases I am working in to it and other campaigns. But today, I see these phenomena more as a way to explore new tools and to do outreach, rather than a path for impactful contributions and fame.

Conclusion

In conclusion, contributing to open source is not merely about following metrics or seeking external validation. It’s about finding alignment between your own needs, passions, and the needs of the projects you engage with. As Edoardo Dusi suggested, there is indeed a right way to contribute to open source—one that transcends the superficial measures of popularity and, in my opinion, starts from within you and your needs.

Whether you’re addressing your own pain points, finding joy in nurturing projects close to your heart, or answering the call for help in communities in need, the essence of open source contribution lies in the depth of your engagement and the authenticity of your motivations.

Let that be your guiding star. 🌠

Guest in my own podcast

I have been podcasting for Wikipediapodden for almost five years now. The show is a weekly news run down with recurring segments. However, often when I go to Wikimedia events, I bring my gear and record special episodes, interviews with some of the attendees of the event. I did this again for the Wikimedia Summit in Berlin this year too, when I participated as the representative for Wikimedians for Sustainable Development.

After I recorded the interview with Eva Martin, from the organizing team in Wikimedia Deutschland, she asked if she could interview me with the same questions I was using. I accepted, and we recorded straight away. The result was published today.

Image: Matthias WörleCC BY-SA 4.0

My sustainability April 2024

April didn’t see much on-wiki activity for the Wikimedians for Sustainable Development user group, but I did do two large activities. Plus, I got my act together and sent a newsletter for March and April.

Wikimedia Summit 2024

First, I went to the Wikimedia Summit as a representative for the user group. It was a lot of work, but really focused on the Wikimedia Movement Charter, which is so generic it won’t have much direct impact on the user group activities (but possible on the governance). I was interviewed for a podcast in my role as a user group representative, but that episode will be published in early May.

Grant writing

Second, I wrote an application to the O’Shaughnessy Fellowships to work on setting up a secretariat for the user group. While the likelihood it is approved is fairly low, if successful, it would give me the opportunity to work full-time in it, so keep your fingers crossed.

As it was a fellowship, much of the application is focused on me, and not relevant to share, but I also made an action plan that might be useful for someone thinking about similar progress for their affiliate. I posted that in my own Ideas repository, along with the video pitch I recorded.

This is the second half of my fourth monthly reports of my New Year’s resolutions.

My Fediverse April 2024

As previous months, I have continued to boost information about Fediverse apps, news and tips and tricks. This month, I am particularly excited about the ongoing work of combining OpenBadges with ActivityPub. I saw it on this Mastodon-post, which mentioned ActivityBadges. Fingers crossed something useful comes out of this.

Also, like last month, I continued to update online profiles when I found some still referring to Twitter. I did a sweeping update on all Stack Overflow sites.

Motions to Wikimedia Sverige

I mentioned last month about two motions I submitted for the Annual General Assembly of Wikimedia Sverige. Unfortunately, they were both rejected. However, some of the discussion was about it not being appropriate for the assembly to make this small-scale decision. Perhaps it can still be a strong enough signal to the staff to take action. Time will tell.

This is the first half of my fourth monthly reports of my New Year’s resolutions.

We Should All Be Vegans

This essay was an assignment I wrote last year at the course English: Writing Texts about Facts and Opinions.

Veganism is the philosophy of not exploiting animals in any way. It entails excluding all animal products and by-products from the consumption and all parts of the production. Or, put another way, a product is vegan if no animals were exploited during its production. By only using vegan products, many advantages can be achieved. You might ask yourself: Since veganism is still a fringe lifestyle, can these advantages really make a difference? If you value good public health, justice and equality and want to do something about global warming, yes they can. In fact, these advantages are so beneficial for society, we should all be vegans.

Eating vegan has a number of positive effects on health, which, of course, is good on a personal level, but it also has positive effects on the public health. Heart diseases, type-2 diabetes and cancer are common and a strain on the healthcare system. As a vegan diet has been shown to decrease all these diseases through various studies, there is an opportunity to free up resources. Those resources could instead be used to improve the situation for healthcare workers in general, resulting in better care for patients, or to treat diseases that today are somewhat neglected. Of course, increasing the quality of life for many people by allowing them to live longer and healthier lives should not be neglected either.

Another aspect that cannot be neglected is the ethical argument. Exploiting animals and causing them severe suffering for our gain is hard to justify. It is a kind of slavery and represents an idea that we, since long should have abandoned in our modern society. Especially recent progress in consciousness in animals, their capacity for suffering and having emotional lives, makes it easy to draw parallels to how society previously treated different human races. This speciesism is a remnant of an ungrounded belief in human moral superiority, which is not fitting for a civilized and enlightened society. In essence, keeping this practice preserves the thinking of some races and species being worth more than others and is fertile ground for similar thinking being applied to humans, i.e. that some people are worth less. Discarding this practice would therefore not only be morally just to the animals, but also make it easier to fully transition into a humane and kind civilization where all humans are equal.

Furthermore, if we want to keep our civilization as habitable as we have become used to, we quickly need to solve many environmental issues, and in particular address the rising levels of greenhouse gases causing climate change. Production of meat causes enormous emissions, mostly of methane from animals. While cattle are the largest emitters, pigs and poultry also compare unfavorably to vegetable protein sources. The way land is treated, both for keeping the animals, and also for the production of animal feed, is having a devastating effect on biodiversity. Declining biodiversity is a factor that causes ecosystems to perish, which in turn can speed up climate change through loss of carbon in the biomass. By using the land directly for human food, less area would be needed to produce the same amount of nutritional value and more could be saved in nature preserves.

The lack of nutritional value is a common counterargument to veganism, meaning that it would be hard to obtain enough minerals and vitamins through a strictly vegan diet. This is mostly an old myth, augmented through stories in popular culture of vegans being pale and weak. In reality, with a varied and planned diet, it is straightforward to keep a fully adequate diet and obtain all the nutrients needed for healthy bodily functions. Even without a properly planned diet, supplements can make up for the lack of the nutrients that are hard to include in a vegan diet, such as vitamin B12.

To summarize, there is much to be won for society if everyone switched to a vegan diet. Public health would greatly benefit, as well as the health level of many individuals. We would live morally sound lives while also removing fertile ground for racism and other injustices. Finally, we would make huge steps towards mitigating the worst effects of climate change. These advantages have such a potential that, anyone should agree that we all should be vegans.

New CV page

I used to have a page on this blog with my curriculum vitae. It was a plugin that extracted certain data from my LinkedIn page. Unfortunately, it stopped working, and I removed the page a few years ago.

Recently, I had reason to update my CV/LinkedIn page and I felt inspired to create a new page. As a small coincidence, I also had just come across a one-page theme that I thought looked good. So I got started and working on a new page, obviously incorporating what was on LinkedIn, but also with greater control, added a few custom sections and embedded media and linked generously.

For a bit more than a week, the site is up on aina.li/cv, and it is also linked from the menu here. Feedback is appreciated, either here or on GitHub.

My sustainability March 2024

This month was a slow month. While we had planned a user group meeting, the shift to daylight savings time caused confusion, and we didn’t manage to get together.

On a positive note, I managed to get a proposal for Wikimania submitted. Now, let’s hope that the program committee finds it worthy.

This is the second half of my third monthly reports of my New Year’s resolutions.

My Fediverse March 2024

This month too, I continued to boost information about Fediverse apps, news and tips and tricks. It is encouraging to see that there is a lot going on in this field and that it does not seem to slow down.

For myself, I have gone through my online profiles and where I previously linked to my profile on X, i have now changed them to link to Mastodon. I could make this change on GitHub, YouTube, Twitch and Facebook.

Motions to Wikimedia Sverige

I also wrote two motions for the annual gathering of Wikimedia Sverige, one to leave X, and one to join the Fediverse. We’ll see at the end of April if the other members agree.

This is the first half of my third monthly reports of my New Year’s resolutions.

My sustainability February 2024

This is the second half of my second monthly reports of my New Year’s resolutions.

User group meeting about roles and responsibilities

I organized a user group meeting and got some great help from Alex Stinson to facilitate it. We wanted to explore what further roles could be created in the user group to get more people to feel there was space for them to be more deeply involved. We go some ideas, but there is more work to be done. Minutes from the meeting.

My Fediverse February 2024

This is the first half of my second monthly reports of my New Year’s resolutions.

This month was slower than January, but I did continue with similar positive reinforcements, namely boosting information about Fediverse. That activity was mainly on Mastodon, but I am aiming to widen that scope in the future.

I had planned to watch Fediverse related sessions on FOSDEM and State of Open Con, but could to my surprise not find anything else than very technical talks about integration on specific platforms. If you watched something good, please let me know!

Migrating Let’s talk about public code

In bigger news, I was influential in one substantial task, moving the podcast Let’s talk about public code to a Funkwhale instance: open.audio. The move itself was manual, but fairly easy due to the low number of episodes. Mostly, it was simple copy-and-paste work, and nothing really tricky at all.

One deciding factor for choosing this instance was that rather than open registration, all accounts are manually screened and all content need to have a Creative Commons license. Hopefully, this will be enough to keep the platform full of only properly licensed and sharable material.