1 điểm bởi GN⁺ 3 giờ trước | 1 bình luận | Chia sẻ qua WhatsApp
  • terminal emulator bổ sung những yếu tố mới cho phạm vi phần mềm tốc độ cao và đã trưởng thành đang được chuyển khỏi GitHub sang một kho mã cộng tác khác
  • Mitchell Hashimoto đã đăng ký GitHub vào tháng 2/2008 với tư cách người dùng số 1299 và đã sử dụng gần như mỗi ngày kể từ đó, từng xem GitHub là nơi khiến anh hạnh phúc nhất
  • Trong một tháng gần đây, gần như ngày nào cũng có ghi nhận việc độ tin cậy của dịch vụ suy giảm ảnh hưởng đến công việc, và ngay trong ngày viết bài anh cũng không thể review PR trong khoảng 2 giờ do sự cố GitHub Actions
  • GitHub không còn là nơi thú vị nữa, và sau 18 năm sử dụng anh quyết định rời đi, nhưng vẫn để ngỏ khả năng quay lại nếu có kết quả thực tế và cải thiện thực sự
  • Việc chuyển Ghostty đang được tiến hành từng bước sau khi thảo luận với nhiều nhà cung cấp commercial và FOSS, theo hướng giữ lại một bản mirror chỉ đọc trên GitHub

Bối cảnh sử dụng Ghostty và GitHub

  • Dự án chủ lực hiện tại là Ghostty, một terminal emulator bổ sung những “interesting new wrinkles” vào hạng mục phần mềm tốc độ cao và đã trưởng thành
  • Việc phát triển Ghostty vẫn dùng GitHub, và Mitchell Hashimoto đã đăng ký GitHub vào tháng 2/2008 với tư cách người dùng số 1299 rồi sử dụng gần như mỗi ngày kể từ đó
  • GitHub từng là “nơi khiến anh hạnh phúc nhất”, một dịch vụ anh gắn bó lâu đến mức ngay cả trong tuần trăng mật cũng dành thời gian cho nó
  • Thay vì doom scrolling trên mạng xã hội, từ lâu anh đã xem GitHub issues, và cả trong kỳ nghỉ cũng nghiên cứu mã nguồn, quy trình OSS và cách maintainer phản hồi trong các dự án GitHub

Sự cố cản trở công việc mỗi ngày

  • Gần đây cảm xúc của anh với GitHub đã thay đổi mạnh, đến mức GitHub khiến anh thất bại mỗi ngày và vấn đề đó được cảm nhận rất cá nhân
  • Nguyên nhân cốt lõi là độ tin cậy của dịch vụ suy giảm; trong tháng vừa qua, mỗi ngày sự cố GitHub ảnh hưởng tiêu cực đến khả năng làm việc đều được đánh dấu “X” trong nhật ký
  • Nhật ký đó gần như ngày nào cũng có “X”, và ngay trong ngày viết bài anh cũng không thể review PR trong khoảng 2 giờ vì GitHub Actions outage
  • Bài viết này được viết vài ngày trước incident ngày 28/4, khi pull request không thể hoàn tất vì sự cố Elasticsearch
  • Nếu những sự cố như vậy chặn công việc vài giờ mỗi ngày, thì GitHub không còn là nơi dành cho “serious work” nữa

Luồng phát triển và sự tách rời về cảm xúc

  • GitHub không còn là nơi thú vị nữa; đúng như câu “I want to ship software and it doesn't want me to ship software”, nó đã trở thành thứ ngăn cản việc phát hành phần mềm
  • Anh hy vọng GitHub sẽ cải thiện, nhưng đồng thời anh vẫn phải viết code, và hiện tại với GitHub thì anh không thể tiếp tục lập trình được nữa
  • Sau 18 năm sử dụng, anh đi đến kết luận rằng mình phải rời đi, nhưng vẫn để ngỏ khả năng quay lại nếu có kết quả thực tế và cải thiện thực sự
  • Điều kiện để quay lại GitHub không phải là lời nói hay lời hứa, mà là kết quả và cải thiện có thật

