Here’s just a quick bit about open source on the iPhone. We all know that the iPhone development kit agreement prevents developers from making open source iPhone applications. This means that every iPhone application has to be developed by a company, or individual. You can’t have a team of people around the world collaborate openly to make an amazing iPhone application.
There is another side effect of this that isn’t immediately obvious. Existing open source applications that are licensed under the GPL, and other similar licenses, can not be legally ported to the iPhone. If you make modifications to a program under the GPL, you must open source your derivative code. The Apple agreement prevents you from doing this. Therefore, you can’t port emacs to the iPhone without violating either the GPL or the agreement with Apple.
In the wake of the recent court ruling upholding the Artistic License, we are more sure than ever that open source licenses are enforceable. Thus, the only chance we have of seeing many open source apps ported to the iPhone is if Apple makes a change, because the GPL isn’t going anywhere.
Luckily many open source projects are licensed under the BSD, MIT, or other similar licenses. Projects under these licenses can be ported to the iPhone because the derivative code does not need to be open sourced. This is why we are seeing iPhone applications that contain code from PuTTY, OpenSSH, OpenSSL, etc.