An Art History Major Teaching Programming, Part 2

This is part two of a three part series I’m writing on what it’s like teaching programming as a one-time art history major.  If you missed it, you can read part one here.

Part 2: Open Source is our Salon des Indépendants


Public displays of art have been essential to developing artistic communities throughout history. But at various points in history, groups such as Academies or Guilds controlled when exhibitions happened, who could show work, and what kind of work could be shown. In 19th century Paris, a group of artists organized a series of alternative exhibitions called the Salon des Indépendants that gave artists a direct outlet to the public and other artists, with no mediating Academic jury. Open source code has played a similar role in freedom of expression for programmers over the past few decades, and forms an invaluable tool for those of use who teach code.

Creating space

The original salons were periodic exhibitions curated by the French Academy. The Academy’s juries of “experts” selected the works for inclusion and rejected much of the most innovative work going on in Paris in the 1890s. In response, the Salon des Indépendants was formed in 1893 and exhibited works by the day’s avant-garde artists like Paul Gauguin, Henri de Toulouse-Lautrec, and Georges Seurat. The major break this independent Salon had with the Academy was that there was no admission jury deciding which works were selected. Open source has done the same for programming: no company, publisher, or official approval is required to exhibit one’s code to the public. The Salon des Indépendants was the birthplace of some of the early 20th century’s most influential artistic movements, and a similar explosion in creativity is happening today in open source.

Tobeen painting
A painting by Felix Elie Tobeen shown at the 1912 Salon des Indépendants

Showing off

Exhibiting in a gallery is in part an act of “showing off”: asking for others’ attention. But showing off can be about much more than feeding an ego: it’s an important part of how artists and their audiences evolve together. The audience need not be big.  In fact, some famous artists such as Cezanne showed their work to very few people during their lifetimes. In Cezanne’s case, one of those few people just happened to be Picasso. Regardless of the size of the audience, “showing off” allows for the back-and-forth interactions that provide fertile ground for an artist’s creative evolution.

Similarly, open source projects have an element of spectacle to them that helps identify, reach, and influence a specific audience. When Django says it is “The web framework for perfectionists with deadlines” or Octopress says it’s “A blogging framework for hackers” this is both an explicit delineation of the projects’ audience and an invitation to join that audience. Each project has a co-evolved audience that now gives them substance and impact within the software community. This has been possible because their code is open source.

Octopress logo
How Octopress presents itself to its audience.

Joining the conversation

Unlike museums – which primarily show finished, vetted, canonical work with little context – the sharing of unvetted, sometimes inchoate ideas can be a source of real and direct collaboration with other artists. In programming, closed source is like a cold museum: displaying a finished product with little opportunity to directly examine it or interact with its creator. Museums have been a source of great inspiration for artists, to be sure, and closed source projects can indeed inspire. But few great artists have developed without a broader artistic community to participate in. Art and programming are cultural conversations carried on within groups of individuals. Open source forms the space for this conversation to happen for code, just as the Salon des Indépendants opened space for a new conversation in its time.


Next Up: The Final Post. Exhibitions of work are extremely important, but deep mastery often requires going behind the scenes to study how others work. In the final part of this series, I’ll discuss how in-person events such as meetups play the role of Studio visits, encouraging a cross-pollination of ideas from coder to coder. See you then!