Limitless Fork Header

John Coates, the creator of the popular patching platform Flex and a well-respected developer in the jailbreak community, announced this week the first public releases of a new endeavour called Limitless. Currently at Beta 6, this ambitious open project aims to bring newer features to Cydia’s traditional functionality by freeing it from some of the constraints which the stalwart package installer faces, for example, version compatibility reaching through every iOS back to iOS 2.0.

In recent times, increasing numbers of people have claimed that Cydia’s interface and feature-set are becoming antiquated and suggesting aspects that could be added to the application. However, with some notable exceptions, Cydia creator Jay Freeman (Saurik) has largely declined to add these features.

Cydia Homepage Old_New

Cydia Install Old_New

Above are a couple of examples of changes which were merged into Cydia on request. The first image shows a before/after of Cydia’s homepage, when it received an updated UI to match the post-iOS 6 aesthetic. The second image is a before/after of the Cydia installation page, showing the same new design language. This second image also shows the evidence of another major change which Saurik made to Cydia: the program running as mobile rather than root. As a result of this, tweaks could be made for the Cydia application itself for the first time. The translucent installation screen seen in the last screenshot is due to the tweak Pheromone. So Cydia’s development has not stood completely still and user requests have on occasion been fulfilled, but in my experience this has been more often the exception than the rule.

Saurik has justified this decision to the community on several occasions on a variety of grounds, the main ones being concerns over preserving the legality of the jailbreaking ecosystem, and the desire to maintain total compatibility for Cydia with all jailbreakable devices simultaneously. Whilst these goals are at first sight admirable and have contributed to the central and enduring role that Cydia has played in jailbreaking, there has been some discussion as to the reasoning in enforcing the former, and the necessity of enforcing the latter.

As discussed, Saurik believes that his self-made toolchain for development of Cydia, which is inherently antiquated with the aim of pre-dating certain Apple software licensing restrictions, avoids violating legal agreements with Apple over the software which would give them grounds for moving against Cydia as an application, and jailbreaking in general. On the other hand, Saurik himself admits that in recent times this ethos has become more ‘in theory’ than ‘in practice’, and that Xcode tools have been used in Cydia development for convenience, so long as they achieve nothing that he could not have done without using them with a little extra work. Coates has also pointed out that since by using your iOS device you agree to the iOS Software License Agreement this reasoning may be moot, as you may already have violated the relevant terms, and that therefore using Xcode to develop makes no further difference to the violation of Apple’s terms. That sums up the state of affairs in their discussion of the legality of Cydia’s development.

As far as this point goes, I personally tend towards the side of Coates’ argument, for the following reasons. As he states, the overarching agreements governing your use of any iOS device already circumscribe the behaviour which Saurik is trying to avoid. In addition, whilst Apple has contested the DMCA exemption status of jailbreaking at every opportunity (losing in each case and ensuring jailbreaking’s basic legality), it has no history of prosecution against any individual who jailbreaks, nor against the developers of any software which facilitates it. It thus seems unlikely that the use of a newer version of their software will constitute the difference between them being legally hamstrung, and being able and willing to suddenly shut the operation down. If Apple truly desired to put an end to Cydia’s development, I believe their legal clout and its existing usages would be enough for them to try, and that Coates’ proposed change of usages would not be the final straw that breaks the camel’s back.

Overall, it seems that a nebulous collection of factors including, but not limited to, Apple’s traditional affinity with home-workshop innovation, its desire not to alienate and attract criticism from some of its most die-hard fans, its repeated porting of jailbreaking ideas to its own stock iOS, the DMCA exemption status of jailbreaking, the value of bug disclosure and subsequent strengthening of the OS brought about by jailbreak releases, and the cost and difficulty of shutting down all the users of jailbroken devices, are enough together to dissuade it from taking this approach. Instead, and for many years now, it seems to have decided to simply patch each jailbreak as it arises and contest its legality when possible at the highest and broadest legal level, instead of taking personal and specific cases to law.

