5 điểm bởi GN⁺ 2025-08-21 | 1 bình luận | Chia sẻ qua WhatsApp
  • Zedless là một bản fork dựa trên trình soạn thảo mã nguồn mở Zed, nhấn mạnh bảo vệ quyền riêng tư và môi trường local-first
  • Zedless loại bỏ sự phụ thuộc vào đám mây và cho phép người dùng tự cấu hình hạ tầng theo nhu cầu
  • Dự kiến sẽ loại bỏ toàn bộ spyware và các tính năng telemetry từ xa
  • Áp dụng chính sách không yêu cầu chuyển nhượng bản quyền của người đóng góp (No CLA), để mọi nhà phát triển giữ nguyên bản quyền của mình
  • Sử dụng thêm các công cụ để tự động hóa quản lý giấy phép và tuân thủ giấy phép mã nguồn mở

Giới thiệu về Zedless

  • Zedlessbản fork của trình soạn thảo mã Zed, hướng tới việc bảo đảm quyền riêng tư cho người dùng và ưu tiên tối đa khả năng sử dụng trong môi trường cục bộ
  • Dự án hiện đang trong quá trình phát triển và tự do tiếp nhận đóng góp từ bên ngoài

Kế hoạch thay đổi chính

  • Loại bỏ sự phụ thuộc vào các dịch vụ đám mây không thể tự lưu trữ
    • Các thành phần và tính năng phụ thuộc chặt chẽ vào đám mây của bên thứ ba sẽ bị loại bỏ
  • Loại bỏ spyware và bảo vệ dữ liệu
    • Telemetry và hệ thống tự động báo cáo sự cố đều nằm trong diện bị xóa bỏ
  • Ưu tiên hỗ trợ hạ tầng của người dùng
    • Khi sử dụng các tính năng dịch vụ mạng, người dùng có thể trực tiếp chỉ định nhà cung cấp dịch vụ theo định dạng chuẩn
    • Không tồn tại danh sách "nhà cung cấp mặc định", và tính năng này bị tắt theo mặc định
  • Không chuyển nhượng bản quyền
    • Người tham gia dự án giữ bản quyền cho chính mình
    • Áp dụng chính sách No rugpulls để tránh gây bất lợi cho nhà phát triển

Quản lý giấy phép và phụ thuộc

  • Bắt buộc phải cung cấp thông tin giấy phép cho các phụ thuộc bên thứ ba, và dự án sử dụng công cụ cargo-about cho việc này
  • Lưu ý
    • Nếu crate do bạn viết phát sinh lỗi 'no license specified', cần thêm publish = false vào Cargo.toml
    • Nếu xuất hiện lỗi không đáp ứng yêu cầu giấy phép của gói phụ thuộc, cần kiểm tra và khai báo rõ tính phù hợp của giấy phép đó
    • Nếu cargo-about không tìm được giấy phép của phụ thuộc, cần thêm mục mô tả rõ ràng vào script

Ý nghĩa của dự án

  • Zedless là một lựa chọn thay thế đặc biệt nổi bật về tính ổn định, tính tự chủbảo vệ pháp lý cho người dùng và đội ngũ coi trọng quyền riêng tư cùng môi trường phát triển lấy cục bộ làm trung tâm
  • So với Zed hiện tại, dự án mạnh dạn loại bỏ các điểm yếu bảo mật tiềm ẩn như dịch vụ đám mây độc quyền và các tính năng theo dõi từ xa, từ đó có thể tạo dựng độ tin cậy dựa trên hạ tầng tự quản và hệ sinh thái mã nguồn mở

