Sailfish OS

Sailfish OS (cũng được viết là SailfishOS hay viết tắt là SFOS) là một bản phân phối Linux có mục đích chung được sử dụng phổ biến như một hệ điều hành di động kết hợp nhân Linux cho một nền tảng phần cứng cụ thể,ngăn xếp phần mềm trung gian nguồn mở Mer, giao diện người dùng độc quyền được đóng góp bởi Jolla hay một UI nguồn mở và bên thứ ba khác các thành phần.
Sailfish đang được phát triển bởi Jolla, cộng đồng Dự án Sailfish và Mer, các thành viên của Sailfish Alliance và các thành viên cộng đồng mở khác nhau.Các thành viên cộng đồng sailfish đưa ra yêu cầu phát triển và quyết định các ưu tiên phát triển bằng cách bỏ phiếu. Dự án Mer nhận được sự đóng góp từ Jolla và cộng đồng của nó, và Mer là nguồn phần mềm trung gian cho Jolla, do đó sự phát triển liên tục và khả năng tương thích của tất cả các dự án dựa trên Mer được duy trì.
Hệ điều hành được phát hành cùng với máy tính bảng và smartphone Jolla (dừng bán năm 2016 nhưng các thiết bị vẫn được hỗ trợ cập nhật phần mềm) và từ các nhà cung cấp khác cấp phép cho hệ điều hành. Hệ điều hành được port bởi những người đam mê cộng đồng sang các thiết bị di động của bên thứ ba bao gồm cả điện thoại thông minh và máy tính bảng. Sailfish OS có thể được sử dụng cho nhiều loại thiết bị.
Lịch sử và phát triển.
Hệ điều hành này là sự tiếp nối phát triển của Linux MeeGo trước đây, được phát triển bởi liên minh Nokia và Intel dựa trên sự hợp nhất Maemo và Moblin. Di sản MeeGo được chứa trong lõi Mer trong khoảng 80% mã của nó; do đó, tên Mer mở rộng thành MEego Reconstructed. Cơ sở này được Jolla mở rộng với giao diện người dùng tùy chỉnh và các ứng dụng mặc định. Jolla và MERproject.org theo một hệ thống nhân tài để tránh những sai lầm mà dẫn đến ngưng hoạt động lúc bấy giờ không lường trước được như dự án MeeGo.
Các yếu tố chính cho Sailfish OS 2.0 bao gồm:
Kiến trúc phần mềm.
 và Sailfish software development kit (SDK) được dựa trên Linux kernel và Mer. bao gồm một vỏ đồ họa đa tác vụ được gọi là "Lipstick" được xây dựng bởi Jolla trên giao thức máy chủ hiển thị Wayland. Jolla sử dụng trình điều khiển thiết bị đồ họa tự do nguồn mở nhưng thư viện Hybris cho phép sử dụng trình điều khiển độc quyền cho Android. Mục tiêu đã nêu của Jolla là cuối cùng để sailfish trở thành nguồn mở.
 có thể chạy các ứng dụng Android thông qua lớp tương thích độc quyền.
