Hãng luật nhỏ vận hành gần như toàn bộ bằng phần mềm tự do

Công nghệ07 tháng 11, 2026·8 phút đọc

Neil Brown cập nhật cách hãng luật decoded.legal sử dụng phần mềm tự do trên máy cá nhân lẫn máy chủ, từ Debian, LibreOffice và Syncthing đến các dịch vụ tự lưu trữ. Sau khoảng năm năm, một số lựa chọn đã thay đổi, nhưng ông cho biết vẫn có thể làm việc với khách hàng dùng phần mềm của Microsoft và Apple mà không gặp trở ngại.

Hãng luật nhỏ vận hành gần như toàn bộ bằng phần mềm tự do

Neil Brown, người điều hành decoded.legal — một hãng luật nhỏ ở Anh chuyên về luật Internet, viễn thông và công nghệ — cho biết ông vẫn dùng phần mềm tự do cho phần lớn công việc, từ máy tính cá nhân đến hạ tầng máy chủ. Bản cập nhật năm 2026 ghi lại những thay đổi sau khoảng năm năm triển khai, trong đó đáng chú ý là việc chuyển từ Nextcloud sang Syncthing và Radicale.

Brown từng chia sẻ kinh nghiệm vào năm 2022, rồi cập nhật lần nữa vào năm 2024. Theo ông, các công cụ chủ đạo phần lớn vẫn giữ nguyên; những thay đổi chủ yếu xuất phát từ nhu cầu sử dụng thực tế.

Công cụ trên máy tính cá nhân

Máy tính chính của Brown chạy Debian với môi trường GNOME. Ông sử dụng ThinkPad X1 Yoga Gen 6, đặc biệt thích khả năng gập màn hình để viết chú thích lên tài liệu. Tuy nhiên, cổng Thunderbolt và USB-C của máy gặp vấn đề phần cứng: cấp nguồn vẫn ổn nhưng truyền dữ liệu chập chờn. Brown có thể phải thay máy, dù chưa quyết định sẽ chọn mẫu nào.

Trong công việc văn phòng, ông dùng Thunderbird và mutt để đọc thư điện tử. Một số tiện ích bổ sung của Thunderbird giúp chuyển thư nhanh bằng phím tắt; còn lịch mời định kỳ đôi khi gặp trục trặc trên Thunderbird nhưng vẫn hoạt động tốt với ikhal.

Brown dùng LibreOffice Writer khi cần trao đổi tài liệu định dạng Word. Với các nội dung khác, ông thường viết bằng Markdown trong vim, rồi dùng pandoc và typst để chuyển đổi. Ông cũng muốn tìm hiểu thêm về TeX vì có khách hàng thích xem các thay đổi trong tệp .tex.

Để làm bài thuyết trình, Brown chọn reveal.js: ông viết nội dung bằng Markdown, dùng tập lệnh Bash tạo bộ khung và áp dụng mẫu CSS để định dạng. Cách làm này giúp tạo bài trình chiếu mà không cần thao tác nhiều trong giao diện đồ họa.

Các công cụ khác trên máy gồm Nautilus để quản lý tệp; Evince để đọc PDF; Xournal++ để ghi chú lên PDF; PDFarranger và pdftk để chỉnh sửa PDF. Brown dùng espanso để mở rộng văn bản — công cụ chèn cụm từ hoặc đoạn văn đã thiết lập bằng lối tắt — và vimwiki để quản lý ghi chú, theo dõi quá trình phát triển chuyên môn.

Firefox vẫn là trình duyệt chính, bên cạnh links, một trình duyệt chạy trong giao diện dòng lệnh. Brown dùng Firefox để tham gia các cuộc họp Teams hoặc Zoom do người khác tổ chức. Ông cũng sử dụng LUKS để mã hóa ổ đĩa, Cryptomator để mã hóa tệp trước khi đồng bộ bằng Syncthing, và Bitwarden với máy chủ vaultwarden cho mật khẩu; YubiKey được dùng để quản lý thông tin đăng nhập nhạy cảm hơn.

Với các công việc khác, Brown chọn Apostrophe để soạn bài blog, paperless-ngx để quản lý tài liệu quét và một giao diện web tự do để in nhãn bằng máy Brother. Khi sử dụng mạng xã hội liên bang (Fediverse), ông thường dùng giao diện nâng cao của Mastodon hoặc toot, một ứng dụng chạy trong thiết bị đầu cuối.

Brown cho biết ông thường dùng công cụ dòng lệnh như mutt, vim, ikhal, ncmpcpp, newsboat, toot và links vì quen thao tác bằng bàn phím, ít bị phân tâm và không phải chuyển tay khỏi bàn phím. Tuy vậy, ông không chỉ sử dụng các công cụ dạng này.

Hạ tầng máy chủ tự lưu trữ

Ngoại trừ Signal, các dịch vụ phía máy chủ của decoded.legal đều do hãng tự lưu trữ (self-hosted), phần lớn chạy trên máy Intel NUC. Hãng vẫn còn một số thiết bị Raspberry Pi nhưng số lượng đã giảm.

Hệ thống thư điện tử dùng Postfix và Dovecot. Brown dự định chuyển hạ tầng thư trong tương lai và muốn tìm hiểu Stalwart. Với đồng bộ tệp, hãng đã rời Nextcloud vì phần mềm này gây ra nhiều vấn đề hơn lợi ích, chuyển sang Syncthing. Radicale đảm nhiệm CalDAV và CardDAV — các giao thức đồng bộ lịch và danh bạ — và Brown hài lòng với cách kết hợp này.

