3 ms·
Yes, they had the plain text shader files embedded in their app, easily extractable. It's been like that since they first released 2.0. Path has (or had) them e
by hiroprot 15y ago
Yes, they had the plain text shader files embedded in their app, easily extractable. It's been like that since they first released 2.0. Path has (or had) them embedded, too.
It's still their IP though, and publishing them as "open source" is unethical and probably illegal. Just because something is feasible doesn't mean you should do it.
The GPUImage-based execution environment is fine, but you should remove these shaders ASAP.
- fennecfoxen 15y agoTo split hairs: "Free" or not, legal or not, the source is now open.
- phuff 15y agoTo split hairs even further, the source is not _open_ so much as _publicly available_. There is a big difference. "Open source" is a term of art with a specific set of legal requirements attached to it. If this code is illegally published from closed source code without permission it doesn't meet the definition of "open" that the term of art implies. cf. http://www.opensource.org/docs/osd http://www.opensource.org/docs/osd
- hiroprot 15y agoWanted to follow up and say that while including the proprietary Instagram shaders is wrong, the author did a nice job with this. We're currently working on some filtering stuff using GPUImage as well, and it's nice to see this stuff progress. One filter that is missing here BTW is Lux, which is Instagram's equivalent of the Camera+ Clarity filter. The reason (I suspect) is that the Lux "filter" is actually not implemented using shaders, but rather CoreGraphics. Would love to hear your take on it if you know more.
- 5teev 15y agoHaving explored a lot of app bundles this way, I can report that many iOS apps have shaders and other similar files (e.g., plists, HTML files) stored as plain text in the bundle. PNG files are obfuscated, but that's reversible: http://www.axelbrz.com.ar/?mod=iphone-png-images-normalizer http://www.axelbrz.com.ar/?mod=iphone-png-images-normalizer This kind of spelunking can be a good way to learn from other developers about how to approach some problems. However, I agree with other commenters that it would be morally shaky to re-use any of another app's files in my own app.