The Philadelphia Incident: how not to handle a misunderstanding with an event sponsor

WPTavern.com recently reported on what is thankfully a rare occurrence at WordCamps (and particularly at larger conferences of any sort). As alluded to in a since-deleted post to the official WordCamp US blog, the sponsorship of Pantheon, a web hosting provider, was revoked literally in the middle of the night before WordCamp US 2016. As I will show, this entire incident is a case study in how not to handle this type of situation, and my hope in making this post, with the facts as I know them and my conlcusions (opinions) based on these facts, is that an incident of this type doesn’t happen again anywhere–WordCamp or otherwise.

Here are the facts based on the research and things that have been told to and pointed out to me, either from the WPTavern article or otherwise. First, quoting the WPTavern article (it’s a bit of a long quote, but can’t really be trimmed without affecting any key points):

Prior to WordCamp US Matt Stodolnic, Pantheon’s Vice President of Marketing, contacted the Sheraton Downtown Philadelphia and inquired about advertising opportunities. The Sheraton hosts a number of meetings and has a couple of different advertising packages available. Stodolnic purchased advertising space on the hotel’s elevators. The advertising material was simple and didn’t make unprovable claims, such as the world’s best or fastest host. This is in line with the sponsorship rules.

On December 1st late at night, Stodolnic received an email from WCUS organizers requesting that the advertising material be removed. Stodolnic pushed back as the sponsorship agreement does not specifically prohibit advertising in the hotel. At one point during the exchange of emails, the WCUS organizing team threatened to take the banners down themselves. Stodolnic responded with anger as the purchase had already been made but he quickly apologized.

The issue was eventually escalated to Matt Mullenweg, co-creator of the WordPress open source software project, who revoked the company’s sponsorship of the event for violating the code of conduct. Later that night, WCUS organizers deconstructed Pantheon’s booth and moved it to a storage room along with 600 T-shirts printed by the company.

(I was told by a source that in addition to the elevators, advertising of the concierge table was also purchased by Pantheon.)

The article goes on to mention and post a screenshot of a blog post, since deleted, by Cami Kaos, one of the lead organizers of WordCamp US. Curiously, the screenshot has the name of the poster crudely scratched out (disappointing, as that kind of thing can make accountability a bigger challenge than it need be). I remember seeing Cami’s name on the post as I was following the blog and attempting to watch some of the livestreams (the latter of which wound up being a wash due to technical problems, but that’s another story that I am unlikely to post about). You’ll just have to take both Jeff Chandler’s and my word for it that it was originally posted by Ms. Kaos, unfortunately, as I lacked the foresight to have made a screenshot I could later post uncensored.

sponsorupdatepost

and a quote (in its entirety, due to the fact I’m not sure the text is available as text elsewhere):

Sponsor Update

Posted on December 2, 2016 by (Cami Kaos)

Community, mutual respect, and trust are of utmost importance in the WordPress Community. When that trust, respect, or courtesy is breached it makes us all a little less strong.

We want everyone who loves WordPress to feel as welcome as possible, and when anyone in our community breaches our code of conduct, it’s important to say something and act swiftly to stop it.

We’re a trust and respect based group, and it’s hard to know what to do when someone ignores that. Unfortunately we have asked one of our sponsors to leave WordCamp US because of this breach of contract to leave WordCamp US because of this breach of contract to the community. In 10 years of WordCamps this isn’t something that we’ve had to do before. We are sorry for any discomfort within the community because of this.

In this case, this company did not act with respect, good faith, and responsibility within the code of conduct with their treatment of the WCUS team. Our code of conduct clearly states that abuse and rudeness is not acceptable – whether you’re a company or an individual, and we take that to heart.

We’re hugely honored by the 17 sponsors making this year a possibility. Let’s make the most of this time we have together! We have another full day of great sessions ahead that we can’t wait to share with you. Either in person or on the live stream.

This entry was posted in Announcements. Bookmark the permalink.

I’m not sure if the later deletion of post was intended as a retraction. It’s possible it was, but the fact that Ms. Kaos said, on behalf of the WordCamp US organizing team, that Pantheon’s sponsorship was revoked due to “abuse and rudeness” needs to be noted even if it was later retracted. Even if the reason is incorrect, at the point right after Ms. Kaos made this post, the general impression is that Pantheon breached the agreement, and based on facts which have been brought to my attention in the days since, I can state with confidence that is not the case.

