विपुल!

Open Source Anti-Patterns

सिद्धार्थविपुल

I had the opportunity to attend FOSSY this year, which proved to be one of my favorite events so far. Meeting people (friends) who have defined what Open Source and Free software landscape looks like, and hearing to their challenges, challenges in FOSS ecosystem, path forward, and new changes was as much inspiring as a learning experience. This post focuses on the talk anti-patterns in Open Source.. The talk resonated deeply with me, as I've frequently encountered these very anti-patterns while mentoring various companies. Changing the embedded mindset that accompanies these anti-patterns is often a long process. In my experience with over 23 companies, a good number had at least one of these anti-patterns present. I highly recommend checking out the original talk—it's excellent.

What is

With that, let's look at the anti-patterns

Our first Open Source anti-pattern is called "Cookie Licking." In this context, "cookie licking" refers to a situation where a member of an open-source community or a corporate team claims ownership of a task but fails to complete it effectively. This claim then prevents others from stepping in to finish or improve the task. The problem can arise both intentionally and subconsciously, often stalling progress and growth.

This anti-pattern is particularly noticeable in vendor-controlled open-source projects. Vendors might claim ownership of a task with the assumption that they are the only ones capable of doing it right. Alternatively, community members might assume the vendor will handle it even if the vendor doesn't explicitly say so. This creates a stale environment where tasks remain incomplete or poorly done, and no one feels empowered to contribute. Spot suggests several antidotes to mitigate this issue:

Antidotes

Deux: Nepotism

The second anti-pattern discussed by Top Spot Callaway is "Nepotism," traditionally understood as favoritism based on family relations but extended here to include blind trust in team members or vendor-controlled decision-making. This pattern manifests in several ways:

To counteract this issue, Spot suggests some antidotes.

Antidotes

Trois: Confusing Leadership with Ownership

In corporate environments, there's a misconception that leadership equates to ownership, causing imbalances in community involvement. Leadership is the ability of an individual, group or organization to influence or guide others. In corporate developer culture In a conventional corporate setting, the concept of "ownership" often equates to taking full responsibility for a problem, seeing it through to resolution, and ultimately pleasing the customer. In this context, ownership is not only endorsed but often rewarded. Teams are explicitly assigned to "own" specific challenges, and the fruits of their labor are recognized through various incentives. However, in a vendor-controlled open-source environment, leadership is distinctly different from ownership. Here, leadership emerges from the actions one takes within the project. The more you contribute constructively to the project, the more you solidify your role as a leader. Leadership isn't about legal possession or unilateral control; it's about active, meaningful participation that garners influence within the project.

Antidotes

Quatre: Warnock’s Dilemma in Open Source Projects

Lack of response to posts in open-source communities can be misinterpreted in five ways

This becomes an issue especially in vendor-controlled projects, where the absence of community feedback leads to disillusionment with the Open Source model.

In corporate settings, silence is usually considered a sign of busy productivity. However, in a community setting, it could mean the opposite. The vendor may conclude that Open Source isn't effective if nobody shows up to contribute.

Antidotes

Cinq: The Launch

This anti pattern Open Source approach involves developing a project in secrecy or isolation for an extended period and then unveiling it, expecting accolades and rewards. This method is deeply ingrained in corporate culture, but it often falls flat in an Open Source context. The problem with "the launch" strategy in Open Source projects is that it excludes external feedback and devalues community input. Key Issues:

Antidotes

Six: Bike-Shedding

Bike Shedding refers to the tendency to focus on trivial details at the expense of meaningful progress. Often this occurs because individuals or companies are afraid of making mistakes and looking bad publicly. Key Issues:

Antidotes:

If you made it here, I am interested in hearing if you have experienced these, if not, are there any specific ones you can think of? You know where to find me :)