Projects on the Move

Why are there so few female programmers on the open source scene? A discussion in the Ruby community reveals some unpleasant answers. In other news, the Uget download manager celebrates a comeback.

Thoughtlessness in Open Source is what Luis Villa, formerly of Ximian and Novell, called his blog entry [1] about the Golden Gate Ruby Conference (GoGaRuCo) incident that occurred at the April event [2]. The bone of contention revolved around a talk by developer Matt Aimonetti, who tried to give his presentation on CouchDB [3] a humorous touch by embedding it in a metaphorical context. In the talk, called "CouchDB: Perform like a pr0n star," Aimonetti used pornographic images to illustrate the topic.

One slide in Aimonetti's CouchDB presentation showed several women in explicit poses fawning over a man and is supposed to illustrate CouchDB's "public interfaces." Viagra was used as a synonym for the reliability of the database system, and the title slide looked more like an ad for women's underwear.

All the remaining slides were full of similar sexual innuendo. Furthermore, Aimonetti inserted pornographic images between slides with the objective of keeping the audience awake. Aimonetti's presentation slides are available online [4]; thankfully, the pornographic images have since been removed.

For years, open source enthusiasts have debated about how to open up the technology scene to more women and how to help improve their careers in IT. For example, RailsConf 2009 included a discussion about women in Rails [5]. Most people agree that incidents such as Aimonetti's presentation work against this objective.

Villa refers to Aimonetti's presentation style as thoughtless, as the presentation ignores the reality that of the 200 visitors to the Golden Gate Ruby Conference, six were women. Web and Ruby pioneer Sarah Mei attended the controversial talk, and in her blog, she sums up the effect of the images Aimonetti used, saying that although this wasn't a direct attack, illustrations of this kind make a woman alone in a room full of men feel marginalized, or even scared: "To most of these men around me, I am, at best, an oddity, and at worst, a sexual target" [6]. This discomfort could be more than enough to scare some women out of the community entirely.

The gender disparity is not illustrated by the questionable presentation itself; in fact, the presentation probably would have disappeared into obscurity fairly quickly had the ensuing discussion not demonstrated the inability of some participants to comprehend the underlying issues.

Although Aimonetti expressed on Twitter his regrets that his presentation had been perceived as an attack by some, he emphasized that, in retrospect, he would not change anything. Furthermore, Rails developer David Heinemeier Hansson posted to Twitter, "I'd much rather we went with beautiful women for the filler stock art. Works in ads."

Heinemeier Hansson doesn't seem to understand that very few people are likely to feel comfortable in a community where they are only expected to play the role of human advertising material. The insensitivity that Ruby VIPs demonstrate in the face of numerous, anonymous comments online helps illustrate one of the major reasons for the marginal participation of women at open source community events.

In the course of time, the discussion became less heated, and Aimonetti commented on Mei's blog [6], saying "I would probably try to make the slides less 'male oriented' even tho that might shock other people."

This reluctant admission shows how necessary the discussion is – Aimonetti may not be the only one to have given additional thought to why the open source community isn't more diverse. Ignoring the hurt feelings of minorities just to keep the peace, an approach that some commentators proposed, might have encouraged similar incidents. The vicious circle of single-sex domination and "locker-room behavior" [7] will not stop of its own accord.

To be proactive about social imbalance, Aaron Quint, also a long-term Ruby developer, finished his contribution to the debate with a call for donations [8]. Quint wants the money to go to one or more organizations that offer Ruby courses at schools or provide targeted support to female programmers. The details were not fixed at print time and will depend on the amount of money raised.

Quint demonstrated how seriously he takes the problem by donating US$ 500. At the same time, he knows the community has a long way to go and that money alone is not the solution. Quint says, "Let's try to ensure that GoGaRuCo 2025 is an awesome gathering."

Despite the controversy, most stakeholders were quick to point out that, for the most part, they feel comfortable with the Ruby community and incidents such as the one at GoGaRuCo 2009 and the ensuing discussions are attributable to a few individuals.

Uget

Over time, open source projects appear and disappear. Uget [9] is currently celebrating its comeback after a two-year development gap (Figure 2).

Over its five-year history, the download manager has had various names, such as Urlget and Urlgfe. Developer Raymond Huang explains that having to work for a living has provoked development gaps of up to several months. But much progress has been made since last December, and the project again has a new name.

When launched, Uget waits in the background monitoring the clipboard for URLs that define the files to download. Then it automatically opens the New Download dialog that lets users define properties (Figure 3). Of course, users can disable the Clipboard Monitor and launch downloads manually.

One special feature of Uget is its ability to categorize downloads. Categories can be used to define the target directory, the username and password (if needed), and proxy configurations. Users can also define thresholds for the number of simultaneous downloads on the basis of the selected category.

A basic HTML parser is also included; rather than rendering websites, it's used to extract the download links from them. With this function, you only need to copy the URL for an overview page into the Import dialog and select the file you need from the list Uget presents. In reverse, in Export mode, Uget inspects a collection of downloads and generates HTML code that can be embedded in a homepage.

The current version of Uget is available from the homepage, where you have a choice between the stable and developer versions. The Subversion repository [10] has the latest code.

Uget developer Huang relies on the Gtk library for the GUI. Now that Gtk is available for Windows, this does not mean ignoring the general trend toward platform independence. As a consequence, you can build Uget on 32-bit Windows as well as Linux and Unix derivates, as long as you have the required libraries in place.