Cách Ghostty di chuyển

  • Ghostty đang trong quá trình chuyển sang một collaborative code locker khác
  • Anh đang thảo luận với nhiều provider, bao gồm cả provider thương mại và provider FOSS
  • Việc loại bỏ toàn bộ sự phụ thuộc vào GitHub sẽ mất thời gian, và kế hoạch là thực hiện từng bước nhiều nhất có thể
  • Trên GitHub sẽ vẫn giữ một mirror chỉ đọc của Ghostty, và các dự án cá nhân của anh cũng sẽ tiếp tục được đặt trên dịch vụ thuộc sở hữu của Microsoft
  • Ghostty là dự án chịu ảnh hưởng lớn nhất đối với bản thân anh, các maintainer và cộng đồng mã nguồn mở, nên trở thành trọng tâm của thay đổi lần này

Vị thế của GitHub và bối cảnh Microsoft

  • Sau khi Microsoft mua lại GitHub, đã có lo ngại rằng nó sẽ trở thành một dịch vụ thiên về Redmond và kém thân thiện hơn với các nhà phát triển không gắn với hệ sinh thái Windows hay Azure
  • Lo ngại đó phần lớn đã không thành hiện thực, và GitHub đã trở thành de facto place để làm việc và chia sẻ mã nguồn
  • Trải nghiệm của Hashimoto cho thấy vị thế đó có thể bị lung lay, đồng thời trùng với thời điểm Microsoft thừa nhận Windows has serious quality problems
  • Một phần nguyên nhân của vấn đề chất lượng Windows được cho là do ép nhồi AI vào quá nhiều công cụ, và sự gia tăng bất ổn của GitHub mà Hashimoto chứng kiến cũng xuất hiện trong cùng giai đoạn Microsoft bị ám ảnh với AI

