앗: Android엔 복사된 Java 코드나 대량 살상 무기는 없었어요

http://www.zdnet.com/blog/burnette/oops-no-copied-java-code-or-weapons-of-mass-destruction-found-in-android/2162
By Ed Burnette | January 21, 2011, 12:32pm PST

가끔 웹에 올라오는 완전히 잘못된 정보가 우리를 말문이 막히게 만들어요. 특히 이 정보가 Engadget같은 원래 평판이 좋았던 사이트로 들어간 다음 종교 복음처럼 울려퍼질 때 더하지요. 이들은 “Google이 Oracle의 Java 코드를 복사하고, 새 라이센스를 단 채 붙여넣고, 그리고 배포했다”라고 오늘 아침 보도했어요.

미안하지만, 그건 사실이 아니에요.

이 모든 일은 Florian Mueller씨가 쓴 기사로 시작되었는데, 이 사람은 변호사도 아니고 개발자도 아니고 그냥 TV 쪽에서 일하는 사람일 뿐이에요. 저는 그가 쓴 모든 파일들을 다운로드해서 살펴보았고, 전문 개발자로서의 저의 분석으론 Mueller씨와는 완전히 다른 결론이 나왔어요. 여기 제가 찾은 정보예요:

여기 문제의 파일 두 세트가 있어요. 일곱 개 파일 (PolicyNodeImpl.java, AclEntryImpl.java, AclImpl.java, GroupImpl.java, OwnerImpl.java, PermissionImpl.java, 그리고 PrincipalImpl.java)로 된 첫 세트는 소스 코드 트리의 유닛 테스트 영역에 있어요. 프로그래머라면 다 알겠지만 제품에 유닛 테스트를 넣어 배포하지는 않지요. 유닛 테스트란 건 소프트웨어를 배포하기 전에 이것의 품질을 내부적으로 확인하기 위해 쓰는 도구예요.

37개 파일로 된 둘째 세트는 실제로 MMAPI.zip이라 불리는 파일 하나로 압축되어 있고 특정 칩 세트 하나를 위한 네이티브 코드 오디오 드라이버에 쓰이는 디렉토리에 위치해 있어요. Florian씨는 정말 이걸 잘 살펴봐야 했어요. 저는 메이크 파일들을 면밀히 확인해보았고, 이 파일이 Android와 함께 배포되지 않았다는 것이 확실해요. 누군가 이걸 실수로 업로드했고 그냥 삭제하면 되는 거예요.

저는 첫 일곱 파일들에 대한 이상한 점을 찾아냈어요. Sun은 개발자들이 자기 코드를 디버그하고 테스트하는 걸 돕기 위해 이 파일들을 자사의 웹 사이트에 올렸어요. Android나 Harmony 개발자는 어떤 이유로 Sun의 이 파일들을 그냥 쓰지 않고 디컴파일해서 다시 빌드했어요.  나중에 Apache 라이센스가 이 파일들 가장 위에 잘못 붙여넣어졌고, 아마 어떤 자동 스크립트 때문일지도 몰라요. 지구를 뒤흔드는 이 음모를 어떻게 해결할까요? 주석이 제대로 되어 있는 Sun의 원래 파일로 교체하면 돼요. 아니면 그냥 삭제하거나요. 어쨌든, 이것들은 Android와 함께 배포되진 않았어요.

업데이트: Google은 이미 이 파일들을 처리한 듯해요. PolicyNodeImpl.java는 2010년 10월 30일에 소스 트리에서 삭제되었어요. 다른 6개 자바 파일들과 몇 다른 것들은 2011년 1월 14일에 삭제되었어요. 개발자 Dan Bornstein씨가 쓴 커밋 주석에는 “Remove pointles tests(쓸데없는 테스트들을 삭제)”라고 되어 있어요.  아직 히스토리를 거슬러 올라가면 옛 버전들을 보실 수 있어요.

슬프게도, Engadget나 Mueller씨의 것 같은 선풍적인 기사들은 웹 전체에 흩뿌려져 수천 번의 조회 수와 수백 개의 댓글로 풍성해지지만 재미없는 진실은 그런 주목은 받지 못할 거예요.

광고

앗: Android엔 복사된 Java 코드나 대량 살상 무기는 없었어요”에 대한 1개의 생각

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google photo

Google의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중