Listen
Info
- Date2013-04-23
- Duration92:05
- DescriptionAlex King is one of the first contributors to WordPress. He talks about his experience of the community in the early days, as well as plugins and commercialization.
- Tagsplugins, b2, performance, commercialization, gpl, open source
Transcript
Interviewer: Okay, so, I wanted to start to just talk to you a little bit about why you started blogging. Why did you want to go online and start writing about your thoughts?#
King: Yeah, that's a start. I was working at a company called Octane Software and we got acquired by another company called Epiphany. I was the user interfacer/user experience person at Octane and when we joined Epiphany I had a counterpart who had been doing the same job over there. His name was Eric Cheng; his site is echeng.com. He had been keeping a blog of Epiphany history, an internal blog. He had also been blogging personally using Greymatter. This was, I guess, '99, 2000, thereabouts. I thought it was so cool that he had all of this really interesting history, they could go and read and see pictures of people doing things and see what he was thinking about, different projects he was working on, things like that. As he and I became friends, I followed his blogs and then I followed all the links to people on his blogroll and read all of their blogs. This is really neat, something I'd like to be doing as well. But, Greymatter and Blogger which were the two systems most of his friends were using... Greymatter, I guess was self-hosted, but Blogger was obviously a hosted service. Greymatter wasn't very customizable. Movable Type was written in Perl, which I didn't know and didn't look like a lot of much fun. So, I came across b2 and I thought that would be a more personalizable system for me. I could make it more of my own site, by having read all of these blogs, and seeing other peoples', I had ideas for things that I wanted to do on my own site that were a little bit different. So I got started putting together a new version of my site using b2 for the blog section of it, and I released that--I think I finally put it up in the fall of 2002, then started customizing it and making the customizations I was doing available to the b2 community as hacks, and getting feedback from other developers in the community. And it is a great virtuous cycle. I have an idea for something and I would work on it and put it out, and then somebody else will come around and say, "hey did you know you can do this"? And I would learn a new technique or something else that was interesting. I get pointed to somebody else who'd done something similar but different - and I would compare implementations or trade ideas with people. And that was a really rewarding community to be a part of. Mike Little in particular was really generous with his time. He had a lot more experience than I did. I was just learning how to code at time, having been more of a HTML/CSS/UI person previously. So I built a calendar widget for b2, and had done it in a way that worked fine but was not terribly efficient. And he went through, and he liked the idea of it. He saw how I had done it, and he took certain parts of it and rewrote them to make them better and sent them back to me. And so, it was a lot of fun just being part of that group of people that were building things and sharing them.#
Interviewer: So, did you start learning PHP when you started working on b2 or had you some experience already?#
King: I had a little bit of experience already with my day job. Most of the overall system was Enterprise and was written in C++. And then, a proprietary meta data language for application configuration. So, those were rather rigid systems, and then they took a long time to implement and get rolled out. And when I'm prototyping, I need something to be faster. Initially I was just doing all HTML CSS prototypes, and starting tinkering with PHP because it seemed like I could--I just could get--I just could make my prototypes a little bit more efficient. I wouldn't have to keep making the same change in five places. And so I just incrementally learned little bits here and there. I built myself a little library application that I could take notes and I built a photo database, parsed information out of digital photos and make it searchable. So I was tinkering with this on my own, and then doing it a little bit for work and also with the blog.#
Interviewer: And do you think you learned a lot then from the b2 community#
King: I definitely did. I wouldn't say that being in the heart of the community like that is necessary to learn. There's enough going on that you can do quite a bit on your own if you have got ideas that you want to pursue and friends you can talk to and things like that. But being part of a community like that definitely can accelerate that type of growth. Because you get more eyes on your code, you get rewarded for sharing the stuff out there, which makes you want to put more stuff out there. I think that it was definitely a big step for me.#
Interviewer: Do you remember other people who were particularly helpful?#
King: Mike was the guy that I would say I operated with the most. Other people like Dougal, Matt, and Ryan, even Michel, when he was around (he was in and out quite a bit). They were all great people to dump ideas off and things like that. I think, from my perspective, Matt and Ryan and Dougal, especially earlier on kind of had similar ideas for stuff that they were trying to do, or at least they were working together more closely. There were working on things that were along the same path for core, and my ideas were always a little bit different. Matt and I often disagreed about what was important and what should be done next. So I didn't end up as part of that inner group as much. It wasn't as rewarding for me, the stuff that that I was interested in working on wasn't really the stuff that they were interested in, and vice versa.#
Interviewer: What things where you interested in? I think in an interview recently you were interested in speed/performance?#
King: Yes although I was probably at that time I was too inexperienced to be really good at performance. I understood some of the basics. Like the task management system that I was writing at the same time, you load up the homepage for that and it does seven database queries. You load up the homepage from WordPress it does like 50. There's a lot of stuff with object caching and stuff like that I was doing that later made its way into WordPress core. But at the time, quite reasonably, what I was hearing in particular from Matt was people aren't complaining about performance. We don't need to try to fix that. He had other things that he thought were more important features to focus on. The things that he was hearing more from users than from the community.#
Interviewer: Do you think that's because no one was running big sites on WordPress?#
King: I think that's part of it. At the time, there certainly weren't a lot of big sites running on WordPress. And even getting information back about how much server resources you are really using back in those days was not a really big thing to do. If you were taking down a whole server, you probably wouldn't know unless your host told you. You only had FTP access, you didn't have access to go and look on the command line.except for those exceptions or circumstances. So I think that there's a lot of very well-intentioned stuff going on and a lot of mistakes being made in the web development community in general because we hadn't learned about as much as we have now. So you kind of look back at things that were going on back then and go, "oh my God how can we possibly do that"? The hosting situation if you could guess pass, you could get into other people's sites and change their content, it was almost like an honor system back then, depending on your hosting provider and nowadays you think about that and it's just unfathomable.#
Interviewer: Was there other things that you would like to have seen in the early days, that didn't get into core or was that the main issue?#
King: That's the one that stands out most. There were other things that if I'd been a little bit more proactive, I probably could have been more involved with - some of the media stuff early on was something that Matt and I talked a little bit about. I ended up building a hack, called b2photos, that later became WP Photos, and did some micro-gallery management stuff. But I found it more rewarding to try to see my vision through for something, and that lended itself more to building specific features that became plugins, or things like that. And not having to engage in all the debates that were going on about what was important, or how it should be done, or things like that.#
Interviewer: Do you think that's what led you to getting so involved with building the Hack section on WordPress? You seem to be quite involved with that.#
King: Yeah. One of the things that has always been important to me, and to everyone else in the WordPress community of course, is the idea of owning your own site, owning your own content. To me, part of that is making your site personal, being able to set it up in a way that it's a reflection of you. I think the concept of keeping WordPress relatively streamlined in terms of feature set, and allowing it to be extended--it's a really great approach, and it's worked really well.#
Interviewer: Okay. At what point was that decision made to make it extensible and to have plugins? It seems that the hacking system in b2 was fairly... it wasn't very easy to work with for known developers. I was just wondering at what point you guys decided that the plugin system was needed and how that discussion came about?#
King: I wasn't involved in the architecture discussions, but I believe it was-- Matt went and talked to somebody. It might have been somebody at another blogging system. I think it was once he got out to the Bay Area, and he came back saying, "guys we've got to do this" and he and Ryan worked together on it quite a bit. Honestly, I didn't quite get it to start with. I didn't quite understand the architecture he had in mind, and the way the hooks and filter system would work. But once it was implemented, I immediately saw the benefit of it and started using it; started rewriting some of my hacks that I'd written to leverage that system. And I think it's definitely - when you look back, at WordPress history, of all the decisions that were made and all the things that were done, I think that that and the theming system are probably architecturally things that led most directly to its success.#
Interviewer: Do you think it's the introduction that transformed the community?#
King: I think it made the customization level, or the ability to customize a site, much more accessible to people. Sort of like what you were saying earlier; the hacks were things that developers or tinkerers could do. You had to be willing to open up a file and make some edits, and things like that, which I think in a way, it's a shame that we've lost. I have this really frustrating exchange with somebody in the forums a couple weeks ago. Somebody who basically was saying, "I don't want to learn anything, I don't want to have to think. I just want you to do everything for me." And that you know I have no interest in those people. That is an attitude that is going to go nowhere with me. And that was definitely not the case in the b2 community, it was you have to have a little hands on to get everything up and running, and even early on in WordPress, hosting your own site was certainly not something that was as easy as it today. I think that those things have allowed the community to grow to what it is today, but it also changed the profile of the average person on the community person quite a bit.#
Interviewer:Do you think it happens quickly or do you think it was a kind of long overtime thing?#
King: I'm sure it was overtime, I think it's one of those things where you're in the middle of something you don't necessarily notice the incoming incremental changes. You just wake up one day, and go, whoa everything is different now. I think that one of the things that happen to make WordPress more accessible to people is the style competition that I put together before the theming system was in place. But it generated -I don't know - 120, or 130 CSS stylesheets that could be applied to the WordPress default HTML through CSS Zen Garden. Prior to that there was two default WordPress styles and then people created their own from scratch. There was really nothing in the middle. Once there was a large pool of things to choose from, people could use that as a starting point and see how people had done things, tinker and customize from there. Or just use something out of the box that they liked. I think that it made the platform more desirable to people that wanted their site to not just look like every other site out there.#
Interviewer: Did you host these on WordPress.org, the designs?#
King: No, I just hosted them on my own site. I didn't really feel like I had the authority to do it on WordPress.org, although I think I probably had write access to the blog back then. But, it was always easier for me to just say, here's an idea and I'll run with it. Don't have to get permission that way.#
Interviewer: So, did everything have to go through Matt?#
King: I would say it was more out of respect than out of something he demanded. People understood that he was leading the project and wanted to make sure that what they were doing was consistent with everything else that was going on with the project. I think that there is certainly--I certainly didn't feel like I was working against the community by doing something on my own. I felt like the community was very supportive of people taking initiative, and experimenting with things.#
Interviewer: They donated money.#
King: What's that?#
Interviewer: You got some money from Matt, and some money from Dougal to give prizes for your competition? So, I guess that was an endorsement.#
King: Yeah. I forgot about the prizes.#
Interviewer: It was $70 dollars, $35, and $10.#
King: There you go. High stakes back then.#
Interviewer: I know. Can you tell me a bit about dynamics that the community then--particularly kind of 2003, 2004. How did the development work, did you guys commit access and stick stuff in, or did you discuss it, how did that work?#
King: That was right around the time I had left my day job and gone off on my own, so I was in the midst of trying to get my first product out the door, so that I could actually have an income. But at the same time I was still involved a little bit with core stuff and was still building customizations at my own site and developing my business site on WordPress, which is one of the first--WordPress as the CMS site back in early 2004. What I remember about my experience with core development back then was basically, if you had an idea for a feature, you kind of loosely run it past people and then start building it. Then commit it directly into core and then if there was a problem we could always roll it back out. There wasn't really a centralized, these are the features we're going to work on, sort of thing. There was so much to do that anything you were interested in doing was probably okay, and go ahead and work on it. If it ended up not making sense for core, it could be a plugin or a customization or whatever. So, I think in some ways, that's something that WordPress has continued with and suffered from until just the last few years. There's certainly full-time paid developers on WordPress at this point. But, there are features that are in core that, you look at them and know this is at best 60% done, right?#
[Laughter]#
King: There's a lot more that should have been put in here, but at this point it scratched whoever's itch was working on. They didn't have time to continue or this is as far as they wanted to take it. There's stuff that's kind of hanging around the edges of WordPress that's still in core today.#
Interviewer: Do you have examples?#
King: Like the quick edit, when you do the quick edit?#
Interviewer: Yeah, yeah, that was rubbish.#
King: And that should really be an Ajax call, right? That's going to be a couple of hours of somebody's time to go ahead and finish that thing off, right?#
Interviewer: Yeah.#
King: It's been in there for what, three, four years?#
Interviewer: Yeah, a long time. Should ticket about that one.#
King: Yeah, right. No complaining if you don't create a ticket, right?#
Interviewer: Yeah.#
King: I think you had different people that had different interests. At the time Dougal was really interested in spam and combatting spam. I guess he was working with the comments a bit that he maybe - I don't know if he worked on Akismet early on, or other systems there. But he had a blog about spam that he maintained for a number of years. Ryan, I think, had the most experience of anyone that was an active core developer. Mike Little had a day job. He would contribute from time to time, but he wasn't an active developer after Matt really took over the project. There was a decision that was made; Mike had put together this really flexible options framework, and there was a decision made at some point to just wholesale rip it out and replace it with hard coded options that would look a little nicer. I think, I never talked to him directly about it, but I think that was probably pretty frustrating to have all that work just thrown out. Then a couple of years later have people say "you know we really need a flexible framework for this". Basically saying the same thing he had and just putting a better UI on it.#
Interviewer: [laughter] Oh, dear.#
King: I had the same experience with - the way most PHP scripts at the time were internationalized. You would just have a big text file of all of the translation string. There are still some apps that do this today. So I had talked to Matt about internationalizing WordPress, because I had just done that for my task management system. And so I spent about two weeks going through and changing all the strings to point to a text file, and implementing all of this. And about the time I was done, I heard, "Oh, no, we're going to use this gettext thing." And I was like, okay, I just wasted two weeks of my life that could've been working on something else. So at the time, I think Matt was 18, 19, so he probably didn't have a whole lot of experience coordinating between developers and managing projects, things like that. After a little bit of that, didn't really feel like - my concern was, if I'm putting time into this, is it going to be time well spent. As that became increasingly unclear to me with core, especially with some of the things that I was interested in, not seeming to be in lock set with where everything else was going. That was kind of what drove me more off into the plugin space and where I had a little bit more control.#
Interviewer: So, at what point did Matt really take lead of the project, do you recall?#
King: Well, it must have been, I want to say, late 2003, early 2004. When he took the job with CNET it basically afforded him the time to work on it full-time. I'd say that was when he was clearly able to devote more time to it than anybody else. Decisions are made by people that show up and he was there all the time. I think that if he hadn't been the project lead to begin with he would have become the project lead just by nature of his time investment.#
Interviewer: So is that just a kind of natural thing that happened as opposed to one day Matt was in charge?#
King: Yeah, I think it was - he was in charge because he was taking the initiative to coordinate with people. He was in charge because he chose to be in charge. There wasn't a vote or anything like that; it was very organic.#
Interviewer: Okay, I wanted to ask you about the code in WordPress. I guess we'll start out at the beginning with b2. What was the code like in b2? What was it like working with that, particularly after the fork? Did it cause any problems for you or was it beautiful code?#
King: True beauty can be measured a lot of different ways. In a way it was beautiful because it was so simple. It was not elegant but it was very straightforward, it was very accessible. So someone who did not have a lot of development experience coming in like me. It was very comfortable understanding what was going on. There's kind of a curve with most developers. They start off understanding simple things and then as they understand more complex things they want to make everything more complex. Then as they understand that that leads to un-maintainable outcome, they want everything to be simple again.#
[laughter]#
King: They just use better techniques to write simple solutions. So, the simplicity of WordPress served it very well and I think for the most part we haven't gotten away from that. There's certain things that make your brain hurt whenever you have to work with them, like the walker class and things like that for doing nested menus and things like that. Like every time that I have to interact with them my brain hurts.#
Interviewer: Is that from b2?#
King: No, that was added later, much later on. It's a way of making the menu display much more customizable. It's a very cool feature but it's impossible. The b2 code and the WordPress, I would say, never really diverged culturally. I think that the complexity that has worked it's way into the WordPress code has done so organically. It's gone into solve some spec problems. A lot of the refactoring that's happened behind APIs, behind the conflict calls and things like that, is really pretty impressive. You put the house up on stilts, you dig yourself a basement and drop the house back down. You rebuilt the foundation, it's not easy to do and not have not have that house fall over. So, I think, considering it has been a single code base for going on 10 years, it is pretty impressive the way it evolved. Gone from this simple script to something that we can do a lot more with.#
Interviewer: So I was talking to Nacin about this the other day and he's been reading the trak tickets to try and find out why decisions were made about things that went into WordPress. Especially things that are causing problems for later developers. I guess I am kind of wondering - I do not really know what they are. I look at the code and it is code, I can't tell if it's good or if it's bad. So I was wondering if there was something that you thought was written at that time that just had terrible implications?#
King: They're been a couple of architectural decisions that everybody wanted to undo. Interestingly, they're the ones that are more architecturally clean. The idea of the - when we switched from just a simple categories table to this taxonomy table, we went maybe one step too far with levels of abstraction, and now we've had to live with it for the last eight, nine years, with having to make basically one extra database call to every time we want to interact with the thing. There's a tenant of - one of the tenants of extreme programming is basically, never build something you don't have a use case for. Then the idea is that - picture abstractions never work out, because you don't know how you're actually going to need the thing to work. By the time you do need it, it's probably going to be different than what you thought you needed when you tried to make an abstraction. So, for the most part, I think WordPress has been pretty pragmatic about that. Just building in whatever is needed at the time - try not to, obviously, close yourself off to stuff in the future, but- don't make this kind of ivory tower system that is going to solve all of our problems in the future, because we don't even know what those problems are. So I think that, combined with just lack of maturity within the general development space. Probably you can look at decisions that were made say, six to nine years ago and look at most of them and say, "Boy, I would do that differently today, I would do it this way, with this technique," whatever. But half of those techniques were probably not commonly known until three to five years ago. So, you get this kind of situation where, yeah, there are problems that are in the code base, but how many people could have accurately predicted them or solved them differently or in a better way at the time.#
Interviewer: Yes. Hindsight's a great thing.#
King: Yeah. That's why systems like Drupal rewrite themselves every couple of years. We've learned how to do this better and do the whole thing over.#
Interviewer: Do you think that would be a good approach for WordPress?#
King: No. I think that the fact WordPress never did that is one of the reasons that it's so successful today.#
Interviewer Okay. Was there anything during those early days that you felt was particularly inspired? We've talked about hooks and filters.#
King: Hooks and filters are a big one. [silence] I think that the style and theme competitions that I ran--I had no grand plan for them, other than, like I was looking at CSS Zen Garden and thinking, huh, we could totally do that with WordPress and tried to make it happen. I think that those ended up being happy accidents where they had a huge ripple effect that was completely unintended. There was no pre-planning or vision for that expanding community or things like that. But I think that they ended up doing so. I think that Akismet is probably a very important step when people didn't feel like they were under attack from comment spammers any more or at least it was a fair fight. A lot of people were kind of going away from blogging because they didn't want to deal with the spam at the time. So, I think that was a big step. I think that WordPress.com was a big step, not having to host it yourself, obviously, opened the door to a lot more people. I would say those are probably some of the important milestones. I think a lot of my career and lot of WordPress has been people doing what they think is interesting, or cool. Somebody that scratches an itch, and then people kind of working from good motivations, and motivational interest. It has positive ripple effects. If you're trying to solve problems in a generous way good things only happen.#
Interviewer: I think that's right. I want ask you a few other questions about when you started getting involved with WordPress. Because you installed WordPress and you installed b2++ and you seemed to have problems with it. Even then you were saying, that WordPress wasn't fast enough, so you went back to b2. Did you try any of the other forks that were around at that time, like b2Evolution?#
King: Yeah, that's the only one I can--the only other one I can think of. I remember not being as fond of the b2Evolution guy. I didn't have a real negative impression of him, but there's stuff that he was--because everybody was blogging about their forks and how they were building things, and stuff. And the approach that he was taking with b2evolution was--he was trying to do the same stuff that Donncha was doing with b2++. I think I've got that right.#
Interviewer: Yep, that's right.#
King: So, they were both making multi-site system, and I didn't really have a need for multi-site system. I had a single side I was running. The way that Donncha was doing it with-- made more sense to me than than the way b2evolution guy was doing it. The stuff that he was writing about, like the features he was adding just didn't really interest me, so I ended up never really looking at that. I was always more culturally aligned with WordPress. WordPress and that was--working with other developers to further WordPress, where Donncha was basically coding b2++ on his own. He may have had some people that he was collaborating with, but for the most part I think it was just a project that he was interested in and was working on - at least that was my impression. So, there wasn't really the same sort of sense of community around b2++. The idea of building features for that and really releasing them to the community there was not as interesting to me.#
Interviewer: I've read the Cafelog blog that was Michel's blog. The development there seems very much more one man show than it was at WordPress.#
King: I think that--#
Interviewer: Is that right?#
King: That's true. Yup.#
Interviewer: Did that ever put you off?#
King: Oh, no. At the time I was happy just building my own site and b2 got me 80% of the way there right then. I was building my last 20% myself and if there's something I didn't like about b2, I would change it. I didn't see anything wrong with that.#
Interviewer: Did Matt get touch you by email or-- to ask you to get involved or how did that happen?#
King: We use to email, and we must have used IRC as well or something. We had some sort of chat system where he is. I don't remember exactly what it was. And then at some point I remember I called him about something, and he was really surprised to get the call. And I said, "well you've got your cellphone number on the website," and he said "I forgot it was up there. Nobody's ever called me."#
[laughter]#
King: I think what it was, it was maybe to talk about a feature or something like that. We would talk about stuff from time to time.#
Interviewer: And you started out with the I think it was cursor, or a quick tag code. Is that still in core today? Is that the--#
King: It might be, yeah, I think that--I hope most of it's been rewritten at this point. There's probably some remnants of that, that are still in there.#
Interviewer: And then you went onto the hack section. I was just wondering what your plans had been for that, because we see it's not there anymore. It's the plugin section, so...#
King: I don't remember working on that, to be honest. It maybe that, I was--I might have contributed on it a little bit. I think probably somebody else made the initial system, and I probably tweaked it a little bit or something like that. Probably have some commits in there somewhere. But I don't think I created the initial system, I think somebody else did.#
Interviewer: Because on your blog you say that you're--that's where you're going to be involved with, so. And then, there's a few forum posts. Let me see, I think this is you. It's anonymous. I'm guessing it might be you. I don't know why it's anonymous. Maybe the anonymous person isn't you. Let me see if I can find that. [silence]#
King: Yeah, this person says Alex. [silence]#
Interviewer: Yep, that's you.#
King: I think it is. Huh. I have no recollection of that. [laughter]#
Interviewer: Okay, I'll see what else I can find out.#
King: This is a little scary.#
Interviewer: See, I know more about you than you know about you now. [laughter]#
King: Yeah, wow, the latest... started by me, the latest reply from that, nine years ago.#
Interviewer: Yeah.#
King: This may have been good intentions that never went anywhere, or it may have something that I worked on with somebody else, or it maybe have been something--I honestly can't tell you.#
Interviewer: That's okay.#
King: I don't think that for a long time anybody expect Matt had that access to the .org site and I doubt it was probably even on any type of version control, I think it was, just kind of attached together.#
Interviewer: So, you were playing with turning WordPress into a CMS in 2004, how did you do that? Because in that page--sorry.#
King: They were no pages; I'll have to go back over some of my blog posts. I think that when I--I used the posts for it, I didn't create custom post type because I didn't want to deal with doing anything that I didn't think would upgrade cleanly. And like changing expected values in the columns, like right now you have custom post types and there's a post type column. And you can set that to whatever it is. I don't know if that's probably even as good as it existed, at the time. I think what I primarily did is, I ended up mapping things with rewrite rules and we were using posts - how did I separate them out? I might've made a - I don't remember. I was mostly using custom rewrite rules, but I was using WordPress to manage the content. To me, the content of a page was just like a post being popped in another template, that was a pretty obvious step to make.#
Interviewer: Did you write any code --#
King: I don't --#
Interviewer: Sorry. I was just going to say, did you write any code for that, that ended up making its way into core?#
King: Probably not.#
Interviewer: All right. You didn't think about using a CMS tool, like Drupal, or something like that?#
King: No, because my needs were pretty just simple for what I was building; there was a dozen pages and a news section which was the blog. And so it seem like this was fairly minor step to take. I think the theming system was not in place yet so I was customizing a single index.php or something like that. But it didn't seem like a lot of work to set it up. Using Drupal and getting it to build a simple site like this felt like a lot more work.#
Interviewer: Do you remember if anyone forked WordPress?#
King: There were definitely forks.#
Interviewer: Do you know what any of them are called?#
King: There was one--what was that? It was around the time... Habari I think.#
Interviewer: Yep.#
King: That was a fork of WordPress. I think that was maybe five to seven years, or something like that. That was around the time Michael Heilemann was working on the shuttle interface for the admin, I think it was a little bit after that. There were people that were talking about forking WordPress to implement the shuttle interface for the admin. I don't know if that actually happened or not.#
Interviewer: None of them seem to have been very successful anyway. I was trying to see if I can find any. Lyceum was shut down.#
King: Yeah. Lyceum. That one shut down, that was for primarily kind of schools and scholarly writing, if I remember correctly. A friend of mine, Steve O'Grady, he was the founder of Redmonk, which is an open source analyst firm. They've been blogging forever and they initially were on Movable Type and switched over to WordPress 2004, 2005. They chose both systems at the time for the same reason but made different choices. Initially they used Movable Type; that's where the community was. Then when the community moved to WordPress they switched over to WordPress as well. To them, the sticky feature of the platform is the community not a technical choice or something like that. I think that that's definitely been borne out by WordPress's history.#
Interviewer: So you think that community is an essential part of WordPress?#
King: Definitely, yeah. That's what gives the software its momentum.#
Interviewer: Yeah. Do you remember the Movable Type licensing change?#
King: I do. Mark Pilgrim wrote probably the seminal piece on it where he figured out whether it asked him to pay for Movable Type and sent it to Matt instead. I think that was probably some of the first money Matt actually got.#
Interviewer: Yes, he said it was his first donation to the project.#
King: So, that was interesting because at the time WordPress was not really trying to make money. A bunch of distributive people kind of contributing to this thing because it made sense for them to do so. Whereas Six Apart had a team and investors, all of this - I think it's one of those things that was a happy accident, right. There's no way anybody would have actually predicted - well some people could - at the time nobody was saying, fast forward what, eight years and WordPress is going to be powering 15% of the internet. Nobody has that impression, but it certainly changed the dynamic. Although I think the bigger thing to me was already that Movable Type was a platform that was incredibly difficult to customize while WordPress was the opposite. It was a hacker's paradise where you could make it do whatever you wanted. I think that it was gaining a lot of ground and gaining community because of that, because people were able to start creating plugins and themes, and things like how to customize it. Whereas that type of customization on Movable Type was a lot more difficult. So I think that WordPress already had--its curve was at a rate--it was probably on track to eclipse Movable Type before the licensing change. But certainly hastened their demise.#
Interviewer: And did you notice any changes in the community with that sort of influx of new people that happened after it was made 2004?#
King: That a good question, not that I can remember being conscious of.#
Interviewer: It's interesting when you look on Sourceforge at the downloads that--it's just kind of, completely their all alone, really low and it gets to May, 2004 and it just shoots up, there's just so many more downloads then, so that's kind of interesting. I think it - speaking to other communities members who were not developers, a lot of them helped people to migrate onto movable type, like well known people. Like Om Malick, or Mark Pilgrim and people like that. So there seems to have been a big move to get people moved on to WordPress. That's interesting to look at. Okay, well I think we've gone through all my questions. It's been really interesting to talk to you. You had lots of insights, actually.#
King: There's one other thing that I think might be interesting to talk about, which is, something that's still going on today. The idea of sustainable plugin development. I'm thinking about writing about it again. But I think that it's something that we should think about and talk to people about. WordPress has never had a officially supported, commercial ecosystem for plugins and things like that. Matt feels that basically, it's a bad business that functionality gets replicated easily, and he's not really interested in it. But there a lot of people out there creating plugins. For me it's been really interesting because it's going from a hobby that I was-- I was doing this in the context of a small community of like-minded people to now you put out something and it's going to be eventually downloaded by a 100 or 200,000 people, most of whom are certainly not developers or that technical savvy. Their expectations are very different from than the fellow hackers expectations. And people have been trying to figure out... One of the things I experimented with was kind of a micro payment approach where asking groups they donate a dollar when they downloaded something. But that worked to the tune of about 10 bucks a month, or something like that. It's been interesting to see the growth and reliance that people have on plugins. But without a matching growth in revenue, or direct sustainability for the people that are creating those. Most people if they make plugins and they support them, it's sort of a an incremental part of their business. It's used for marketing, or other things like that. There are some people that are selling them directly and have them--I think some are having some success there, basically others not so much. But basically you're creating kind of a customer service and customization business on top of the plugins a lot of times. But people now have come to have really high expectations of what they're going to get with these plugins. I get angry emails from people saying that you haven't updated this plugin in X number of years. It doesn't work anymore. I rely on it. And they're mad at me for it.#
Interviewer: That's ridiculous. I know it's awful.#
King: I believe and the conclusion that I have come to more recently is that the only sustainable plugin development in WordPress community is pitch stretching development. As long as the thing that I've built is something that I need for my own site or my own purposes, I'm going to maintain it. As soon as that stops being the case, maybe I'll keep it going for a little while but it's going to die. That's what I see time and time again. There doesn't seem to be a matching understanding of this situation by the people that are consuming the plugins. I can build a feature for my site in maybe four to five hours; a significant feature. The packaging of the plugin, the writing of the readme, the making an options page for people that don't want to go in and edit a few variables in the future - that is another two days. Where's the payoff, I think that, that's been an interesting part of WordPress's history as well. And it's something that - like the support aspect of it is real interesting as well, because support is something that works really well, it's very doable at both ends of the spectrum. If you have only a dozen people downloading your plugin, you can give the fantastic support. If two million are using your service, you're probably able to commoditize that in another way, and write off the support costs- WordPress.com, right.#
Interviewer: Yep.#
King: But in the middle you start to hit critical masses where the support becomes an undue burden. And I'd say its probably around 50,000 downloads, maybe a 100,00, where the expectations that people have far outstrip your abilities to meet them for free development basically. And I think that's a problem that has been around now for five, six years, and it's just kind of lingering.#
Interviewer: So whenever you've talked Matt about this - I mean I have but obviously I don't know the situation from your perspective as a plugin developer. What-- something like Gravity Forums they charge--it's basically support licenses really and updates. Is Matt not supportive of that model? I don't think he is, is he?#
King: He's not - he doesn't believe it's incompatible with WordPress's licenses, or its culture or things like that of per se. He's not actively opposed to it, but he doesn't believe that--his words last time we spoke in the fall about it was he doesn't believe it's a good business to be in. That if you're selling something like that, somebody's going to come along and replicate that feature and make it available for free. And your business goes away. My counter argument to that is that there are certain features that are so big that without the promise of future revenue, they just won't get built. Things I like our Carrington Build and RAMP are things that took over a year to create and then take a fair amount of effort to maintain. And if we're not able to charge money for it and get revenue for that, then we can't necessarily afford to pay somebody to work on it.#
Interviewer: I was just going to ask when you launched your first commercial plugin?#
King: I guess it was Carrington Build, but it's not really a plugin, it's more of a a theme feature. It has to be integrated into the theme and into the [inaudible] and everything. But, it's not a theme, it is functionality. So, I guess that sort of makes that a plugin. But, it's not something you can drop in and activate.#
Interviewer: Yes. What was the feeling around your commercializing that? Was it frowned upon, or was it just ignored or was there discussions around that? Because it must have been an early commercialized of WordPress.#
King: No, it was 2009 maybe, there was a-- at that point as long as it was GPL, Matt's probably not going to publicize it much, he's not going to stump for it. He's certainly not opposed to people making money. He just wants to make sure that the community freedoms are upheld.#
Interviewer: What do you think the answer is?#
King: What I proposed to him - what I would love to see is a commercial section of WordPress.org, with the revenue going back into the WordPress foundation. And the WordPress foundation hiring some developers to better maintain WordPress.org, to better work with developers on coding standards, on security issues. I think that could be a great way to, kind of improve that aspect of the community. I think that once people have--people already at plugins as products not as projects. Where they expect to be able to say 'I have this problem' and have somebody help them. And if the plugin developers are getting revenue from them, now they're incentive to make sure these people have a good experience. Whereas if somebody stops using my plugin I really couldn't care less, it does not bother me at all. Now if these are my customers and my future customer base is relying on word of mouth, I now care a lot more about the experience that they have. Not only that, but I've got revenue coming in based on these things, and I'm able to say--dedicate more time to supporting them, or have people on my team do it. So, I think that to me is the solution, but Matt didn't seem to think that the problems it was solving were important problems that couldn't be solved in other ways.#
Interviewer: I definitely think it's an important discussion to have. I guess it would be interesting for me to talk to plugin developers about how they've dealt with escalating their support needs. I've in the past done a lot of research on the development of theme shops and looking at how much more it costs. Once you get more people using your product how much more it costs in supports cost. And there's not really any way in plugin development, or know in an officially sanctioned way in plugin development to deal with that.#
King: That's what I tried to do with the HelpCenter initially, was to basically get all of the plugin developers to send their support to the HelpCenter, where it would be a commercial institute, people would have to pay for support, and then we would give them kickbacks. And effectively it would get rid of their support headaches and give them additional revenue. Now this - again scratching my own itch right, let's solve this for everybody. I hired people and had people doing support calls, whenever I got a support email, I would just forward it on to the HelpCenter, with a form response back to the person that had emailed me. The guys that I had working there--to the volume of support I was getting and the tone the people were taking--and the guys were like, "I'm not ever going to release another plugin again. I see what happens when you have success." The thing that I learned is that the idea of paying for support is not something that people are okay with. In the WordPress community people talk about charging for support. But they don't really charge for support, or at least they view the support differently. What they're charging for is customization support, how do I do this with this thing that I bought. Not, this thing is broken and I need help fixing it. When somebody has trouble using it, they assume that it's a coding error, or somebody built it wrong, or whatever. They have this attitude of, I'm doing you a favor by reporting this issue. Even if it's something that's completely a configuration issue on their end or whatever. And the idea that they should have to pay in order to be able to use something, it just pissed them off. It did not result in happy people on the other end of the phone. So that was a really interesting experience.#
Interviewer: Do you think that the plugin community-- commercial plugin community would grow? Because it's not that permeated, and things like the WP App store don't seem to be doing that well. Do you think there's scope for growth?#
King: I think that the biggest problem is there is no 800 pound grill for distribution. This is something I back at Pressnomics I had the idea of trying to get everybody together and pull all of our resources behind a single place that we would put stuff. And I thought maybe App Store could do that. There were a number people that--they've worked to build their brand, they don't want to lose that, or push somebody else's brand. My opinion is the rising ride, it's going to bring everybody up. So I think we would all do better if we--every single commercial plugin developer stopped selling stuff on their own entirely. Put all of the stuff in the App store and that is the only way get it, and we would all do so much better, and we would be able to sell it. You would see app store pricing, right. Everything would drops down to a couple of bucks per--I think that would be the sort of thing that happens on WordPress.org. There'd be a lot of $1 and $2 plugins that are actually supported and well maintained. I think of it also, if you ran that through .org, you would have the ability to have a kind of review system and mark people as--this person does not provide good support, or things like that. You could protect the community a little bit more. But Matt said, that was the same thing that Joomla tried to do, and everything went from being free to being paid, and it kind of killed off a lot of the community. So I wasn't part of that community, I didn't see that happen, it may be that he's right and being cautious in this area was the right decision.#
Interviewer: Yeah, that's a difficult one.#
King: Yeah, I think that it really stifles WordPress's growth because I see potential for a lot more interesting things that could be built, and people are not willing to invest the amount of time necessary to do it because they don't see the payoff, and I think that's a shame.#
Interviewer: Do you think lack of an official sanction, do you think that causes fragmentation in the plugin development community? Like you were saying about plugin developers don't want to get together and back one thing.#
King: I don't know that it causes it, but it certainly doesn't improve the situation.#
Interviewer: So, it would be nice, I guess, to have a central place. I am on the fence on this one. I have talked to Matt about it, I can absolutely see the benefit to plugin developers and to users as well. But, yeah the Joomla thing is kind of scary. If there was no plugins in the directory which were being updated, or no decent plugins, that would be to the detrimental I guess, of the users as well. Yeah, that's a difficult one. Hope you write a post about it. I think it's important--#
King: If it was an easy problem we would have solved that it already, right.#
Interviewer: I think these things they're important discussions to keep having because the speed at which the culture that we exist in changes so quickly that something that might one day seem crazy, might the next day seem important. Like someone was telling me that for a long time everybody wanted pages in WordPress, and Matt was like no we're not going to have pages, why would people want pages. And then because people were forcing it to become a CMS it was like pages were then the natural thing to do.#
King: Yeah, there was a little bit of--there's certainly on--Matt's certainly not alone in this trade view, ideas that people are pushed are terrible ideas until Matt has them himself. I think that's a natural thing for a lot of people but that's definitely happened more than a few times in WordPress's history.#
Interviewer: I'll be looking for those points. [laughs] See if I can them, right. Actually, do you have time to talk a little bit more, or do you need to...?#
King: Yeah, I can go for a little bit longer.#
Interviewer: I guess the other thing I wanted ask you about it, which I'm not writing about at the minute, but I will be, kind of, once I get onto the Movable Type stuff is the GPL. Is Open Source something that you felt strongly about before you got involved with WordPress, or is that something--is it even something you care about?#
King: I'm pretty pragmatic in my approach to licensing. I like Open Source. I like contributing things as Open Source. I like the idea of people building on each other's work rather than everybody having to recreate the same thing. I think tomorrow, we're going to release a product that we built, called Capsule. It's a new one, I'll send you a link to the demo, here. It's a developer journal, that we're going to release as the free WordPress theme. We're not trying to make any money on it. We used a ton of different libraries and various Open Source components to put this thing together. There's a code editor. We're not going to create our own code editor, there's already one out there; bolt it in there. There's a Markdown library, we didn't have to write that, there's one out there. There's a JavaScript libraries for various features. There's free Open Source font icons that we're using. And I love that we're able to take all of these things that already existed in different forms and put them together to create something new. I think that is fantastic; we're solving a new problem with this thing. And so basically our default stance, unless there's something that's particularly proprietary for our client or things like that, is whenever we build a new library or things like that, we just put them out on our GitHub, and release stuff as much as we can as Open Source. At the same time I'm not opposed to commercial software either. I think that commercial software has a place to it, I don't believe it's been fully commoditized. I think that you can have commercial software that's not just a hosted service and that's a legitimate thing to have as well, not everything has to be Open Source. Personally I believe that it doesn't make sense to invest time and energy, or put data into systems that may not be sustainable. So I care a lot about licensing from that perspective, and in my own usage. And we've created with our attorney a license that we're planning to use for some of our future commercial non WordPress things that basically says this is a commercial license. It's not Open Source, but you're allowed to make modifications, you're allowed to distribute those modifications as long as they do not--in both cases as long as they do not implement paid features that are - like give them a higher version of the product. And that if we ever stop maintaining the product, then the code will have an Open Source license attached to it. So if Crowd Favorite ceases to exist as a business entity, or declares something as end of life or something like that, then if we release it under this license everyone will, all customers will automatically get an Open Source license for that code. So I think that as a developer, you have that type of responsibility to the people that are going to be using your software. Obviously, an Open Source license gives you that, with or without any reservations. But I don't think that - I think the viability of a project is not tied as much to its licensing as it is to its community.#
Interviewer: So you think that the fact that there being a community was more important for WordPress than the fact that there was GPL.#
King: Yeah definitely.#
Interviewer: Do you think that community could have grown around a proprietary piece of software?#
King: As long as it was as free as in beer, yes. It doesn't have to be free as in speech to grow a community#
Interviewer: I'm trying to think of examples, because if it was free as in--only free as in beer, you couldn't actually access the code, you wouldn't be able to get patches, and contributions, would you, as much?#
King: So MySQL might be an interesting example for that because they have their dual license, both their commercial license and their GPL license, which means that they can't accept many community patches. Which mean things like Percona and MariaDB are actually better versions of MySQL than MySQL. But everybody still runs MySQL. So I think that's perhaps one example. I think that if you look at the community like Expression Engine, which is a viable community even though it's all around a commercial piece of software. There's - imagine if Expression Engine was free. So, I would think that community would only grow. I don't think it would be held back at all by the fact that the license is not an Open Source.#
Interviewer: Looking up Expression Engine, I don't know much about the community.#
King: The underlying framework they released is Open Source, CodeIgniter. But, the Expression Engine CMS itself is commercial.#
Interviewer: Why do you think that every so often we have these eruptions around the Open Source license. Why do you think that is?#
King: Because people don't read end user agreements and don't pay attention to licensing and don't realize that they're agreeing to things then they find out something that they don't like and freak out about it.#
Interviewer: That's true. I've never read an Apple license before. They could own my soul and I wouldn't know.#
King: Yeah, I think it's primarily a gradual deterioration of ignorance leading to anger.#
Interviewer: With the Movable Type thing, the post that Mark Pilgrim wrote was very much the reason to move to WordPress is because it's Open Source. Do you think lots--#
King: I'd have to go back and read it, but I think that the thing that he... the thing I remember is more that he was saying it's Open Source, so they can't pull this crap on us.#
Interviewer: Yeah, exactly.#
King: The reason was not - his reasoning for switching-- Open Source was the mechanism. If Movable Type have not made that change and upset the community, they wouldn't have just gone along. Nobody would have said, "we need to switch away from Movable Type to an Open Source license because there's a potential of this."#
Interviewer: I guess that event happening showed that that was possible and what Mark writes in his post is that that can never happen with WordPress because even-- they can't change the license, they're just stuck with it basically.#
King: Yes. That's true but there's very few people who actually care about that.#
Interviewer: I agree.#
King: Until somebody pulls the rug out from under him, right? Nobody cared about the Moveable Type license until they made the license changes.#
Interviewer: That's true. We've been talking for a while. I'd like to talk to you at some point again about kind of commercialization of WordPress, if that would be okay? I'm sure you've got some good insights on that as well. It probably won't be for a few months anyway because I'm trying to get some stuff together before the end of May on what I'm working on at the minute. There's going to be a big section on commercialization so that will be interesting to talk about.#
King: I really look forward to reading what you put together. I think this will be a lot of fun for going down memory lane and probably learning some things I didn't know as well.#
Interviewer: And finding out that you were building a hack section but you've forgotten [laughter]#
King: Or at least I intended to.#
King: You intended to. Well, it's good to know that didn't get anywhere because I just finished my writing and it stopped at the hack section. And I said, I'm going to ask Alex about this. So, I don't think it ever got built.#
King: I don't think it did. I think that plugins came along and it probably just superseded it.#
Interviewer: Did people just host their hacks on their own blog?#
King: Yeah. That was actually a controversial change when WordPress.org stopped linking out to developer sites. So, that's something else to maybe talk to people about that were involved in that decision as well.#
Interviewer: When was that? I can probably find that.#
King: I going to say 2006 and that's a guess, then, I think now there's a link to the profile and then the link to the profile you can have a link to your own site. But, the profiles have only been around a couple years. So, there was a period of time where basically the plugin and themes the links to the developers were removed and there was no good mechanism for getting back to their sites. My traffic went way down on that.#
Interviewer: Okay.#
King: My ability to monetize my own site went way down.#
Interviewer: Okay, that's one for the future, but that's definitely one I'll dig into the chat log and see what I can find out.#
King: Yes, sounds good.#
Interviewer: Well, thanks, Alex. I hope you enjoy the rest of your day. Speak to you soon.#
King: Yeah.#
Interviewer: Bye.#
King: Take care, bye.#