Here at iJailbreak we recently published a how-to guide on installing Cydia in iOS 6. Shortly afterwards, Jay Freeman (@Saurik) the original developer behind Cyida, posted a response that explained why he disapproved of the iOS 6 version of his package manager and why he would vote against releasing public jailbreaks for beta firmware. Naturally, I barged right in, in defense of foolish developers who distribute awesome code.
I thought the conversation was interesting enough for its own article, and that the topic is consequential enough to warrant it.
Here is the unedited transcript of the argument between myself and Jay Freeman (it’s been a while since Freeman’s last response, but there’s plenty of space in the comments section and we will be sure to update as the discussion develops):
From the perspective of many of the community developers, this is very disappointing, and it is exceptionally so that WyndWarrior (in particular) did this without getting on IRC and asking any questions before deciding to post this build publicly.
In essence, when Cydia runs on a build of iOS, it causes massive end user adoption of that firmware version. Developers, on the other hand, do not need, nor do they often even care about, Cydia on their system: they use apt.
What this means for beta builds of iOS is that there is then rampant piracy of Apple’s firmware and flagrant violation of Apple’s developer account terms of service. This is obviously something we have the goal to minimize.
Meanwhile, developers in Cydia then begin to receive large numbers of complaints about things available in Cydia that don’t work yet; something that is exceptionally silly, as the firmware is still itself a moving and buggy target.
In fact, in the case of iOS 5.0, ignoring b1 was actually the most correct thing for developers: Apple had fixed many of the bugs that were happening–yes, even in our jailbreak-specific projects–by the later betas (b3, in specific).
Thereby, all of the major developers, the repositories, and many of the people working on jailbreaks themselves (certainly most of those that were around at the time)… we all were incredibly happy when Cydia didn’t work on iOS 6.0b1.
The argument is that, without a working version of Cydia, this beta firmware jailbreak can be released publicly, but will only get adoption by developers, not end users; we, in essence, do not have to worry about these aforementioned problems.
So, despite a number of hesitations and arguments, even those most strongly against releasing jailbreaks for beta versions of iOS reluctantly withdrew their complaints about a release of common jailbreaks, such as redsn0w, for iOS 6.0b1.
After all, with a more public jailbreak process, it does become easier for many developers to update their software throughout the betas. The last component missing, Cydia, could then be released only with a jailbreak for “the real firmware”.
Sadly, however, the result seems to be that we cannot actually trust the extended developer community. It took only two or three days for someone not realizing the delicate balance to opt for some publicity and release a replacement Cydia build. *sigh*
This means that many of us, certainly me, will now be registering a strong “no” when it comes to a public release of any future jailbreak for beta releases of iOS (and “absolutely not” for b1), whether or not Cydia operates.
Saurik, are you telling us you didn’t expect that tinkerers on the bleeding edge of the modding community might patch an opensource tool for their own purposes? Part of the deal behind making a tool open source is that the founding developers lose absolute control of how the tools are used.
From what I’ve seen, the most impact this has had on the jailbreak community is a flock or two of over-eagers who don’t understand why their favorite tweaks don’t work. Why not let them use their machines the way they want to, while informing them that the firmware is unsupported by many developers and they are using the beta version at their own risk?
Maybe it could be included into a dialog in redsn0w. Something like “iOS 6 is currently in early beta and will not be widely supported by homebrew developers until after the public release. If you want your favorite software to work, stick with iOS 5.1.1. Please do not harass community developers.” The ‘inform and let the user decide’ approach is the same stance Cydia takes with certain third party repositories.
Isn’t part of the purpose of jailbreaking to free our personal devices from restrictions that are placed on devices “for our own good” or for a private group’s convenience? I’d really hate to see you abandon the idea that software should have screws.
Were I to really believe in the strawman arguments you are now attributing to me, I would figure out some way to make Cydia closed source. Obviously, I have not, so your comments are difficult to line up with the reality of the situation as it is actually playing out.
First, I will point out a factual error that you are making, one which seems to indicate you did not read my entire comment. It is actually a serious problem for the jailbreak community when it becomes an excuse for people to pirate Apple’s firmware bundles or to mess around sharing their pair developer accounts.
With that in mind, I will now address your core complaint by saying that there is a difference between those things that we can do, and those things that we should do. The rest of this comment will now build on this idea and demonstrate how it applies to this situation.
We, as a movement, have to be sensitive to the notion that we are not operating in a vacuum: we cannot just do the things that we please and knock over anyone and anything that stands in the way of our goal. To do so is to just paint a target on our backs and make us seem to those whose opinions we must win as “selfish”.
Instead, we must be careful with our actions, and see how they affect the communities around us. This is no different than actions we take using freedom of speech or our freedom to congregate. I believe it is then entirely appropriate to be disappointed when freedom of speech is used in a manner that is hurtful, even if I consider it equally important that it is possible to be used in said fashion.
To build a different example, if we know that calling a protest at a specific location (end users) will cause property damage and death when calling the same protest at a different location (developers) will have the same benefits but minimize casualties, I will argue it is now our responsibility to choose the location wisely.
In the case of iOS beta firmware versions, the legitimate reasons for end users (remember: we aren’t talking about developers here!) to jailbreak a version of the firmware for which few of the end-user accessible tweaks work (including, AFAIK, even PreferenceLoader) are very difficult to reconcile with the problem of actually encouraging users to pirate Apple’s software.
Again: this is a delicate balance, and I realize that it can come off as somewhat difficult to explain. However, your comments attempting to mingle this issue up with open source through some form of indirection are entirely unhelpful, unwarranted, and untrue.
First off, you’re not being very charitable with me or my argumentation, which I don’t really appreciate. I’d rather not be accused of putting words in your mouth when I am not.
Cydia IS open source and there are legitimate ways of getting access to iOS 6. That’s not a straw man argument any more than the argument that jailbreaking isn’t only for piracy. (Look at the piracy rate of Springtomize.) If a developer, or someone else with a legitimate copy of iOS 6 wants to distribute Cydia, it is within their rights to do so. I would argue that you don’t have a legitimate reason to discourage that.
While I’m sure many of the people who are installing Cydia on their iPhones and iPads are unfortunately pirating the firmware from Apple, (as are many people pirating Cydia tweaks) we don’t really have control over that. Just like ZodTTD doesn’t have control over whether people rip their GBA ROMs themselves or if they download the files from a pirate website. Developers licences from Apple cost $99. It’s not unreasonable to assume that some non-developers would be willing to pay to be on the bleeding edge.
On the other side, if Apple’s developer security is easily bypassed, that should be Apple’s concern, not yours. Coders shouldn’t be put at fault just because nifty features are suddenly available that will make users want to pirate beta firmware. (Frimware that will, upon release, be freely available for the devices they bought.)
Blaming the bleeding edge coders, who have recompiled Cydia for their own purposes, for piracy puts too much emphasis on the tools and too little emphasis on the people who are willing to take software that doesn’t belong to them from Apple. If you don’t want to give them the reason, its your call, but the genie is out of the bottle.
I jailbreak. I don’t pirate. I don’t see the point in using iOS 6, but if someone has legal access to it, I don’t see why they should be restricted from doing what they want with their own devices.
Should jailbreaks be available for costly firmware betas? Is “software with screws” a strawman argument? Are developers responsible for piracy? Share your thoughts in the comments section below.