Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I've always wondered what the term "Cydia" meant, so I hope Saurik can clarify: "Cydia" the app, or "Cydia" the ecosystem?

The app itself, more or less, is a graphical frontend for APT on the iphone. On the other hand, a lot of applications and stuff that comes with "Cydia the app" that form the ecosystem- like MobileSubstrate, Cyscript, etc mentioned in the article.

I remember back in the "wild west" days of jailbreaking, where a jailbreak implied literally just that- the ability to run unsigned code on iOS. The jailbreak (redsn0w, I think) around the iOS 3 days didn't even come with Cydia- it just installed SSH, and the user had to install Cydia after SSHing into the device. I remember enjoying the Telesphoro repo just for the *nix frontend apps that it installed, the coreutils, netutils, vim, etc packages. I originally didn't jailbreak for Cydia/substrate/whatever, I jailbroke to use my iphone as a nix workstation; admittedly this is a extreme minority use.

I wonder if Saurik could separate the app and the ecosystem of packages. Is it even possible? I don't claim to understand how Cydia works now, but is it possible to split off the maintenance of the Cydia app and the core (jailbreak/cydia) ecosystem packages like MobileSubstrate?



> The jailbreak (redsn0w, I think) around the iOS 3 days didn't even come with Cydia- it just installed SSH, and the user had to install Cydia after SSHing into the device.