Hãng từng vận hành Jitsi trong nhiều năm, nhưng đã ngừng dịch vụ cách đây vài tháng vì phần lớn cuộc họp là do đối tác tổ chức trên Teams hoặc Zoom. Thay vào đó, decoded.legal cung cấp Signal cho hội nghị truyền hình và chưa nhận được phàn nàn nào.

Các công cụ phục vụ vận hành gồm InvoicePlane để tạo hóa đơn PDF, Kimai phiên bản 2 để theo dõi thời gian làm việc và EspoCRM để quản lý hồ sơ vụ việc. Khách hàng không tương tác trực tiếp với InvoicePlane.

Đối với mạng riêng ảo (VPN), hãng dùng WireGuard, kết hợp tập lệnh Ansible algo của trailofbits trên một máy và PiVPN trên máy khác — dù máy đó không phải Raspberry Pi. Brown dùng Greenbone/OpenVAS để quét lỗ hổng, Uptime Kuma để giám sát dịch vụ, Wazuh làm hệ thống quản lý thông tin và sự kiện bảo mật (SIEM), còn Forgejo lưu trữ mã nguồn Git cho trang web và một số dự án mẫu.

Brown không lưu trữ dữ liệu đặc biệt quan trọng trên Forgejo. Với dữ liệu đó, ông dùng một quy trình Git chạy trên máy khác, không thể truy cập qua Internet, rồi đẩy mã lên máy này.

Trang web của hãng là trang tĩnh được dựng bằng mkdocs và lưu trữ trên Apache2. Brown cho biết trang được đơn giản hóa hơn nữa và tải nhanh hơn. Hãng cũng duy trì phiên bản .onion, có thể truy cập bằng Tor Browser.

Blog của Brown dùng BSSG, một công cụ dựng trang tĩnh viết bằng Bash, sau khi ông gặp một số phiền toái với Hugo. Blog vẫn có nguồn cấp RSS. Các tập lệnh Bash tự động hóa những thao tác thường gặp như tạo mẫu và xuất bản bài viết, để ông tập trung vào nội dung. Brown thường chia sẻ công khai những điều học được thay vì chỉ lưu chúng trong tài liệu nội bộ; các bài viết kỹ thuật thường xuất hiện trên blog cá nhân.

Về mạng xã hội liên bang, Brown chuyển từ Mastodon thông thường sang nhánh glitch-soc. Ông đã tắt máy chủ Fediverse riêng của decoded.legal vì cho rằng dịch vụ này không còn đáng để duy trì. Brown cũng ngừng dùng Markdown trong các bài đăng do cách hiển thị không được hỗ trợ nhất quán trên các ứng dụng khác nhau.

Hãng dùng DokuWiki cùng tiện ích Markdown để quản lý kiến thức, chính sách và quy trình nội bộ. Hệ thống phân giải DNS gồm unbound với Pi-hole đặt phía trước; Brown đã ngừng vận hành máy chủ DNS qua HTTPS. Bản sao lưu được xử lý bằng restic và rsync.

Để tạo biểu mẫu, decoded.legal dùng LiberaForms, trong đó câu trả lời được mã hóa trên máy chủ. Brown vẫn xóa dữ liệu ngay khi có thể, nhưng đánh giá cao việc dữ liệu được lưu mã hóa trong cơ sở dữ liệu. Một ứng dụng của LiberaForms là bảng câu hỏi “Know Your Client” dùng trước khi tiếp nhận khách hàng.

Hãng hiện không dùng công cụ chỉnh sửa tài liệu cộng tác. Brown từng tự lưu trữ CryptPad nhưng đã tắt dịch vụ vì ít người sử dụng.

Thiết bị di động và công cụ AI

Brown không sử dụng công cụ AI vì nhiều lý do, nhưng không nêu cụ thể các lý do đó. Điện thoại của ông là Pixel chạy GrapheneOS và dùng F-Droid làm kho ứng dụng chính.

Ông cho biết đã thử nhiều hệ điều hành và thiết bị, gồm postmarketOS, Ubuntu Touch và trước đó là SailfishOS, nhưng chưa tìm được lựa chọn nào đáp ứng nhu cầu tốt hơn GrapheneOS.

Làm việc với khách hàng

Theo Brown, việc hãng dùng phần mềm tự do trong khi nhiều khách hàng sử dụng phần mềm của Microsoft hoặc Apple không gây ra vấn đề nào. Khách hàng vẫn có thể trao đổi tài liệu và làm việc với hãng dù sử dụng các hệ sinh thái phần mềm khác nhau.

Góc nhìn

Trường hợp của decoded.legal cho thấy một tổ chức nhỏ có thể ghép nhiều công cụ chuyên biệt để xử lý thư điện tử, tài liệu, quản lý vụ việc, bảo mật và sao lưu mà không phụ thuộc vào một nền tảng duy nhất. Việc hãng chuyển khỏi Nextcloud hoặc ngừng Jitsi cũng cho thấy lựa chọn công nghệ có thể thay đổi khi mức độ sử dụng và chi phí vận hành không còn phù hợp.

Với nhà phát triển và doanh nghiệp, kinh nghiệm này nhấn mạnh giá trị của việc chọn công cụ theo quy trình thực tế, đồng thời cân nhắc năng lực tự quản trị hệ thống. Các công cụ tự lưu trữ đem lại quyền chủ động, nhưng cũng đòi hỏi đơn vị vận hành chịu trách nhiệm duy trì dịch vụ, bảo mật và sao lưu.

Nguồn: decoded.legal · Quy trình biên tập

Chia sẻ:FacebookX