The root cause of this appears to be one major oversight by the WordCamp US organizing team, and that was to not contract with the official hotel (the aforementioned Sheraton Downtown Philadelphia) to either prohibit or control venue sponsorship deals for the duration of the event. As stated in a comment on the WP Tavern post:

Whatever agreement WCUS had with the Sheraton obviously didn’t include a say in what advertisements could be displayed at the Sheraton during WCUS. If it did, the organizers would have gone directly to the Sheraton to have them removed. That didn’t happen.

Of course, that’s far from the alpha and omega of what went wrong, but just to be sure there’s no mistake about it, let me say it in as many words: This whole misunderstanding came from an oversight or omission by the WordCamp US organizing team. Now, even after realizing they made this rather unfortunate oversight, there was a lot that could have been handled differently by the organizers.

Let’s start with what the organizers actually did in their interactions with Pantheon staff. I have been told that at least one other major website software conference, the typical method of handling issues like this, when it arises this late in the day, is to have a meeting in the morning after everyone has rested and calmed down. This wasn’t what the WordCamp US organizers did: the situation was handled that night after some heated emails between Matt Stodolnic and the organizing team, with Matt Mullenweg (Automattic CEO and WordPress project founder) eventually getting involved and making the actual call to revoke Pantheon’s sponsorship. Compounding the problem was Matt Mullenweg’s tweet during the wee hours of the morning (since deleted, but thankfully we have an uncensored screenshot of this one):

screenshot-from-2016-12-08-02-11-47

and a quote:

@getpantheon unfortunately, no longer.

