나무모에 미러 (일반/어두운 화면)
최근 수정 시각 : 2024-12-13 00:37:05

Java/기타


파일:상위 문서 아이콘.svg   상위 문서: Java

1. 개요2. 이름 유래3. 구글 vs. 오라클: Java 저작권 분쟁4. 점유율5. 사업 재편6. 도서7. 여담

1. 개요

프로그래밍 언어 Java의 기타 정보에 관해 다룬 문서이다.

2. 이름 유래

처음엔 고슬링 사무실 앞에 있는 참나무에서 따와 OAK로 지었다가 그대로 상표로 등록하기엔 문제가 생겨서[1] 컨설턴트가 극단적인 방법을 도입, 오후에 개발진들을 회의실에 가둬서(...) 브레인스토밍을 시켰다. "기분이 어떤가요"(Excited!), "무엇이 당신 기분을 좋게 만드나요?"(Java coffee!) 같은 연상적인 작용을 거쳐 여러가지 이름을 정하고, 그 중에서 자바 커피의 Java를 선택했다. Java는 랭킹 중 네 번째. 리스트의 첫 번째 이름은 Silk였고 고슬링이 가장 좋아했던 이름은 Lyrics, 세 번째에 올라왔던 이름이라고.

개발진이 자바산 커피를 좋아해서 그랬다는 설도 있다. 3 Bilion Devices like Java(Coffee) 아이콘도 커피잔 모양. 또는 개발자의 이름인 James Gosling, Arthur Van Hoff, Andy Bechtolsheim의 머릿글자를 따온 것이라는 설도 있고, 그냥 사전을 펼쳤는데 눈에 들어온 이름이었다는 설도 있다. 그런데 막 지은 것 치고는 크게 흥하여 썬이 자사의 나스닥 코드를 SUNW에서 JAVA로 바꾸었을 정도로 이제는 썬의 상징이자, 근데 그 썬이 오라클에 인수돼서 사라진 건 함정 세계적으로도 널리 알려진 단어가 되었다. 출처

3. 구글 vs. 오라클: Java 저작권 분쟁

Java를 처음 개발한 썬 마이크로시스템즈오라클에게 인수되었고, 2010년에 오라클은 구글안드로이드를 개발하면서 Java API 37개의 소스 코드를 무단 복제하여 사용했다는 이유로 소송을 제기했다. 오라클은 구글이 Java를 이용해 OS를 개발하려는 상업적 목적을 가지고 있었으므로 사전에 허가를 받았어야 했다는 주장이고, 구글은 Java API가 저작권이 인정되지 않는 작업물이거나, 저작권자의 허락 없이 이용할 수 있는 공정 이용(Fair Use)의 대상이라며 맞섰다. 그리고 2021년, 장시간에 걸친 소송전은 구글의 승리로 결론났다.

재판의 흐름을 정리하자면 이렇다. 2012년에 이루어진 '저작권 유무'에 관한 재판 1심에서는 구글이 승소하였고, 2014년 항소심에서는 오라클이 승소하였으며 2015년에는 구글의 상고가 기각되었다. 이후 2016년 '공정 이용'에 관한 재판 1심에서는 구글 측의 주장이 받아들여지며 구글이 승소했지만, 결국 2018년 항소심에서 다시 오라클이 승소하게 된 것이다. ##

항소심 재판부의 결론은 Java API 역시 저작권이 존재하는 엄연한 저작물이라는 것이다. 재판부는 구글이 Java API를 수정 없이 그대로 긁어다가 안드로이드를 만들어 모바일 OS 시장을 점령하였으며, 단순히 어떤 애플리케이션을 개발한 게 아닌 별도의 운영체제와 플랫폼을 무기로 향후 오라클이 Java를 이용하여 모바일 시장에 진출할 가능성을 꺾어버렸기 때문에 Java의 무단 이용은 불공정한 행위라고 판결했다. 현재 구글이 오라클에게 배상해야 할 금액은 약 90억 달러에 달할 것으로 예상되고 있다.