1 bình luận

 
GN⁺ 2025-08-21
Ý kiến trên Hacker News
  • Thật vui khi thấy một hướng đi như thế này dành cho Zed; hiện tại chưa hoàn hảo nhưng rất đáng để kỳ vọng về sau. Tuy vậy, tôi hoàn toàn không muốn có AI và telemetry; dạo gần đây tôi hầu như không còn dùng tính năng AI trong editor nữa. Tôi đã thử nhiều lần với Copilot và các công cụ tương tự nhưng vẫn chưa thấy thỏa mãn. Có lẽ những tính năng này phù hợp hơn ở những vị trí khác trong pipeline phát triển phần mềm, ví dụ như code review hoặc hỗ trợ tài liệu hóa. Tôi sẵn sàng trả tiền cho dịch vụ đồng bộ cấu hình hoặc dạng thuê bao bảo trì, nhưng tôi không nghĩ editor là loại công cụ có thể mang lại ROI mà VC mong muốn. Có khi một năm nữa tôi lại quay về với bộ đôi Emacs và IntelliJ
    • Mừng vì cuối cùng cũng thấy có người nói vậy. Trong lúc quá nhiều người ca ngợi editor AI, tôi lại thấy lạc lõng vì không hiểu sao mọi người lại làm quá đến thế. Tôi đã thử vài editor AI nhưng chưa lần nào thấy workflow của mình khá hơn. Với đội của chúng tôi thì viết code không phải nút thắt cổ chai, vấn đề là code review không diễn ra đủ nhanh. Vì thế chúng tôi đang cân nhắc đưa AI vào code review để giảm bớt một phần gánh nặng
    • Trong Zed có thể tắt tính năng AI Blog Zed: Tắt tính năng AI
    • Nếu Zed ngừng đưa thêm tính năng AI và tập trung vào việc chỉnh sửa văn bản thì có thể sẽ trở thành một sản phẩm thực sự tuyệt vời
    • Chẳng phải chỉ cần không dùng hoặc tắt hẳn AI và telemetry là được sao? Đâu có ai dí nó ngay trước mặt bạn. Telemetry mà mặc định OFF thì tốt hơn thật, nhưng nếu có thể tắt dễ dàng thì tôi thấy cũng ổn
    • Những ý kiến kiểu sẵn sàng trả tiền thuê bao bảo trì như thế này xuất hiện rất thường xuyên trên HN hay các diễn đàn geek, nhưng trên thực tế số người dùng như vậy là thiểu số, không đủ để biến sản phẩm hay công ty thành mô hình bền vững
  • Tôi lúc nào cũng có cảm xúc lẫn lộn với fork, đặc biệt là hard fork. Gần đây Zed đã thêm khả năng vô hiệu hóa toàn bộ tính năng AI, còn telemetry cũng có thể opt-out, nên tôi không chắc có thật sự cần fork hay không. Nhìn danh sách tính năng được nêu ra thì đây đều là những phần có thể được upstream thành tính năng mặc định của bản gốc. Tôi hy vọng sẽ là như vậy. Tôi vẫn còn nhớ việc hệ sinh thái từng bị chia tách như vụ fork Redis trước đây
    • Tôi nghĩ nhu cầu fork không hề nhỏ, vì phía Zed đã có những bước đi khá đáng ngờ, chẳng hạn không cho phép vô hiệu hóa chức năng tài khoản/đăng nhập Zed. Tôi cũng không nghĩ cần phải sợ sự phân mảnh hệ sinh thái; ngược lại, nhiều công cụ cùng chung sống là con đường tích cực để tránh lock-in và tư duy bầy đàn
    • Ngay cả telemetry theo kiểu opt-in tôi vẫn thấy khó chịu. Tôi không thể xóa khỏi đầu cảm giác rằng phần mềm lúc nào cũng có thể báo cáo cả cỡ đồ lót hay bữa sáng của tôi. Việc phải dựa vào đúng một checkbox cũng khiến tôi thấy bất an. Những tính năng khác cũng phiền vì cứ phải liên tục chọn "không cần" theo kiểu opt-out. Nhìn chung tôi thích sự tối giản hơn
    • Tôi nghĩ việc fork cũng không quá cần thiết vì Zed vốn đã là mã nguồn mở. Vì vậy, nếu Zed mặc định chuyển mọi tính năng sang opt-in thì giá trị tồn tại của những fork kiểu này sẽ biến mất
    • Sẽ tốt hơn nếu có thêm cam kết rằng trong lần chạy đầu tiên tuyệt đối không có upload nền nào cả. Tham khảo thêm thì tôi còn chạy cả opensnitch để phòng thủ hai lớp
  • Tin về fork này có vẻ hơi sớm, nhất là khi nó được đưa ra mà không có manifesto giải thích rõ mục đích fork là gì. Cụm từ “no rugpulls” khiến người ta có cảm giác như đã có chuyện gì đó xảy ra ở Zed, nhưng không phải mọi độc giả HN đều luôn thông thạo các tranh cãi mã nguồn mở kiểu này
    • Contributor Agreement (CA) là cơ chế dùng để quy toàn bộ bản quyền về công ty nhằm đề phòng cái gọi là "license rugpull", tức thay đổi giấy phép trong tương lai. Việc Zed yêu cầu CA cũng có nghĩa là họ đang để ngỏ khả năng thay đổi giấy phép về sau
    • Zed từ đầu vốn đã nổi tiếng là dự án tập trung vào cloud và AI. Tôi nghĩ đây chính là động cơ rõ ràng của fork này. Không hẳn là đang có một tranh cãi hay sự cố mới xuất hiện đột ngột, mà đúng hơn là hướng đi đó đã bộc lộ rất rõ và có nhiều người không thích
    • Tôi nghĩ fork lần này được khơi mào từ github discussion
    • Zed có nhận vốn VC, và chỉ riêng việc tồn tại một fork theo hướng privacy/local-first do thiếu các đặc điểm đó cũng đã tự nó có lý do chính đáng. Có lẽ sẽ phải lược bỏ khá nhiều tính năng mà Zed đang quảng bá, nhưng gọi đó là rugpull thì cũng hơi khó nói
  • Đây là danh sách các luồng thảo luận liên quan
  • Tôi tò mò không biết fork này sẽ dẫn tới kết quả gì. Nó làm tôi nhớ tới IO.js, bản fork của node.js trước đây từng thay đổi hướng phát triển của node. Trong thời đại telemetry và AI bị áp vào khắp nơi, điều này nhắc tôi rằng vẫn có một nhóm lập trình viên rất nhạy cảm với những thứ đó
  • Điều tôi thực sự muốn ở Zed là hỗ trợ nhiều cửa sổ. Tôi không thể đưa agent panel hay các panel khác sang màn hình khác. Hướng local-first cũng hay, nhưng vì tôi vẫn dùng công cụ AI nên trước mắt chắc tôi sẽ không dùng fork này. Dù vậy, định hướng không telemetry, không Contributor Agreement vẫn rất đáng hoan nghênh. Tôi thích ý tưởng của fork này và chúc nó may mắn. Tôi đã dùng Zed hơn một năm mà không cần tính năng AI của nó, nên biết đâu khi chán AI tôi sẽ chuyển sang fork này
    • Tôi cũng có trải nghiệm tương tự. Sau khi thấy quá nhiều tranh cãi về Zed, tôi đã cài thử, nhưng rồi xóa hẳn vì không thể tách panel ra, và thậm chí còn không đổi được một thiết lập mặc định đã hơn một năm chưa được sửa
  • Tôi đã biết kiểu fork này sớm muộn gì cũng sẽ xuất hiện. Thực ra tôi từng nghĩ đến chuyện tự bắt đầu làm, nhưng rồi bỏ vì gánh nặng bảo trì quá lớn. Tôi còn từng nghĩ tới cái tên zim (zed improved, như vim). Thật vui khi thấy dự án này thực sự ra đời
  • Bình luận của tác giả: Nguyên văn trên Lobsters, Đi tới dự án fork, tôi đang dần loại bỏ telemetry, cập nhật tự động, tích hợp AI chỉ dành cho cloud, phụ thuộc node.js, tự động tải language server, các yếu tố thúc đẩy mua thêm, nút đăng nhập và những thứ khác mà tôi cho là không cần thiết với mình. Tôi cũng hướng tới việc nếu có thể thì các tính năng chỉ chạy trên cloud của Zeta edit sẽ có thể tự host được (ví dụ: chạy dự đoán Zeta edit bằng instance llama.cpp hoặc vLLM). Ở trạng thái hiện tại, nó đã đủ dùng như editor chính, nhưng do thay đổi code quá nhiều nên việc tránh xung đột khi merge có giới hạn. Vì vậy tôi còn đang thử nghiệm cách dùng tree-sitter để tự động chỉnh sửa ở cấp độ AST. Thử nghiệm này cũng có thể phát triển thành công cụ giúp tạo ra phiên bản Zed "cá nhân hóa, đã được làm cho bớt tệ" (unshittified)
    • Tôi muốn hỏi về phụ thuộc node.js: từ khi nào mọi người bắt đầu ghét node, và lý do là gì?
  • Tôi nghĩ với loại fork này thì trên thực tế chỉ cần một pull request để ẩn tính năng AI của Zed sau compile flag là đủ. Chưa chắc đã cần hẳn một ‘fork’; chỉ cần khác lệnh build là có thể tạo ra một bản Zed không AI từ cùng một codebase mà, đúng không?