[uf-discuss] Unjust banning of Andy Mabbett

Manu Sporny msporny at digitalbazaar.com
Sat Mar 8 13:45:52 PST 2008

I just got back from vacation, otherwise this would have gone out
sooner. It has come to my attention that Andy Mabbett has been banned by
the admins for 18 months[1].

This is an unjust punishment, especially considering that he is one of
the largest contributors to our community. Rather than make sweeping
assertions and accusations, I'm going to back this post up with hard
data. Here are the statements that will be addressed:

- Andy is one of our most prolific contributors, this community will be
  harmed by such a long-term ban.
- An 18 month ban does not fit Andy's behavior - it is an unjust
- Andy was tried as guilty, without complete documentation.
- Andy pushes the limits in this community, and because of him, we know
  what is and is not acceptable in this community.
- Andy says what some of the rest of us are thinking, and he shouldn't
  be banned for such an extreme length of time for voicing his opinion.

Andy is one of our most prolific contributors

Maybe most of you are unaware of Andy's contributions to this community.
I took the time to write a script to download and analyze the entire
history on Microformats.org's mailing lists (the script is attached to
this e-mail). Here are the top contributors to the microformats-discuss
mailing list:

        andy mabbett - 1133 posts - 9.68% of contributions
           ryan king - 885  posts - 7.56% of contributions
        tantek celik - 833  posts - 7.11% of contributions
        scott reynen - 504  posts - 4.30% of contributions
          brian suda - 467  posts - 3.99% of contributions
         david janes - 432  posts - 3.69% of contributions
       chris messina - 388  posts - 3.31% of contributions
   charles krempeaux - 233  posts - 1.99% of contributions
       mike schinkel - 193  posts - 1.65% of contributions
 dr. ernie prabhakar - 188  posts - 1.61% of contributions
         danny ayers - 171  posts - 1.46% of contributions
         kevin marks - 145  posts - 1.24% of contributions
      ciaran mcnulty - 135  posts - 1.15% of contributions
    frances berriman - 134  posts - 1.14% of contributions
            ben ward - 126  posts - 1.08% of contributions
       bruce d'arcus - 120  posts - 1.02% of contributions
        paul wilkins - 119  posts - 1.02% of contributions
     dimitri glazkov - 110  posts - 0.94% of contributions
       benjamin west - 107  posts - 0.91% of contributions

Here are the top-10 contributors to the microformats-new mailing list:

         manu sporny - 298 posts - 19.13% of contributions
       martin mcevoy - 238 posts - 15.28% of contributions
        andy mabbett - 182 posts - 11.68% of contributions
        scott reynen - 148 posts - 9.50% of contributions
          brian suda -  62 posts - 3.98% of contributions
        tantek celik -  37 posts - 2.37% of contributions
         david janes -  36 posts - 2.31% of contributions
    guillaume lebleu -  27 posts - 1.73% of contributions
    frances berriman -  26 posts - 1.67% of contributions
      julian stahnke -  20 posts - 1.28% of contributions

It is quite evident from this data that Andy has produced more than
anyone else in this community, even assuming that 10% of the threads
that he starts result in a ban on his account. I know of no other
community that would treat one of their primary contributors in this manner.

An 18 month ban doesn't fit Andy's behavior

Banning somebody for 18 months is quite a serious amount of time, and
while the admins might not have come to the decision lightly, I do
question whether the punishment is justified. If you look at the
documented rules that were added/changed due to Andy[2], you will note
that a whopping 13 of the 17 are EDITORIAL rules. The other 4 are
behavioral rules that Andy has broken in the past (as have several
others on the mailing list). I am not defending bad behavior, just
noting that part of the reason that Andy is being banned is due to these
EDITORIAL rules that he has broken and I don't think that an 18 month
ban is justified for breaking editorial rules.

His behavior as of late has been much calmer and more respectful, so I
see no reason why this ban has appeared, seemingly out of the blue, at
this time.

Andy was tried as guilty, without complete documentation

There is still no documentation as to what Andy has done in the past to
warrant this type of ban. In the admin's post to the list, the following
was mentioned:

> As time permits, the admins will both hyperlink each of those
> annotations to the specific email in the archives or edit in the wiki
> history that caused it, as well as annotate any remaining rules with
> their causes as well.  We believe this will help provide better
> transparency and accountability.

The time to generate transparency and accountability is BEFORE a ban,
not after. This is why people are tried as innocent in most parts of the
world - you may discover that what you think to be evidence against Andy
falls down upon closer examination.

This sends a dubious message indeed - "The admins can ban you and then,
ex post facto, document the reasons why they banned you". This is backwards.

Andy pushes the limits in this community

