ASP.NET 으로 만든 제품을 고객사 DB인 오라클 19C에 연결하기 위해 윈도우 서버에 Oracle Client를 설치했습니다.
그런데, 오라클에서 감사나온다고 해서 Oracle JDK 사용 현황을 확인하고 있는데, 저희 제품은 .NET Framework으로 되어 있으니 Oracle JDK와는 아무런 상관이 없는데, Oracle DB 연결을 위해 설치한 Oracle Client가 JDK를 사용하기 때문에 커맨드라인으로 Java 버전을 확인하면 Java SE가 있다고 나온다더군요.
그래서 고객사 전산팀에서 Oracle JDK를 꼭 써야 하냐, Open JDK로 바꿀 수 있느냐 물어보네요.
제가 아는 범위에서, 그리고 검색해본 결과로는 Oracle Client는 Oracle DB 연동 목적으로 비즈니스 또는 개발용으로 사용 가능한 것으로 알고 있고 제품 자체를 구입하는 것도 불가능합니다. 오라클 사이트에서 사용권 동의를 한 후 다운로드하는 것 뿐이죠.
그리고, 상식적으로 우리 제품이 직접 JDK를 사용하는 것도 아니고 Oracle DB 연결용 드라이버에 가까운 프로그램을 오라클이 자기네 JDK로 만들어서 오라클 DB 연동용으로 배포하는 것인데, 이러면 오라클이 오라클에 JDK 라이선스 비용을 내야하는 것(?)이 아닌가 싶은데요^^
그리고, Open JDK로 바꾼다면 Oracle Client 제품의 구성 요소를 변조하는 것에 해당되는 것이 아닌지도 싶구요.
문제는, 고객사에서 오라클 쪽에 문의를 했는데 Client에 설치되는 것이면 라이선스비를 내야 한다는 답변을 받았다는데, 제가 볼 때는 프로그램 이름이 Oracle Client이니 Oracle JDK로 개발된 클라이언트 프로그램(?)으로 오인하고 말한 것이 아닌가 싶네요. 자기네 프로그램인데 말이죠. 아니면, 어쨌든 Java SE가 설치되어 있는 것이니 라이선스 비용을 내야 한다 이렇게 생각한 것 아닌가 싶네요.
혹시 Oracle Client의 JDK 버전과 관련하여 이와 유사한 경험을 해보신 분 있으시면 어떻게 고객사에 설명하면 좋은지 조언 부탁드립니다.
Oracle 관련 개발 경험이 많지는 않습니다만, 제가 경험했던 내용을 토대로 AI와 문답을 하면서 얻은 다이제스트 답변을 공유드려봅니다. 혹시 좀 더 경험이 많으신 분들이 계시다면 추가 답변 달아주시면 좋겠습니다.
1. Oracle Client의 JDK를 OpenJDK로 교체하는 것 (비추천)
라이선스 위반 (Modification): Oracle Client라는 패키지 소프트웨어의 구성 요소(JDK)를 임의로 교체하는 것은 소프트웨어 사용권 계약(EULA) 상 **“제품의 변조(Modification)”**에 해당할 가능성이 매우 높습니다. 이는 기술적 작동 여부를 떠나 라이선스 위반입니다.
기술 지원 불가: 임의로 변조된 클라이언트를 사용하다가 문제가 발생할 경우, 오라클로부터 어떠한 기술 지원도 받을 수 없게 됩니다.
2. Oracle Instant Client로 교체하는 것 (추천)
리스크 제거: Java 컴포넌트 자체가 존재하지 않으므로 **“Java 라이선스 논란의 원천 차단”**이 가능합니다.
권장 사항: 고객사에게 "불필요한 기능(Java 포함)을 제거하고, 우리 어플리케이션 구동에 딱 맞는 경량화된 최신 드라이버로 최적화하는 작업"이라고 설명하면 설득력이 높습니다.
이게 이렇게 해야 한다 정해진 것이 아니라 오라클에서 라이선스 점검나올 때를 대비하기 위해서 조사하는 거라서 정확하고 공식적인 내용은 아닙니다만 라이선스라는 것이 해석하기에 따라서 달라질 수 있는 부분들이 있어서 예민하게 대응하는 것 같습니다. 뭐 MS의 CAL 라이선스도 비슷합니다만…
일단은, 사용한 Oracle Client가 2021년 정도의 구버전이라서 포함된 JDK로 무료 버전에 해당하는 것으로 확인되어서 일단은 이렇게 넘어갈 것 같네요.