August 3rd, 2024

Setting expectations for open source participation (2018)

The article emphasizes the need for realistic expectations in open source participation, highlighting contributor burnout, the importance of recognizing personal costs, and fostering a supportive, altruistic community for sustainability.

Read original articleLink Icon
Setting expectations for open source participation (2018)

The article discusses the dynamics of open source participation, emphasizing the importance of setting realistic expectations for contributors. The author, who has extensive experience in both corporate and community open source projects, highlights that the initial release of open source code is merely a code dump until it receives contributions, transforming it into a collaborative project. The sustainability of open source relies on attracting and retaining contributors while ensuring that the experience remains enjoyable. The author notes that many contributors face burnout due to the pressures and demands placed on them, which can lead to a decline in participation. A key point made is that open source contributions come at a personal cost, and it is crucial to recognize the effort behind these contributions. The article advocates for viewing open source as a series of altruistic acts rather than expecting something in return, which can foster a healthier community. The author stresses that maintaining a balance between collaboration and enjoyment is essential for the longevity of open source projects.

- Open source projects evolve from code dumps to collaborative communities with contributions.

- Sustainability in open source requires attracting new contributors and retaining existing ones.

- Burnout among contributors is a significant issue that can threaten project viability.

- Recognizing the personal cost of contributions is vital for fostering a supportive environment.

- Viewing open source as a series of kind acts can help mitigate entitlement and promote community health.

Related

Saying thanks to open source maintainers

Saying thanks to open source maintainers

The article highlights expressing gratitude towards open source maintainers through basic civility, advocating for projects, sharing code, and direct appreciation. It suggests financial support via platforms like GitHub Sponsors. It warns about associated costs and responsibilities.

Open source is neither a community nor a democracy

Open source is neither a community nor a democracy

Open source software thrives on meritocracy, not democracy. Core contributors drive projects forward, emphasizing collaboration and freedom under the license. Users' influence aligns with their contributions, fostering a gift exchange culture.

Graying open source community needs fresh blood

Graying open source community needs fresh blood

The open-source community aims to attract younger developers for sustainability. Initiatives like hackathons and mentorship programs are crucial. Challenges in recruiting and retaining young talent are addressed through programs like Linux Kernel Mentorship and LFX Mentorship.

We Love Writing Software So Much, We're Willing to Do It for Free

We Love Writing Software So Much, We're Willing to Do It for Free

The article explores motivations behind software engineers contributing to open source software for free, emphasizing career enhancement, skill showcasing, and job simplification. It challenges the notion of free work for financial support.

So you want to compete with or replace open source

So you want to compete with or replace open source

The article delves into open source software's evolution, business challenges, and emerging movements like "post-open" and "Fair Source." It questions their ability to balance commercial interests with open source collaboration.

Link Icon 6 comments
By @eduction - 4 months
I am generally highly sympathetic to this sort of article because open source can be so thankless, a ton of work, and people can be jerks. He makes some excellent points.

A couple of times though I got the impression that he has some responsibility for some of the hurt he experiences. At one point he says it is hurtful when someone writes an article pointing out the “dumb” parts of python. While the word “dumb” may be less than ideal, there are by his own count 90 other committers besides him and 7 million total python contributors. Maybe he’s taking the criticism too personally.

Or here, he says pointing out something is “broken” in a bug report is hurtful to him:

>Assuming your contribution makes sense, you also need to pay attention to how you communicate. It is not uncommon for someone to submit a change and point out how they are trying to "fix this broken/wrong thing". I don't think people necessarily intend to be mean, but realize that when you say something like that you are telling me I failed and you're trying to clean up my mess. The put-down of saying I did a bad job does not motivate me to want to review your change, nor does it motivate me to want to contribute further if my work is just going to be viewed as bad.

In my opinion, if someone talks about your work in a non personal way, and you take it personally, that’s on you. In any field we need to be able to criticize work in a way that is hopefully kind but also honest. I think complaining about the word “broken” in a bug report is over the top and potentially creates unrealistic expectations that lead to a paralyzing inability to communicate clearly.

By @mont_tag - 4 months
Today a famous and well respected core developer was suspended. Presumably, that is why this this old article made the front page of Hacker News right afterwards.

https://discuss.python.org/t/three-month-suspension-for-a-co...

By @tdy_err - 4 months
this all sounds pretty reasonable and, honestly, a given.

> you should view open source as a series of kind acts people have done altruistically

> just because open source software is free for you doesn't mean someone else hasn't paid some price on your behalf to get you that code

Maybe this is directed towards people who don't write software?

By @bxparks - 4 months
I think it is difficult to make general statements about all "open source" projects, because there seems to be at least 3 different types of open source projects:

1) Small projects, owned and maintained by a single person, with maybe a few random contributors.

2) Medium-sized projects maintained by handful of developers, without much organizational structure.

3) Large, almost enterprise-scale, projects used by thousands or millions of downstream users, maintained by dozens or hundreds of developers, requiring fairly complex organizational structure.

The article says that "instant you get that first contribution to your code, it becomes an open source project with an open source community of two", and the purpose of the project changes to "collaborating on the maintenance of the project".

For me, absolutely not. For most of my personal projects that I have open-sourced, I have no desire to migrate from a Type 1 (small, personal) project to a Type 2 (medium-sized, multiple-maintainers) project.

I accept PRs on a case-by-case basis, but I usually reject a vast majority of them: they are often buggy and incorrect, or they don't match the purpose and design of the project, or they are correct but severely incomplete (e.g. missing edge-cases, missing tests, missing documentation, etc). I have discovered that it usually takes me more time and effort to code-review the drive-by contributions into an acceptable state, than to just implement the feature myself.

On the other hand, for Type 3 (large, enterprise-scale) critical projects which affect numerous other parties, there is probably a higher level of implicit and social expectations that the project will handle bug reports and feature contributions from 3rd party contributors in a reasonable manner. The development process of a large project probably shouldn't rely on the whims and emotional state of a single maintainer on the project.

With regards to "kindness", which the article mentions a few times, I think for small projects, it might be reasonable to expect the kindness of the community. But for large projects, it is unrealistic that "kindness" will scale to thousands or millions of users. Too many people are too narcissistic, thoughtless, cruel, or all of the above.

In summary, it seems to me that the expectations and the dynamics of an open-source project varies quite a bit, possibly depending on the size and character of the project.