Protest code and the anti-SOPA blackout

blackout.js code snippet

Software developers have been playing an increasingly crucial, if unseen, role in anti-SOPA/PIPA protest activities. According to data compiled by Fight for the Future, “super easy to use” WordPress plugins like Simple Stop Sopa (written by Brooke Dukes) may have been employed by as many as 40% of the 115,000+ sites participating in Wednesday’s blackout. The protest was further enlarged by similar software designed by volunteers to blackout other content management systems and web frameworks.

But to understand the significance of these scripts and plugins only in terms of their impact on the size of the blackout overlooks the powerful emotional experience of developing software for the developers themselves. The large and growing corpus of anti-SOPA protest code suggests that frustrated programmers have begun to engage in the writing (and sharing) of software as meaningful acts of political expression apart from their instrumental ends.


DeSOPA Mozilla Firefox AddonBoycott SOPA Android appSOPA/Protect-IP Blackout Simulator

Blackout scripts are not the only examples of anti-SOPA software in circulation. Before the run-up to Wednesday’s blackout, a number of protest softwares were already under development, for example:

  • DeSOPA is a “proof of concept” addon for Mozilla Firefox intended to demonstrate the ineffectiveness of DNS filtering for blocking access to materials on the web. (Note: DNS filtering has since been removed from the proposed legislation.)
  • Boycott SOPA is a barcode-scanning app for Android phones that helps consumers avoid corporations supporting the bills. A current list of blacklisted companies is maintained on the developers’ blog: No More SOPA.
  • The SOPA/Protect-IP Blackout Simulator uses JavaScript to replace blocks of content on a page with alarming messages about internet filtering (in a variety of languages) intended to stir readers to action.

With the announcement of the blackout, however, the volume of protest code rose dramatically. Today, there are over 30 projects on the code-sharing site github that specifically mention the anti-SOPA/PIPA blackout in their titles or descriptions.

Unlike the co-ordinated boycott of GoDaddy in December, the fundamentally technical nature of a web blackout created an short-term demand for a significant amount of code to be written. For once, programmers were needed, not for their voices or their pocketbooks, but for their craftsmanship. In response, hundreds set out to produce code to blackout their sites and the sites of others. The blackout as a tactic produced an opportunity for for programmers to experience the feeling of applying their technical skills to a political problem and witnessing an immediate, material outcome.


Screenshot of stop-sopa

The most visible blackout project on github is Zach Johnson’s stop-sopa. Stop-sopa is a single drop-in replacement file for a typical site’s homepage. When opened in a modern browser, the page appears to be all black except for a small block of text illuminated by a weak spotlight (see a live demo of stop-sopa here). The spotlight follows the user’s mouse around the screen to reveal a short message about the protest with links to more detailed information and opportunities to take further action.

In a blog post about stop-sopa, Johnson explains his decision to create the script in emotional, rather than tactical, terms:

“When I heard about how the web was going dark (including sites like Reddit and Wikipedia!), I felt inspired to make an interactive blackout template that played off the theme of “going dark.” It was a way for me to channel my frustration with these bills creatively. Some artists paint. I guess I write code.”

As his comparison to painting makes clear, Johnson thinks of computer programming like any other plastic art that may be adapted to political purposes. For him, creating stop-sopa was as much like printing a protest poster as building a more traditional hacktivist tool like DeSOPA. Whether or not anyone else chose to use stop-sopa, the very acts of writing and sharing the code served as expressions of Johnson’s political will and enabled him to feel active in the protest movement.

Although Johnson’s interactive spotlight was particularly clever, cleverness alone cannot account for its runaway popularity. Johnson was not affiliated with any lobbying or advocacy organization, nor was he particularly active on the issue prior to releasing stop-sopa. If not for promotion on popular blogs and messageboards like Boing Boing and Hacker News, it’s easy to imagine that Johnson’s stop-sopa would have been just another anti-SOPA project with a handful of users on github. This randomness, however, suggests that Johnson’s initial experience of writing stop-sopa was likely not unique among the authors of other blackout projects.

In Johnson’s reflection on stop-sopa, the act of computer programming takes on both political and emotional significance within the tactical context of the blackout. Although the popular movement against “anti-piracy” legislation seems likely to grow, the continued role of programming in future protest efforts is not guaranteed. Those programmers who were activated by the blackout will need new opportunities to apply their technical skills. What other sorts of tactics might produce similarly generative circumstances as the blackout? Is it possible to connect code writing more directly to the legislative flows on Capitol Hill?