Các lớp thiết bị được nhắm mục tiêu.
Sailfish thường được biết là nhắm vào các thiết bị di động, nhưng vì nó được thừa hưởng khoảng 80% mã MeeGo, nên sailfish có thể được sử dụng như một hệ điều hành Linux đa năng hoàn chỉnh trên các thiết bị từ thông tin giải trí phương tiện (IVI), điều hướng, TV thông minh, máy tính để bàn và máy tính xách tay, du thuyền, ô tô, thương mại điện tử, thiết bị gia dụng, thiết bị đo lường và điều khiển, thiết bị xây dựng thông minh, v.v. Xem các trường hợp sử dụng của MeeGo ban đầu để so sánh và phần Thiết bị cho các thiết bị chạy sailfish OS.
Sailfish OS SDK.
The SDK đã được công bố tại hội nghị Slush Helsinki năm 2012 và bản alpha được xuất bản vào tháng 2 năm 2013. SDK, hướng dẫn cài đặt và mã hóa có sẵn để tải xuống miễn phí từ trang web của sailfish OS mặc dù giấy phép tổng thể không phải là nguồn mở.
Sailfish SDK dùng Qt với VirtualBox cho phát triển, biên dịch và giả lập, Kỹ thuật này cho phép biên dịch trên và kiểm tra toàn bộ phần mềm đã phát triển trong máy ảo, emulating - không phải simulatingtoàn bộ . Điều này cũng tách biệt các hoạt động phát triển và tác dụng phụ với mọi thứ khác chạy trên máy chủ, khiến nó không bị xáo trộn phát triển và thử nghiệm. Theo Jolla, phát triển với sailfish SDK là phát triển trên chính ; không có sự khác biệt giữa sự xuất hiện và hành vi của phần mềm được phát triển trong SDK và trên một thiết bị chạy .
Tính khả dụng của mã nguồn cho SDK cho phép định hình và xây dựng lại các nhu cầu cụ thể của công ty hoặc nhà phát triển, tạo ra một môi trường cụ thể theo ngữ cảnh được đặt một lần và không cần chuẩn bị khi thiết bị được khởi động. SDK chạy trên các hệ điều hành Android, các phiên bản Linux 32 và 64 bit, các phiên bản OS X 64bits, và Microsoft Windows. Nó có thể được sử dụng để biên dịch phần mềm cho các thiết bị hệ điều hành sailfish từ các nguồn Linux. Chế độ console/terminal của nó tuân theo một tiêu chuẩn thường được sử dụng. Các nhị phân hoặc thư viện tương thích cũng có thể được sử dụng.
Giao diện lập trình ứng dụng.
 sử dụng API Qt nguồn mở (Qt 5, QtQuick 2 etc.) và sailfish Silica nguồn đóng cho UI. API Linux tiêu chuẩn được cung cấp bởi Mer Core.
Sailfish, Ubuntu và Plasma Active đã hợp tác để chia sẻ các API phổ biến. Khi thành công, điều này sẽ làm cho các nền tảng tương thích ở cấp độ API.
Tổng quan về phần mềm.
Các ngôn ngữ được hỗ trợ UI.
Chính thức Jolla tuyên bố hỗ trợ 14 ngôn ngữ sau cho giao diện người dùng:
Đan Mạch, Tiếng Đức, Tiếng Anh(UK), Tây Ban Nha, Pháp, Ý, Na Uy, Ba Lan, Bồ Đào Nha, Phần Lan, Thụy Điển, Nga, Trung Quốc (Đại lục) và Trung Quốc (Hồng Kông). Đối với mỗi ngôn ngữ Sailfish có một bàn phím chuyên dụng. Có một vài ngôn ngữ được hỗ trợ không chính thức bởi các dịch giả tự do trong cộng đồng không thuộc quyền kiểm soát của Jolla, do đó tổng cộng hơn 20 ngôn ngữ được hỗ trợ. Các ngôn ngữ bổ sung có thể được cài đặt bởi người dùng có kỹ năng do kiến trúc Linux.
"Truy cập sớm" công khai cho người thử nghiệm và nhà phát triển beta.
Sau những trải nghiệm tích cực với việc đẩy các bản cập nhật sớm cho một nhóm nhỏ người dùng chọn tham gia Sailfish Update 9 và cho hotfix kết nối, Jolla đã cho phép tất cả các bên quan tâm dùng thử phiên bản mới của Sailfish OS khoảng 1-2 tuần trước khi phát hành chính thức, trong một chương trình gọi là "Truy cập sớm". Nó được dự kiến ​​sẽ hữu ích cho các nhà phát triển và người dùng có kỹ thuật, và một bước tiến tới tích hợp cộng đồng nhiều hơn vào quy trình phát hành Sailfish, bao gồm cải thiện chất lượng bằng cách xác định các vấn đề quan trọng chỉ xuất hiện trong một số môi trường hoặc thiết lập thiết bị nhất định, trước khi tung ra bản cập nhật đến đối tượng người dùng rộng hơn. Là một phần bổ sung, nó cung cấp một cửa sổ cho các nhà phát triển để kiểm tra các ứng dụng của họ trên các bản phát hành mới của .
Về lâu dài, nó sẽ giúp Jolla thiết lập một chương trình dành cho nhà phát triển với quyền truy cập ứng viên phát hành sớm cho các nhà phát triển đã đăng ký và có sự tham gia của cộng đồng nhiều hơn vào phát triển nền tảng. Chi tiết đầu tiên Jolla đang hy vọng học hỏi từ điều này là làm thế nào nó có thể thu thập phản hồi từ một lượng lớn khán giả một cách hợp lý.
Chi tiết cơ bản về bản cập nhật truy cập sớm:
Lịch sử phiên bản.
 có ba quy ước đặt tên: số phiên bản, số cập nhật và tên phiên bản.
