
우선, 아이폰 개발자 프로그램에 등록하려면 99달러의 수수료가 필요합니다. 그 후에는, 등록된 아이폰 개발자 계약(Registered iPhone Developer Agreement)에 동의해야 합니다. 그리고 이 계약은 오픈 소스 진영에서 가장 널리 쓰이는 GPL 라이선스와 충돌합니다.
첫째로, 자신이 만든 소프트웨어가 아이폰에서 동작하게 하려면 애플이 서명(sign)을 해야 합니다. GPL에 따르려면 소스 코드를 자유롭게 수정할 수 있어야 하므로, 소스 코드를 받은 모두가 이 작업을 할 수 있어야 하지요. 하지만 그러기 위해서는 돈을 내고 개발자 프로그램에 등록해야 합니다. 또한 애플은 언제든지 서명을 거부할 수 있습니다.
둘째로, SDK를 이용하려면 비밀 유지 계약(Non-disclosure agreement, NDA)을 해야 합니다. 이 계약은 아이폰 SDK에 대한 어떠한 정보도 공개된 장소에 유출하지 않아야 함을 명시합니다. 문제는, GPL의 경우 소스 코드를 공개해야 하므로 이러한 정보가 100% 유출된다는 점입니다. 따라서 어떠한 소스 코드도 공개할 수 없습니다. 다만 애플의 허락이 있으면 가능합니다.
따라서 아이폰 SDK로는 GPL 소프트웨어를 작성할 수 없습니다.
하지만, 다른 오픈 소스 라이선스인 BSD로는 작성할 수 있다고 합니다. 왜냐하면, BSD는 GPL과 달리 '전염성(viral)'이 없기 때문입니다. BSD로 공개된 소스 코드는 저작권 표시만 하면 수정 후 공개하지 않아도 됩니다. 따라서 아이폰 개발자 프로그램에 등록한 또 다른 사람과는 소스 코드를 공유할 수 있습니다.
사람들은 보통 BSD 라이선스가 제한이 적기 때문에 더 자유롭다고 생각합니다. 확실히 제한은 적습니다만, BSD는 그만큼 GPL보다 오픈 소스의 지평을 '확실히' 넓히는 데 기여하지 못합니다. 물론, 무엇이 더 자유로운지, 무엇이 더 '좋은' 라이선스인지는 사람에 따라 판단 기준이 다를 것입니다.
The iPhone SDK and free software: not a match
Posted by 랜덤여신

