Akismet Plugin for PyBlosxom

I apologize for boring the vast majority of my readers who do not use PyBlosxom but I’m trying to at least mention each "released" projects here once for the sake of completeness — even if it’s only interesting to a small number of them.

I posted a note a few months ago mentioning a stronger CAPTCHA I had created to deal with blog spam. A few friends pointed out that they were having excellent luck with Akismet which filters using a model similar to some of those old collaborative spam filters.

Building off earlier work, I build an Akismet plugin for PyBlosxom. I’ve gone through a couple of iterations on the PyBlosxom lists and the results have been great. If you use don’t use PyBlosxom, there are plugins for WordPress (where the system originated) and I imagine for other blogging systems as well. Its an effective and attractive alternative to a CAPTCHA.

You can grab my plugin on my PyBlosxom hacks page

Revelation

Once, a friend of mine was cleaning a small tube and asked me to pass him a pipe cleaner.

Immediately and simultaneously, I both realized that I had never questioned the name of my favorite craft supply and understood the answer to the question completely.

Moments like this are like tiny tastes of enlightenment.

Software Freedom Curriculum

About a year ago, I was working on OLPC during most of the time and thinking a lot about software freedom in the context of the project. My blog post on OLPC and Charges of Technological and Cultural Imperialism from last December is a great example of my thinking out loud about some of the issues.

The attractive thing to me about OLPC was the idea of students getting a real, free software, free hardware, truly open platform unlike phones, calculators, and eBooks: closed paternalist platforms that seem to be the only real alternatives. This is a goal that OLPC has not achieved yet but has already come quite close to.

People say that because modifying technology is often difficult, only a small percentage of users — especially young users — will take advantage of the malleability or "hackability" of a product. They are probably right. But part of why this happens is because when computers are employed in education, we use them as tools to accomplish predefined and preprogrammed tasks. Even when students learn to program, it’s in a window (quite literally in a box) separate from the rest of the things that the computer does.

And for someone working on a project in part so that they can spread technological freedom, this is a problem. Consider the fact that with only a small number of exceptions, the only advocates of software freedom I know are programmers or hackers. I don’t think that this is because of some "programmer’s sensibility" but rather because programmers understand a set of things about the malleability of software and the nature, effect, and context of computation that gives them perspective to understand how a concept like freedom might apply to something like software. In other words, to understand software freedom, you must first understand — really understand — what software is and what it is not, how it makes things possible and impossible, and how changing it can have important effects.

The mentality I’ve described is currently a "hacker’s sensibility" but I don’t believe that you need to be a hacker to understand why software freedom is important. Proof, I think, is the fact that people think that a free press is important even if they don’t publish or write very well.

As an exercise, I took it on myself to write the beginning of a curriculum that teachers could use to teach students about software freedom and the concepts that I think are key to understanding it. It tries to come up with models for framing discussions and a series of activities to help teachers teach relatively young (i.e., middle school students) about issues of computation, information goods, and ultimately about software freedom.

I wrote the curriculum about a year ago, showed it to a few teachers and colleagues, and then sat on it because I wasn’t sure what to do with it and because I was concerned by my own lack of experience teaching outside of Universities. I’m still not entirely sure about incredibly basic things like what form a curriculum should take for this age group.

I noticed recently that Wikiversity launched in August and it seems like the perfect place to put my curriculum for consumption by the world and for collaboration, discussion, and further development. You can see what I’ve got from this page and the pages linked from it:

http://en.wikiversity.org/wiki/Software_Freedom

The project still needs lots of work. It needs to be threshed out on its own terms and it needs to be broken down and integrated into Wikiversity as a series of learning projects, learning activities, etc. I’ve looked at the documentation around Wikiversity and I can neither understand how to do this nor find examples of large curricula in Wikiversity to which this has already been done. If you have experience on Wikiversity, your help would be welcome.

If you are interested in using part of the curriculum, I would love to hear from you and to see your edits on the wiki.

I ♥ MIT Libraries

There are many things at MIT that I find I want to distance myself from (e.g., much of the military related research). Recently though, the MIT Libraries have been giving me a number of reasons to be proud to be an MIT graduate student.

MIT has taken the brave step of the being one of the first major research universities to throw a stone at the publishers in the whole Open Access, scholarly publishing debate. The libraries have put up a bunch of information on open access issues and have created a copyright amendment form for all scholarly publication that will allow the institute and its authors to retain copyright over their work for publication in the institute archives, on the author’s website, or even in an open access repository like PubMed Central. More importantly, MIT Libraries are offering to do all of the negotiation with the publishers on behalf of the authors. When it is MIT as a whole, and not just the one graduate student, post-doc, or professor on their own, it puts the authors in a much stronger to retain the openness of their work. It’s not victory, but it’s an important and essential step toward open access for scholarly publishing.