Đối với độc giả không nói tiếng Phần Lan, có thể khó nhớ các từ tiếng Phần Lan. Có thể hữu ích để lưu ý rằng các tên bắt đầu theo thứ tự của bảng chữ cái Phần Lan. R, Å, và Ö được bỏ qua với các updates 6, 12, và 14. Sau khi đến chữ cái cuối cùng, nó khởi động lại bằng chữ A cho update 15. Không có từ tiếng Phần Lan nào bắt đầu bằng C hay D, có thể giải thích bước nhảy tại update 17, nhưng từ bản update 18 quy tắc không còn được giữ.
Ngừng phát hành.
Khi cập nhật SFOS từ các bản phát hành trước đó, ví dụ sau khi khôi phục cài đặt gốc thiết bị, có một số bản 'ngừng phát hành' không thể bỏ qua và phải được thực hiện trước khi tiếp tục không có đường dẫn cập nhật cho các bản phát hành tiếp theo. Các bản phát hành này cung cấp chức năng mới không tương thích với các bản phát hành trước đó và phải được duyệt qua để không bị mất dữ liệu hoặc khiến hệ điều hành ở trạng thái không ổn định.
Porting.
Một số dự án thành công trên các nền tảng khác đang di chuyển để trở thành các ứng dụng Sailfish OS bản địa. Điều này mang lại cho các dự án Harmattan hay Symbian bị bỏ rơi một cuộc sống mới. Porting các dự án viết bằng Qt chỉ mất vài giờ. Để hỗ trợ, sailfish.org thu thập và xuất bản một bản tóm tắt kiến thức, liên kết và hướng dẫn trực tuyến về:
Vì Sailfish là một hệ điều hành dựa trên Linux, nên cũng có thể cài đặt các ứng dụng Linux khác trên nó, có thể là từ nguồn để biên dịch hoặc file nhị phân trực tiếp.
Sử dụng phần mềm Android chạy trên Sailfish OS.
Ngoài các ứng dụng gốc của nó, Sailfish có thể chạy hầu hết các ứng dụng Android bằng cách cài đặt chúng từ cửa hàng ứng dụng hoặc trực tiếp thông qua file APK. Các vấn đề có thể phát sinh, nếu các ứng dụng này được xây dựng mà không tuân theo các tiêu chuẩn của Android về các điều khiển, có thể không hiển thị chính xác và do đó trở nên không sử dụng được. Alien Dalvik tích hợp đóng vai trò của lớp tương thích Android. Nó không mô phỏng, mà thay vào đó thực hiện API hệ điều hành Android; một cách tiếp cận tương tự Wine. Do đó, phần mềm Android có thể thực hiện các lời gọi chức năng mà họ yêu cầu và chạy ở tốc độ gốc mà không bị chậm hiệu năng. Tính năng đa nhiệm của sailfish luôn được kích hoạt bởi bản chất của Linux và điều này cho phép chạy đồng thời cả phần mềm Sailfish và Android, trong khi người dùng có thể chuyển đổi giữa chúng một cách nhanh chóng.
Tổng quan về phần cứng.
Ưu điểm của tiêu chuẩn Mer.
Sailfish OS có thể được sử dụng trên mọi phần cứng có hỗ trợ Linux kernel và tương thích với phần mềm trung gian sử dụng Mer core. Những người đam mê cộng đồng đã port Sailfish OS sang một số thiết bị theo cách này. Thay vì chỉ định cho một nền tảng phần cứng tham chiếu cụ thể, việc triển khai VirtualBox với Sailfish OS SDK có sẵn để phát triển trên các hệ điều hành Linux, OS X và Windows. Việc triển khai máy ảo này chứa toàn bộ Sailfish OS được phân lập từ tài nguyên cục bộ và hệ điều hành cục bộ để cho phép đánh giá thuận tiện về hành vi và hiệu suất của phần mềm được mã hóa hoặc port trước khi triển khai trên thiết bị thực
Các thiết bị từ các nhà cung cấp khác cấp phép cho Sailfish OS.
Các nhà sản xuất có thể cung cấp cho thiết bị di động một Sailfish OS được cấp phép, hoặc dưới dạng nguồn mở, hoặc kết hợp cả hai và bao gồm các sửa đổi và thương hiệu của chính họ hoặc của nhà điều hành cho các thị trường hoặc mục đích cụ thể.
Thiết bị được lên kế hoạch và công bố.
Một số thiết bị đã được công bố với sự hỗ trợ chính thức cho Sailfish OS để phát hành trong tương lai.
Ports của những người đam mê cộng đồng đến các thiết bị từ các nhà cung cấp khác.
Do tính dễ dàng tương đối của việc port và giấy phép nguồn mở, Sailfish OS cũng đã được port không chính thức sang các thiết bị của bên thứ 3 khác. Hardware Adaptation Development Kit cho các porters đã được phát hành miễn phí. Các ports phần lớn được đăng tải trên các diễn đàn Maemo và XDA Developers, và tại Mer wiki một danh sách các ports được sưu tập Do các hạn chế về giấy phép, các bộ phận hoặc phần mở rộng độc quyền như lớp tương thích Alien Dalvik cho các ứng dụng Android không được bao gồm. Tuy nhiên chúng có thể được bổ sung, ví dụ, khi nhà sản xuất hoặc nhà phân phối biến nó từ phiên bản cộng đồng thành phiên bản được hỗ trợ chính thức cho một thiết bị cụ thể.Từ hơn 80 port ban đầu, có khoảng 19 port vẫn đang được phát triển - kể từ tháng 3 năm 2019 - có nghĩa là chúng đã được cập nhật lên sailfish 3:
Để hiển thị sự dễ dàng của việc chuyển Sailfish OS sang các thiết bị khác, Jolla đã hiển thị các port được tạo và port cộng đồng tại các sự kiện như Mobile World Congress, Slush và FOSDEM:
Tình trạng phát triển hệ điều hành.
 được thúc đẩy bởi Jolla và được hỗ trợ bởi Sailfish Alliance được thành lập vào năm 2011, một nhóm được thành lập để hợp nhất các nhà sản xuất OEM và ODM, nhà cung cấp chipset, nhà điều hành, nhà phát triển ứng dụng và nhà bán lẻ. Ngày 16 tháng 8 năm 2012, giao diện người dùng đã được thông báo là đã sẵn sàng để phát hành. Giám đốc điều hành của Jolla, Jussi Hurmola, đã tuyên bố trong một cuộc phỏng vấn của ZDNet, "... UI của chúng tôi đã sẵn sàng, chúng tôi chưa phát hành nó, chúng tôi sẽ lưu nó để ra mắt sản phẩm và nền tảng hiện đang hoạt động nên dự án trông khá đẹp".
