자바는 오픈 소스 프로그래밍 언어입니까?


78

Python, Ruby, Perl이 모두 오픈 소스라는 것을 알고 있지만 Java는 실제로 오픈 소스 프로그래밍 언어입니까?

나도 Google에서 검색했지만 올바른 답을 찾지 못했습니다.


2
좋은 질문. JVM은 오픈 소스 (핫스팟)입니까 아니면 javac 컴파일러와 같은 멋진 기능도 오픈 소스입니까?
DC

1
OpenJDK는 도구, JVM, 클래스 라이브러리 등을 포함합니다.
Kevin Bourrillion 2010 년

Kevin : 좋은 지적입니다. 내 소스는 Wikipedia 였지만이 정보는 JDK6의 출시로 인해 구식 인 것 같습니다. en.wikipedia.org/wiki/Java_(programming_language)#History
kusma 2010-01-08

Sun의 OpenSource 헤드 혼초는 방금 종료되었습니다. 당신이 할 것을 만드십시오. theregister.co.uk/2010/03/09/simon_phipps_quits_sun_oracle
skaffman

참고로, 대체 오픈 소스 Java는 Apache Harmony입니다. 그러나 개발은 2011 년에 중단 또한 참조 en.wikipedia.org/wiki/Free_Java_implementations
ToolmakerSteve

답변:


22

예, 또는 결국 될 것입니다 (라이선스하에 사용되었으므로 교체 작업 중일 수 있습니다). 썬 은이 를 오픈 소스로 만들기 위해 최선다하고 있으며 여러분은 그들로부터 다운로드 할 수 있습니다. OpenJDK를 확인하십시오 .


9
이 대답은 개발 키트에 대해 이야기하고 있으며 질문은 언어에 대해 묻습니다.
Rob Oxspring

22
글쎄, 나는 그것이 실제로 말이되지 않는다고 생각한다, @Rob. 모든 언어 는 지정 되었기 때문에 오픈 소스가됩니다 (소스는 작동 방식에 대한 사양입니다 (예 : 언어 인 ISO C는 C99 표준으로 인해 오픈 소스 임). 오픈 소스 인 언어 구현을위한 소스 코드에 대해 이야기하는 것이 훨씬 더 합리적입니다. 언어가 진화에 대한 커뮤니티 입력을 허용하는지 여부에 대해 이야기하고 있다면 그것은 의미가있을 수 있지만 OP가이 대답을 받아 들였기 때문에 나는 내 해석이 올바른 것으로 가정 할 것입니다 :-)
paxdiablo

Oracle-Google 사례는 Java API가 너무 개방되어 Google이 Android에서 복사 할 수 있는지 확인하고 있습니다.
Thorbjørn Ravn Andersen

1
@RobOxspring : 일부 언어의 경우 "개발 키트"는 도구 및 추가 기능 일 뿐이며 핵심 언어 및 라이브러리는 별도의 엔티티입니다. 원래 Java에서도 마찬가지라고 생각합니다. (또는 JDK에 포함되었지만 제한적인 라이센스가 있습니다.) 그러나 이제 Sun이 오픈 소스 릴리스를 수행 했으므로 JDK에는 Java 클래스 라이브러리 구현이 포함되어 있습니다. 이것은 JDK를 찾아 보면 알 수 있습니다. 예를 들어 오픈 JDK> jdk8 결국 아래로 탐색 SRC / 주 / 클래스 / 자바 / AWT 릴리스 8에서의 Graphics2D 클래스의 실제 자바 코드 / Graphics2D.java,
ToolmakerSteve

83

프로그래밍 언어는 자체 오픈 소스가 아니거나 그렇지 않지만 구현이있을 수 있습니다. 예, Java의 오픈 소스 구현이 있습니다. Sun의 Java 구현 (가장 인기있는 구현)이 그중 하나입니다.


1
음, 현재 "JDK6"은 "공개 된"소스입니다 (JRL, JIUL, 그리고 아마도 다른 것). OpenJDK (6-open 및 7)는 GPL입니다 (선택적으로 CLASSPATH 예외 포함).
Tom Hawtin-tackline

@Tom-요점을 놓치고 있다고 생각합니다. 질문은 런타임 또는 개발 키트 구현이 아니라 언어에 대한 질문입니다.
Rob Oxspring