Whilst this is an incredibly complex issue and I am by no means a lawyer, it does seem unlikely to me that this fork of Cydia fundamentally transgresses anything more than the current one does, or that it will affect Apple policy. That said, Saurik has spent a great deal of time and expertise in keeping jailbreaking afloat over the years, and his central point that for the practice to survive Cydia must avoid giving leverage to Apple in terms of being an ‘illegal product’ is, in and of itself, sound. Whether Coates’ amendments really constitute a difference in this regard is where they differ.

The second point, regarding Cydia’s all-encompassing compatibility, is far simpler to understand and amounts to little more than a difference of opinion. Saurik prefers that Cydia be monolithic and run one version on all devices back to iOS 2.0. This curtails its feature-set on newer iOS versions and devices. Requests for features which necessarily prevent this such as 3D Touch support for the application have thus traditionally fallen on deaf ears. It is interesting to note that Saurik has stressed Cydia is capable of making use of new APIs, and that his toolchain based on the iOS 2.0 SDK is not the limiting factor in the lack of newer features being added, but whatever the case, the fact remains that support for these features has not been included in Cydia’s roadmap. An increasing number of people believe that Cydia ought to be prepared to fragment, perhaps retaining a legacy version for obsolete iOS versions and allowing a newer edition supporting only the most recent iOS releases to continue to grow, with richer features, an updated UI and a retooled backend.

It is in this spirit that Limitless has been started. Coates has set out the project’s goals on its GitHub page and they are as follows:

  • Bring in features requested by the community.
  • Develop a vision for the future of the jailbreak community, and execute based on that vision.
  • Clean up the Cydia codebase.
  • Backport features for Cydia that make sense to be integrated.

Note that at this time, Coates is attempting to realise these ideas very carefully in relation to the existing Cydia. His aim is to stimulate Cydia’s development by making the process more accessible and then to backport any successful features to Cydia, if and only if Saurik gives his permission. He seems also to have invited Saurik to take an active role in the development as a way to address the concerns that he has made public, which were mentioned above. However, at present this seems unlikely as Saurik has given no indication that he wishes to condone or take part in the project. He has alleged that Coates has recruited several developers which Saurik has had disagreements with in the past, and seems to view this as a personal affront. Whilst Saurik may not work with anyone he doesn’t want to, I am not sure that this is a fair criticism of Coates. As he himself has stated, the project is open to all who wish to contribute, there is no recruitment involved, and he has gone to great lengths to avoid stepping on Saurik’s toes throughout the process. It is also possible that the developers with whom Saurik has disagreed in the past are precisely those that relish an opportunity to work on a revamp of Cydia, and that is why they have disagreed.

The position is a difficult one; Saurik has had to endure a lot of ungrateful treatment from the community over the years, and has been careful to keep Cydia in a strong legal position throughout it. The outcome has been that he has been simultaneously sole hero and scapegoat of the ecosystem, and this seems to have made him somewhat wary of other contributors and weary of the community as a whole. However, Coates’ motives at present seem helpful and well-meaning, his approach deferential and courteous, and his aims modest. It would be a shame if a level of co-operation between the two parties could not be reached, rather than focussing on the personal histories of developers involved. My hope is that the situation will resolve itself into some equilibrium without any rancor, if only to a basic level at which Limitless proceeds unimpeded, and Saurik perhaps accepts any backports of value without having to provide any outlay or responsibility.

Limitless’ current design goals are to finish a code refactor into a more modern style whilst reaching feature parity with Cydia. It will then look into adding features, of which the only available mention at present is 3D Touch support and a UI redesign. Features can be requested on the GitHub issues page and currently show an interesting array of requests. You may also contribute directly to the coding of the project on the same GitHub page. A chat group can be joined here.

If you would like to check out the latest release of Limitless, the beta is available for download now on Coates’ repository, and I will be documenting its progress as any significant developments occur. At present the application appears visually identical to Cydia, but the betas are being issued fairly regularly, so stay tuned for developments.

Limitless Install Screenshot