But that’s not it! The libraries have also recently stood up to Hoover’s Online’s attempt to hold the libraries responsible for, "activity Hoovers deemed — or even suspected — was fraudulent." When Hoover’s gave the libraries the choice of saying yes to a set of unreasonable terms or walking away from an important research tool, MIT Libraries made the difficult but correct choice and walked away. Making a choice like that will surely get the libraries a lot of flak from MIT scholars who use Hoover’s. But MIT made the right decision by standing up for their principles.

The effect of large, powerful institution like MIT is usually to maintain the status quo. There’s clearly a lot of external pressure from funders, politicians, etc. and internal pressure from academics and students who are doing well by the current system. MIT Libraries are using their power to make the whole system better and I haven’t ever been as proud to be an MIT student.

MVS

About a 6 weeks ago, I uploaded a great piece of software into Debian. The package is libwww-mediawiki-client-perl but you can also get it by installing the package mvs. The software seems to be a couple years old — but it’s new to me and I’m been thrilled with it so I thought I would share.

The package is a library but its usefulness to me centers around a cute little command-line wrapper to the library called mvs. mvs essentially provides a simple CVS-like interface to an instance of Mediawiki that facilitates offline editing of Mediawiki pages and much more.

Here’s a quick little walk-through that I wrote for the README.Debian file that might give someone a pretty good description of how the software works:

Step 1: make a directory to store pages from this Mediawiki instance:

 mkdir en-wp cd en-wp 

Step 2: log in to the host with your username/password:

 mvs login -d wikipedia.org -l en -u 'Benjamin Mako Hill' -p password 

Step 3: download a page that you want to edit by adding ".wiki" to the end:

 mvs update Granrojo.wiki 

Step 4: edit the file to make changes:

 vim Granrojo.wiki 

Step 5: preview your changes:

 mvs preview Granrojo.wiki 

Step 6: commit your changes into the wiki:

 mvs commit --minor yes -m 'made spelling fix' Granrojo.wiki 

And that’s all there is to it! It brings a whole series of things that were almost prohibitively difficult through the web interface into reach (e.g., diffing two different pages to see if they’ve diverged) and its changed the way that I interact with Wikipedia in some exciting ways.

Thanks to Mark Jaroski for writing and maintaining the software!

PyBlosxom Hacks Page

Since my weblog catastrophe a few months ago, I’ve been spending a little more time getting my PyBlosxom setup on copyrighteous into shape.

Initially, my efforts were focused on a series of patches to PyBlosxom and to several important plugins. As I became a little more familiar with the code base, I realized that in an evening or a little bit of downtime, I can pretty easily create my own plugins. I’ve already managed to accumulate a few of them.

I’ve created a page on my website to hosts these and have put what I’ve got publishable so far up there. I’ve got two more that I’m still in the process of vetting on the PyBlosxom mailing list but that I’ll post there (and announce on this blog) soon.

The first plugin that I’ve published there is a very simple plugin I wrote to display ads (I am experimenting with Google ads but it should work with other ad providers or even for non-ads) but only to those who get to my old blog entries by searching for them.

My thinking was inspired by an old post by my friend Evan where he described setting up Google advertisements in a way that would not affect his core readership but might allow him to use blogging to make his activism financially sustainable. While I suspect (and hope!) that most my own readership’s Internet experience is mediated by Adblock and Filterset.G, the plugin will spare even those that don’t while showing ads to those I don’t know yet.

PLoStitution

I went to two talks yesterday about PLoS ONE, an exciting new project by the Public Library of Science. I’m thrilled to see PLoS moving in this direction.

During his talk, Chris Surridge mentioned that the the publishing platform/CMS that PLoS ONE is using is based on Fedora. I mentioned that Fedora, last I checked, wasn’t exactly a CMS, a fact that he acknowledged but responded to by saying that I would need to talk to their tech team for details.

Today I found out that neither ideological affinity nor geographic proximity to Red Hat kept the University of Virginia from choosing the wrong name for their Institutional Repository (IR) software. But at least yesterday’s confusion is put to rest.

Also, Surridge had a slide with this quote and challenged the audience to come up with the utterer:

The most valuable commodity I know of is information.

I did a quick "I’m feeling lucky" search and was thrilled to see that I came up with this page informing me that I, "do not have rights to view the article" containing the answer but that the information could be mine for a cool GBP £13.00 (plus a handling charge of GBP £1.50 and VAT where applicable).

The phrase, it turns out, belongs to Gordon Gekko, a corporate raider character in the 1987 film Wall Street.

Finally, and least importantly, I object to this image:

/copyrighteous/images/openaccess20.gif

Who Gets To Be on Planet Debian?

