Stemming is something that\'s needed in tagging systems. I use delicious, and I don\'t have time to manage and prune my tags. I\'m a bit more careful with my blog, but it
Lucene has a stemmer in, I believe (and IIRC it lets you use your own one if you want).
EDIT: Just checked, and Lucence refers to the Snowball site which is an open source stemming library as far as I can tell.
Another option for stemming would be WordNet, along with one of its APIs. Some basic information on stemming and lemmatization, including a description of the Porter stemming algorithm, can be found online in Introduction to Information Retrieval.
Check out the nltk toolkit written in python. It has a very functional stemmer.
Snowball stemmer (C & Java) I've used it's Python binding, PyStemmer