3
기술적으로 정확하기 위해 Sun 은 JDK의 일부로 Java 구현을 오픈 소스로 출시 했습니다 . 오픈 소스가 아닌 내부 썬 코드와 도구도있었습니다. 이제 오라클이 특허와 썬 코드를 소유하고 있기 때문에 상황은 더욱 어둡습니다. 오라클은 단지 Java에서 API를 사용하기 위해 Google을 고소했습니다. en.wikipedia.org/wiki/Oracle_v._Google 또한 www.cnet.com/news/apache-foundation-quits-proprietary-java-process/를 고려하십시오. Java 커뮤니티 프로세스 실행위원회. " 2010 년 12 월 10 일.
ToolmakerSteve 2014-06-18

수정 : "OpenJDK"의 일부로. 이것은보다 제한적인 라이센스를 가진 원래 Sun "JDK"와는 다릅니다. 최신 버전 및 뉴스는 openjdk.java.net 을 참조하십시오 .
ToolmakerSteve

14

언어 자체의 "공식적인"SUN 구현은 아니지만 언어 개선을위한 제안을위한 커뮤니티 주도 프로세스 (잘 작동하는지 확실하지 않음)가 있습니다 . 즉 Java 커뮤니티 프로세스 . OpenJDK 와 같은 Java 개발 도구 및 런타임의 개방형 구현도 있습니다 .


공식적으로 의미하는 바를 명확히 할 수 있습니다. Sun 자체가 OpenJDK 노력을 주도하고 있지만 이것이 Oracle에서 계속되는지 여부는 모르겠습니다.
paxdiablo

8

아직은 아니지만 곧 오픈 소스가 될 것입니다.

출처:


https://blogs.oracle.com/java-platform-group/faster-and-easier-use-and-redistribution-of-java-se 에서 인용 :

  • 오라클은 Java SE의 릴리스주기를 6 개월마다 늘릴 것을 제안하고 있습니다.
  • 오라클은 개발자, 고객 및 소비자가 Java SE를 사용하는 방법을 단순화합니다.
  • JDK 9 GA부터 Oracle은 GPL에 따라 OpenJDK 빌드를 제공 할 계획입니다.
  • 오라클은 과거 기능 기반 모델 대신 Java SE에 대한 시간 기반 릴리스 모델을 제안했습니다.
  • Oracle JDK는 Java Flight Recorder와 같은 이전의 상용 기능을 OpenJDK에 제공합니다.
  • 오라클은 다른 OpenJDK 기여자들과 협력하여 커뮤니티 인프라를 완전하고 현대적이며 액세스 가능하도록 만들 것입니다.
  • Oracle JDK는 상업적 장기 지원 서비스로 계속됩니다.
  • Oracle JDK는 OpenJDK 바이너리가 Oracle JDK (2018 년 후반 대상)와 상호 교환 될 수있는 경우 주로 상용 및 지원 고객을위한 것입니다. Oracle은 즉시 실행 가능한 완전한 애플리케이션의 패키징 및 배포를 지속적으로 개선 할 것입니다.

Java EE를 http://openjdk.java.net/projects/jdk9/spec/으로 옮겼습니다.

추가 읽기 :

  1. https://blogs.oracle.com/theaquarium/opening-up-ee-update
  2. https://blogs.oracle.com/java-platform-group/java-se-offerings
  3. https://blogs.oracle.com/java/java-9-release-now-available
  4. https://blogs.oracle.com/java-platform-group/convergence-of-oracle-java-se-embedded-with-oracle-jdk

5

"Java 프로그래밍 언어"라는 문구는 Sun (현재 Oracle)에서 제공하는 사양을 나타냅니다. Sun은 Java Virtual Machine 및 Java 컴파일러의 참조 구현을 제공합니다. 둘 다 오픈 소스가 아닙니다 (적어도 Python과 완전히 같지는 않습니다).

그러나 예를 들어 OpenJDK는 JAVA 프로그래밍 언어의 완전한 오픈 소스 구현입니다. 더 많을 수도 있습니다.

대부분의 프로그래머는 Java를 Sun에서 제공하는 프로그래밍 언어로 생각합니다. Sun은 라이센스에 관계없이 누구나 수행 할 수있는 언어 사양 구현만을 제공한다고 생각합니다.


3

Oracle America Inc v. Google LLC No. 3 : 10-cv-03561-WHA :