(in apparent reply to the tweet early that afternoon: “Headed to #WCUS tomorrow? Stop by our booth to say hello 👋 & grab a limited edition Pantheon t-shirt!”)

Imagine for the moment you’re a Pantheon employee that for whatever reason is not in Philadelphia, and you see this come across your Twitter feed. Yeah, not a pretty picture is it?

That tweet, combined with “behind the scenes” conduct during the same time period which is now coming to light, is a flagrant nosedive to levels far short of the Houstonian and Texan values I would expect Mr. Mullenweg to exhibit when representing not only himself and his company, but Houston and Texas as well. A source told me Mr. Mullenweg was drunk when he tweeted this; there’s really no way for sure to know exactly what his state of inebriation was, and to me it really doesn’t matter.

(I might add I was offended enough to read this tweet, and see some of the other evidence around this incident, that for a brief time, I considered changing blogging platforms. I have in the past considered Pelican and Octopress, and may consider others, including any future forks of WordPress itself. Ironic that would be since WordPress itself is a fork of b2.)

Another burning question that remains: if this was about a violation of the WordCamp US rules and conduct between Pantheon staff and the WordCamp US organizers, why was Matt Mullenweg even getting involved? He was not one of the organizers and the buck is supposed to stop with the lead organizers of the event–not executives of Automattic. A parallel could be drawn here with what Renato William Jones did in the 1972 Olympic men’s basketball finals which eventually led to the USSR winning the game against the USA when they shouldn’t have. In that case, it’s pretty well recognized that Mr. Jones really had no business interfering with the officiating of the game. Such would seem to be the case here: It was up to the WordCamp US organizers to make a decision, and the CEO of Automattic had no business running over to the scorer’s table to say “they aren’t sponsors anymore.”

If Ms. Kaos wants to talk about how “[w]e’re a trust and respect based group”, it’s really hard to trust anyone when Mr. Mullenweg is willing to stick his fingers in the event organizers’ pies where they don’t belong, and disrespects the letter of the agreement with a sponsor by cancelling the agreement when it wasn’t actually breached by the sponsor. If Ms. Kaos wants to talk about “abuse and rudeness” then let’s talk about the huge lack of due process afforded to Pantheon and their employees regarding their sponsorship, and how abusive and rude (and unprofessional!) it is to rush a decision out there on a Thursday night before the WordCamp US event. (I’m not surprised if after putting that out there, I just get crickets.)

So, here is what I see as the sum total of all this:

  1. It’s rarely, if ever, a good idea to take action on code of conduct/agreement disputes in a rush during the evening/night, particularly the night before an event. It’s best to wait until the morning when cooler heads can prevail; there is always some time before the event actually begins for changes related to last-minute sponsorship revocations, if that’s still the decision arrived at by a well-rested and calm group of adult organizers.
  2. As of now it appears there is minimal, if any, separation between the WordPress Foundation and WordPress Community Support (the new public benefit corporation that adminsters WordCamps), and Automattic (the for-profit company behind WordPress). There should be, as the best interests of the WordPress community (represented by the WordPress Foundation and WordPress Community Support, the new PBC) and Automattic (a for-profit company) will often differ significantly. Hopefully at some point in the near future, the new PBC can be staffed by its own paid employees completely independent of Automattic.
  3. Related somewhat to the above, the idea that Matt Mullenweg (or, for that matter, any other C-level executives at Automattic, if there are any), can step in and override decisions made by WordCamp organizers and/or lower-level staff in charge of the WordPress Foundation and WordPress Community Support is not sustainable long term.
  4. Posts on an event’s official blog–or really any blog for that matter–should be fact-checked before publication. Sure, you can retract them later but someone, somewhere, will probably save a screenshot (as was the case here). When speaking as the official voice of an event, particularly a WordCamp, it’s crucial to get it right and there is very little, if any, margin for error.
  5. If you’re organizing an event, attention to detail is vital. If you want the official hotel to be considered part of the venue, or that sponsorships for an event held at that hotel should be restricted or referred to you, make sure you have that agreement with the hotel management.
  6. Finally, last but certainly not least, know what is in your contracts, regardless of which side you are on. The time to find that out is not the night before the event. And remember, an oral agreement isn’t worth the paper it’s written on.

When cops and robbers are one and the same

I have taken the stance, on many occasions, that those in charge of enforcing the law, should not be above the law. When law enforcement reduces itself to the level of the thugs it’s supposed to be ridding us of, we all lose. And such is the case here.

The BBC reports on the takedown of a credit card fraud suspect where the suspect was actually mugged by the police, with the target of the mugging being a mobile phone that they feared would be inaccessible if they arrested him normally.

This is despicable. The ends do not justify the means. I believe law enforcement is supposed to set an example, and truly be “the finest” of the jurisdiction they serve. What they did in this case clearly isn’t. Imagine the civil suits that would result if they get the wrong target.

In fact, this tactic was so despicable I’m not even sure it would be appropriate to solve a murder case. I would be more apt to blame laziness on the part of the cops assigned to this case, as I’m sure they had other ways to get evidence than to violently steal it, and basically break the very laws they were assigned to enforce (at least the spirit of them, if not in letter). Even if they didn’t, I would think it better to abandon the case and not risk the terrible PR.

I don’t condone crime, but the only thing worse than crime by those dressed in black and wearing masks, is crime by those dressed in blue and carrying badges.

Today we celebrate the Twenty-First Amendment to the US Constitution

I haven’t posted about this in years past, though to be fair I haven’t really partaken of alcoholic beverages as much in more recent years. But today is the day that the Twenty-First Amendment of the US Constitution was passed, repealing the Eighteenth Amendment which established Prohibition. Or, as some call it, simply “Repeal Day.”

Thankfully we have learned in more recent years that the Constitution is just not the place for this kind of fleeting, knee-jerk reactions to the social mores of the time. It is a huge pain in the ass to pass a Constitutional amendment, and just as big to pass another one to repeal it if it turns out to be a mistake.

I’m going to try to find an appropriate time today to drink from my rather small stock of alcoholic beverages (an unopened bottle of wine from a couple of years ago, and two stronger-than-average “Double IPA” cans of beer). If you don’t drink alcohol–and I know there are a few of you out there–you can celebrate freedom of choice instead, however you choose. In a broader sense that’s really what the Twenty-First Amendment was about, though it was also about ending a policy that was in effect “dead on arrival.”

The Wikipedia article “Prohibition in the United States” describes how Prohibition came to be to begin with. And, unfortunately, not much has changed today: faith-based organizations and movements haven’t tried to ban alcohol in most locales, but have turned instead to other things like abortion and school curricula.

This quote from the above article is of particular note, as there is a direct parallel to what is happening with drug prohibition today:

In October 1930, just two weeks before the congressional midterm elections, bootlegger George Cassiday—”the man in the green hat”—came forward and told how he had bootlegged for ten years for members of Congress. One of the few bootleggers ever to tell his story, Cassiday wrote five front-page articles for The Washington Post, in which he estimated that 80% of congressmen and senators drank. The Democrats in the North were mostly wets, and in the 1932 election, they made major gains. The wets argued that prohibition was not stopping crime, and was actually causing the creation of large-scale, well-funded and well-armed criminal syndicates. As Prohibition became increasingly unpopular, especially in urban areas, its repeal was eagerly anticipated.

Indeed, George Santayana was spot on: “Those who cannot remember the past are condemned to repeat it.” As it looks like we are doing just that (repeating the past) regarding drug prohibition. Outlawing alcoholic beverages didn’t work then, and outlawing drugs (a.k.a. the “War on Some Drugs”) hasn’t worked in modern times.

“WordPress’s implementation of SSL is kind of a botch” but I managed to get it working

TL;DR: The site is now SSL, but it was a real pain in the donkey to get there.

Long version: As of about an hour ago, Rant Roulette is now accessible via SSL. You may have noticed today that the URL now starts with https instead of http. This is for many reasons, but the main one is so that Google won’t start down-ranking search results starting in January. Even if I were to say “to hell with Google” (which, for the reason I’m about to explain, I came damned close to doing) it’s likely that most other search engines out there will eventually follow suit.

I have often made the joke that I know two languages: clean English, and profanity in English. (Technically, I know a small amount of Spanish as well, including some profanity, but I don’t normally mention this.)

So here’s a summary of what I went through to get here:

December 1, around 19:00 or so: I start looking into Certbot on the EFF site. The main obstacle before is that Certbot really wants to run on the web server, and it also wants root. This makes getting SSL on shared hosting mostly a non-starter, until I find out there’s a way to run it on my own machines and upload the certificates manually. I do this and find out my host (nearlyfreespeech.net) now has a way to just upload all the certificates into a web form. (Turns out there was an even easier CLI tool for doing this which I didn’t find out about until later.) I do this, and realize even though technically the site still comes up, I’m getting no stylesheet and no images. Changing the Project Wonderful ad banners over to https doesn’t help (but it needed to be done anyway).

The next couple hours, off and on: I start by changing the URLs in WordPress to https instead of http. I’m greeted by a redirect loop. Even worse, it’s a redirect loop that affects the entire site, including the WordPress dashboard. So I have to manually go in and edit the URLs back to http using phpMyAdmin. I utter some profanity and chug the half glass of Coca-Cola I had poured a few minutes prior, then go edit the database. Site is at least back up but still half-broken. I ask in two different IRC channels, one of them being #wordpress on Freenode. Nobody has any useful advice.

(Somewhere in here I also fix the botched upgrading of the Project Wonderful ad box code, but that’s kind of a minor thing compared to the whole site being down.)

Later: I try disabling NFSN’s “canonical SSL” redirect, as well as the canonical name redirect, in an attempt to break the redirect loops. No joy. I have to manually edit the database several more times, but I don’t utter nearly as much profanity upon doing so because I’m getting fast at it. The profanity is reserved strictly for my frustrations, and for the moment I run out of Coke.

Early morning hours of December 2, from midnight up until about 02:00 or so: I try putting in a redirect in .htaccess, which still brings up the redirect loop. Finally, I stumble upon this gem in the NFSN forums, posted by someone using the forum name ‘lovekylie’:

if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')
        $_SERVER['HTTPS']='on';

Adding this right above the “That’s all, stop editing!” comment in wp-config.php fixes everything. I’m able to change the URLs to start with https like they should be, and most everything appears to work. I am still getting the little yellow triangle with the padlock, but that’s because some images in posts are not https links.

I’ve already added that code snippet to my other WordPress blog at skqrecordquest.com even though I have not upgraded it to SSL yet (it does nothing if it’s not forwarding an SSL request, and arguably should be part of the WordPress internals).

Anyway, the title quote comes from later in the post from ‘lovekylie’ which I, unfortunately, kind of agree with after going through all that. Going forward, of course I hope that it’s no longer true. At the time I write this, 4.6.1 is current with 4.7 in “release candidate” status, meaning it’s going to be an actual release Sometime Really Soon. For all I know, that fix is already in there, but after all the downtime this week (there was a few hours of downtime a couple of days ago due to another blunder I made) I’m a bit leery of installing a version of WordPress that’s not an actual release (as opposed to beta or release candidate).