Tự dựng và vận hành
Dựng từ nguồn Sắp có
Dựng image máy chủ soạn thảo O3O từ mã nguồn MPL 2.0: trạng thái thử nghiệm, các bước và nghĩa vụ giấy phép.
Sắp có
Tính năng mô tả ở trang này sắp có, chưa có trong bản v1.
Vì sao phải dựng từ nguồn#
- Image DEV là bản thượng nguồn: mang tên và logo của thượng nguồn, không đổi thương hiệu được bằng cấu hình, và chỉ để thử nội bộ.
- Image DEV có trần cứng riêng 20 kết nối và 10 tài liệu. Trần biên dịch của image O3O đang chờ chốt; mặc định tạm của
Dockerfile.sourcelà 9999, để gate là nơi duy nhất áp trần theo gói. Trần biên dịch tính MỌI kết nối kể cả chỉ đọc và không nâng được lúc chạy, nên image phải dựng với trần không nhỏ hơnconnscủa token mà nó phục vụ. - Nhãn trắng cho bản doanh nghiệp chỉ làm được trên image dựng từ nguồn.
Trạng thái#
| Thành phần | Trạng thái |
|---|---|
online/docker/Dockerfile.source | Đã viết, chưa chạy hết (thử nghiệm) |
online/docker/build-source.sh | Đã viết, chưa chạy hết (thử nghiệm) |
| Image O3O phát hành | Chưa có |
| Nhãn trắng (logo, tên sản phẩm, màu) | Sắp có |
| Thời gian dựng, dung lượng đĩa và RAM cần | Chưa đo |
Cách dựng (thử nghiệm)#
Chuẩn bị máy
Dùng máy Linux x86_64 có Docker và nhiều dung lượng đĩa trống; bản dựng gồm cả lõi xử lý tài liệu nên rất nặng.Đọc chỉ dẫn
Chú thích đầu tệponline/docker/build-source.shlà chỉ dẫn gốc về tham số và thẻ image tạo ra.Dựng và dùng thử
Chạy script, đặtO3O_ONLINE_IMAGEbằng image vừa dựng vàO3O_ONLINE_IMAGE_KIND=o3o, rồi kiểm/o3o/statusbáodev_image = false.
# THỬ NGHIỆM, CHƯA DỰNG
cd online
less docker/build-source.sh # đọc chú thích đầu tệp trước
bash docker/build-source.sh # chạy theo đúng chỉ dẫn đầu tệp
# online/.env sau khi dựng xong
O3O_ONLINE_IMAGE=<thẻ image do script tạo>
O3O_ONLINE_IMAGE_KIND=o3o
# Kiểm
curl -s http://localhost:8080/o3o/status | jq '{dev_image, upstream}'Nghĩa vụ giấy phép#
Mã nguồn máy chủ soạn thảo dùng giấy phép Mozilla Public License 2.0; image DocBuilder chứa LibreOffice và font của bên thứ ba. Tóm tắt dưới đây giúp theo dõi nghĩa vụ; văn bản giấy phép mới là căn cứ, và đây không phải tư vấn pháp lý.
- MPL 2.0 là copyleft theo từng tệp: tệp thuộc MPL mà bạn sửa vẫn thuộc MPL.
- Khi PHÂN PHỐI bản thực thi (kể cả image Docker) có mã MPL, phải cho người nhận biết cách lấy mã nguồn của phần mã MPL đó, kể cả bản đã sửa, trong thời gian hợp lý và với chi phí không quá chi phí phân phối.
- Giữ nguyên các thông báo giấy phép có trong mã nguồn.
- Mã riêng của O3O (gate, DocBuilder,
api.js, cấu hình proxy) do O3O sở hữu, không phải tệp MPL và không chứa tệp MPL đã sửa, nên bản thân mã này không chịu copyleft của MPL. Gate vàapi.jschỉ giao tiếp với máy chủ soạn thảo qua HTTP và WebSocket. DocBuilder không sửa mã LibreOffice nhưng nạp thư viện UNO của LibreOffice (python3-uno) vào chính tiến trình của nó, và image DocBuilder được phân phối KÈM LibreOffice; MPL 2.0 cho phép ghép như vậy thành một tác phẩm lớn hơn (mục 3.3) mà không kéo mã O3O vào MPL, nhưng phần LibreOffice trong image vẫn mang nguyên nghĩa vụ của nó: phân phối image thì phải kèm thông báo giấy phép và chỉ nơi lấy mã nguồn LibreOffice (hai mục dưới). - Image
o3o-docbuilderđóng gói LibreOffice cài từ kho gói Debian bookworm (phần lớn MPL 2.0, một số phần LGPL và các giấy phép tự do khác) cùng các gói hệ thống của Debian. Khi phân phối image này cho khách: giữ nguyên các tệp giấy phép có sẵn trong image (/usr/share/doc/<gói>/copyright,/usr/lib/libreoffice/LICENSE.html) và cho người nhận biết cách lấy mã nguồn đúng phiên bản, tức gói nguồnlibreofficecủa Debian bookworm (lệnhapt-get source libreoffice=<phiên bản>hoặc kho lưu snapshot.debian.org). Phiên bản LibreOffice đang chạy báo ởGET /v1/status, trườngcore; số phiên bản gói Debian chính xác xem bằng lệnhdpkg-query -W libreoffice-corechạy trong containero3o-docbuilder. Nguyên tắc giữ tệp giấy phép và chỉ chỗ lấy mã nguồn áp cho mọi gói Debian trong các image O3O, kể cả image gate. - Image DocBuilder kèm font để dàn trang giống bản gốc: Carlito, Caladea, Liberation 2 và Noto (SIL Open Font License 1.1); Liberation 1.07 (GPL 2 kèm ngoại lệ cho font, nên tài liệu dùng font không bị ràng buộc bởi GPL); DejaVu (giấy phép Bitstream Vera). Các giấy phép này cho phép phân phối lại font kèm image nếu giữ nguyên tệp giấy phép; OFL và giấy phép Bitstream Vera cấm bán riêng font, không cấm đóng gói kèm phần mềm.
- MPL không cấp quyền dùng nhãn hiệu: bản dựng phát hành phải thay tên và logo của thượng nguồn bằng thương hiệu O3O, và không dùng cơ chế khoá hỗ trợ của thượng nguồn.
Sắp có
Kho công bố mã nguồn phần O3O đã sửa trong mã MPL, dùng cho người nhận image O3O.
Văn bản giấy phép: mozilla.org/MPL/2.0.