Ngày hôm sau, Giám đốc điều hành của Jolla, Marc Dillon, nói trên trang mạng xã hội Twitter rằng công ty đã đạt được mục tiêu phát triển đầu tiên. Sailfish đã được nhóm Jolla ra mắt, bao gồm cả một luồng internet trên toàn thế giới, như là một bản demo của hệ điều hành, và UI và SDK trong sự kiện Slush ở Helsinki, Phần Lan, Ngày 21 tháng 11 năm 2012. Giai đoạn alpha của SDK Sailfish OS xuất bản cuối tháng 2 năm 2013 và được cung cấp để tải về miễn phí.
Ngày 16 tháng 9 năm 2013, Jolla tuyên bố rằnghệHđiều hành của họ đã có thể tương thích với các ứng dụng và phần cứng của Android. Điện thoại đầu tiên sử dụng nó đã được ra mắt vào ngày 27 tháng 11 năm 2013 tại một pop-up tại cửa hàng DNA Kauppa tại Helsinki. 450 điện thoại đầu tiên đã được bán tại sự kiện này, trong khi phần còn lại của các thiết bị được đặt trước được xuất xưởng ngay sau đó.
Tháng 9 năm 2015, phiên bản 1.1.9.28 "Eineheminlampi" đã được phát hành, bổ sung các yếu tố chính của giao diện người dùng Sailfish OS 2.0 được tân trang lại.
Sailfish 2.0 đã được ra mắt cùng với Jolla Tablet và các thiết bị hiện có, cả điện thoại thông minh và máy tính bảng, từ các kênh phân phối chính thức của Jolla đều được hỗ trợ nâng cấp lên Sailfish 2.0 và theo các bản cập nhật.
Vào tháng 5 năm 2016, Jolla đã công bố Sailfish Community Device Program, hỗ trợ các nhà phát triển và thành viên của cộng đồng Sailfish OS
Hợp tác và phát triển.
Nhân viên của Jolla đã gặp gỡ các thành viên của cộng đồng công nghệ Nga để đột phá phần mềm mới và quảng bá Sailfish OS, như một phần của chiến lược BRICS của Jolla. Kết quả của những nỗ lực đó, vào ngày 18 tháng 5 năm 2015, Bộ trưởng truyền thông Nga Nikolai Nikiforov đã công bố kế hoạch thay thế các nền tảng Android của iOS của Apple và Android của Google bằng phần mềm mới dựa trên Sailfish. Ông dự định sẽ đáp ứng 50% nhu cầu của Nga trong lĩnh vực này trong mười năm tới, so với 95% hiện được bao phủ bởi công nghệ phương Tây Phiên bản tiếng Nga hiện đang được phát triển với thương hiệu Aurora OS. Công ty công nghệ đa quốc gia Trung Quốc Huawei có thể bắt đầu sử dụng Aurora OS để thay thế Android
Sailfish Alliance.
Sailfish Alliance là một liên minh mở được thành lập vào năm 2011 bởi công ty Jolla để hỗ trợ hệ sinh thái MeeGo với các sản phẩm, dịch vụ và cơ hội kinh doanh mới xung quanh hoặc sử dụng Sailfish OS, hệ điều hành Linux kết hợp mer với các thành phần độc quyền từ Jolla và các bên khác, cho các mục đích khác nhau và thiêt bị di động. Và để tiếp tục phát triển hệ sinh thái Linux MeeGo, mà SailfishOS là một phần.
Liên minh này được coi là đối thủ cạnh tranh với các nhóm khác như Open Handset Alliance của Android.
Năm 2011, một số nhóm MeeGo làm việc tại Nokia đã rời đi,và được Nokia tài trợ mặc dù chương trình "Bridge" của họ để tài trợ cho các dự án spin-out của các nhân viên cũ. Sailfish Alliance đã tìm cách hợp tác giữa các nhà phát triển phần mềm Phần Lan và các nhà sản xuất điện thoại ở nước ngoài, một số trong đó là ở Trung Quốc. Các phương tiện truyền thông báo cáo rằng một số nhà sản xuất ở Trung Quốc và Ấn Độ muốn có một sự thay thế cho Android].
Liên minh nhằm mục đích "hợp nhất các nhà sản xuất OEM và ODM, nhà cung cấp chipset, nhà điều hành, nhà phát triển ứng dụng và nhà bán lẻ."
Thành viên.
Sailfish Alliance là mở và danh sách những thành viên và tình trạng của họ đang thay đổi theo thời gian. Được biết các thành viên hiện tại và trước đây bao gồm:
Chiến lược kinh doanh.
Mục đích của Liên minh là mang đến cơ hội khác biệt và lợi thế cạnh tranh bền vững cho các nhà sản xuất OEM và ODM,nhà cung cấp chipset, nhà điều hành, nhà phát triển ứng dụng, nhà bán lẻ và các bên quan tâm khác.
Liên minh này là một phần trong chiến lược kinh doanh của Jolla trong việc tập hợp các bên thứ 3 miễn phí, không cần thiết ràng buộc với các mối quan hệ đối tác hoặc các thỏa thuận khác và cũng không cần thiết để đóng góp vào sự phát triển của Sailfish OS. Bên cạnh các khả năng của hệ điều hành, những thành viên được thúc đẩy bởi các lợi thế của mô hình cộng tác mở và cộng đồng mở của Jolla như: giảm chi phí, cải thiện dịch vụ cho khách hàng, chia sẻ kỹ năng, kiến thức, tài nguyên cụ thể để cung cấp các sản phẩm và giải pháp mới không thể xảy ra. Đây là lần đầu tiên một quan niệm liên minh kinh doanh được sử dụng theo cách này với mô hình của Jolla được quản lý công bằng và cho các cộng đồng mở và nguồn mở. Các phần quan trọng của nó là: