...yet another take on the App Store
There’s lots of talk going around about the iPhone App Store and Apple’s tight control over it. This week Joe Hewitt and Chris Messina weighed in with their thoughts. People in the iPhone community have been complaining about this for a long time, and although there’s no sign that anything is changing, more attention to this topic can only help.
A couple of weekends ago, I had the pleasure of hanging out with Larry Wall. Larry is famous for creating the Perl programming language, for running the large open-source team that’s grown up around Perl, and for freely mixing his personal thoughts into his professional work. When we talked, Larry said something to me that seems fit for the App Store and also seems like a pretty good way to live.
We were discussing the work being done on Perl 6, and Larry said something like “we operate on forgiveness rather than permission,” meaning that it’s relatively easy to get write access to the project. That makes it easy for a person to start contributing. It also means that it’s easy for a new contributor to make mistakes and break things! But with a good source control system, it’s possible to unwind those mistakes and “forgive”. The price of making mistakes is deliberately made low because the price of losing innovation is always high.
Permission-based systems stifle innovation. Suppose I asked my spouse, “How should I celebrate our anniversary? May I buy you flowers, take you to dinner, or surprise you with a weekend away?” or “Which of these possible greeting cards should I choose for you?” Now there’s obviously some thought required to choose a good gift, but it’s also obviously true that when a person puts thought into a gift (like not buying chocolate for a partner who doesn’t eat chocolate) the freedom of surprise is always better!
Also, permission-based systems take away our sense of responsibility. “You said you wanted this” or “the app was approved” are just other ways for me to say “it is what it is,” and that I’m not going to accept any more responsibility for my choices. iPhone app developers have the ultimate excuse: “the fix is stuck in review” and sadly it’s often true.
The alternative is forgiveness. When you work with a forgiving partner, you are more free to take risks, make mistakes, recover from them, and keep moving forward. On a personal level, forgiveness is a much easier way to live because, paraphrasing Mark Twain: “if you forgive, you don’t have to remember anything.” But on the platform level, a little memory and reputation would go a long way. That’s what’s working on the web and on other computing platforms, and the “security” of the current system is in some ways just a pretense. As it was recently pointed out to me, even the most superficial iPhone app can scrape and upload the entire contents of my address book without my knowing. Should Apple block more apps to protect me from this? No, I think a much better approach would be to take the money being spent on the barely-under-control app review process and instead use it for better OS features, features like the capability entitlement system that’s in the Android OS (yes, that’s a permission system, forgive my inconsistency?) Beyond that, let the free market decide. It’s not perfect either, but it’s working.
Actually, this is how I think it’s going to turn out. Running things as they are now is not going to pay off for Apple, and eventually (if not already), the right person at Apple is going to say “this has to change” and it will. If that doesn’t happen, I think it’s fair for this issue to go to the FCC. We claim to have the right to regulate the airwaves, and since the iPhone operates on those airwaves, we as citizens can say how we want the iPhone ecosystem to operate. That’s not the only justification for addressing this with public policy, but it’s enough.