I am excited to see what Limitless could bring to the jailbreaking experience as I think it is more promising than the other similar ventures we have seen over the years. The perennially-in-progress iMods and the paid subscription app Extensify do not seem to have gained traction, and I can see why. In some respects, the model for Cydia which Saurik created is hard to beat. The Debian-based package installer system is flexible and open, and allows the adding of any repository that any developer cares to host. It is this which I believe to be at the heart of Cydia’s success, and it is this which Limitless (naturally, as a fork of Cydia) shares which the others do not, and in fact aim to remove. By keeping this core functionality but moving the development forward away from legacy devices, I hope that Limitless can do some interesting things with the jailbreak concept, and create a more modern and powerful user experience. Only time will tell.

What do you think of Limitless’ aims, and have you tried it yet? Let me know your thoughts on this development project in the comments below.

 

  • Arjan Vlek

    Wow, I’m amazed that the current version of Cydia is still compatible with iOS 2.0!
    Are there really users on such old versions?
    In my opinion, he should keep older versions of Cydia for working the following iOS versions:
    iOS 3.1.3 (iPhone 2G, iPod touch 1)
    iOS 4.2.1 (iPhone 3G, iPod touch 2)
    iOS 5.1.1 (iPad 1, iPod touch 3)
    iOS 6.1.6 (iPhone 3GS, iPod touch 4)
    iOS 7.1.2 (iPhone 4)

    He should then have the latest version support only more recent versions – Like iOS 8+. Other versions are irrelevant, as for all versions noted above untethered jailbreaks are available.

    • Joaquim Barbosa

      Hi Arjan,
      Yes, I think that is roughly the reasoning of most people who want to see progress made on Cydia’s development. They say (probably rightly) that the percentage of devices on iOS 2-4 at this point is essentially zero, and that it is holding back development in other areas to support them.
      One single legacy version would be enough, they claim, to support iOS 2-5/6 at this point, with no further updates of it required. This would leave development free to focus on newer releases.
      I guess we’ll just have to see what happens. Thanks for reading!

      • Arjan Vlek

        Yeah, we’ll see.
        Your article was really well written. It thoroughly explained all reasoning behind the concerns of modernizing Cydia. Keep up the good work!

  • mickey

    Loyalty to Saurik is hard to steer from since I’ve been jailbreaking back to iOS 3. On the other hand he seems very resistant the past few years to any flexibility/change. Although I don’t think the time is now, I do feel as though it will eventually be detrimental to the community at some point. We will always need his support and this project seems to have the potential to make a meaningful impact. Hopefully the two will come together. Great write up.

    • Joaquim Barbosa

      Thanks for reading mickey! I’m in a very similar position to you on the whole thing, and I think it’s the most constructive attitude. My respect for Saurik is boundless but he has seemed increasingly intransigent of late. I’m hoping for some sort of co-existence and to see some interesting things come of this.
      Thanks for reading, and I hope you found it informative…

      • Arjan Vlek

        You have to know that maintaining the worlds #1 jailbreak platform involves a lot of work. And with that, I mean A LOT! Think of it: he owns the servers, he needs to support core packages like Substrate, Zip, Tar etc. Also, he is the owner of the Cydia store. A lot of refunds need to be processed for it, and I guess he also has to register all purchases in his company books.

        So I understand why he doesn’t want to implement all feature requests immediately. However, the reasoning about wanting to support all iOS versions from iOS 2.0 upwards seems bullshit to me. That he wants to be legal is understandable and seems logical to me. But I doubt that bring legal requires writing your own programming tools!

  • Chris

    tl;dr?

  • Vincent Ho

    Wall of text. Lazy to read, can summaries?

  • Joshfei

    I thoroughly enjoyed this article which is very fair towards Saurik and at the same time, progress.
    Let’s hope that Saurik, who is owed endless amounts of appreciation, and Coates who seems to have a fresh vision and energy, can work together at or least not at odds with each other to make the jail-breaking communique even better.

    • Joaquim Barbosa

      Hi Joshfei, I completely agree. Thanks for reading.

  • Joaquim Barbosa

    Hi Anonymouse, and thank you for your considered response. I am also a big fan of Saurik, and can sympathise strongly with him in many ways. I sought in this article to relay the intentions of the two projects and be informative, without necessarily coming down too strongly on either side, as everyone will have their own take on it. In the main, I hope that they will be able to consolidate their efforts in some way.

    I’m glad you enjoyed the write-up, thanks for reading!