Main image of article Open Source App Shows Devs Must Be Kinder
[caption id="attachment_138324" align="aligncenter" width="2048"] Open Source App Dash Open Source App Dash[/caption] Recently, Dash developer Bogdan Popescu found himself on the losing end of Apple’s war against fake reviews, and was banned from the App Store. This week, he released Dash as an open-source project, and the blowback proves one thing: we need to be nicer to one another. If you’re not familiar with Dash’s recent history, here's a quick rundown. While the exact circumstances are questionable, an account linked to Popescu’s main developer account with Apple was reportedly found to be sourcing fake app reviews. In his defense, Popescu claimed that he had opened a secondary account for a family member, one that he didn't control. That argument failed to sway Apple, which banned his main account from its developer program. That left many without Dash, an app that lets you quickly reference documentation from a myriad of sources. In a show of good faith, Popescu open-sourced Dash on GitHub so developers could side-load via Xcode and use it. In releasing Dash to the open-source community, Popescu implicitly bared his developer soul in the form of code. If you care to dig through the code, it’s a minefield of patched problems and exhaustive long-way-around methods in an effort to ship a working app. But Dash did ship, and it does work. While we can look at the code and wring our hands all we want because the old Objective-C syntax isn’t as svelte as Swift, developers still love Dash. Most developers were understanding about Popescu's saga, and Dash's subsequent open-source release; we’d essentially been gifted legacy code, which is like getting a sweater for your birthday in July. The code is messy, and not at all what anyone would write if Dash were built from scratch today. Many were not so forgiving, and roundly blasted Dash for having clumsy code. Though the intent wasn't to troll, that viral tweet (and subsequent retweets) highlights why we all must be more positive and constructive. To his credit, Popescu says he’s not bothered by any criticism:
My two cents: I think it's okay to discuss and criticize and maybe even make fun of bad code, so we can learn and avoid it in the future. Some will cross the line and be insulting, as this is the Internet after all, but we shouldn't avoid discussing things just because some of us can't be civilized. I don't think [Patrick Balestra] did anything wrong with his tweet and a lot of the discussion surrounding it was about optimizing that code, which is great. Dash contains a lot of silly code and hacks. So anyone reading this: go ahead and find it and discuss it and criticize it. I won't mind.
Benevolent soul that he is, Popescu is also hoping to diffuse an uglier side of the developer community. In turning a cheek, he’s denying others the fuel to express their irritation over how others might code. That sort of mass scrutiny is more than many of us would be willing to endure, and  good example of why people are reluctant to open-source their projects. There’s always the old trope that criticizing someone’s work makes you look bad as well, but it’s a dated concept in a time when we’re able to slink anonymously behind keyboards and pseudonyms. The only viable stance is that we all need to be better to one another. Popescu echoed that sentiment in a comment thread for Dash on GitHub, writing: “Discussing on Twitter vs GitHub has the advantage of reaching more people which can learn from it. This does have the drawback of trolls insulting, but we should shame the trolls and not the person that started the conversation.” Instead of chiding a fellow developer, try helping or offering a suggestion on how to remedy an issue. Had the tweet above been lumped with a pull request that simplified and streamlined that admittedly daunting if statement, the entire narrative would have changed. Instead, we’re faced with the nastier side of our field. There’s enough of that in the world lately; let’s be kind.