1 bình luận

 
Ý kiến trên Hacker News
  • Tôi cực kỳ bực vì đúng lúc công ty chuyển mọi thứ từ CircleCI sang GitHub Actions thì độ ổn định của GitHub lại sụp đổ
    Điều khó tin nhất là ngay cả Azure Repos/Pipelines còn tốt hơn thế này
    Tôi cũng có nghe nói GitHub vẫn đang trong quá trình chuyển sang hạ tầng Azure nên có thể đang ở trạng thái nửa vời, nhưng điều đó không khiến tôi tin tưởng hơn

    • GitHub nói lưu lượng đã tăng mạnh vì các dự án vibe coding
      Có thể chỉ là cái cớ, nhưng nghe cũng khá hợp lý
    • Hai tuần trước tôi được giao đánh giá việc chuyển từ GitLab tự host sang GitHub để có tích hợp AI tốt hơn, nhưng sự cố GitHub tối qua đã khiến dự án đó bị hủy và thay vào đó chúng tôi quyết định nâng cấp máy chủ tự host
      Tôi cũng muốn dùng thứ như Forgejo, nhưng đội chỉ khoảng 12 lập trình viên và nói thật là mới chỉ mình tôi từng dùng nó
    • Azure Repos khá ổn
      Nó thật sự rất cơ bản nên chẳng có nhiều thứ để hỏng, và vì lý do tương tự tôi cũng rất thích hệ thống ticket của nó
      Nó chỉ có những gì cần thiết, và các quản lý không thể thêm cả triệu trường để hành người khác bằng báo cáo hay burndown chart
    • Không cần rơi vào ngụy biện chi phí chìm, cứ hủy việc di trú là được
    • Có thể tôi đang nối những điểm không liên quan với nhau, nhưng khi thấy nhắc đến di trú sang Azure thì tôi nhớ tới chuyện này
      https://news.ycombinator.com/item?id=47616242
      https://isolveproblems.substack.com/p/how-microsoft-vaporize...
  • GitLab cũng chẳng khá hơn là bao
    Có vẻ họ có ngân sách vô hạn cho mấy chỉnh sửa UI ngớ ngẩn chẳng cải thiện gì thực tế, trong khi lại phớt lờ các lỗi nghiêm trọng trong bản phát hành

    • Thật sự rất đáng tiếc
      Khi tôi bắt đầu dùng GitLab lần đầu khoảng 8–9 năm trước thì nó rất tuyệt, và vài năm sau khi công ty chuyển sang GitHub, tôi thấy đó là một bước thụt lùi lớn
      GitLab có rất nhiều tiện ích UX nhỏ và tuy có vài chỗ thô ráp nhưng nhìn chung vẫn có cảm giác được thiết kế tốt
      Nhưng từ đó đến nay tình hình tệ hơn nhiều, UX đã thay đổi vô số lần và mỗi lần đổi dường như lại tệ hơn
      Những chỗ thô ráp cũ không được sửa mà chỉ liên tục xuất hiện thêm chỗ thô ráp mới
      Mấy năm gần đây rất khó nhớ ra có tính năng hữu ích nào được thêm vào hay cải thiện, và khi GitHub cũng đang lộn xộn như vậy thì tôi thật sự đã hy vọng GitLab sẽ trở thành lựa chọn tốt hơn rõ ràng và giành lấy thị trường, nên càng thấy đáng tiếc
    • Tệ hơn nữa, một bản cập nhật trên bản self-hosted đã phá hỏng quá trình migration mà không báo lỗi, khiến bản cài đặt bị hỏng theo kiểu kỳ quặc và khó nhận ra
      Tôi mất mấy ngày loay hoay không biết nguyên nhân là gì, rồi đến bản cập nhật tiếp theo nó mới cảnh báo vấn đề để tôi chạy repair command và dọn dẹp lại
      Đó chỉ là một máy chủ rất nhỏ, khoảng 10 người dùng và tối đa chừng 50 repository
    • Tôi hoàn toàn chán ngấy GitLab khi đang cập nhật khóa SSH cho nhiều tài khoản
      GitHub, Bitbucket, Codeberg các thứ đều ổn, còn GitLab thì thật sự đầy lỗi, không thể cập nhật khóa SSH trên Firefox, mà cũng chẳng có dấu hiệu rõ ràng nào cho thấy đó là lỗi tương thích GitLab-Firefox
      Tôi mất gần một tiếng mới nghĩ ra việc thử tải khóa SSH mới lên bằng Chrome, và từ đó xem như không muốn đụng vào GitLab nữa
  • Ghostty trở thành dự án mới nhất rời GitHub, nên tôi bắt đầu tự hỏi ai sẽ là người tiếp theo
    Tôi không nghĩ đến thứ Tư tuần sau mọi người sẽ đồng loạt rời GitHub để tự dựng server Forgejo, nhưng việc người ta cuối cùng cũng bắt đầu cân nhắc rời GitHub là điều GitHub nên lo lắng

    • Hiệu ứng bám chặt ở đây lớn đến mức lố bịch
      Kỹ sư phần mềm trung bình hoàn toàn không quan tâm đến VCS hay forge, và hiểu biết về cả hai cũng rất hời hợt
      Với những người chỉ muốn làm việc xong rồi quay lại cuộc sống của mình, chuyện đó không quá quan trọng
    • Có lẽ tôi đang không theo kịp xu hướng gần đây, nhưng vì sao mọi người lại rời GitHub?
    • Đã có người dùng HN nào làm who-left-gh.net kiểu vậy chưa? Tên miền vẫn đang trống
  • Có phải chỉ mình tôi thấy vậy không, hay mọi thứ đã tệ hơn nhiều kể từ sau vụ MSFT mua lại?

    • Vụ mua lại đó không phải một năm trước mà là 8 năm trước rồi
      Trong thời gian đó nó đã phình to đến mức nào? Gấp 10? Gấp 100? Hay hơn nữa?
    • Trong các thương vụ mua lại, chuyện như vậy có thể xảy ra nhiều lần
      Khi một công ty mua một thứ gì đó, vấn đề tiếp theo là ai sẽ sở hữu nó
      Điều cốt lõi là trong công ty mới, ai là người chịu trách nhiệm “giữ cho nó tiếp tục tốt”, và kể cả khi những người từng làm việc đó trước đây vẫn ở lại sau sáp nhập thì vấn đề động lực vẫn là chuyện khác
      Microsoft có vấn đề nghiêm trọng
      Có cảm giác như họ lấy ít nhất 10 công ty dán lại bằng keo rồi gọi chung là Microsoft, và cũng có rủi ro danh tiếng rất lớn khi sự cố của bộ phận Xbox có thể ảnh hưởng xấu đến bộ phận công cụ hoặc ngược lại
      Ở rất nhiều hạng mục họ thiếu tập trung, và sau khi ngừng các màn công bố với báo chí, họ đã cần một khoảnh khắc kiểu “service pack 2” để sửa đống nợ kỹ thuật khổng lồ như Everest này
    • Cái này có vẻ liên quan đến vibe coding nhiều hơn
    • Đúng vậy, tất nhiên rồi, và gần đây tôi còn thấy như thế dưới tổ chức CoreAI mới: https://www.businessinsider.com/microsoft-ai-coding-rivals-o...
    • Dù hàng chục năm trôi qua, chính sách vẫn vậy
      Embrace, extend, and extinguish
  • Có người nói “GitHub user 1299, tham gia tháng 2 năm 2008”, vậy làm sao biết mình là GitHub user # bao nhiêu?

  • Dựa trên thống kê hoạt động người dùng tôi đã tích lũy suốt gần 20 năm qua, tôi tin chắc mình thuộc top 1% người dùng, hoặc ít nhất cũng gần như vậy, xét về khối lượng công việc ổn định trong thời gian dài và việc hằng ngày viết ra phần mềm mà người khác thực sự dùng
    Tôi cũng là người dùng GitHub từ khá sớm, dù không phải từ những ngày đầu tiên nhất, và dù các chỉ số của GitHub có đi xuống thì tôi vẫn đang phát hành đều đặn
    Vì để viết phần mềm thì không cần GitHub
    Bình luận của Hashimoto có vẻ bất ổn và tôi mong anh ấy tìm được sự bình tâm, nhưng nếu người nói không phải là anh ấy thì tôi nghĩ mình sẽ đọc bình luận đó và cho rằng có vấn đề gì đó, nên tôi cho rằng thực sự là vậy

    • Nghe như kiểu “Tôi không dùng bất kỳ tính năng ngoài git nào của GitHub, nên ai dùng những thứ đó là có vấn đề”
    • Câu “không cần GitHub để viết phần mềm” chỉ đúng nếu quy trình làm việc của bạn không cần những tính năng gần đây gặp vấn đề về độ tin cậy, thậm chí cả một số chức năng cộng tác cơ bản; mà nếu vậy thì cũng phải tự hỏi ngay từ đầu GitHub có phải công cụ phù hợp cho công việc đó hay không
      Nếu không thì việc phán xét những người đang than phiền vì sự cố nghe khá trịch thượng và khó chịu
    • Kiểu giả vờ lo cho sức khỏe tinh thần như “bình luận của Hashimoto có vẻ bất ổn và tôi mong anh ấy tìm được sự bình tâm”, nhằm khiến người khác trông như bị “disturbed”, là một đòn công kích cá nhân hoàn toàn lạc đề mà tôi không thường thấy trên HN
      Kiểu đó tôi chỉ hay thấy trên Reddit
    • Downtime của GitHub gây vấn đề cho rất nhiều việc như theo dõi issue, gộp PR, đóng góp, review PR, v.v.
      Việc có người bỏ lỡ trọng tâm theo kiểu “nó đâu có ngăn bạn code trên máy của mình” dễ đoán đến mức bài blog gốc đã nói trước về chính điểm đó
      Đừng có tung ra những đòn công kích cá nhân ghê tởm như vậy về sức khỏe tinh thần của người khác
    • Ban đầu tôi tưởng người đó đang hạ thấp Hashimoto để bênh GitHub
      Nhưng đọc xong thì phản ứng cảm xúc của anh ấy quả thật có vẻ không hoàn toàn tương xứng với tình huống
      Dù vậy, tùy quy mô dự án thì việc xử lý issue, làm review các thứ có thể khiến GitHub trở thành công việc toàn thời gian, và cũng không hiếm chuyện dùng mô tả PR cùng comment như một phần tài liệu thay cho commit message
      Vì thế tính sẵn sàng của GitHub thật sự có thể là một sự cố rất lớn với nhiều công ty
  • Ngay lúc này vẫn đang có sự cố với GitHub API

  • Câu hỏi cốt lõi là đâu là giải pháp thay thế tốt nhất

    • Chúng tôi dùng GitLab self-hosted
      Ngay cả bản miễn phí cũng không có phàn nàn lớn gì
    • Nếu chỉ cần nơi lưu mã thì cứ để trên GitHub cũng được
      Toàn bộ mã nguồn công khai thậm chí mirror lên đó cũng không sao
      Nếu cần chỗ để chạy test thì hãy dựng hạ tầng riêng
      Chưa bao giờ chuyện đó dễ như bây giờ, vậy tại sao lại phụ thuộc vào một hộp đen như thế?
    • Tôi chỉ dùng cho sở thích hay dự án phụ, nhưng tôi hiểu vì sao những người định phụ thuộc vào nó trong công việc chuyên môn lại tức giận
    • Forgejo
      Nhanh hơn GitLab rất nhiều
    • Nếu là doanh nghiệp thì có GitHub Enterprise