Eclipse (phần mềm)

Eclipse là một môi trường phát triển tích hợp dùng cho lập trình máy tính., Nó chứa một không gian làm việc cơ sở và một hệ thống plug-in để mở rộng để tùy chỉnh môi trường. Eclipse được viết chủ yếu bằng Java và nó được dùng chủ yếu cho lập trình ứng dụng Java, nhưng nó cũng có thể dùng để lập trình ứng dụng bằng các ngôn ngữ khác thông qua plug-ins, bao gồm Ada, ABAP, C, C++, C#, Clojure, COBOL, D, Erlang, Fortran, Groovy, Haskell, HTML, JavaScript, Julia Lasso, Lua, NATURAL, Perl, PHP, Prolog, Python, R, Ruby (Bao gồm Ruby on Rails framework), Rust, Scala, và Scheme. Nó cũng có thể dùng để phát triển các tài liệu bằng LaTeX (thông qua một plug-in TeXlipse) và các gói tin cho phần mềm Mathematica. Môi trường phát triển bao gồm Eclipse Java development tools (JDT) cho Java và Scala, Eclipse CDT cho C/C++, và Eclipse PDT for PHP, và những gói khác.

Codebase ban đầu có nguồn gốc từ IBM VisualAge. Eclipse SDK, bao gồm các công cụ phát triển Java, dành cho các nhà phát triển Java. Người dùng có thể mở rộng khả năng của mình bằng cách cài đặt các plug-ins được viết cho Eclipse Platform, chẳng hạn như bộ công cụ phát triển cho các ngôn ngữ lập trình khác và có thể viết và đóng góp các mô đun plug-in của riêng họ. Kể từ khi giới thiệu triển khai OSGi (Equinox) trong phiên bản 3 của Eclipse, plug-ins có thể được cắm tự động và được gọi là các gói (OSGI)

Eclipse SDK là phần mềm tự do nguồn mở, phát hành theo các điều khoản của Eclipse Public License, mặc dù nó không tương thích với GNU General Public License. Nó là một trong những IDE đầu tiên chạy dưới GNU Classpath và nó chạy mà không gặp vấn đề gì với IcedTea.

== Lịch sử ==
Eclipse lấy cảm hứng từ môi trường phát triển tích hợp dựa trên Smalltalk VisualAge. Mặc dù khá thành công, một nhược điểm lớn của các sản phẩm VisualAge là mã được phát triển không nằm trong mô hình kỹ thuật phần mềm dựa trên thành phần. Thay vào đó, tất cả mã cho một dự án được giữ trong một khối nén (hơi giống như file zip nhưng ở định dạng độc quyền gọi là.dat). Các lớp riêng lẻ không thể dễ dàng truy cập, chắc chắn không nằm ngoài công cụ. Một nhóm chủ yếu tại phòng thí nghiệm IBM Cary NC đã phát triển sản phẩm mới dưới dạng thay thế dựa trên Java.
Vào tháng 11 năm 2001, một consortium được thành lập với một ban quản trị để tiếp tục phát triển Eclipse dưới dạng phần mềm nguồn mở. Người ta ước tính rằng IBM đã đầu tư gần 40 triệu đô la vào thời điểm đó. Các thành viên ban đầu là Borland, IBM, Merant, QNX Software Systems, Rational Software, Red Hat, SuSE, TogetherSoft, và WebGain. Số lượng người quản lý đã tăng lên hơn 80 vào cuối năm 2003. Vào tháng 1 năm 2004, Eclipse Foundation được thành lập.

Eclipse 3.0 (phát hành ngày 21 tháng 6 năm 2004) đã chọn các đặc tả của OSGi Service Platform làm kiến trúc runtime.

Association for Computing Machinery đã công nhận Eclipse với Giải thưởng ACM Software Systems Award 2011 ngày 26/4/2012.

===Cấp phép===
Eclipse Public License (EPL) là giấy phép cơ bản theo đó các dự án Eclipse được phát hành. Một số dự án yêu cầu cấp phép kép, trong đó Eclipse Distribution License (EDL) có sẵn, mặc dù việc sử dụng giấy phép này phải được áp dụng và được xem xét trong từng trường hợp cụ thể.

Eclipse ban đầu được phát hành theo Common Public License, nhưng sau đó đã được cấp phép lại theo Eclipse Public License. Free Software Foundation đã tuyê bố rằng cả hai giấy phép đều là giấy phép phần mềm tự do, nhưng không tương thích với GNU General Public License (GPL).

===Tên gọi===
Theo Lee Nackman, CTO của bộ phận Rational thuộc IBM tại thời điểm đó, tên gọi "Eclipse" (được đặt từ năm 2001) không phải là một trò chơi chữ trên Sun Microsystems, vì đối thủ cạnh tranh chính của sản phẩm tại thời điểm đặt tên là Microsoft Visual Studio, mà "Eclipse" nghĩa là nhật thực.

Các phiên bản khác nhau của Eclipse đã được đặt tên khác nhau liên quan đến khoa học. Các phiên bản được đặt tên theo Callisto, Europa, và Ganymede, là những vệ tinh của sao Mộc, được theo sau bởi một phiên bản được đặt tên theo Galileo, người phát hiện ra các mặt trăng đó. Sau đó là hai cái tên theo chủ đề mặt trời, Helios trong thần thoại Hy Lạp và Indigo, một trong bảy màu của cầu vồng (được tạo ra bởi mặt trời). Phiên bản sau đó, Juno, có ba nghĩa: một một nhân vật thần thoại La Mã, một một tiểu hành tinh, và một tàu không gian thăm dò sao Mộc. Kepler, Luna, và Mars tiếp tục chủ đề thiên văn học, và sau đó, Neon và Oxygen tạo thành một chủ đề của các nguyên tố hóa học. Photon đại diện cho sự trở lại với tên theo chủ đề mặt trời. , sơ đồ chữ cái đã bị hủy bỏ và thay vào đó các bản phát hành được đặt tên theo định dạng YYYY-MM.

Bắt đầu với phiên bản 4.9, dự án đã chọn bỏ quy ước đặt tên đó để phù hợp hơn với chiến lược Simultaneous Release mới và áp dụng quy ước đặt tên theo ngày để phản ánh các bản phát hành hàng quý.

===Phát hành===
Từ 2006, Foundation đã điều phối các phát hành "Simultaneous Release" hàng năm. Mỗi một phát hành bao gồm Eclipse Platform và một vài dự án Eclipse khác.

Từ năm 2008 đến năm 2018 mỗi Simultaneous Release diễn ra vào ngày Thứ tư cuối cùng của tháng 6. Năm 2018 dự án chuyển sang hàng quý (13 tuần) YYYY-MM phát hành mà không phát hành dịch vụ trung gian.