When I teach open source development, the very first thing I do is get students blogging. It's a trick I learned from Chris. Last week we spent the entire week learning to use blogs, blog planets, wikis, irc, newsgroups, teleconferences, twitter, etc. Why take so much time teaching students how to use that many parallel communication channels? Shouldn't we be teaching important stuff like licensing first? No, I don't think so.
Open source development is globally distributed, collaborative and community based work. You can't do it at all without understanding this. Open source means working in a community, and working in a community means that you have to go where the community is. In the case of Mozilla (and pretty much all large open source projects), you have to get on the web and really learn how to use it. Mozilla uses just about all of the web in one way or another. My experience is that students coming into the course use a fraction of it. So our first job is to fix that and teach them how the web works.
So we get them blogging day 1, because blogging is at the heart of what the web is all about. This week I've been reading student posts as they learn how to write for the web. I spent a few minutes at the start of class just scrolling through all the posts, and asked them what they noticed. Nothing really stood out to them. It just looked like a lot of text. The very first thing I noticed was exactly the same thing, or more specifically, that their posts were all in black. There wasn't a link to be found on any of them.
Learning to write for the web takes time. Like all good writing, it is informed by reading, and before you can really learn to write for the web, you have to start reading it. When you do, you notice that the web is not named accidentally: the web is lots of loosely connected things, with space in between for yet more connections. It's perhaps too obvious to say this, but reading these posts, I realized that the obvious is only obvious when you've come to know it. The web isn't a set of destinations, or a collection of content. It's a provisional series of paths.
Writing for the web means learning how to do two things well. First, it means learning how to respond to things you read (which, of course, implies reading). The web is an ongoing conversation and evolving mashup. You know you're doing it right when your starting point for writing is a reflection on something you've seen somewhere else online, or something in the real world you're pulling online. The primary mode of expression on the web is personal response.
The second thing you have to do is write yourself into the web. This means using links. Not only do you need to respond, you need to provide a way back to your sources. Response doesn't negate the need to read the whole thing; it makes the original even more important by layering further readings on top of it.
I'll leave you with a quotation from a recent post by James, who does a better job than me showing how this works:
The recent series of posts here about learning, thinking and education were triggered by my friend Luke Hill’s post, which then led me to a post by Dave Humphrey, who was referencing a post by Eugene Wallingford, who was inspired to write in part because of a conversation on Twitter (which was initiated by one of his students). As a result of the dialogue, I now find myself reading the blog of an elementary school principal in Windsor as well. The internet is an amazing thing, kids. This is yet another classic example of “blogosphere learning” that I was contemplating earlier: this is now a conversation of hyperlinks, informed by unique geographies and contexts, providing a platform for discussion that could not exist apart from the technological engine itself.