Greasemonkey and Ethics

I’ll be the first to agree that Greasemonkey is really, really cool :) Up until about a week ago, GM scripts had been little Javascript scripts that were designed to make browsing specific pages that little bit easier. Simon Willison’s Fixing Paul Graham’s Footnotes script is a good example — a quick script knocked up to make browsing Paul Graham’s site a bit easier.

Then things like Lickr started appearing. This is suddenly a whole different matter — you’re changing the way the author designed the page to function, not just doing something angelic like turning footnotes into links! Ethics came into the question, and when ethics comes into something, things start to get a lot more interesting.

The problem with this issue is that it has so much potential power. Imagine IT support installs GM scripts on a whole load of a company’s computers to fix a bug in some 3rd party web application they use internally. That may seem like the perfect solution to the IT support team but think of it from the points of view of the people who wrote the (commercial) software. Their software isn’t open source, but it’s being treated as such: features are being added completely independently of the authors intentions. Hell, the whole project could be forked if the GM script authors were clever enough.

GM allows you control over the development of web applications which may be closed source. Good news for the open source activists, but bad news for the people trying to earn a living off writing web applications.

Next issue: the user may not even notice. I can quite easily imagine a world where it’s impossible to decern where the web page ends and user scripts start. May be okay in some circumstances, but what happens if the web page is an article on a controversial topic? The author’s views could be changed in the mind of the user. Fair enough, it’d have to be either a malicious or stupid user script installed for that to happen, but don’t disregard the possibility. Seriously. You’ll see a joke script in a couple of months that turns any web page into Klingon but it won’t be long before someone realises the harm they could do, not to people’s systems, but to people’s reputations.

I’m not going to offer any coded solutions here because I don’t think it’d be possible. People just need to take care when installing GM scripts: make sure they know (preferably from someone other than the script author) exactly what the script does. As for adding features, I’m yet to form an opinion on whether it’s okay or not. I guess something as innocuous as adding persistent searches to Gmail is okay, but this could develop in some very interesting and controversial ways :)