이 판결이 가져다 줄 여파에 대해 안드로이드 생태계가 큰 위기를 맞이했다는 시각이 있지만, 사실 소송기간 동안 안드로이드는 이미 모바일 OS 시장을 iOS와 함께 5:5로 양분하고 있을 만큼 거대하게 성장했기 때문에 이번 일로 안드로이드가 휘청거릴 일은 단연코 없다. 90억 달러가 작은 돈은 아니지만, 구글은 한창 성장하던 시절인 2006년에 이미 유튜브 인수금액으로 16억 5,000만 달러를 한번에 지불해낼 정도였고, 2007년에는 광고 회사인 더블클릭을 31억 달러에 샀을 정도로 현금 창출력이 상당한 기업이다. 그리고 안드로이드는 직접적인 로열티 수입은 없지만 구글 검색과 광고, 구글 플레이와 유튜브 같은 구글 앱에서 나오는 수익만 해도 매년 수백억 달러에 달한다는 평가를 받고 있는데, 모바일 OS 시장 양분 댓가로 90억 달러를 낸다면 구글 입장에선 거저 먹는 것이나 다름없다.

일단 구글은 연방대법원에 상고할 것이라는 의사를 밝혔다. # 다만 실제로 상고를 신청할지, 신청하더라도 대법원에서 그걸 받아들일지는 나중 문제이다.

구글이 대법원에 오라클의 승소에 대해 다시 검토해줄 것을 요청했고 이와 관련한 첫번째 심리가 오는 2020년 3월 열릴 예정이라고 한다. 최종 판결은 이르면 6월께 나올 것이라고 한다. #

하지만 2020년을 강타한 COVID-19의 여파로 2020년도에 예정된 재판들이 줄줄이 2021년도로 연기되면서 첫 변론도 3월에서 9월로 밀렸다.##

2021년 4월, 연방대법원은 구글이 Java API를 공정한 관행에 따라 이용했기 때문에 저작권을 침해한 것이 아니라 판단, 10여년 만에 구글의 승소로 해당 분쟁이 종결되었다.# 판결문(영문)# 다만 연방대법원은 Java API의 저작물 여부에 대해서 구체적으로 판단하지 않고 저작물이라고 가정하고 넘어갔기 때문에 또다른 분쟁의 여지를 남기게 되었다.#

4. 점유율

세계 프로그래밍 언어2000년부터 무려 19년 동안 점유율 1위를 질주한 존재였다. 2007년까지만 해도 전 세계 프로그래밍 언어 점유율 중에 Java 점유율이 35%까지도 차지했다. 얼마나 많이 썼으면 Java 업데이트 창에서 '30억개 기기에서 Java 사용'이라고 광고할 정도. 그러나 2010년대 들어서 Python, C++ 등의 점유율이 급상승하면서 Java의 점유율은 점차 하락하는 추세이다. 1위는 수성하고 있지만 점유율은 급격하게 떨어지고 있다. 2019년까지는 C언어보다 약간 더 많은 수준으로 17~18% 정도를 차지하고 있다. Java 점유율이 하락한 만큼 Python 비율이 크게 올랐다. 하지만 결국 2020년에 C언어와 Python에 줄줄이 사용량 순위에서 추월당했다. 2021년까지도 Top 5를 지키고는 있지만 일단 1위에서는 내려왔다.

5. 사업 재편

이러한 분쟁과는 별도로, 오라클이 Java를 포기하려고 한다는 주장이 있다. "Oracle Mysteriously Fires Almost All of Its Top Java Evangelists"(Softpedia News) 자바 에반젤리스트, 오라클 퇴사의 변 "자바 구하려"(ZDNet Korea)

자바 에반젤리스트는 Java의 전체적인 업계 내에서의 분위기를 결정지을 수 있는, 비교하자면 리눅스계의 리누스 토르발스 같은 사람들인데, 오라클이 이 사람들을 꾸준히 해고하고 있다는 것이다. 장사를 독하게 하기로 유명한 오라클인지라, Java 자체가 지금은 물론이고 미래에도 그다지 수익성이 좋다고 할 수 없기에 망설임 없이 포기하려는 것이 아니냐라는 관측이 있다. 제임스 고슬링도 한마디 했다.

다만 이 부분은 사람에 따라 극단적으로 반응할 수도 있는 문제이므로[2] 업계 분위기에 대한 판단은 스스로 하도록 하자. 위에서도 언급했지만 Oracle JDK를 유료로 전환한 걸 보면 포기할 생각은 없는 듯하다.

2017년 8월 17일, 오라클이 Java EE를 포기한다고 발표했다. 오픈오피스, 넷빈즈 때와 같이 오픈 소스 커뮤니티로 보내려 하고 있으며, 아파치 소프트웨어 재단이클립스 재단이 Java EE를 넘겨받을 유력한 후보로 알려져 있다. Opening Up Java EE 결국 이클립스 재단이 맡는 것으로 확정되었으며, Java EE의 오픈 소스화를 위한 9개 프로젝트를 추진한다고 밝혔다. ## 다만 오라클이 Java EE라는 상표권까지 넘긴 것은 아니기 때문에, 새로운 이름을 공모하였고 이후 자카르타 EE(Jakarta EE)라는 새 명칭이 결정되었다. 엔터프라이즈 자바의 새 이름 ‘자카르타 EE'[3]

