Categories
Ask Matt Essays

Price of Freedom

I got asked an interesting question today:

The only thing why (at least) I encode the footer is to prevent people from removing my designer link. I usually spend around 6 hours designing the graphics and coding the theme and some people simply take my link off and some of them even dare to write that the theme was designed and coded by them! How would you feel if someone took your WordPress script (since it’s free) and said they made it? Wouldn’t you like to bite their head off?

The response became too long for a comment, so here it is:

Kate, thousands of people every day remove the WordPress link, or my link, or search and replace the WP logo with their own and redistribute it, use it to spam, distribute hate speech, or any number of awful things you can imagine. So why have hundreds of people spent thousands of hours working on it?

Though the freedom intrinsic in the GPL that has allowed people to abuse WordPress it has allowed even more people to do amazing things and over time the good far, far outweighs the bad. Most importantly I feel like WordPress would have never gotten off the ground if it hadn’t been open from the beginning. (In fact there were several more functional blogging programs started around the same time that have since withered away.)

Ultimately I know our software isn’t going to change anyone’s spots. Good people will do good things with it, and bad people will do bad things with it — regardless of any protections I put in place. Windows Vista, a multi-billion dollar enterprise, was cracked within days. Does any piddling encoding I can do in PHP really matter? If protection like that isn’t broken it’s a statement of popularity, not security. I suppose could harass the bad guys, shut down their host, send them scary letters, but it’s just going to stress me out and like cockroaches they’ll pop up someplace else. I also know that most projects, software, and ideas die from obscurity, not piracy.

If you accept that bad people are going to be bad then the real question becomes how do you maximize the effect of the good instead of treating them just like the bad. (No one likes to be treated like a criminal.) In my brief experience here’s three things that work:

  1. Give people the tools they need to succeed. This can be interpreted on a lot of levels, but personally I’ve found at the most base the freedoms provided by the GPL and other open source licenses are incredibly empowering.
  2. Celebrate the successes. Talk, connect, promote, and embrace the people who are creating things on top of your creation. (The best revenge against someone doing something bad is helping create something awesome.)
  3. Provide a way for people to choose to help you, and try to remove as much friction from that process as possible. Now that you’ve ignored the bad people and delighted the good, by their very nature they’ll want to give something back.

The success stories around this model are numerous and growing every day. People can and do rip-off the entire Wikipedia, but it’s still become one of the top ten sites on the internet and a marvel of what can happen when you let go. (Not to mention it is run entirely on open source software.) WordPress itself was built on top of a pre-existing GPL product called b2/cafelog. Anyone can run the software behind our hosted service WordPress.com and create competitive sites, and many have, but it hasn’t hurt us one bit. Linux, GNU, and the thousands of related desktop projects haven’t taken a bit longer than folks had hoped, but the impact they’re having, especially on emerging economies, is dramatic. The list goes on and on. It’s not hard to join the movement, but first you have to figure out who you’re fighting, who you’re trying to help, and if the price of freedom is something you’re willing to embrace.

Categories
Essays

On PHP

PHP.net has announced that they will stop development of PHP4 at the end of this year, and end security updates on 2008-08. (In 2007, their site still doesn’t have obvious permalinks. They do have a RSS 1.0 feed though, remember those?)

PHP 4.0 was release in May of 2000, by 2004 when the first version of PHP 5.0 was released, PHP 4 had achieved complete dominance and was completely ubiquitous in both script and hosting support.

Fast forward 3 more years and PHP 5 has been, from an adoption point of view, a complete flop. Most estimates place it in the single-digit percentages or at best the low teens, mostly gassed by marginal frameworks. Even hosted PHP-powered services who have no shared host compatibility concerns like 30boxes, Digg, Flickr, and WordPress.com, have been slow to move and when they do it will probably be because of speed or security, not features.

