|
Being knee-deep in iPhone Web Development at the moment, I find myself typing the word 'iPhone' into google quite a bit. Also, for giggles, I tend to check Amazon.com frequently for keywords for upcoming books I would like to see. The main reason for that is Amazon seems to know about newly registered ISBNs well before inventory tracking systems from brick-and-mortar stores do... so searching there seems like a logical choice.
The other night I was looking to see what people were doing with regard to iPhone development and I saw a title from O'Reilly entitled "iPhone Open Application Development". From the description of the book,it describes how to create native applications for the iPhone using existing open iPhone application development frameworks. What the book description doesn't tell potential readers is that to run that code, readers would need to hack/jailbreak their iPhones, which violates their license agreement. The publication date of the book is only 15 days after the much speculated SDK release date of "end of February 2008" (which all of us take to mean February 29th...). This is not nearly enough time to convert the content of the book from working on hacking kits (like the one the author created - the author is apparently the first person to write a native iPhone app using a hacked phone) to working on the legitimate SDK.
So is O'Reilly actually condoning the hacking of the phones? O'Reilly has had a long and prestigious history as being _the_ ultimate source for *nix manuals, including many books that became so dogeared I actually bought multiple copies, including dozens of "in a nutshell" books. Back in those good old days, "hacks" which appeared in O'Reilly titles were actually just low-level down-and-dirty nuggets of pure gold that geeks and admins loved - but were all perfectly legal.
I went to O'Reilly's digital media site which hosts some blogs and I was able to find quite a few Objective-C 2.0 samples (you can tell they're 2.0 because the samples have no -release or -retain calls) for the iPhone. I can certainly say that waiting for the iPhone SDK has been one of the hardest waits in my life. The last time I was this excited about a new SDK was probably when .NET 2.0 came out, and I think even that wasn't as exciting since we already had 1.1 in our hands. But what I simply don't understand is why you would want to educate potential iPhone developers on how to make applications that will only work on the niche minority of phones that have been hacked and won't work on legitmate, up-to-date consumer phones?
The other thing that troubles me about publishing code before the release of the SDK (and to be fair, it isn't just O'Reilly doing this) is that it is downright naive to assume that the code you've written now will work on the phones once the SDK comes out. Everything I've seen of the iPhone code looks really low-level, and looks like what Objective-C code looks like when you don't use Interface Builder. I think it's foolish to assume that the code people are publishing now is going to be the same development paradigm used once we get the SDK in our hands... I'll be surprised if any of these independent hack-requiring apps even load for the updated ROM image, let alone work properly.
Its one thing to litter such public code samples with disclaimers indicating that the code only works on hacked phones, etc, but you don't find that kind of disclaimer in the description of O'Reilly's book or on any of the blog posts on their site with code listings. How many potential developers might stumble upon the information on O'Reilly's site, follow the instructions to start coding, only to eventually realize that customers with unhacked phones can't run their apps??
If you want my honest opinion, I think there's two things going on here: A huge community of hacker types who having a lot of spare time on their hands who see pretty much any locked down device as a challenge, and they are posting their findings to enhance that community, and for bragging rights. Then, there's large organizations like O'Reilly that, in my opinion, are jumping on the hacking bandwagon because they know iPhone development is a huge search topic and they want a piece of the cash cow.
Anyway, what do you think...do you think what O'Reilly and others are doing is harmless, or do you think it has the potential to confuse iPhone developers and/or do harm to the future iPhone development community as a whole?
It seems to me rather stupid for O'Reilly to go to press with this book,
since they already know it's going to be obsolete in another week or so.
I don't think this would happen if Chuck Toporek was still running their
Mac line.
I have no inside knowledge, but it's possible that the author of a book
about a forthcoming API has had advance access to the API. If this
hypothetical event happened, publication would await official release of
the API in order to avoid any conflict with a non-disclosure agreement.
I'm fairly certain that the author has not had advance access to the API.
Additionally, the description of the book indicates that the coding being
done is being done against the open kits available through the iPhone
hacking community, not against the public/legitimate iPhone SDK to be
released.
Apple released the iPhone without the ability to tinker, so the dev
community, which likes to tinker, hacked things. O'Reilly is not condoning;
they are simply allowing developers to be developers. At some point in
time, we have to realize developers are adults, not children, and
responsible for their own efforts, good or bad. O'Reilly is gambling that
the books will sell enough before there is a "legal" way to dev against the
phone. If they win, wonderful. If they lose, they, and the authors, will
pay the price. They are adults too.
Totally - it's a developer's choice as to whether they develop for a hacked
phone or not. Telling tinkerers that there is a shiny new device with which
they cannot tinker is akin to telling a 4 year old they cannot eat a cookie
and then leaving it on the counter. I think the irresponsible thing that
O'Reilly is doing is _making money_ off of publishing a book that is
encouraging people to write code without going through legitimate channels.
As you said, it's every developer's choice whether they choose to go the
legitimate route or whether they choose to go the tinkerer route. There are
two problems here. First, AT&T might actually have the right to exact
financial charges (e.g. contract violation penalties) on people who
decouple their phones from the network. Second, O'Reilly is a corporation
that is selling instructions to violate warranties. I think this crosses
the line between publishing those instructions for free, and selling those
instructions for profit. One action can be considered not quite nice,
another action might actually have real legal consequences.
Actually, this isn't much different from other titles O'Reilly has
published before, like PSP Hacks, TiVo hacks, or Retro Gaming hacks.
Considering the hacks series is (partly) dedicated to unconventional and
unsanctioned use of software and gadgets, it's a bit of a stretch to imply
that O'Reilly is trying to confuse customers. If they were trying to do
that, the title would be "Programming the iPhone" or "iPhone Programming in
a Nutshell", which are their mainstream series for this sort of thing.
Using the iPhone requires acceptance of a license agreement? Or does
unlocking it just void the warranty? I'm not aware of an iPhone EULA, and
I'm not convinced that unlocking an iPhone for the purpose of creating or
using a 3rd-party application is illegal. My understanding is that the
DMCA has exemptions for (1) reverse engineering for the purpose of making a
compatible product, and (2) legally obtaining service from another
provider. Whether Apple likes it or not, I think everything is above the
board here.
Unlocking your phone violates the terms of service agreement with AT&T. I
didn't say unlocking the phones was illegal... I'm just saying that AT&T or
Apple both have a right to be angry with O'Reilly for profiting from
instructing people on how to violate their agreements. Bottom line is that
once you unlock your phone, you are beholden to the ability of the hacking
community to maintain a continuous supply of unlockable ROM images, and
will have to constantly worry about accidentally updating your phone
through iTunes, which will wipe all unauthorized third party software from
the device. My point is - why bother? Why go through all that hassle when
you can just use the legitimate SDK that comes out end of Feb? To me, and
this is just my opinion, publishing books on how to do this kind of thing
might not be legal, but I don't see the point... why not publish a book on
how to do it using the legitimate SDK?