I’ve been spending more time that I want to in the last week talking about should or should not be on Planet Debian. In particular, there is some disagreement on what should happen to the blogs of people who resign from the project.

In the interest of my own sanity, here is the text I just posted on the wiki page that talks about Planet Debian:

Planet Debian is for any active and directly involved participant in the Debian development community. Inclusion in Planet should reflect a relationship that already exists — it is not meant to create one. Inclusion is not restricted to people who are currently Debian developers nor are ex-developers necessarily barred from inclusion.

Defining activity and direct involvement is tough and there are many ways of participating in Debian (e.g., packaging, translations, administration, etc). I am happy to consider all of these types of involvement for the purposes of inclusion in Planet. In terms of deciding what is enough activity, I am daunted by the fact that there has been academic research on the difficulties of deciding what an active member in Debian is. As a result I will continue to rely primarily on what blog owners themselves feel unless the evidence available to me points to the contrary.

Planet participants should include feeds that provide stable permanent URLs so that they do not flood planet repeatedly and should include content in English only. An inability to do either of these will be grounds for exclusion from Planet until this can be fixed.

In the past, I’ve made incorrect assumptions about whether people did or did not want to be included in Planet. I’ve apologized to those involved. In the future, I will ask people that appear inactive to me or that have resigned from the project if they feel that they still qualify under the terms above. If I approach you about inclusion in Planet, please don’t be offended or assume that I, or the project, doesn’t want you on Planet. There are feeds in Planet Debian that annoy me but I have yet to remove a feed from Planet that I dislike.

Holidays

Yesterday was Columbus Day. It is a national holiday but is less consistently celebrated, for a variety of reasons, than any other state holiday in the United States. MIT took Columbus Day (and the day after!) off while my class at Harvard went ahead as scheduled.

I saw Luis this weekend but he had to run off on Sunday because Columbia University, of all places, apparently does not celebrate Columbus day.

Liberate Your iPod

I had the idea for an iPod liberation event several months ago. The idea is something similar to a GNU/Linux install-fest but for Digital Audio Players with RockBox and iPodLinux. Installers gain the ability to play Vorbis and FLAC (among many other things) and lose the ability to do DRM. I would never recommend buying an iPod but we need to face the fact that there are millions of these things now. A good reinstall with a free and open platform seems like a good start.

With the help of Harvard Free Culture, Defective By Design, and Computing Counter-Culture (my recently renamed research group at the MIT Media Lab), I’ve finally got around to organizing an event.

If you’re in the Cambridge/Boston area this Friday evening (October 6) and want to liberate your iPod, you should read the details and show up. If you’ve already liberated your iPod and would like to help others with theirs, you should bring a laptop and get there a bit early.

More information is available on the Harvard Free Culture website.

Working in Concert

Unfortunately, I couldn’t make it to the Creative Commons Concert in New York City last weekend. All proceeds for the concert went to Creative Commons.

Now I may be wrong about this and will happily stand corrected if I am, but, as far as I can tell, none of the artists performing at the benefit have ever released an album or a major piece of work under a Creative Commons license — even the restrictive and non-free licenses.

The free culture movement needs some things more than money. For example, it needs high quality creative works under permissive licenses. We’d be better off with the good press associated with one hit single under a CC BY-SA license than all of the proceeds of a benefit like Friday’s. It might also be nice to highlight the great work being done by artists who are risking more secure economic models in favor of releasing their works under free licenses.

Or perhaps this reminds us of another important conversation: Why are many popular musicians who are willing to support CC unwilling or unable to use the licenses? More importantly, how are we going to change this?

iPain

On Wednesday, I walked into a tree branch. In what is apparently not an unusual turn of events, I ended up with a corneal abrasion (i.e., a laceration on my eyeball). It has hurt my ability to do work because it hurts intensely when I try to, well, look at things.

My friend asked me what kind of tree it was. Interestingly, while my eyes (or my right eye at the very least) was open when I ran into the tree, I don’t recall getting a good look at it.

Who Gets to Define Freedom?

Recently, I had an opportunity to publicly discuss my projects around definitions of freedom for creative work with Lawrence Lessig at a workshop at Wizards of OS. In particular, we talked about my article Toward a Standard of Freedom in which I advance a call for a list of essential freedoms, a definition of free culture or content, and a goal around which a social movement for free creative works can be based.

At WOS, Lessig and I agreed that its likely that, eventually, some standard (or standards) of freedom will take hold. Like me, Lessig seems to think that this is a good thing. We both agree that there will be, and should be, competing definitions of freedom, competing social movements, and a long conversation about what essential freedom really to creative works is before we get there.

Our most fundamental differences seem to stem from a disagreement about who gets to define freedom or, perhaps more precisely, who the communities of producers should listen to in order to find out what essential freedoms in the domain of different types of creative works are.

