Why isn't there a bigger open source community in iPhone development?
1. There needs to be more open source software
Developers need to share code with other iPhone developers. While working on the Posterous iPhone app, I often found myself writing some code that I was sure others had written before me, many times. Sharing this code would make iPhone development faster, more efficient.
There were a couple great open source projects out there: I used the Three20 photo viewer, and a powerful XML parsing library. I also found plenty of (buggy) code on Stack Overflow. But other than that, PicPosterous was all home grown.
I guess I should release parts of the PicPosterous source :).
2. There needs to be an underground app distribution channel for developers
Apple locks down app distribution on the iPhone. You can give your app to up to 100 people for beta testing, but it's still controlled by Apple and the identifiers on every phone through a "provisioning profile".
But there's a way around this, that would let developers release their apps to other developers, even apps that wouldn't be approved by Apple:
- Developer write an app and distributes the *source code and XCode project* to the world
- Other developers download this project and can easily run the app in the simulator
- These developers can then use *their* provisioning profile to compile the app to run on their own phones (BYOPP)
- If the original developer doesn't want to release their source, they can compile their app into a framework and release that
- This only works for other iPhone developers who have a developer account with Apple
I used this method to compile sample apps and run them on my phone, particularly important when you need to see how code behaves on a real device (performance, memory, etc).
This could grow into a huge underground channel for app distribution. Developers could write cool apps that don't comply with Apple's rules, and give them to others. You don't even need to jailbreak your phone to make this work.
I predict Apple will loosen their claws on app development and distribution as pressure from other platforms builds, but for now we're stuck with what they give us.