Very few versions of redsn0w ever installed just SSH (the ones that did were beta versions targeting iOS firmware versions where we didn't want to make things easy for end users). Cydia was included by default with the initial release of PwnageTool for iOS 2, and has been included in almost every jailbreak ever since.

> I've always wondered what the term "Cydia" meant, so I hope Saurik can clarify: "Cydia" the app, or "Cydia" the ecosystem?

You use the term MobileSubstrate, which was the name of a dylib and the low-level name of a developer-only package for what was always called Cydia Substrate (the very first source code file for it I wrote in 2008 had Cydia Substrate at the top). Apple named most of their folders and files and bundle names at the time like that.

Cydia is a platform for runtime code modification that includes an SDK for making modifications (Substrate), a distribution system for installing them (Installer), a payment processing, licensing, and accounting backend (Store), and (on Android only, currently, and not really fleshed out yet) a USB device management tool (Impactor).

The icon for Cydia Installer is labeled "Cydia", so the boundaries between the terms "Cydia"-the-app and "Cydia"-the-platform is blurry. People then tend to talk about "Cydia Repositories" (APT repositories with content for usage with Cydia) and "Cydia extensions/apps" (what I normally call "Substrate extensions").

As for the "ecosystem", the line is often blurred here between the "iOS jailbreak ecosystem" and the "Cydia ecosystem" because almost every jailbreak tool has included Cydia Installer, Cydia Installer is the only way to get Cydia Substrate, and almost everything in the ecosystem is built as a Substrate extension of some form.

> I wonder if Saurik could separate the app and the ecosystem of packages.

As explained in the article, I am able to maintain all the things I'm responsible for, as well as have the time to help all the people who maintain all the things I'm not directly responsible for, because I have a semi-profitable business that I have managed to build out of the Installer and Store parts of the Cydia platform.

Alternatively, I could charge developers for licenses to use Substrate, and I could sell Cycript as some kind of stand-alone tool package, but that would have a massively stifling effect on the developer ecosystem. It isn't about "these things are overly coupled", it is "these things are effectively coupled but don't look to be".

Another option is that I could build first-party software for the device built out of Substrate, and distribute my software via someone else's software distribution and payments service. This sounds like an even worse scenario. In this case, I would be highly incentivized to hoard Substrate for only my products as a competitive advantage.

Essentially, if someone wants to compete with me on Installer/Store, they need to be prepared to handle everything else, because that's the place where I am able to make money: if they want the only part that's profitable they had better be prepared to take on all the things that aren't, as they aren't entitled to my effort.

Like, I don't know what you are hoping to obtain by splitting Substrate and Installer/Store apart, but if the goal is to be able to let people compete with some of the things I've built without just replacing me entirely, that isn't really possible and I honestly don't see the point: I would just leave if that happened.


>Very few versions of redsn0w ever installed just SSH

It might have not been redsn0w. Perhaps blackra1n or older, in the iOS 1/2 days, when people installed Cydia side by side with RipDev's Installer. My memory is pretty hazy on that. At any rate, this distinction is mostly a historical footnote at this point.

----------------------------

Anyways, I understand that from a practical perspective, it is impossible to separate Cydia-the-installer-and-store and Cydia-the-code-modification-platform. The former pays the bills, while the latter is the focus of most development effort and center of the jailbreak ecosystem, but not profitable without killing said ecosystem. As such, it probably would be foolish to ask to distinctly separate the app and platform code-wise, as people would aim to compete in the somewhat profitable storefront side- Rock is a good example, as mentioned. Again, I understand how you said <quote>It isn't about "these things are overly coupled", it is "these things are effectively coupled but don't look to be".</quote>

However, if I may: I would suggest you do a branding clarification to clarify, if not separate, the Installer and the Code Modification side of things. For people who aren't as familiar with the scene, it would probably help people understand what you do for the jailbreak community better.

As it is, the naming scheme for the entire ecosystem is pretty confusing. For non-jailbreak-devs, "Cydia" is seen as a platform containing just the APT-frontend installer app and the store; the code modification/extension side of things is less obvious, eclipsed by the installer. This is possibly part of the reason why some people are interested in competitors for Cydia: if it is only seen as a glorified app store storefront and installer, almost anyone can write a replacement, which may be the cause for discontent.

This also has the benefit of clarifying what you're trying to do for Android: the brand "Cydia" is very iOS-centered at this point, and perhaps distinguishing Substrate/etc as something else, more neutral, would be a good idea.


On the contrary, I would on the other side claim that allowing the branding to accidentally separate, into MobileSubstrate and Cydia, was actually a key mistake: it reinforces the belief that they are entirely unrelated things that can be thought of and selected separately. I wish I could go back in time and be more clear with the branding as always having said "Cydia Platform" and "Cydia Substrate" whenever possible, so people see all the pieces as a unified concept, as then I wouldn't run into problems where people think "well, I'll just compete with this profitable thing I see that is defined easily with this word people talk about". I actually only started being really consistent and forceful about Cydia as a platform in the last year, when I started zooming out and putting the puzzle together better. (Really, Substrate only doesn't ship together with the GUI for ancient political reasons.)


(I've edited my previous comment a bit to clarify, probably after you read the first revision and started commenting, so just a note)

(Anyways, thanks for responding and continuing the conversation. I definitely appreciate this chance to talk with you.)

------------------

ARE they something that can't be thought of and selected separately, though?

I personally don't like that kind of thinking. It's similar to adding DRM to programs so that it stops pirates- just replace "DRM" with "branding uniformity" and "pirates" with "competitors".

Instead, if someone was truly interested in being an obnoxious competitor, they would "crack" the "DRM" by forcibly separate the branding. Read this in a TV advertisement voice: "Rock with Cydia Substrate, ALL of the Cydia extensions, but none of the slow!" "Replaces the installer, keep the plugins!" Sounds a bit familiar, hm? The end result is still the same, just like with piracy.

If anything, this may be worse. It pollutes your own brand, and if issues comes up, you can be blamed even more for stuff that wasn't your fault.

By keeping the code modification clear, you definitely would be able to better advertise to the Android side of things, and perhaps have other benefits with the current jailbreak community. You are in the unique position of being the only core jailbreak dev where all of the code that they ship doesn't need to be completely replaced every jailbreak. Unfortunately for other jailbreak devs, due to this, people have established an "everything is replaceable" mentality. People can clamor to kick devs out of the scene, like I0n1c. Cydia is not completely immune: if people think it is just a store and a frontend for APT, then people will think that almost any competent programmer can replace you- this is bad! By giving Substrate the individual brand that it deserves, and advertising the difficulty in building such a live code modification platform, it becomes that much more important in consumer's eyes.

Even if you don't care about the average jailbreak community member (seeing some tweets with death threats over not releasing something fast enough... make such a perspective all too understandable), the thing is that the next person to come along to compete will originate from this jailbreak community. Marketing a stronger brand to emphasize the irreplaceability of Substrate may only gather more respect and benefit you in the long run.


Your hypothetical situation cannot happen due to a combination of trademark and copyright law: you can't redistribute Cydia Substrate, nor could you attempt to dilute my branding or somehow accidentally ascribe fault to me. On Android, Cydia Gallery was designed (very poorly) to temporarily serve the purpose of Installer until I determined whether or not it was a good idea to bring the whole stack of Cydia over.

Again, your strong separation makes it sound easy to compete with Cydia separately from Substrate: what you are describing is weaker branding, because it takes two things that are only not tied together due to happenstance of technology but which are intrinsically tied legally, economically, and even user-experientially, and separates them into two things that suddenly look like you can replace one but not the other.

You then talk of people thinking Cydia is "just a store frontend for APT", but that's what "Cydia" is in your version of the branding: Substrate is some entirely separate thing, leaving Cydia alone to be compete-able with. You make it sound like separating them solves this problem, but them being accidentally separate is what caused this problem in the first place: you have the entire scenario backwards :/.

Again, it is only in the last year year that I've gone out of my way to attempt to fix the branding between these two things that previously the user community accidentally saw as highly separate, with "MobileSubstrate" being this thing that maybe anyone was allowed to use and "just some weird backend thing" and pulling it into the forefront as the development tool that embodies the end-to-end platform that is Cydia.


>cannot happen due to a combination of trademark and copyright law

There is no need to redistribute anything, as you've said yourself: pretty much every jailbreak tool comes with Cydia. This hypothetical new tool just needs to remove the installer part of Cydia, which would be legal. Also, advertising "compatibility with another product" is a pretty gray area of trademark law, and lawsuits are expensive- they can bet that you might not want to get embroiled in a lawsuit, where you have everything to lose and they have nothing to lose. It's not a completely far fetched idea.

> what you are describing is weaker branding

Let me clarify my points about branding: with separate branding, I was proposing "weaker combined branding, stronger individual branding". I am not arguing that they are not tied together economically and legally.

> You make it sound like separating them solves this problem, but them being accidentally separate is what caused this problem in the first place

Oops, I think you might have misunderstood my examples. I wasn't saying that separating the brands make it harder to compete against. I was saying that combining the brands to reduce competition is just as effective as using DRM to reduce piracy- that is, not at all. A lot of game studios nowadays, instead of adding DRM to combat piracy, release games without DRM. Similarly, instead of combining the brands in an attempt to reduce competition, just embrace the fact that it will happen no matter what.

In formal logic, let p be "separate brands", and q be "more competition". You are saying "p then q, so it is better to not-p"; on the other hand, I'm trying to say "p AND not-p will still lead to q, and p has good effects, so just do p". Hopefully the previous sentence made sense, haha...

> and pulling it into the forefront as the development tool

I feel like this is a "mere" advertising problem, and not directly related to its branding. Currently, you're trying to make Substrate more popular by combining it into the brand that the Cydia installer has. Alternatively, you can make it more popular by creating another brand and advertising its power through that: say, create "Aidyc Substrate" ("Cydia" backwards) (ok that's a shitty name but w/e), and building on that and advertising that. Both methods could work in the end.

Apple themselves can show us the power of two individual brands that rely on each other while tied at the hip: "iPod" and "iTunes"! Creating separate brands do not take away from the individual products. Can you imagine if Apple decided to call both the music store and the device "iPod"? Separate brands, intrinsically tied together legally/economically/user-experimentally, and provides a great example of what could work out. If both products are strong, they only reinforce each other away from competition.

-----------------

As an humorous aside note, I just realized that since you have a monopoly on jailbreak tools, and SaurikIT is a "legal" company, someone can sue you for anti-monopoly for bundling stuff together. It would be extremely unlikely (although quite funny from a bystander perspective, probably less so for you) for the courts to pull the Sherman Antitrust Act on you like that, though.


> anti-monopoly for bundling stuff together

That's not how it works. Similarly, you can't sue Apple for their "monopoly" on iPhones which they use to bundle the app store. Markets are defined as product categories, not slices of an individual product, at least in the eyes of the Justice Department.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: