Subtext Akismet API

Akismet is all the rage among the kids these days for blocking comment spam.  Started by the founder of Wordpress, Matt Mullenweg, Akismet is a RESTful web service used to filter comment spam.  Simply submit a comment to the service and it will give you a thumbs up or thumbs down on whether it thinks the comment is spam.

In order to use Akismet you need to sign up for a free non-commercial API key with WordPress and hope that your blog engine supports the Akismet API.

There are already two Akismet API implementations for ASP.NET, but they are both licensed under the GPL which I won’t allow near Subtext (for more on open source licenses, see my series on the topic).

So I recently implemented an API for Akismet in C# to share with the DasBlog (despite the bitter public mudslinging between blog engines, there is nothing but hugs behind the scenes.) folks as part of the Subtext project, thus it is BSD licensed.

You can download the assembly and source code and take a look.  It is also in the Subtext Subversion repository.

What others have said

Requesting Gravatar... Nicholas Paldino [.NET/C# MVP] Sep 26, 2006 5:23 PM
# re: Subtext Akismet API
If you want, I've already wrapped everything necessary to access the Akismet API. Matt actually has my implementation, and I'd be more than happy to give you mine as well.
Requesting Gravatar... Haacked Sep 26, 2006 5:27 PM
# re: Subtext Akismet API
Sure! I'd love to take a look to compare it to my implementation and see how I can improve mine.
Requesting Gravatar... Keyvan Nayyeri Sep 26, 2006 9:04 PM
# re: Subtext Akismet API
Phil,

I saw another implementation by a German developer. Thomas had used it to write Akismet Spam Rule for our CS Alabaster pack.

Akismet is great but a small issue for their services can kill your blog. One month ago they faced with some problems and we started getting over 100-200 spams everyday.

However, their services help alot ;-)
Requesting Gravatar... Haacked Sep 26, 2006 9:08 PM
# re: Subtext Akismet API
Thanks Keyvan, good to hear. The only implementations I found were licensed under the GPL, which I doubt CS would want to get involved with.
Requesting Gravatar... Christopher Steen Sep 26, 2006 10:12 PM
# Link Listing - September 26, 2006
NHibernate 1.2 Beta1 Released! [Via: Ayende Rahien ] WSCF 0.7: Looking for three *thorough* testers!...
Requesting Gravatar... Bill Graziano Sep 26, 2006 11:41 PM
# re: Subtext Akismet API
I'd really, really like to see an updated build with the two spam trapping options included. The SQLTeam.com blogs are getting 50-100 pieces of spam per day that are getting through ReverseDOS.
Requesting Gravatar... Keyvan Nayyeri Sep 27, 2006 12:43 AM
# re: Subtext Akismet API
The implementation I saw is under GNU and can be found here:
http://www.arnebrachhold.de/2006/04/18/akismet-anti-spam-library-for-the-dotnet-framework

And Thomas, the author of that mod for CS is here:
http://thomasfreudenberg.com/blog/

I actually don't know if free community written Mods for a software should follow the license or not (I'm not a license guy at all :D) but the package we had released was a free one written by some developers for CS and Thomas had included it.
Requesting Gravatar... Keyvan Nayyeri Sep 27, 2006 1:47 AM
# re: Subtext Akismet API
Phil,

Another implementation for .NET 2.0 under GNU is here:
http://www.codeplex.com/Wiki/View.aspx?ProjectName=AkismetApi
Requesting Gravatar... Haacked Sep 27, 2006 2:47 AM
# re: Subtext Akismet API
Thanks Keyvan. Those are both licensed under the GPL which is often called a "viral" license because code that uses GPL licensed code must itself be licensed under a license compatible with the GPL.

Again, I'm no lawyer and this is not legal advice.

In particular, look at section 2. b) of the GPL:

b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.


However, the GPL goes on to say:

Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.


This is such an area of contention which is why the LGPL license was formed.

As for me, I prefer to play it safe.
Requesting Gravatar... Keyvan Nayyeri Sep 27, 2006 4:22 AM
# re: Subtext Akismet API
Cool,

Thanks Phil for explanation :-)
Requesting Gravatar... Joel Thoms Oct 03, 2006 5:22 PM
# re: Subtext Akismet API
After reading this blog entry, I have decided to modify the licensing on my Akismet .Net 2.0 library from GPL to the BSD license.

I have also moved this project to codeplex.com at http://www.codeplex.com/Wiki/View.aspx?ProjectName=AkismetApi.
Requesting Gravatar... Haacked Oct 03, 2006 5:30 PM
# re: Subtext Akismet API
Awesome!
Requesting Gravatar... Joshua Flanagan Oct 05, 2006 9:18 PM
# Akismet support in DasBlog
Requesting Gravatar... Community Blogs Oct 11, 2006 10:27 PM
# A Gotcha Identifying the User's IP Address
Recently I wrote a .NET based Akismet API component for Subtext. In attempting to make as clean as interface
Requesting Gravatar... you've been HAACKED Dec 12, 2006 9:20 AM
# Using WebServer.WebDev For Unit Tests
Using WebServer.WebDev For Unit Tests

What do you have to say?

(will show your gravatar)
Please add 2 and 8 and type the answer here: