Mastodon for iOS: App Fediverse Chính Thức
Mastodon for iOS là client Mastodon chính thức, được xây dựng và phát hành bởi chính tổ chức vận hành phần mềm server Mastodon. Là app chính thức, tính năng mới phía server thường xuất hiện ở đây trước, và bản App Store còn được cấp phép kép cho Apple bên cạnh source GPL-3.0. Chọn app này nếu bạn muốn client chính chủ, không phải hàng reverse-engineer; bỏ qua nếu bạn dùng server fediverse không phải Mastodon, vì đó không phải mục tiêu của app.
Mastodon Cho iOS Là Gì?
Mastodon for iOS là app chính thức cho iPhone và iPad của mạng xã hội Mastodon, do chính dự án Mastodon phát hành. Đây chỉ là client — bạn vẫn cần một tài khoản có sẵn trên một server Mastodon để đăng nhập và sử dụng, giống như mọi app Mastodon khác. Code được mở nguồn trên GitHub theo giấy phép GPL-3.0, và còn được cấp phép kép cho Apple để cùng một source có thể phân phối qua App Store.
Các Khía Cạnh Chính Của App Chính Thức
- ✓Được chính dự án Mastodon phát triển và phát hành, không phải một nhà phát triển bên thứ ba tự dò API.
- ✓Viết bằng Swift, phân phối chủ yếu qua App Store, với cùng source có thể build trực tiếp từ repository này.
- ✓Phát hành theo giấy phép GPL-3.0, đồng thời cấp phép kép cho Apple để app có thể xuất bản trên App Store.
- ✓Được xây dựng để hoạt động với server Mastodon — README nói đội ngũ không đủ nguồn lực để đảm bảo tương thích với phần mềm server fediverse khác.
- ✓Thay đổi giao diện phải qua một quy trình thiết kế có core team review, thay vì được merge tuỳ ý từ pull request của cộng đồng.
- ✓Có tài liệu riêng hướng dẫn đóng góp dành cho iOS, một setup guide, và tài liệu App Store Deployment, tách biệt khỏi README chính.
- ✓Bối cảnh ra đời được ghi lại trong một bài blog năm 2021 của Mastodon giải thích lý do đội ngũ xây dựng một app iOS chính chủ.
Cài Đặt App Trên Thiết Bị Của Bạn
README chỉ App Store là cách cài đặt chính cho Mastodon for iOS — đó là đường dẫn dành cho người dùng thông thường. Nếu muốn tự build, thư mục Documentation của repo có một setup guide và một tài liệu App Store Deployment riêng, nhưng các lệnh build cụ thể không được nêu trong README chính, nên hãy coi các tài liệu đó là nguồn chính xác. Build từ source chủ yếu nhắm tới người muốn báo lỗi cho app, theo README.
Điểm mạnh
- ✓Được chính dự án Mastodon duy trì, không phải bên thứ ba đoán mò theo thay đổi API.
- ✓Hoàn toàn mã nguồn mở theo GPL-3.0, với đúng source dùng cho App Store có thể build và đọc được trên GitHub.
- ✓Có tài liệu đóng góp thực sự — setup guide, tài liệu contributing riêng cho iOS, và tài liệu App Store deployment — thay vì chỉ một README sơ sài.
- ✓Bối cảnh và chủ đích thiết kế được giải thích qua một bài blog công khai, không bị bỏ ngỏ.
- ✓Ghi công các dự án mã nguồn mở mà app phụ thuộc vào trong một tài liệu acknowledgments riêng.
Lưu Ý Về Tương Thích Và Đóng Góp
- △Chỉ nhắm tới server Mastodon — README nói đội ngũ không đủ nguồn lực để đảm bảo app hoạt động với phần mềm server fediverse khác, và pull request nhắm tới mục tiêu đó sẽ bị đóng.
- △Đóng góp thay đổi giao diện khó hơn một PR mã nguồn mở thông thường: thay đổi UI phải qua core team design review, và README nói phần lớn thay đổi UI do cộng đồng gửi sẽ không được chấp nhận, hoặc mất thời gian ngay cả khi được chấp nhận.
- △Người đóng góp phải ký Contributor License Agreement (CLA) trước khi code được merge — một bước mà nhiều người chỉ muốn fix bug nhỏ thường bỏ qua ở dự án khác.
- △README không liệt kê số phiên bản, chu kỳ phát hành, hay roadmap, nên không có thông tin chính thức về những gì sắp tới.
- △Nếu fork và chỉnh sửa app, bạn không được giữ tên hay logo Mastodon — README yêu cầu dùng tên và icon riêng để không trông như được xác nhận chính thức.
Các Client iOS Khác Cho Mastodon
App Này Dành Cho Ai
Mastodon for iOS dành cho những ai đã có tài khoản trên một server Mastodon và muốn dùng client do chính đội ngũ vận hành mạng lưới xây dựng, không phải bản làm lại của bên thứ ba. App cũng phù hợp với developer muốn đọc hoặc build một codebase Swift đang chạy thực tế, hoặc muốn fix bug và chấp nhận ký CLA, còn với thay đổi UI thì phải qua core team design review. Bỏ qua nếu bạn dùng một server fediverse khác không phải Mastodon — README nói rõ tương thích ở đó không phải ưu tiên — hoặc nếu bạn muốn một client có giao diện khác hẳn bản chính thức, vì thay đổi giao diện bị kiểm soát chặt.
Câu Hỏi Thường Gặp
Mastodon for iOS là mã nguồn mở — code được công khai trên GitHub theo giấy phép GPL-3.0, và ai cũng có thể build từ source để báo lỗi.
Mastodon for iOS phát hành theo giấy phép GPL-3.0. App còn được cấp phép kép cho Apple để cùng một code có thể phân phối qua App Store.
Đóng góp cho Mastodon for iOS nghĩa là làm theo contributing guide của dự án và ký Contributor License Agreement; thay đổi giao diện còn phải qua core team design review trước khi được chấp nhận.
Mastodon for iOS được xây dựng riêng cho server Mastodon; README nói đội ngũ không đủ nguồn lực để đảm bảo tương thích với phần mềm server fediverse khác, và pull request nhắm tới mục tiêu đó nhiều khả năng sẽ bị đóng.
Vì Mastodon for iOS được cấp phép kép cho Apple để phân phối qua App Store bên cạnh source GPL-3.0, người đóng góp phải ký một Contributor License Agreement trước khi code được merge; README không nêu chi tiết thêm ngoài yêu cầu đó.
Phân phối lại một bản chỉnh sửa của Mastodon for iOS được phép theo GPL-3.0, nhưng README yêu cầu đặt tên và icon riêng, vì tên và logo Mastodon là thương hiệu không được ngụ ý là được xác nhận chính thức.
Vấn đề Mastodon for iOS giải quyết
Trước khi app này ra đời, người dùng Mastodon trên iOS phải phụ thuộc hoàn toàn vào các client bên thứ ba do developer ngoài dự án Mastodon xây dựng, không có lựa chọn chính chủ nào gắn liền với cách server phát triển. Mastodon for iOS lấp khoảng trống đó: được duy trì bởi chính đội ngũ vận hành phần mềm server, như bài blog năm 2021 của dự án về việc xây dựng một app iOS chính thức đã nhắc tới, nên cập nhật client và tính năng server có thể theo kịp nhau theo cách một app thuần bên thứ ba khó đảm bảo được.
Trường hợp sử dụng tốt nhất
- •Dùng làm client Mastodon hàng ngày trên iOS khi bạn đã có tài khoản trên một server Mastodon.
- •Build app từ source để tái hiện và báo lỗi cho client chính thức.
- •Đọc source Swift của một app App Store thực tế, đang chạy, như tài liệu tham khảo về kiến trúc app iOS.
- •Đóng góp các fix không liên quan giao diện qua contributing guide của dự án, vì thay đổi UI phải qua quy trình review chặt hơn từ core team.