Lessig is extremely reticent to make any claims about what essential freedoms might be: he does not want to speak for creative communities that he does not intimately understand. While he seems to be suspect of any project making normative claims in this regard, he disagrees most strongly with projects like mine that offer definitions of free content and expressions that are intended to be applied broadly and outside of the explicit domain of the definition’s initiators recognized experience (in our case, online encyclopedias and software).

Lessig explained that he trusts musicians — and in particular, Gilberto Gil, the progenitor of the CC Sampling license — when it comes to defining essential freedoms for music. Similarly, he trusts programmers — and in particular, Richard Stallman — when it comes to defining essential freedom for software. Since Richard and I are less accomplished, less well known, and less experienced musicians, Lessig feels most comfortable erring in favor of Gil where there’s a disagreement between us about the scope of essential freedom for music. While his is a convincing argument, I disagree with Lessig’s position for a series of reasons I’ll try to discuss here.

First, it is important to remember that Gilberto Gil does not represent all musicians. There are many artists and musicians who support my definition. There are many (and probably more if the CC license usage statistics are any indication) who support Gil’s lower base-line. It’s worth remembering that, even though we disagree, both Gil and I are offering controversial and extreme positions. Today, most creators think that giving away their work at no cost, even non-commercially and barring derivatives, is crazy.

To illustrate why this is not a problem, we can look again to free software. In the free software community, we see that Richard Stallman does not speak for the programming community at large when it comes to defining essential freedoms to code. In the mid-eighties, Stallman spoke for himself and a tiny handful of like-minded others. Today he speaks for many more but it’s still a tiny fraction of all programmers. It’s hard to remember when you’re down in the trenches but the idea that software should be free remains a marginal and kooky idea to this day. Due to the hard work of the free software movement, many people have adopted Stallman’s definition of essential freedom for software and many more will. But it is not mainstream and it didn’t get here by being so.

Setting an ethical standard and a goal for a social movement should not be about being popular. It should be about describing an ideal. It should be about standing up to injustice. It should be about answering the question, "what sort of world do I want to live in?" Not only is this process not a popularity contest, it will, in all likelihood, stand to make one very unpopular.

Being respected or seen as an expert within a field will help with the adoption of one’s ideal. Programmers trusted Richards Stallman because he’d written large parts of the very popular programming tools like GNU Emacs and GCC. However, it wasn’t from his experience in programming that this insight into the importance of software freedom stemmed. It was from his desire to be a good, ethical, neighbor and member of a technical community. To this day, most great programmers continue to disagree with Richard.

Second, I’m interested not only in talking about the ability of authors to choose how their works are used but in the rights of readers. You don’t need to have a platinum album under your belt to have an informed and important opinion about how music should be heard, experienced and distributed. Lessig’s current push for a "Read-Write Culture" is very fixated on creators and re-mixers. That’s only one important piece of the community that frames and deals with this problem.

Third, while I agree with Lessig that discussions around definitions of free culture must happen separately in each separate artist community, I see several compelling reasons why a single definition of freedom may be a very good idea both tactically and philosophically. For example, it provides a common rallying cry around which different creative groups can collaborate and it mirrors the common treatment of different types of works in current IP systems. More importantly, there are fundamental similarities between information goods and the way they are created, distributed, and consumed on computers and in digital networks. I’ve highlighted this before in quoting Eben Moglen on the ethics of creating artificial scarcity in goods with zero marginal cost.

As a final note, it’s worth stating that one doesn’t need to feel that all works should be free to support a definition of freedom. Richard Stallman provides a great example of this. Stallman doesn’t think that works of opinion or works that are designed primarily to entertain need to be free. However, he does believe that the term "free" should refer to a fixed set of freedoms so that he can take such a position. Without a definition of "free," a position on what should or should not be "free" is impossible.

I believe that freedom to distribute and produce information goods like art and content and software are embedded in a set of freedoms and rights for both the producers and consumers. I think that to some degree (and quite probably a less extensive degree), Lessig agrees with this. Unlike Lessig, I don’t believe that one needs extensive expertise in the creation of a particular type of creative good to make true statements about what is ethical or unethical in the production, distribution, and control of it. To use admittedly extreme analogies, you don’t need to be a slave owner (or slave for that matter) to say that slavery is wrong. You don’t need to be a farmer to make arguments against or in favor of vegetarianism or in favor of free range animals. I don’t believe you have to be a technologist to c
laim that certain freedoms to technology are essential. I don’t believe that you need to be an musician (successful or not) to make claims about essential rights to music.

I welcomed the conversations and challenges that Lessig offered and it was encouraging to see agreement on the process of discussion and debate going forward. After the workshop, Lessig suggested that we continue the conversation. I look forward to doing just this in other venues and in other ways.