2019년 9월 10일, 자카르타 EE 8이 정식 출시되면서 썬이 Java의 오픈소스화를 선언한지 13년만에 Java의 모든 구성요소가 오픈소스화 되었다.

6. 도서

서점에 가면 Java 프로그래밍 책이 무궁무진하게 많다. Python, Java, C, SQL 4개는 서점에 가면 프로그래밍 언어 분야에 별도의 카테고리를 차지하고 있다.

7. 여담


[1] 일반명사나 이미 널리 알려진 표현 등은 상표로 등록 못한다. 물론 상표 등록을 못해도 제품이나 서비스 이름으로 못 쓰는 건 아니지만 해당 이름에 대해 배타적·독점적 권리를 확보하지 못한 상태가 돼서, 남들이 따라 해도 거기에 법적으로 태클을 걸 수가 없다.[2] 각 언어 프로그래머들의 자신의 언어에 대한 자부심은 가히 종교의 신앙과 비견할 만한 것이다.[3] 원래 아파치 소프트웨어 재단이 '자카르타'라는 이름의 Java 오픈 소스 프로젝트(현재는 종료)를 소유하고 있었으나, 해당 명칭을 사용해도 된다고 허가하였다.[4] Java가 안드로이드의 기반이 되는 언어라는 점을 생각하면 아이러니...[5] 사실 애플은 독자적인 JDK를 제공하는지라 Java 개발자들을 매우 피곤하게 하는 회사이기도 하다.[6] 단지 징역을 살지는 않고 FBI에서 1년 근무하는 것으로 퉁쳤다.[7] 기초적인 C-문법의 일부인 if문, while문 등을 제외하면 공통점이 많지 않다.[ES6] ECMAScript 6에서 Class가 생겼다! 그래도 여전히 Java의 클래스와는 겉보기에만 비슷할 뿐 열어보면 다르다. ES6에서 나온 클래스는 기존에 있던 prototype 객체지향 프로그래밍을 조금 더 쉽게 하게 해주는 문법적 설탕이다.[9] 다만 인도네시아의 어원은 인도와 관련이 있다. 인도네시아라는 이름은 '인도양의 섬'들이라는 그리스어·라틴어식 표현이기 때문. 이런 인도네시아와 인도의 관계는, JavaScript가 Java와 별 관련은 없어도 그 이름을 빌려 왔다는 점에서 왠지 흡사하다.[10] https://www.reddit.com/r/learnprogramming/comments/3uhdtr/i_just_read_joel_spolskys_the_perils_of_java/[11] 이 부분은 대학의 교육용 언어로서의 이야기다. 산업용으로서는 같은 기능을 개발하기 위한 언어는 쉬우면 쉬울수록 좋은 것이 당연하다. 물론 성능과 생산성 사이에서 적절한 균형을 잡아야 하겠지만.[12] Java 상임 위원회에는 인텔, 오라클, JetBrains, 레드햇, ARM Holdings 등이 속해 있다. 모두 각자의 분야에서 내로라하는 기업들이다.[13] '.'은 Java 클래스 파일이 위치한 해당 디렉토리를 의미한다.[14] CAFEDEAD를 0xCA 0xFE 0xDE 0xAD로 바꿨을 때의 얘기인 듯하다.[15] 그때 필요한 매직넘버는 2개였다. 하나는 오브젝트 파일이고, 또 다른 하나는 클래스 파일 매직넘버였다.[16] 보통 C++가 많이 쓰이고, 유니티 엔진의 영향으로 C#도 많이 쓰는 편이다. 웹게임에서 Java를 쓴적이 있지만 서버 사이드에서나 쓰는 정도였고, 클라이언트 사이드는 플래시가 대세였다. 플래시가 몰락한 후에는 HTML5로 물갈이 당했고, 웹게임 자체가 쇠퇴기에 들어서서 잘 쓰이지 않는다.

파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는
문서의 r1228
, 2번 문단
에서 가져왔습니다. 이전 역사 보러 가기
파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는 다른 문서에서 가져왔습니다.
[ 펼치기 · 접기 ]
문서의 r1228 (이전 역사)
문서의 r1232 (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

분류