Some app makers felt sorry for PHP 5 and decided to create the world’s ugliest advocacy site and turn their apps in to protest pieces at the expense of their users. (Hat tip: Mark J.) They say “Web hosts cannot upgrade their servers to PHP 5 without making it impossible for their users to run PHP 4-targeted web apps” ignoring the fact that there isn’t a released PHP app today that isn’t PHP 5-compatible and recent upgrade issues have been caused by PHP itself in point releases. (See WP#3354.) It’s easy to always promote the newest thing, but why, and is it for us or our users?

Now the PHP core team seems to have decided that the boost their failing product needs is to kill off their successful one instead of asking the hard questions: What was it that made PHP 4 so successful? What are we doing to emphasize those strengths? Why wasn’t PHP 5 compelling to that same audience? Are the things we’re doing in PHP 6 crucial to our core audience or simply “good” language problems to solve? Will they drive adoption? How can we avoid releasing (another) PCjr?

I wonder if PHP 5+ should be called something other than PHP. A unique name would have allowed the effort to stand on its own, and not imply something that’s an upgrade from what came before when in many cases it’s just different, not better, from an end-user perspective. Continue to maintain PHP 4 as like a PHP-lite. Make it harder, better, faster, stronger.

For all the noise though, this isn’t a big deal. It’s easy to forget that PHP 4 hasn’t had any real innovation in the past 3 years while at the same time apps and services built on top of it have created some of the richest and most compelling user experiences the web has seen. (Née Web 2.0.) None of the most requested features for WordPress would be any easier (or harder) if they were written for PHP 4 or 5 or Python. They’d just be different. The hard part usually has little to do with the underlying server-side language.

Someday on our mailing lists I hope half the words wasted pontificating on “language version wars,” which are even duller than language wars, go toward design, copywriting, information, performance — the things that truly matter.

Categories
Essays

Mitch Kapor vs. Mark Zuckerberg

I’m here at Startup School and there is a really interesting contrast between the presentations of Mitch Kapor and Mark Zuckerberg. Lotus was one of the fastest growing companies of all time, and was widely heralded as one of the best working environments, and Mitch has been involved with some really interesting tech revolutions over the years. Mark Zuckerberg is of course the founder of Facebook.

Mitch’s presentation was one of my favorite of the day, and one of the thing he emphasized was that you should hire for diversity because diverse groups of people innovate more. Diversity here is defined as a function of experience, background, family status, as well as the traditional definitions like gender, et al. He says that one of the most common mistakes entrepreneurship makes is building “mirrortocracies” instead of meritocracies, meaning they tend to hire people like themselves rather than hiring the best people regardless of backgrounds, and the company suffers as a result.

Almost on cue, Mark started out by saying that the two most important things for a company is to have people who are “young and technical,” and his explanation of such was actually the entirety of his prepared remarks. (He arrived shortly before his presentation, so AFAIK hadn’t heard any of Mitch’s.) He made some fair arguments for biasing toward a technically inclined workforce, even in roles like marketing and support, however he didn’t really say anything compelling in support of youth, besides some vague references to many great creators and chessmasters being between 20 and 35 years old. But in no uncertain terms, he said they have a bias toward hiring young people at Facebook.

I’m inclined to agree more with Mitch. Biasing your decisions based on something completely out of someone’s control, specifically the year they were born, seems as likely to have correlation to talent and success in a company as gender, race, or anything else that everyone knows doesn’t matter. It’s not what you’re born with, it’s what you make of it. However in defense of Mark, you can think of Frank Sinatra’s Young at Heart. There’s youth, and there’s youthfulness. The latter could be described as a set of qualities, and could definitely something you look for when hiring, but make sure you’re targeting the right things.

What do you think: Is there something inherent in age that’s valuable? What’s the most important thing you look for when hiring?

Categories
Essays

An Introduction to PHP

An article I wrote for Digital Web is online, PHP for Designers. I am happy with how it turned out, and if there’s anything good about it I owe it to Molly, Nick, Paul, and Keith. I hope for this to be the first of several articles on PHP, but to continue I need to streamline my writing process. I don’t like writing, I like having written. Trim, cut, edit.

Categories
Essays

On Blogrolling Hack

I think the importance of this issue cannot be understated. My thoughts from the WordPress Dev blog: Blogrolling Hack Illustrates Need for Decentralization.

This morning it seems that sites who manage their blogrolls using blogrolling.com’s service had their links hijacked, every link being replaced by one to “Laura’s Blog,” which predictably redirects to a porn site. As painful and unfortunate as this is, I think it illustrates an important point that as a weblogging community we should be heading away from centralization as a rule, not flocking to every free or low-cost centralized service that pops up.

To me one of the greatest things about weblogs is that they shift power and control away from monolithic organizations and into the hands of users, where it is ultimately more secure. I have a friend who lost three years of her writing when a free online journal service decided to fold and delete everyone’s entries. I know people who hardly use email because their hotmail or yahoo addresses are flooded with so much spam as to make them useless. People who don’t host their own comments have their discussion at the mercy of some third party provider of varying reliability. Many of you reading this had your blogrolls hijacked this morning. In the weblog world blogroll links represent a web of trust — you freely giving a piece of your credibility to another site as a gift to that site and your audience. Today that trust was betrayed for many people.

There is more on the link. I’d love to hear some feedback and assist people in moving away from centralized services, even if it isn’t to WordPress. What are the other alternatives? If you want to move away but you’re having trouble with code somewhere just let me know and I’ll try to help you out.

Categories
Essays

Psychological Egoism

Okay you know the drill. This is a paper I turned in today for my Ethics class. It deals with psychological egoism, and if you have any leanings toward this moral theory I’d be interested in hearing your feedback on this. My language is strong in the paper, but that doesn’t mean my mind isn’t open. I didn’t have as much time to put into the print (PDF) version of the paper this time, but it’s still a nicer way to read it than the HTML below.

Every human action is at its root a selfish act; even acts that are altruistic on the surface are primarily motivated by a deeper selfishness — or so a psychological egoist would say. Psychological Egoism is a descriptive theory that rather than suggesting, as ethical or rational egoism does, how people ought to live, suggests how people actually go about their lives. The assumptive nature of the theory introduces a number of possible avenues for refutation, some of which are very compelling.