썬은 G1(Garbage First) Garbage Collector를 상용화할 것인가?
Sun은 G1이라는 애칭으로 불리는 Garbage First 가비지 컬렉터를 Java Update 1.6.0.14와 함께 릴리즈 하였습니다. 하지만, 많은 개발자 커뮤니티에서 기다려온, 서버에 적합한 이 가비지 컬렉터를 현 시점에서는 비용을 지불하는 고객에 한해서만 사용할 수 있도록 하고 있습니다.
이 Garbage First(이하 G1) 가비지 컬렉터는 update 6u14 이상에서 작동합니다.
G1은 가비지 콜렉팅 시 시스템 pause를 줄여, 서버 측에 적합합니다. G1의 가장 큰 장점은
compaction 성능과 예측성이 향상된 Concurrent Mark-Sweep(CMS)과 사용의 간편함입니다.
하지만, 썬의 릴리즈노트에 의하면 이 가비지 컬렉터는 Java Platform Standard Edition for Business Program을 통하여 제공되며 이용을 위해서는 썬에 Support Contact의 허락이 필요하다고 합니다.
많은 사람이 이는 썬의 정책 변경의 징조이며 오라클과의 합병과 무관치 않다고 생각하고 있습니다.
Java의 제약이 시작되었다. 썬은 새로운 G1 가비지 컬렉터를 포함한 Java 1.6.0.14 JDK와 JRE를 출시하며 릴리즈 노트에 'Although G1 is available for use in this release, note that production use of G1 is only permitted where a Java support contract has been purchased.'와 같이 명시했다. 이는 이미 오라클의 입김이 작용하기 시작한 것은 아닌가.
새롭고 멋진 기능들을 Business commercial version의 Java SE에 넣는 동안 OpenJDK는 침체의 길을 걷게 될 것이다.
반면, G1이 아직은 다양한 검증을 필요로 하기 때문에 위와 같은 결정을 내렸을 거란 의견도 있습니다.
릴리즈 노트를 읽고 받은 첫 느낌은
'현재의 코드는 제품으로써 미숙하지만, 출시를 진행합니다. G1은 기본적으로 비활성화되어 있지만, 여러분의 어플리케이션에 G1을 적용하여 테스트하고 싶을지도 모릅니다. G1을 활성화하여 생기는 문제에 대해서는 Sun Support contact를 이용하지 않는다면 어떤 공식적인 도움을 기대할 수 없습니다.'
정도 였습니다.
G1이 JDK/OpenJDK7 의 중요한 기능으로 선정되면서, 현재의 상용화 결정이 이후에도 계속되지는 않을까 심히 걱정이 됩니다. 오라클에 특별히 반감을 품고 있거나 하진 않지만, 썬 보다 사업 수완 좋은 오라클이라는 게 마음에 걸리는군요..