Cydia Substrate and Substitute are platforms that make it easier for developers to hook into OS functions and create tweaks for end users. Comex generated quite a bit of controversy when he announced he would be working on a free alternative to Cydia Substrate. You read more about that here.
Currently, the alpha code of Substitute "has not yet been tested anywhere near adequately and is probably completely broken. Especially sharp edges are the iOS bootstrap stuff and the disassemblers." Comex notes that developers should only install the alpha on iOS 8 for now and should install safestrat before Substitute so that if Substitute breaks booting, you can SSH in and uninstall it.
Here's a look at Substitute versus Cydia Substrate:
Substitute Compared to Substrate
+ Free software, so you can actually use it somewhere other than iOS or Android, e.g. by bundling whatever parts of it you need with your app. See below for more on this.
+ More sophisticated, partially automatically generated disassemblers, which handle a larger portion of the space of possible PC-relative instructions that might be found in a patch target function - though I'm not sure how likely this is to help in practice.*
+ Identifies if a function is too short to patch.
+ An extra disassembly step goes through the rest of the function to optimistically identify jumps back to the patched region, which are possible in rare cases; these can't currently be fixed up, but an appropriate error code is returned.
+ API returns error codes.
+ Some more functionality - interposing...
+ cross-platform support will be high priority soon(tm)
? C, not C++
- not yet stable
- bigger binary size (because of the disassemblers)
- Android will never be supported
Hit the link below for Substitute's GitHub page. Please follow iClarified on Twitter, Facebook, Google+, or RSS for updates.