I wouldn't expect that the people that have not started a company, a
cause, or tried to change something for the better will fully understand
this concept, but here goes.

    First they ignore you.
    Then they laugh at you.
    Then they fight you.
    Then you win.

    –Mahatma Gandhi

Anyone that has tried to change the status quo knows that good people
will fight you just because you are trying to enact change. They do it
because they don't know what the world looks like with the change that
you are attempting to impose. I know Andy well enough to know that he is
fighting to change this community for the better, and while he may not
always approach the problem from the proper direction, he does have this
community's best interests in mind. Why else would he spend so much time
as to become the #1 contributor as far as raw posts to the community go?

This behavior to affect constant change should not be punished - it is a
recipe for languishing in mediocrity. I've felt this pressure from the
admins when working on hAudio and it makes it that much more difficult
to volunteer to be treated as a pariah (also known as a new Microformat

I have had more purposeful discussion with people off-list than on-list
as of late - most of it revolving around how those that try to push the
limits of Microformats are quickly beaten down instead of taken
seriously. Writing off Andy Mabbett in this way is further proof, in my
mind at least,  that the admins don't respect that particular aspect of
doing something revolutionary.

Pushing the limits should be rewarded, not punished.

Andy should not be banned for voicing his opinion

Andy is best known for voicing his opinion quite loudly, and while I
don't +1 everything he says, I agree with a great deal of the criticisms
he has about this community - namely how the admins operate.

You guys make Dick Cheney look downright candid at times.

With respect, I have no idea how Drew McLellan, Eric A. Meyer, and Dan
Cederholm became admins. Is there a secret handshake? Were they voted
into the position? How are these things done?

Andy has been a critic as to the somewhat secretive nature of the
admins, and this looks like you guys are just beating up on him due to
lack of progress made in Microformats over the past 18 months.

In other words - he's being turned into a scapegoat for his criticism of
how the admins in this community operate and for the lack of progress made.

The problem isn't Andy Mabbett - it's the Microformats Process.

Closing statements

This ban turns my stomach. I'm starting to not enjoy working in this
community - especially since you've gotten rid of one of the key people
that argued with us about the future direction of hAudio.

Personally, I butted heads with Andy on numerous occasions with regard
to the hAudio uF specification. The result was a better specification
because we actually listened to what Andy was saying, instead of taking
his curt replies to be disrespectful.

I'd like to see the ban on Andy reduced to a month or lifted completely.
I do not see the justification for the length of this ban - no
documentation has been provided to back up the claims for the ban.

I'm attempting to understand the behavior of the admins - if you respect
the members in this community, please make an honest effort in
responding to each point in this e-mail.

with respect,

-- manu


Manu Sporny
President/CEO - Digital Bazaar, Inc.
blog: RDFa Basics in 8 minutes (video)

# Retrieves all of the mailing list archive indexes.

for year in 2005 2006 2007 2008 ;
   for month in January February March April May June July August
September October November December ;
         echo "Getting $year $month..."
         wget -O ufdiscuss-$year-$month.html

         wget -O ufnew-$year-$month.html

#!/usr/bin/env python
# Analyzes a Mailman mailing list and displays the top-posters.
# @author Manu Sporny
import sys, os

gPosts = 0
gPostsByUser = {}

def dictionaryComparator(a, b):
    if(a[1] > b[1]):
        return 1
        return 0

# Sorts a given dictionary and returns an ordered list of items
# @param dictionary the dictionary to sort.
def sortItems(dictionary):
    items = dictionary.items()
    items.sort(lambda (k1,v1),(k2,v2): cmp(v2,v1))
    return [(key, value) for key, value in items]

# Analayze the files given on the command line.
# @param argv the arguments from the command line
# @param stdout standard output for the program.
# @param environ the environment variables for the program.
def analyze(argv, stdout, environ):
    global gPosts
    global gPostsByUser

    # Get all of the statistics from each HTML file
    for filename in argv[1:]:
        #print filename
        tfile = open(filename, "r")
        for line in tfile:
            if("<I>" == line[:3]):
                name = line[3:].strip().lower()
                if(name == "david janes -- blogmatrix"):
                    name = "david janes"
                #print "Name", name
                    gPostsByUser[name] += 1
                    gPostsByUser[name] = 1
                gPosts += 1

    # Dump out the statistics
    items = sortItems(gPostsByUser)
    for item in items:
        print "%20s - %3i posts - %1.2f%% of contributions" % \
            (item[0], item[1], (float(item[1])/float(gPosts) * 100.0))

# Call main function if run from command line.
if __name__ == "__main__":
    analyze(sys.argv, sys.stdout, os.environ)

More information about the microformats-discuss mailing list