"...이 항소에서 문제가되는 것은 Java SE 버전 1.4 및 버전 5.0의 37 개 API 패키지입니다. 문제가되는 37 개의 Java API 패키지의 선언 코드와 SSO가 저작권 보호를받을 자격이 있음을 이미 확인했습니다. Oracle, 750 F.3d at 1348. Java 프로그래밍 언어 자체는 무료이며 허가없이 사용할 수 있습니다.이 단계에서 Java 프로그래밍 언어로“62 개의 클래스 (및 일부 메서드)가 분산되어 있습니다. Java API 라이브러리 내의 세 가지 패키지를 사용해야합니다. 그렇지 않으면 언어 자체가 실패합니다. " Order Denying JMOL, 2016 WL 3181206, at * 5. Java 프로그래밍 언어를 사용하는 사람은 누구나 미리 작성된 프로그램의 자체 라이브러리를 작성하여 다양한 기능을 수행 할 수 있습니다. 오라클은 애플리케이션 ( "앱")을 구축하는 프로그래머가 Java 플랫폼을 무료로 사용할 수 있도록 만들었지 만, 동시에 플랫폼을 상용화하는 동시에 프로그래머를 유치하기 위해 라이센스 체계를 고안했습니다. 관련 부분에서 Oracle은 경쟁 플랫폼에서 API를 사용하거나이를 전자 장치에 포함하려는 사용자에게 라이선스 요금을 부과합니다. "한 번 작성하면 어디서나 실행"철학을 유지하기 위해 Oracle은 라이센스 사용자에게 엄격한 호환성 요구 사항을 적용합니다. Oracle, 750 F.3d at 1350. Oracle은 또한 "OpenJDK"라는 Java 버전을 오픈 소스 라이선스에 따라 무료로 제공했습니다. 주문 거부 JMOL, 2016 WL 3181206, * 10. 그러나 Oracle은 OpenJDK가 중요한 문제를 안고 있다고 주장합니다. OpenJDK의 패키지를 개선 한 모든 회사는 Java 커뮤니티에 " '이러한 변경 사항을 무료로 제공'해야했습니다. ”Appellant Br. 53. 증거에 따르면 Oracle은 2005 년까지 7 억 대의 PC에서 Java 라이센스를 취득했습니다. Oracle은 Java를 사용하여 자체 스마트 폰 플랫폼을 성공적으로 개발하지 못했지만 모바일 장치 용 Java SE를 라이센스했습니다. Oracle에 따르면 "모바일 장치 시장은 특히 수익성이 높았습니다."ORACLE AMERICA, INC. v. GOOGLE LLC 10 "자바는 휴대 전화에서 앱을 개발하고 실행하기위한 선도적 인 플랫폼이되었습니다." Appellant Br. 9. ... " GOOGLE LLC 10 "자바는 휴대 전화에서 앱을 개발하고 실행하기위한 선도적 인 플랫폼이되었습니다." Appellant Br. 9. ... " GOOGLE LLC 10 "자바는 휴대 전화에서 앱을 개발하고 실행하기위한 선도적 인 플랫폼이되었습니다." Appellant Br. 9. ... "

언어의 일부에는 라이선스 비용이 적용되므로 해당 섹션은 "오픈 소스"로 보이지 않습니다.


1

대부분의 "자바"는 오픈 소스입니다. Sun이 열 수있는 권한이없는 작은 부분이 있습니다. 자세한 내용 은 OpenJDK 사이트를 확인하세요.


1

OpenJDK를 src 폴더에 다운로드 한 후 공유 폴더에 windows, solaris, share, linux가 있으면 클래스를 찾을 수 있습니다. 여기에서 모든 클래스 (예 : JButton)의 소스 코드를 볼 수 있습니다.


1

2006 년 11 월 13 일 Sun은 GNU GPL (General Public License) 조건에 따라 대부분의 Java를 무료 및 오픈 소스 소프트웨어 (FOSS)로 출시했습니다. 2007 년 5 월 8 일 썬은이 프로세스를 완료하여 썬이 저작권을 보유하지 않은 일부 코드를 제외하고 자유 소프트웨어 / 오픈 소스 배포 조건에 따라 Java의 모든 핵심 코드를 사용할 수 있도록했습니다.

OpenJDK (Open Java Development Kit) 는 Java 프로그래밍 언어의 무료 오픈 소스 구현입니다. 이는 Sun Microsystems가 2006 년에 시작한 노력의 결과입니다. 구현은 링크 예외를 제외하고 GNU GPL (General Public License)에 따라 라이센스가 부여되었습니다.

왜 아직도 자바가 오픈 소스가 아니거나 언론의 자유처럼 자유 롭다고 말하는 사람들이 있습니까?


3
이제 오라클이 소유하고 있기 때문입니다.
Kshitiz Sharma 2014

1
Oracle을 사용하면 많은 돈을 벌기 시작하면 고소를 당하기 때문입니다. 다른 "분명히 무료"언어에서는 그렇지 않습니다.
b264

1

자바 언어는 오픈 소스이며 썬이 개방 할 권한이없는 세그먼트가 거의 없습니다 ... 더 많은 OpenJDK 확인


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.