Mono (phần mềm)

Mono là một dự án tự do nguồn mở nhằm tạo ra một để tạo software framework tương thích .NET Framework tương thích tiêu chuẩn Ecma, bao gồm một trình biên dịch C# và Common Language Runtime. Ban đầu bởi Ximian, nó được Novell mua lại, và bây giờ được dẫn đầu bởi Xamarin, một công ty con của Microsoft và .NET Foundation. Mục đích đã nêu của Mono không chỉ là có thể chạy các ứng dụng đa nền tảng của Microsoft mà còn mang lại các công cụ phát triển tốt hơn cho các nhà phát triển Linux. Mono có thể chạy trên nhiều hệ thống phần mềm bao gồm Android, hầu hết các bản phân phối Linux, BSD, macOS, Windows, Solaris và thậm chí một số máy chơi game như [ PlayStation 3, Wii, và Xbox 360. Dự án Mono đã gây tranh cãi trong cộng đồng nguồn mở, vì nó triển khai các phần của .NET Framework có thể được bảo vệ bởi các bằng sáng chế của Microsoft. Mặc dù các phần của .NET Framework được tiêu chuẩn hóa được trình bày trong Microsoft Open Specification Promise—một giao ước nói rằng Microsoft sẽ không khẳng định bằng sáng chế của mình chống lại việc triển khai các thông số kỹ thuật của mình trong các điều kiện nhất định, dự án có thể trở thành mục tiêu của các vụ kiện vi phạm bằng sáng chế. Sau khi Microsoft cung cấp nguồn mở cho một số công nghệ .NET cốt lõi kể từ năm 2014 và mua lại Xamarin vào đầu năm 2016, một cam kết bằng sáng chế đã được cấp cho dự án Mono. Logo của Mono là khuôn mặt của một con khỉ cách điệu, mono trong tiếng Tây Ban Nha nghĩa là khỉ. Khi Microsoft lần đầu thông báo về .NET Framework vào tháng 6 năm 2000, nó được mô tả như là "một nền tảng mới dựa trên những tiêu chuẩn của Internet", và vào tháng 12 cùng năm, Common Language Infrastructure (cơ sở hạ tầng ngôn ngữ dùng chung) đã được xuất bản dưới dạng một tiêu chuẩn mở, "ECMA-335", mở ra triển vọng mới cho việc hiện thực hóa một cách độc lập. Lập trình viên Miguel de Icaza tại Ximian tin rằng .NET có những tiềm năng giúp tăng hiệu suất làm việc của các lập trình viên, và anh đã bắt đầu nghiên cứu xem liệu một phiên bản dành cho Linux có thể được thực hiện. Sau khi đội ngũ phát triển nhận ra với quy mô nhỏ hẹp sẽ không thể trông chờ vào việc xây dựng và hỗ trợ một sản phẩn hoàn chỉnh, vào ngày 19 tháng 07 năm 2001 tại hội nghị O'Reilly, dự án mã nguồn mở Mono đã chính thức được khởi động. Sau ba năm xây dựng, phiên bản Mono 1.0 đã được phát hành vào ngày 30 tháng 06 năm 2004. Từ trọng tâm ban đầu là nền tảng dành cho các nhà phát triển ứng dụng máy tính chạy trên Linux, Mono đã mở rộng sang hỗ trợ một loạt các kiến trúc và hệ điều hành - bao gồm cả hệ thống nhúng. Vào tháng 8 năm 2003, Novell đã mua lại Ximian. Sau khi chính Novell được The Attachmate Group mua lại vào năm 2011, Attachmate đã thông báo hàng trăm vụ sa thải trong thành phần lao động của Novell, và vì thế cũng đặt ra một dấu hỏi lớn về tương lai sau này của Mono. Ngày 16 tháng 05 năm 2011, Miguel de Icaza đã thông báo trên blog của mình, rằng Mono sẽ tiếp tục được hỗ trợ bởi Xamarin, một công ty được chính Miguel de Icaza thành lập sau khi anh bị sa thải khỏi Novell. Đội ngũ phát triển gốc của Mono cũng đã chuyển đến công ty mới này. Xamarin dự kiến sẽ tiếp tục phát triển Mono, và bên cạnh đó công ty cũng đã lên kế hoạch viết lại từ đầu các stacks độc quyền của riêng .NET dành cho hệ điều hành iOS and Android, bởi vì Novell vẫn đang sở hữu MonoTouch và Mono for Android vào lúc đó. Sau thông báo này, tương lai của dự án vẫn còn bị đặt câu hỏi, khi MonoTouch và Mono for Android nằm trong thế cạnh tranh trực tiếp với những dịch vụ thương mại bấy giờ đã thuộc quyền sở hữu của Attachmate, và đội ngũ tại Xamarin có thể sẽ gặp khó khăn khi phải chứng minh rằng họ không sử dụng lại những công nghệ mà trước đây họ đã phát triển khi còn làm cho Novell. Tuy nhiên, vào tháng 07 năm 2011, Novell, giờ đây đã là công ty con của Attachmate, và Xamarin, thông báo rằng họ đã cấp một giấy phép vĩnh viễn cho Xamarin đối với Mono, MonoTouch và Mono for Android, từ đó Xamarin chính thức tiếp quản lại toàn bộ dự án. ^ “Mono 6.8.0 Release Notes”. Truy cập ngày 21 tháng 1 năm 2020. ^ https://github.com/mono/website/commit/5b09541ab4837703d413a071658a5ac8e0634ed3 ^ “FAQ: Licensing – Mono”. Truy cập ngày 19 tháng 11 năm 2016. ^ “Microsoft to acquire Xamarin and empower more developers to build apps on any device”. Official Microsoft Blog. Truy cập ngày 24 tháng 2 năm 2016. ^ “Mono Project aims to bring .Net apps to Linux”. ZDNet. 29 tháng 10 năm 2001. Called the Mono Project, this effort encompasses creating a development environment that will allow applications developed for .Net to run on Linux systems as well as at Windows systems. Mono originated out of a need for improved development tools for the GNOME community and for Ximian specifically, according to Miguel de Icaza, Ximian's chief technical officer. ^ “Ximian's Mono project: .NET for monkeys, penguins, and gnomes”. TechRepublic. Lưu trữ bản gốc ngày 10 tháng 4 năm 2016. ^ “Mono Releases - Mono”. Mono-project.com. Truy cập ngày 4 tháng 4 năm 2015. ^ “OldReleases - Mono”. Mono-project.com. Truy cập ngày 17 tháng 7 năm 2013. ^ “Mono 1.0 Release Notes”. Go-mono.com. Truy cập ngày 17 tháng 7 năm 2013. ^ “Mono 1.1.1: Development Release: Features and Known Issues”. Go-mono.com. Truy cập ngày 17 tháng 7 năm 2013. ^ “Mono 1.2: Release Notes”. Go-mono.com. Truy cập ngày 17 tháng 7 năm 2013. ^ “Release Notes Mono 2.0 - Mono”. Mono-project.com. 6 tháng 10 năm 2008. Truy cập ngày 17 tháng 7 năm 2013. ^ “Release Notes Mono 2.2 - Mono”. Mono-project.com. Truy cập ngày 17 tháng 7 năm 2013. ^ “Linear IR - Mono”. Mono-project.com. Truy cập ngày 17 tháng 7 năm 2013. ^ “Mono's SIMD Support: Making Mono safe for Gaming - Miguel de Icaza”. Tirania.org. 3 tháng 11 năm 2008. Truy cập ngày 17 tháng 7 năm 2013. ^ “Mono's C# Compiler as a Service on Windows. - Miguel de Icaza”. Tirania.org. 27 tháng 4 năm 2010. Truy cập ngày 17 tháng 7 năm 2013. ^ “CsharpRepl - Mono”. Mono-project.com. Truy cập ngày 17 tháng 7 năm 2013. ^ “Release Notes Mono 2.4 - Mono”. Mono-project.com. Truy cập ngày 17 tháng 7 năm 2013. ^ “Release Notes Mono 2.6 - Mono”. Mono-project.com. Truy cập ngày 17 tháng 7 năm 2013. ^ “Release Notes Mono 2.8 - Mono”. Mono-project.com. Truy cập ngày 17 tháng 7 năm 2013. ^ “Release Notes Mono 2.10 - Mono”. Mono-project.com. Truy cập ngày 17 tháng 7 năm 2013. ^ “Release Notes Mono 3.0”. Mono-project.com. Truy cập ngày 23 tháng 9 năm 2013. ^ “Release Notes Mono 3.2”. Mono-project.com. Truy cập ngày 23 tháng 9 năm 2013. ^ “Release Notes Mono 3.4”. Mono-project.com. Truy cập ngày 4 tháng 4 năm 2015. ^ “Release Notes Mono 3.6”. Mono-project.com. Truy cập ngày 4 tháng 4 năm 2015. ^ “Release Notes Mono 3.8”. Mono-project.com. Truy cập ngày 4 tháng 4 năm 2015. ^ “Release Notes Mono 3.10”. Mono-project.com. Truy cập ngày 4 tháng 4 năm 2015. ^ “Release Notes Mono 3.12”. Mono-project.com. Truy cập ngày 4 tháng 4 năm 2015. ^ “Release Notes Mono 4.0”. Mono-project.com. Truy cập ngày 3 tháng 5 năm 2015. ^ “Release Notes Mono 5.0”. Mono-project.com. Truy cập ngày 13 tháng 5 năm 2017. ^ “Mono 5.2.0 Release Notes”. ^ “Mono 5.4.0 Release Notes”. ^ “Mono 5.8.0 Release Notes”. ^ “Mono 5.10.0 Release Notes”. ^ “Mono 5.12.0 Release Notes”. ^ “Mono 5.14.0 Release Notes”. ^ “Mono 5.16.0 Release Notes”. ^ “Mono 5.18.0 Release Notes”. ^ Bonisteel, Steven (23 tháng 6 năm 2000). “Microsoft sees nothing but .NET ahead”. ZDNet. Bản gốc lưu trữ ngày 5 tháng 11 năm 2011. Truy cập ngày 7 tháng 2 năm 2020. ^ “ECMA-335-Part-I-IV - ECMA-335, 1st edition, December 2001” (PDF). ^ Wilcox, Joe; Shankland, Stephen (28 tháng 6 năm 2001). “Microsoft edges into sharing code”. ZDNet. ^ “[Mono-list] Mono early history”. 13 tháng 10 năm 2003. Bản gốc lưu trữ ngày 6 tháng 6 năm 2011. Truy cập ngày 7 tháng 2 năm 2020. ^ “OSS .NET implementation Mono 1.0 released - Ars Technica”. ArsTechnica. Truy cập ngày 23 tháng 10 năm 2009. ^ “Supported Platforms”. Mono website. ^ Koep, Paul (2 tháng 5 năm 2011). “Employees say hundreds laid off at Novell's Provo office”. KSL-TV. Truy cập ngày 7 tháng 5 năm 2011. ^ J. Vaughan-Nichols, Steven (4 tháng 5 năm 2011). “Is Mono dead? Is Novell dying?”. ZDNet. Truy cập ngày 7 tháng 5 năm 2011. ^ Clarke, Gavin (3 tháng 5 năm 2011). “.NET Android and iOS clones stripped by Attachmate”. The Register. Truy cập ngày 7 tháng 5 năm 2011. ^ “Announcing Xamarin - Miguel de Icaza”. Tirania.org. 16 tháng 5 năm 2011. Truy cập ngày 17 tháng 7 năm 2013. ^ “The Death and Rebirth of Mono”. infoq.com. 17 tháng 5 năm 2011. Truy cập ngày 29 tháng 5 năm 2011. Even if they aren't supporting it, they do own a product that is in direct competition with Xamarin's future offerings. Without some sort of legal arrangement between Attachmate and Xamarin, the latter would face the daunting prospect of proving that their new development doesn't use any the technology that the old one did. Considering that this is really just a wrapper around the native API, it would be hard to prove you had a clean-room implementation even for a team that wasn't intimately familiar with Attachmate's code. ^ “SUSE and Xamarin Partner to Accelerate Innovation and Support Mono Customers and Community”. Novell. 18 tháng 7 năm 2011. Truy cập ngày 18 tháng 7 năm 2011. The agreement grants Xamarin a broad, perpetual license to all intellectual property covering Mono, MonoTouch, Mono for Android and Mono Tools for Visual Studio. Xamarin will also provide technical support to SUSE customers using Mono-based products, and assume stewardship of the Mono open source community project. ^ de Icaza, Miguel (18 tháng 7 năm 2011). “Novell/Xamarin Partnership around Mono”. Truy cập ngày 18 tháng 7 năm 2011. Trang web chính thức MonoTouch Lưu trữ 2010-06-14 tại Wayback Machine Main Page for the port to Apple Inc.'s hand-held products Bản mẫu:Common Language Infrastructure