Erik Michaels-Ober Photo: Ryan Resella
When something called Imageoptimiser said it could improve Erik Michaels-Ober’s software on the GitHub code-sharing website last Sunday, Michaels-Ober wasn’t sure what to make of it. In fact, he was pretty certain that the request had come from an automated program — a bot.
On GitHub, these offers — called pull requests — are supposed to come from people. That’s part of the power of GitHub — coders can see each other’s software and share fixes much in the same way that the rest of us swap photos on Facebook. It’s a very social, and very human kind of interaction. The whole world can debate the merits of a software change before it is accepted or rejected.
But here was a pull request from a GitBot. Bots don’t debate. “It’s like the first time you see a self-driving car on the road,” Michaels-Ober says. “Maybe you’re OK with it intellectually, but you just have this visceral reaction.”
With GitHub closing in on 3 million users — and bedding down inside some of the biggest names in tech, including Facebook and Google — GitBots have started springing up on the website. Brian Doll, GitHub’s marketing head, has seen about a dozen over the past year. Some of them — one called Travis4all, for example — are wildly annoying. Others, like Imageoptimiser, are less so.
But all bots are equally unwelcome on GitHub, Doll says. “I don’t want to see 100 of these tomorrow. That’s the fear,” he says. “We don’t want to be the platform where you don’t want to run a project because you’re going to be accosted by so much of this activity.”
In the end, Michaels-Ober decided to accept Imageoptimiser’s pull request. What Imageoptimiser had done was actually pretty useful. It had used compression algorithms to shrink the size of some of the images that Michaels-Ober’s software used, a neat little trick that made the program run a little more efficiently.
Imageoptimiser’s creator is Adam Howard, a developer with a U.K. software consultancy. He wrote the bot because it gives him a way to “help people at pretty much no effort to them and pretty much no effort to me.”
But he also temporarily pulled the plug on Imageoptimiser after a developer complained that building a bot that submitted software fixes was “a bit dubious.” Howard says that he wants to adjust the code so that it’s only submitting pull requests where it’s absolutely useful.
Whether he can find a way to do that without getting kicked off of GitHub remains to be seen.
Nobody wants spam. But even Michaels-Ober, the developer who was at first uncertain about Imageoptimiser’s pull request doesn’t think that an all-out prohibition on GitBots is the way to go if it’s possible to create truly useful GitBots.
“I don’t think this specific behavior should be prohibited,” he says. “And I would hope that GitHub could find a way to change their term of service. It seems like we would be throwing out the baby with the bathwater to say that all bots are bad.”