1 điểm bởi GN⁺ 2023-12-11 | 1 bình luận | Chia sẻ qua WhatsApp

Các vấn đề của Emacs phiên bản 30 và sự ra đời của một bản fork

  • Nhánh master của Emacs đã bị ảnh hưởng bởi một thay đổi lớn, bất chấp những lo ngại của người dùng và nhà phát triển.
  • Thay đổi đó khiến việc tương tác với thanh ghi của Emacs trở nên bất tiện hơn, và ngay cả các tác vụ đơn giản cũng đòi hỏi thêm thao tác phím.
  • Tác giả đã tạo ra một bản fork được cải thiện để sử dụng và phát triển, đồng thời hoan nghênh sự tham gia của những người quan tâm.

Độ ổn định của nhánh master Emacs và những thay đổi gần đây

  • Nhánh master của Emacs là phiên bản phát triển, được những người dùng muốn trải nghiệm các cập nhật mới nhất theo dõi.
  • Trong vài năm gần đây, nhờ nỗ lực của các maintainer Emacs, nhánh master đã rất ổn định.
  • Tuy nhiên, thay đổi gần đây đã mang lại một cú bất ngờ khó chịu cho người dùng.

Sự suy giảm trải nghiệm người dùng và phản ứng của cộng đồng

  • Thay đổi mới đã làm giảm chất lượng trải nghiệm người dùng, và ngày càng có nhiều tiếng nói yêu cầu khôi phục có chọn lọc hành vi hiệu quả trước đây.
  • Dù các thành viên cộng đồng đã bày tỏ quan điểm rất rõ ràng, vấn đề vẫn không được giải quyết do thái độ của nhà phát triển bảo vệ thay đổi này.
  • Các maintainer thể hiện lập trường giữ nguyên thay đổi, ngay cả khi phải đánh đổi trải nghiệm người dùng.

Phát triển bản fork mới và quyền tự do của người dùng

  • Tác giả, người coi trọng tự do của người dùng, đã từ chối bị ép chấp nhận những thay đổi kỳ lạ trong Emacs hiện tại và tạo ra một bản fork mới.
  • Bản fork này chỉ chọn lọc lấy những thay đổi tốt từ nhánh master, đồng thời tiếp tục được cải thiện bởi chính tác giả.
  • Những ai quan tâm đến bản fork có thể clone từ kho lưu trữ của tác giả; tác giả hoan nghênh hợp tác và các đề xuất.

Ý kiến của GN⁺

Điều quan trọng nhất trong bài viết này là sự suy giảm trải nghiệm người dùng xảy ra trong Emacs 30 và phản ứng của cộng đồng trước vấn đề đó. Emacs từ lâu đã được các nhà phát triển yêu thích nhờ khả năng tùy biến và mở rộng, vì vậy mối quan tâm về việc những thay đổi này sẽ ảnh hưởng đến người dùng ra sao là rất lớn. Ngoài ra, quá trình một nhà phát triển phớt lờ ý kiến cộng đồng và kiên quyết áp dụng thay đổi của mình cũng là một ví dụ thú vị về việc ra quyết định và văn hóa cộng tác trong các dự án mã nguồn mở. Bài viết này cho thấy rõ cách người dùng phản ứng trước những thay đổi của phần mềm và tìm ra giải pháp riêng khi cần thiết.

1 bình luận

 
GN⁺ 2023-12-11
Ý kiến Hacker News
  • Khi có một thay đổi lớn xảy ra trên nhánh phát triển của Emacs và một số người dùng bày tỏ lo ngại, thay đổi đó không bị hoàn tác ngay lập tức. Các ưu và nhược điểm được thảo luận, nhiều cách giải quyết khác nhau được triển khai và cải thiện, rồi cuối cùng tìm ra điểm thỏa hiệp.

    • Người dùng đã bắt đầu nêu lo ngại từ 3 ngày trước, và quá trình này vẫn chưa đi đến kết luận.
    • Trong thông điệp gần đây của Eli, ông nhắc đến cuộc thảo luận ban đầu giữa hai người cho rằng hành vi mới hợp lý hơn nhiều so với hành vi cũ, và cho biết chỉ sau khi có thêm ý kiến khác được đưa ra thì giờ đây mới bắt đầu bàn về tiêu chí hành vi.
  • Một commit thay đổi cách hoạt động của tính năng sao chép trong Emacs (hoặc nói chung hơn là thứ thường được gọi là "register") gần đây đã được chấp nhận. Giờ đây Emacs sẽ mở minibuffer để hiển thị điều đang xảy ra và yêu cầu người dùng nhấn phím Enter để chấp nhận thay đổi.

    • Điều này làm thay đổi hành vi mặc định, có thể không dễ cấu hình lại, và dường như đã được thực hiện mà không có đủ thảo luận.
    • Bài viết dùng phép so sánh với người dùng Vim để giải thích thay đổi này bất tiện đến mức nào, đồng thời mô tả nỗ lực của OP khi cố nêu ra vấn đề này và phản ứng của nhà phát triển Thierry.
  • Sau khi xem lại mailing list, có vẻ sẽ có một tùy chọn để hoàn tác hành vi này.

    • Tùy chọn này đã được nhắc đến trước khi bài viết gốc được đăng, nhưng có thể người viết đã không nhìn thấy.
    • Tùy chọn này được kỳ vọng sẽ giải quyết vấn đề, nhưng theo phản hồi của ginko thì có thể vẫn sẽ cần nhấn phím Enter.
  • Trong Emacs, trí nhớ cơ bắp nên được xem là một yếu tố quan trọng.

  • Từ góc nhìn của nhà phát triển, những người dùng muốn sự ổn định nên dùng nhánh phát hành hoặc cố định commit trên master. Nhánh phát triển được dùng để phát triển các tính năng đang trong quá trình hoàn thiện, nên đôi khi những thay đổi như vậy có thể xảy ra thường xuyên.

  • Thái độ của người viết có phần cố chấp, và cũng cần lưu ý rằng có rất ít người sử dụng tính năng này. Việc một maintainer không lương thay đổi đôi chút mà không hỏi trước không nên bị xem là đã "phá hỏng" nhánh master.

  • Dù đã rời Emacs 20 năm, vẫn có thể hiểu rằng thay đổi này khá khó hiểu. Không hiểu vì sao Emacs, vốn tự hào là một "chậu rửa bát" của mọi thứ, lại không thêm tùy chọn quay lại hành vi cũ.

  • Cốt lõi của Emacs là một nền tảng có khả năng tùy biến rất cao, và nếu không thích cách một tính năng nào đó hoạt động thì có thể tự sửa bằng vài dòng Lisp. Việc fork toàn bộ dự án chỉ vì một thay đổi tính năng là điều không hợp lý.

  • Có vẻ như giải pháp duy nhất là thử thêm một bản fork/tái triển khai khác của Emacs. Lần này chắc chắn sẽ thành công, và hẳn là cũng sẽ không hoàn toàn không liên quan như mọi lần khác.

  • Lập luận từ "phía bên kia" cho thay đổi này là gì? Những thay đổi gây ra kiểu ý kiến như thế này thường có lý do hợp lý đằng sau. Hoặc cũng có thể là không.