Python autocomplete-in-the-cloud tool Kite pushes into projects, gets stabbed with a fork

Cloud dev biz tries rainmaking, stirs up storm of complaints

An angry mob

Kite, a San Francisco-based development tools startup, has managed to alienate developers by quietly altering open-source projects for its benefit.

Kite makes a Python programming plugin, called Kite, for various code editors to boost developer productivity through automatic code completion and other enhancements. The company introduced its software in a private beta last year and launched in March, 2017.

Kite remains somewhat controversial because it uploads source code to Kite's servers, raising privacy and security concerns. It does this to analyze code and make autocomplete recommendations. The company insists it does so only with whitelisted Python files, but some developers remain skeptical that anything stored in the cloud can truly be secure.

Kite's troubles stem from its involvement with two popular open-source projects, autocomplete-python and Minimap, used with the Atom code editor. The former is a widely used autocompletion engine for Python code, and the latter is a plugin that provides a zoomed-out view of code for easier navigation.

Essentially, it's claimed Kite engineers pushed code into autocomplete-python that shoved aside a rival autocomplete engine to promote Kite. Other developers found that move to be a tad cheeky considering it wasn't totally clear both programmers worked for Kite at the time. Here's how it went down:

On December 1, 2016, Daniel Hung changed autocomplete-python to add the Kite installer as a mechanism for managing the Kite app and Kite.js Atom plugin.

The Kite installer can be seen when an Atom user attempts to install autocomplete-python from within the editor. The installer presents a window offering an ostensible choice between the two autocomplete engines available, Kite or "local engine," which in fact is a library called Jedi.

And in January, Cédric Néhémie contributed Kite-related code to autocomplete-python.

Hung was a Kite employee when he added his Kite-oriented code to autocomplete-python in December, but that relationship was not disclosed at the time. His LinkedIn page states that he started working at Kite in January 2016. Néhémie is presently a Kite employee and, as he indicted in a GitHub comment, has been for more than six months.

Kite's CEO Adam Smith did not respond to requests for comment.

As several developers observed, the selection menu qualifies as a "dark pattern" because its interface design and wording clearly favor Kite over the unnamed, disparaged alternative. The installer in other words plays favorites.

Kite installer for Atom

Choice ... Kite's so-called dark pattern that pushes users away from Jedi

Programmer Armin Sebastian, who contributes to another Python project called Kivy, expressed concern about the lack of disclosure in an bug report on the autocomplete-python GitHub repo.

"[M]any of us feel the autocomplete-python package is being overtaken by the Kite team, and the popularity of this plugin is being used to promote their service," said Sebastian. "It's also worth noting that there are no regular signs of these new maintainers being introduced to the project. Having push access before your first contribution is atypical, and it is not an isolated case of one developer."


Biting the hand that feeds IT © 1998–2017