MySQL community counseling: Talking about your feelings
Last week Monty Taylor wrote an interesting blog post Oracle do not, in fact, comprise the total set of MySQL Experts where he protested against the title of Oracle's new podcast series Meet The MySQL Experts. Now, when I say "interesting" I'm not really referring to the factual argument he is making...
What was interesting about this was to see Monty burst out like that and express some true human feelings. Through all the controversies we've seen around MySQL, the Drizzle team has made a point of staying out of such discussions and just working on cleaning up their code and adding cool new stuff (added as plugins, of course). And if anything, I would have expected it to be someone like Stewart to finally break and start ranting about something, if it were to happen...
Just to be clear: I do not actually agree with Monty on the factual topic he is raising. We are of course all very geeky and arguing about English grammar is a good way to relax, but as far as I'm concerned it is quite common for titles of podcasts and such to be shortened versions of the full, grammatically correct sentence whose meaning the are conveying. After all, it would be silly to have a podcast called "Meet the MySQL experts who work in Oracle's R&D department, but excluding those experts that do work at Oracle's support or consulting organizations, even if they are great minds too, and also excluding anyone not working for Oracle at all."
More importantly, I'm one of those who have been nagging Oracle to talk more openly about what they are doing (or risk becoming irrelevant in their own community) so I think it's great they are increasingly doing just that! While I personally like reading over listening (it's faster, googleable) I'm certainly very interested in the content being presented by Oracle here.
But that's not really the point here. So just as importantly, I do sympathize with Monty writing that blog post. Finally! ...I should say. Why?
Problem #1: Not speaking about your true feelings
MySQL has perhaps always had its conflicts, but of course the Oracle acquisition - now 2 years ago - has been dramatic on a completely different scale. However, as a community we have not actually been able to share with each other how we felt about everything that happened (not just the acquisition but then also the forks and people changing employers, competing for same customers, and such). The reason for this was that most of the people feeling that they belong to this community were employed by Oracle/Sun and thus unable to openly say what they really thought about the situation. To be clear - also those who had no issue, or even liked the prospect of working for Oracle, where unable to say anything in public due to company policy. And those who didn't work at Oracle for the most part didn't want to say anything, or considered it polite to keep quiet too, even if they had opinions.
So we had this big elephant in the room. And make no mistake - just because it isn't public doesn't mean it isn't being talked about. At conferences in the hallways - sometimes even in the hotel rooms to be safe from being seen or heard. In private emails and skype messages. Certainly phone calls which is quite atypical for how open source communities are supposed to function. It just wasn't in public.
Problem #2: Not speaking honestly
Suddenly we see that executives, some of which even had already left the MySQL world to do something else, do speak about the situation in public. For reasons I do not know (any facts about), Mårten decides to come back from his new ventures to write an open letter defending Oracle's takeover of MySQL and just generally helping Oracle with the process. The letter is then seen as mostly, or among other things, arguing that MySQL didn't compete with Oracle. MySQL employees whom for half a year have been unable to say what they think can't take this anymore so someone then publishes on Wikileaks an internal slideset called "Project Peter" laying out the strategy by Mårten and his team for, you guessed it, compete with Oracle.
Yes, that Wikileaks! Talk about drama... Now do you see that perhaps we would have less conflicts as a community if we were able (and allowed) to talk more openly about things?!
A similar distortion of public talking vs actual reality was the hilarious OpenWorld event with the metaphor of Robin Hood now being best buddies with the Sheriff of Nottingham while in actual reality it was at that time that his merry men started en massé fleeing back to the forest - resigning Oracle, that is. It was just surreal.
Then you have second in command Zack Urlocker championing that Oracle is a great company, but of course not so great that he would want to actually work there himself. Kind of slap in the face for those of his former employees who are in the exact opposite position - not that fond of Oracle but also not in a position to easily leave - don't you think?
And just to be fair and balanced across the different camps here, quite a few private conversations indicate that people didn't quite buy the story that Kaj was honestly intending to leave the MySQL world behind on October 3rd, "I swear", and then just happened to turn up as the second highest ranking executive at newly started SkySQL on October 12th. (It could of course be true, I'm just saying that many people don't seem to be convinced by those two blog posts.)
These are the charismatic executives of MySQL AB we were supposed to trust and respect. If this was a family, no wonder the kids grew up all messed up...
Problem #3: Confused of your identity
And this is really the point of this post. The main problem Andrew and Monty have with Oracle's podcast series is the meaning of "MySQL". Yes, it has become ambigous. Yes, also I read the title to mean something else first.
The problem is that the name "MySQL" is now owned by Oracle. If they wanted to misuse it for their own gain (which I don't even think happened here), they actually could. It in fact does refer to a specific Oracle product. At the same time, the community we are talking about here is bigger than Oracle. And we don't have a name for it. Having failed to come up with such a name, we use euphemisms or perhaps derivatives such as "MySQL community" or "MySQL ecosystem" to refer to all of us working on MySQL at various companies and via various forks. It's awkward and confusing.
And it's not like this is such a difficult problem to solve. Almost all of Sun's open source software has been forked, and they all very painlessly succeeded in picking a new name to designate the identity of their new community. OpenOffice to LibreOffice. Hudson to Jenkins. Various identity management tools to some names I don't even remember.
Only with MySQL we ended up with 4 competing forks but no name to describe the totality of that ecosystem. It's as if in Linux you would just have Red Hat, Ubuntu, Debian... but you would not be allowed to say the word "Linux". The word "Linux" would simply not exist, and Linus Torvalds would not exists. That's where we are now with MySQL.
And no, none of this is Oracle's fault. In fact, somewhat ironically the people in charge at Andrew's new employer contributed to this problem, which is now his and Monty Taylor's problem. But ultimately it is just a collective failure. There just was nobody there to take the lead, we were too fragmented to unify in even having a common name that we could use to refer to our own community.
All of this of course plays into Oracle's pocket, as they own the word "MySQL". Again, it's ironic that the forum we are having this discussion on is Planet MySQL, an Oracle owned website. But no, it isn't Oracle's fault. This one is everyone else's fault.
Which leads to the final problem:
Problem #4: Lack of authority figures
The main reason we failed to create a new identity as a community was lack of leadership. Nobody was there to even offer such a name. Maybe nobody understood it would be needed. Various circumstances people were in made it impossible to discuss. A large part of the people interested in such a discussion were still employed by Sun/Oracle - no wait, that was Problem #1, already did that one. Of the existing forks Drizzle is a vendor-neutral community project, yet it's technical direction makes it unusable for this purpose: It would be incorrect to say that Percona Server is a variant of Drizzle, as Red Hat is a variant of Linux. So there are various reasons, good and bad, why this never happened.
Until now MySQL was so distinctly a business, with leadership and control imposed by MySQL AB, that now when both the company and its leaders are gone, there is just a big void.
I'm not ultimately too worried about this. There are great leaders out there. I think Baron's keynote at the last MySQL conference showed great leadership. Perhaps this is surprising to some - this guy isn't even the chief of Percona or Percona Server, let alone a larger community - I'm just saying he shows leadership talent in that talk, lot's of it. And there are others. And I'm not suggesting there needs to be a single leader, we just need leadership, direction, focus, gravitation points.
The problem is just that communities form organically. You cannot appoint a chief like you can for a company. So the only way to get there is to give it some time. People will need to find each other and take on new roles where they see a void forming. The time while getting there will be confusing and painful, but we will get there.
The best part is, amidst all this confusion we are producing better code than MySQL AB ever did. So try to bear with us, we will get there with the community stuff too.
And while getting there, I for one welcome more talk of how you all really feel. In moderation perhaps, and certainly in the friendliest possible tone, but it needs to be honest. It's the only way to rebuild our community.
That's all I wanted to say. Thank you for listening.
PS: And another thing with this community: In the spirit of building a sane community, could you please have your next argument on some publicly available forum such as a mailing list, not a closed-circle social network that has only existed for a fortnight! That's how real open source projects do these things. (The problem is, we never used any mailing lists. Now we can't create one since we don't know what to name it.)