The Kite debacle is democracy at work
Back in May, the users of Minimap, a popular Atom package, noticed a curious update: when editing Python files, Minimap now suggested documentation from a company called Kite. The documentation also contained ads for Kite’s paid product.
The Minimap community was not happy with this change. Many people felt that an open source tool had been hijacked for corporate advertising purposes.
(To wit: Minimap’s maintainer, abe33, had joined Kite as an employee several months before.)
By mid-July, abe33 removed the advertising and publicly apologized for mixing employer and open source objectives. A week later, The Outline published a story about the incident, under the delightfully sensational title, “How a VC-funded company is undermining the open-source community”.
While this story has all the elements of a scandal — venture capital! advertising! open source developers! — I don’t necessarily buy the takeaway.
Firstly, let’s consider what, exactly, was offensive about advertising Kite on Minimap.
It’s not a violation of open source’s legal definition to advertise. In addition, it was maintainer of Minimap who made the change. abe33 has the right to add whatever he likes.
So no official rules were broken. What about unspoken rules?
If it’s about mixing financial interests with open source, we shouldn’t perpetuate the myth that, as Nick Coghlan likes to say, open source is run by “magic Internet pixies” and don’t need anything from us. (Note that Kite does officially sponsor the maintainer’s current work on Minimap.)
It’s not specifically about advertising, either. For example, Read the Docs, which operates on a shoestring budget, experiments with ethical advertising as a way for pay for their operations. Advertising, done right, doesn’t need to feel like a violation.
Most likely, this incident felt icky because while Kite might sponsor abe33's work on it today, Kite had nothing to do with the history, popularity, or community associated with Minimap.
Most people don’t like the idea of companies hijacking a community’s trust to insert corporate interests, without adding value.
(In that sense, it’s different even from Google, Facebook, or Twitter’s advertising models, which most of us tolerate because we get a free service in exchange.)
So if the problem wasn’t money or advertising, but Kite intruding into a community where it didn’t belong, what policy changes could take place, as a result of this incident?
In other words, how could one prevent a similar situation from happening again?
There is no project-level policy that could have prevented this from happening. The maintainer himself was the one who implemented the change. (It would be different, for example, had Kite opened a PR suggesting the change, and gotten thwarted by the maintainer and/or the community.)
So instead we’re relying on fuzzy cultural norms, or as The Outline called it, a “basic decorum of transparency”. How does that get enforced?
Well, I think by exactly what did happen. Specifically:
- The maintainer was hand-slapped by the community
- The package was forked
- The maintainer did eventually remove the advertising and issue a public apology
- Kite took a severe brand hit. The incident did not make them look good, and rightly so. They now have to rebuild trust, and I bet they’ll think twice about pursuing this strategy again.
The resolution of this incident contains all the elements of a functional democracy.
Like a democratic government, open source functions on several enforcement mechanisms. Notably:
- The right to fork. If all else fails, the community can pick up and move elsewhere. This is similar to impeachment.
- Reputation as currency. A strong negative community reaction eventually persuaded Kite, and abe33, to revert their decision. This is similar to politicians being accountable to popular vote.
A project maintainer is always accountable to their community. abe33 is free to keep Kite’s advertising in his project. It’s his project, and it’s his decision. But the community also has the right to leave if they’re unhappy.
As for Kite, some have criticized their mediocre response, but I wouldn’t worry about it. If Kite doesn’t take steps to fix their reputational missteps, they will eventually lose their customer base.
When democracy functions smoothly, we barely notice its existence. But I think it’s these moments that remind us that the system is truly working.
If nobody were upset, and everybody just rolled over and accepted these decisions, that would be cause for concern. Expressing dissent is a good thing. Using last-resort enforcement mechanisms, like forking, is a good thing. That’s why those freedoms exist.
I don’t think open source is being threatened or undermined by “VC-backed companies”. The outcome suggests to me that it works just fine.
The next company to try a similar stunt will remember what happened to Kite. As long as communities keep calling out bad behavior when it happens, they send a strong signal that their trust can’t be bought so easily.