2010-08-30 30 views
7

Khi Oracle kiện Google trên máy ảo Dalvik nó trở nên rõ ràng, rằng bạn không thể thực hiện một máy ảo Java mà không có giấy phép từ Oracle (EDIT: Matthew Flaschen chỉ ra rằng các tuyên bố của Oracle có thể không hợp lệ. nơi Oracle đe dọa triển khai VM.). Điều đó có thể trở thành cái chết cho việc triển khai mã nguồn mở của Java (như Apache Harmony).Các lựa chọn thay thế cho máy ảo Java là gì?

Tôi không muốn thảo luận về tác động hoặc sự hợp pháp của vụ kiện này. nhưng với tư cách là một lập trình viên Java, tôi muốn xem xét kỹ hơn các giải pháp thay thế, để chuẩn bị cho mọi trường hợp. Khi tôi thấy việc tạo trình biên dịch dưới dạng một vấn đề nhỏ, quan tâm chính của tôi là các triển khai VM thay thế, phục vụ một mục đích tương tự như JVM.

Các VM Tôi đang tìm, phải đáp ứng một số điều kiện:

  • miễn patent-vấn đề
  • một mã nguồn mở-thực hiện tồn tại
  • tiềm năng cho việc tối ưu/hiệu suất tốt
  • nền tảng độc lập (máy ảo có thể được chuyển sang các nền tảng khác nhau mà không có rào cản lớn hơn)

Vui lòng thêm lại khen thưởng cho tôi.

+0

IBM có JVM riêng của họ, nhưng tôi không biết liệu nó có đáp ứng hai điểm đầu tiên của bạn hay không (mặc dù tôi nghĩ rằng nó thỏa mãn hai điểm cuối). – FrustratedWithFormsDesigner

+3

Nó trở nên rõ ràng với tôi rằng bạn không thể viết * bất kỳ * chương trình không tầm thường (và chắc chắn không phải là một máy ảo) mà không vi phạm hàng trăm bằng sáng chế. – Ken

+0

@FrustratedWithFormsDesigner, Microsoft cũng vậy, họ có JVM riêng của họ. –

Trả lời

5

LLVM là một máy ảo mức tối ưu thực sự tốt. Nó có thể hỗ trợ các ngôn ngữ như C và C++ và không hỗ trợ các tính năng cấp cao như thu gom rác.

VMKit là triển khai các máy ảo Java và CLI trên LLVM. Vì nó sử dụng Java bytecode, điều này có lẽ sẽ không giúp đỡ với các vấn đề bằng sáng chế.

HLVM là một máy ảo cấp cao thú vị khác được xây dựng trên LLVM. Nó có lẽ khác đủ để tránh hầu hết các bằng sáng chế nổi tiếng, nhưng nó chủ yếu nhắm vào tính toán số và lập trình chức năng.

Ở phía được nhập động, có Parrot.

Tôi đang thực sự làm việc trên một trình biên dịch và VM cho một ngôn ngữ thiết kế của riêng tôi, nhưng không tính vào nó bao giờ được hoàn thành. ;-)

Hãy nhớ rằng bất kỳ phần mềm lớn nào sẽ vi phạm nhiều bằng sáng chế, điều quan trọng là chúng được biết đến như thế nào (và chủ sở hữu sáng chế tích cực tìm kiếm người vi phạm). Tất nhiên, toàn bộ hệ thống bằng sáng chế là ngớ ngẩn, và chúng tôi sẽ tốt hơn nhiều để loại bỏ nó.

+0

"Nó có lẽ khác đủ để tránh hầu hết các bằng sáng chế nổi tiếng" Và còn hàng ngàn bằng sáng chế không nổi tiếng thì sao? "toàn bộ hệ thống bằng sáng chế là ngớ ngẩn" Tôi không chắc chắn tôi đồng ý - tôi nghĩ rằng bằng sáng chế đôi khi hữu ích - nếu bạn phát minh ra một cách chữa bệnh ung thư, bạn nên được phép bằng sáng chế nó. Nhưng các bằng sáng chế không nên được đưa ra cho những thứ tầm thường như nhấp đúp. Hệ thống bằng sáng chế cần phải có mặt ở đó, nhưng rất cần cải cách và kiểm tra chặt chẽ hơn về sự đổi mới thực tế. –

+1

@Mark Byers: Về HLVM, tôi có nghĩa là hầu hết các bằng sáng chế về Java và công nghệ VM tương tự (ví dụ CLI) có thể sẽ không được áp dụng. Tất nhiên, điều đó không có nghĩa là nó hoàn toàn an toàn, nhưng không có gì. Đối với hệ thống bằng sáng chế, bằng sáng chế phần mềm là phần rõ ràng nhất vô lý, nhưng tôi đặt câu hỏi về tính hữu dụng của phần còn lại của hệ thống - thực sự không có bằng chứng cho thấy nó đã làm tốt. Và nếu ai đó phát minh ra cách chữa bệnh ung thư, sẽ tốt hơn nếu nó không được cấp bằng sáng chế, bởi vì nó sẽ rẻ hơn. Câu hỏi đặt ra là, nếu không có bằng sáng chế, liệu cách chữa trị đó có được phát minh không? Không ai biết. – Zifre

+0

HLVM trông giống như một ứng cử viên tuyệt vời, Parrot giống như một ứng cử viên khác. Tôi sẽ kiểm tra các lựa chọn thay thế này thêm một chút nữa. Cảm ơn các đề xuất của bạn. :-) – Mnementh

4

Tôi không nghĩ có bất kỳ phần mềm quan trọng nào không có vấn đề về bằng sáng chế.

Nếu bạn là một nhà phát triển độc lập hoặc làm việc cho một công ty nhỏ hơn, có thể bạn sẽ không bị tấn công trực tiếp bởi các vấn đề. Không chắc rằng các công ty lớn đang nắm giữ bằng sáng chế sẽ đi sau nhiều tuyên bố nhỏ - đó là một quá trình tốn kém và gây ra rất nhiều oán giận. SCO đã thử một cái gì đó như thế và nó không hoạt động tốt cho họ.

Tôi sẽ tập trung vào việc tìm kiếm công cụ tốt nhất cho công việc mà không phải lo lắng quá nhiều về các vấn đề về bằng sáng chế, nếu không bạn sẽ không bao giờ làm được gì.

+0

SCO chưa bao giờ khẳng định yêu cầu bằng sáng chế, chỉ có bản quyền và hợp đồng. –

Các vấn đề liên quan