We had a Georgia Tech alum, Mike Terry (now at Waterloo), visit us a couple weeks ago. Mike's research is on usability practices in open source. I got a chance to chat with Mike, and we talked about the impacts of open source on computing education, such as high school students getting started with computing by working in open source development. Overall, though, I came away concerned what the growth of open source development means for the future of computing education.
At a time when we are trying to broaden participation in computing, open source development is even more closed and less diverse than commercial software development. Open source is overwhelmingly White or Asian and male. Some estimates suggest that less than 1% of open source developers are female.
Many kids and parents worry that all computer science jobs are being off-shored and that it's not worth studying computing. As more and more of the software we use daily is created via open source development (as some predict), I wonder if kids and parents will hear the message, "Most software developers work for free, or at least, have to work for free for years before they can become professional and get paid for their work." No, of course that's not true. Neither is it true that all IT jobs are being off-shored, but that's still what some people hear and believe.
One of the challenges we have in computing education is convincing people that computing is broad and is about more than programming. Open source values code above all, or as Linux's originator Linux Torvalds said, "Talk is cheap. Show me the code." We're trying to convince students that talk is also valuable in computing.
Finally, Mike's talk was actually about how rare usability practices are in open source development. Of course, that's a concern in itself, but it's particularly problematic for newcomers. When students develop toward being expert professionals, they frequently engage in a process that educators call legitimate peripheral participation (LPP). It's LPP when you start out in a company picking up trash (doing something legitimate on the periphery), and in so doing, hear what's going on and figure out what happens in this company. Students can get started in software development at a company by doing tasks that aren't directly about writing software, but are about the whole enterprise. These legitimate peripheral tasks serve as a stepping stone into the process, like writing documentation or running subjects in usability testing. If you don't have usability testing, you don't have those paths into the process. Breaking into an open source development process is hard, and that keeps more students out than invites them in.
I wrote on this topic in my regular blog, and was surprised at the response. I learned that it is not acceptable to criticize religion, Santa Claus, or open source development--it's a "good" that should just be accepted as such. I disagree. Open source development does generate enormous good (I point out, while using an open source browser and an open source operating system), but it could do more good if it improved its practices. It's hard to change open source development, because of its distributed nature. Open source developers should worry about the messages they send future developers, especially if they hope to realize that potential and grow the development talent pool.
Wow, it seems you and I had very different takeaways from the comments on your Computing Education blog posting. I saw a very civil discourse questioning your underlying assumptions and your specific conclusions -- the most common question was, "compared to what?"
I'm not sure where you saw a group of defensive, hostile developers who were incapable of accepting criticism, and treating their development methodology as a "religion." Could you point out the comments which inspired your last paragraph here?
I also don't quite understand how you conclude that OSS doesn't desire "LPP." Here are some example exhortations from projects big and small:
http://www.kde.org/community/getinvolved/
http://wiki.inkscape.org/wiki/index.php/Inkscape ("Help Inkscape Without Coding")
http://projects.gnome.org/evince/ ("Contribute")
That's just from a sampling of programs currently open on my computer.
While I will praise your efforts to raise awareness of demographic barriers in open source development, I would challenge you to do a better job lining up your arguments and checking your references. Especially when many of your links have little or nothing to do with the statements attributed to them.
You provide a link "more closed and less diverse than commercial software" that links to a National Center for Women in Technology
recruitment flyer. -Which sounds like a wonderful organization, but having read it now 3 times through says nothing about open source being more closed or less diverse.
The next link "overwhelmingly White or Asian and male" links to a OSCON presentation which says a lot about the male/female ratio... but nothing about white/asian demographics. Furthermore, it is a presentation which shows that the open source community is making efforts to draw awareness to the issue and improve the situation.
You attribute a quote to Linus Torvalds: "Talk is cheap. Show me the code." -But that quote is notably absent on the page you link to reference it.
I'll grant you, that that quote certainly sounds like something Linus would say. I have heard it many times in many open source projects. Taken out of context, you use it to imply that talk and conversation are undervalued. However, that saying is most frequently asserted during a conversation about:
1) A potential bug
2) Someone asserting that one implementation is preferable or superior to another
In the first case it is notoriously difficult (http://www.shadowcat.co.uk/blog/matt-s-trout/show-us-the-whole-code/) to isolate a problem without access to the code.
In the second, the noise to signal ratio of conversations quickly become quite poor unless the conversation is rooted in actual code.
Legitimate Peripheral Participation exists in open source communities. Non-developers provide some of the best documentation. For the usibility issues you mention, they are often better at writing documentation, than the actual developers. They often help triage bug and issue tracking systems. And they can gradually move into development by bug testing and submitting tests which reproduce those bugs. And even when they don't gradually move into a developer role, they can become useful and respected members of a project by helping other users on mailing lists and IRC channels.
In your closing paragraph, you disparage the open source community by painting it broadly with the religious zealot/fanatic brush stroke. It is true that open source has its zealots and fanboys. Apple, Microsoft, Google, etc. all have some rather intense supporters whose support relies more heavily on a go team mentality than on solid engineering. However, successful open source projects like the aforementioned companies also tend to have a core of solid engineers and skilled developers.
In closing, I applaud you for raising awareness of gender disparity in open source communities. I would remind you that correlation does not imply causation. There are many causes of a gender gap. My current employer has roughly 33% women developers in my department. When I started it was 0%. Things are getting better. That isn't an excuse to be complacent or dismissive of problems where they exist. We can and should strive to do better.
My apologies if my references were unclear. Garrett, you're right, the NCWIT piece I cited doesn't say anything about open source. It does state that women fill about 24% of IT jobs, which is more than the 1.5% women in the EU-sponsored FLOSSPOLS survey which I did cite. (I do see the "Talk is cheap." quote on the cited WikiQuote page.) Kirby, much of the response to that blog post was not in the comments, e.g.: http://computinged.wordpress.com/2010/01/24/the-slice-is-not-the-whole-folk-pedagogues-and-open-source/.
Kirby, I'm not claiming that open source doesn't desire LPP. It simply isn't happening for people not White or Asian or male. Whatever is happening to draw in a more diverse crowd, to get a more diverse group involved in the periphery -- it isn't working. There are lots of incentives for women and minorities to get involved in commercial software development, but that 24% number is pretty paltry. That's why efforts like BPC and NCWIT exist, to try to figure out how to go beyond those incentives to get the diverse workforce that will lead to better and more innovative designs. Open source has even more paltry numbers. Sure, there are opportunities. Women and members of minority groups aren't taking those opportunities. What is open source development doing to sweeten the pot, to make their development process more open? Why aren't women and minorities taking those opportunities? What else might be going on to keep out women and minorities from open source? Maybe the open source community feels that it's enough to simply open the door to women and minorities. The findings from commercial software development suggest that that's not enough if you really want greater diversity.
Displaying all 3 comments