- Ghostty กำลังย้ายออกจาก GitHub ไปยังที่เก็บโค้ดสำหรับการทำงานร่วมกันแห่งอื่น
- Mitchell Hashimoto สมัครใช้ GitHub ตั้งแต่เดือนกุมภาพันธ์ 2008 ในฐานะผู้ใช้หมายเลข 1299 และใช้งานมาแทบทุกวัน โดยเคยมองว่า GitHub เป็น สถานที่ที่ทำให้เขามีความสุขที่สุด
- ตลอดเดือนที่ผ่านมา แทบทุกวันมีวันที่ ความน่าเชื่อถือของบริการลดลง จนกระทบต่อการทำงาน และแม้แต่ในวันที่เขาเขียนบทความนี้ก็ยังรีวิว PR ไม่ได้ราว 2 ชั่วโมงเพราะ GitHub Actions ล่ม
- GitHub ไม่ใช่สถานที่ที่สนุกอีกต่อไป และหลังใช้งานมา 18 ปี เขาตัดสินใจจะจากไป แต่ก็ยังเปิดโอกาสที่จะกลับมาหากมี real results and improvements
- การย้ายของ Ghostty จะค่อย ๆ ทำแบบ incremental โดยพูดคุยกับผู้ให้บริการทั้งแบบ commercial และ FOSS หลายราย และจะยังคงทิ้ง read-only mirror ไว้บน GitHub
เบื้องหลังการใช้งาน Ghostty และ GitHub
- โปรเจ็กต์หลักในปัจจุบันคือ Ghostty ซึ่งเป็น terminal emulator ที่เน้นความเร็วและเพิ่ม “interesting new wrinkles” ให้กับหมวดซอฟต์แวร์ที่เติบโตเต็มที่แล้ว
- การพัฒนา Ghostty ใช้ GitHub มาโดยตลอด และ Mitchell Hashimoto ก็ใช้งาน GitHub มาแทบทุกวันนับตั้งแต่สมัครในเดือนกุมภาพันธ์ 2008 ในฐานะผู้ใช้หมายเลข 1299
- GitHub เคยเป็น “สถานที่ที่ทำให้เขามีความสุขที่สุด” และเป็นบริการที่เขาผูกพันมายาวนานถึงขั้นยังหาเวลาใช้งานแม้ในช่วงฮันนีมูน
- แทนที่จะ doom scrolling บนโซเชียลมีเดีย เขากลับใช้เวลามองดู GitHub issues มานานแล้ว และแม้แต่ระหว่างวันหยุดก็ยังศึกษาซอร์สโค้ด โปรเซส OSS และวิธีตอบสนองของ maintainer ในโปรเจ็กต์บน GitHub
ปัญหาขัดข้องที่ขวางงานทุกวัน
- ช่วงหลังความรู้สึกที่มีต่อ GitHub เปลี่ยนไปมาก และ GitHub กลายเป็นสิ่งที่ทำให้เขาล้มเหลวทุกวัน โดยปัญหานั้นส่งผลในระดับที่รู้สึกได้เป็นการส่วนตัว
- สาเหตุหลักคือ ความน่าเชื่อถือของบริการที่ลดลง โดยตลอดเดือนที่ผ่านมา เขาทำเครื่องหมาย “X” ลงในบันทึกประจำวันทุกวันที่ปัญหาของ GitHub ส่งผลลบต่อความสามารถในการทำงาน
- ในบันทึกนั้นแทบทุกวันมี “X” และแม้แต่ในวันที่เขาเขียนบทความนี้ เขาก็รีวิว PR ไม่ได้ประมาณ 2 ชั่วโมงเพราะ GitHub Actions outage
- บทความดังกล่าวถูกเขียนขึ้นไม่กี่วันก่อน incident วันที่ 28 เมษายน ซึ่ง pull request ไม่สามารถเสร็จสิ้นได้เพราะปัญหา Elasticsearch SNAFU
- หากเหตุขัดข้องแบบนี้ขวางการทำงานวันละหลายชั่วโมง GitHub ก็ย่อมไม่ใช่สถานที่สำหรับ “serious work” อีกต่อไป
เวิร์กโฟลว์การพัฒนาและการตัดขาดทางความรู้สึก
- GitHub ไม่ใช่สถานที่ที่สนุกอีกต่อไป และกลายเป็นสิ่งที่ขัดขวางการปล่อยซอฟต์แวร์ ดังประโยคที่ว่า “I want to ship software and it doesn't want me to ship software”
- เขาหวังว่า GitHub จะดีขึ้น แต่ในขณะเดียวกันก็ยังต้องเขียนโค้ด และตอนนี้ก็อยู่ในสภาพที่ไม่สามารถทำงานเขียนโค้ดบน GitHub ต่อไปได้แล้ว
- หลังใช้งานมา 18 ปี เขาสรุปว่าต้องจากไป และหากมี real results and improvements ก็ยังเปิดโอกาสที่จะกลับมา
- เงื่อนไขของการกลับไปใช้ GitHub ไม่ใช่แค่คำพูดหรือคำสัญญา แต่ต้องเป็นผลลัพธ์และการปรับปรุงที่เกิดขึ้นจริง
วิธีการย้ายของ Ghostty
- Ghostty กำลังดำเนินการย้ายไปยัง collaborative code locker แห่งอื่น
- ขณะนี้กำลังพูดคุยกับผู้ให้บริการหลายราย ซึ่งมีทั้งผู้ให้บริการเชิงพาณิชย์และผู้ให้บริการ FOSS
- การลบการพึ่งพา GitHub ออกทั้งหมดต้องใช้เวลา และมีแผนจะทำให้ incremental มากที่สุดเท่าที่จะทำได้
- บน GitHub จะยังคงมี read-only mirror ของ Ghostty อยู่ และโปรเจ็กต์ส่วนตัวก็จะยังคงอยู่บนบริการของ Microsoft ต่อไป
- Ghostty เป็นโปรเจ็กต์ที่ตัวเขาเอง, maintainer และ open source community ได้รับผลกระทบมากที่สุด จึงกลายเป็นจุดโฟกัสของการเปลี่ยนแปลงครั้งนี้
สถานะของ GitHub และบริบทของ Microsoft
- หลัง Microsoft เข้าซื้อ GitHub เคยมีความกังวลว่า GitHub จะกลายเป็นบริการที่ยึดโยงกับ Redmond มากขึ้นและใช้งานได้ไม่สะดวกสำหรับนักพัฒนาที่ไม่ได้อยู่ในระบบนิเวศ Windows หรือ Azure
- ความกังวลนั้นส่วนใหญ่ไม่เกิดขึ้นจริง และ GitHub ก็กลายเป็น de facto place สำหรับการทำงานและการแชร์โค้ด
- ประสบการณ์ของ Hashimoto แสดงให้เห็นว่าสถานะนั้นอาจสั่นคลอนได้ และยังเกิดขึ้นในช่วงเวลาเดียวกับที่ Microsoft ยอมรับว่า Windows has serious quality problems
- หนึ่งในสาเหตุของปัญหาคุณภาพของ Windows คือการยัด AI เข้าไปในเครื่องมือมากเกินไป และการที่ Hashimoto เห็นว่า GitHub เริ่มสั่นคลอนมากขึ้นก็เกิดขึ้นในช่วงเวลาเดียวกับที่ Microsoft หมกมุ่นกับ AI เช่นกัน
1 ความคิดเห็น
ความเห็นจาก Hacker News
หงุดหงิดมากที่เสถียรภาพของ GitHub พังลงพอดีกับจังหวะที่บริษัทกำลังย้ายทุกอย่างจาก CircleCI ไป GitHub Actions
ที่น่าขำที่สุดคือกลายเป็นว่าแม้แต่ Azure Repos/Pipelines ยังดีกว่านี้
เคยได้ยินเหมือนกันว่า GitHub อาจอยู่ในสภาพครึ่งๆ กลางๆ เพราะยังย้ายไป Azure infrastructure ไม่เสร็จ แต่ก็ไม่ได้ทำให้เชื่อมั่นขึ้นเลย
อาจเป็นข้ออ้างก็ได้ แต่ฟังดูมีเหตุผลพอสมควร
อยากใช้พวก Forgejo เหมือนกัน แต่ทีมนักพัฒนามีราว 12 คน และพูดตรงๆ คือมีแค่ฉันคนเดียวที่เคยใช้มัน
มันพื้นฐานมากจนแทบไม่มีอะไรให้พัง และด้วยเหตุผลเดียวกันฉันก็ชอบระบบ ticket ของมันมาก
มีแต่ฟีเจอร์ที่จำเป็น และผู้จัดการก็ไม่สามารถเพิ่มฟิลด์เป็นล้านช่องเพื่อเอาไว้ทำรีพอร์ตหรือ burndown chart มากดดันคนอื่นได้
https://news.ycombinator.com/item?id=47616242
https://isolveproblems.substack.com/p/how-microsoft-vaporize...
GitLab ก็ไม่ได้ดีกว่าเท่าไร
ดูเหมือนจะมีงบไม่จำกัดสำหรับการแก้ UI งี่เง่าที่แทบไม่ช่วยอะไรจริงเลย ขณะที่บั๊กหนักๆ ในรีลีสกลับถูกมองข้าม
ตอนเริ่มใช้ GitLab ครั้งแรกราว 8~9 ปีก่อน ฉันชอบมันมาก และอีกไม่กี่ปีต่อมาพอบริษัทเปลี่ยนไป GitHub ก็รู้สึกเหมือนถอยหลังครั้งใหญ่
GitLab มี ความสะดวกด้าน UX เล็กๆ น้อยๆ เยอะมาก และถึงจะมีส่วนที่ยังหยาบอยู่บ้าง แต่โดยรวมก็ดูเหมือนออกแบบมาดี
แต่หลังจากนั้นสถานการณ์กลับแย่ลงมาก UX ถูกเปลี่ยนจนแทบนับไม่ถ้วน และทุกครั้งที่เปลี่ยนก็ดูเหมือนจะแย่ลง
ส่วนที่หยาบก็ไม่เคยถูกแก้ มีแต่ส่วนหยาบใหม่ๆ เพิ่มเข้ามาเรื่อยๆ
ช่วงไม่กี่ปีมานี้นึกไม่ออกเลยว่ามีฟีเจอร์อะไรที่เพิ่มเข้ามาหรือถูกปรับปรุงแล้วมีประโยชน์จริงๆ และในเมื่อ GitHub ก็เละพอๆ กัน ก็ยิ่งน่าเสียดายที่ GitLab ไม่กลายเป็นทางเลือกที่ดีกว่าอย่างชัดเจนแล้วชิงตลาดไป
ฉันงมหาสาเหตุอยู่หลายวันโดยไม่รู้ว่าเกิดอะไรขึ้น กว่าจะมีคำเตือนออกมาในอัปเดตถัดไป แล้วค่อยรัน repair command เพื่อจัดการให้กลับมาเรียบร้อย
เป็นเซิร์ฟเวอร์เล็กมาก มีผู้ใช้ประมาณ 10 คน และรีโปไม่เกิน 50 อัน
GitHub, Bitbucket, Codeberg และเจ้าอื่นๆ ใช้งานได้ดี แต่ GitLab มีบั๊กเยอะมาก และบน Firefox นั้นอัปเดต SSH key ไม่ได้เลย โดยไม่มีข้อความชัดเจนด้วยซ้ำว่าเป็นบั๊กความเข้ากันได้ระหว่าง GitLab กับ Firefox
ฉันเสียเวลาเกือบชั่วโมงกว่าจะนึกได้ว่าควรลองอัปโหลด SSH key ใหม่ด้วย Chrome แล้วหลังจากนั้นก็คิดว่า GitLab น่าจะไม่แตะอีกแล้ว
ตอนนี้ Ghostty กลายเป็นโปรเจกต์ล่าสุดที่ออกจาก GitHub ก็เลยสงสัยว่ารายต่อไปจะเป็นใคร
ฉันไม่ได้คิดว่าทุกคนจะย้ายออกจาก GitHub ภายในวันพุธหน้าแล้วไปเปิด Forgejo server ของตัวเองหรอก แต่แค่คนเริ่มพิจารณาเรื่องการออกจาก GitHub อย่างจริงจังก็น่าจะเป็นสิ่งที่ GitHub ต้องกังวลแล้ว
วิศวกรซอฟต์แวร์ทั่วไปแทบไม่ได้สนใจ VCS หรือ forge เลย และความรู้เกี่ยวกับสองเรื่องนี้ก็ตื้นมาก
สำหรับคนที่แค่อยากทำงานแล้วกลับไปใช้ชีวิตของตัวเอง มันไม่ใช่เรื่องสำคัญมากนัก
มีแค่ฉันหรือเปล่าที่รู้สึกว่าหลัง MSFT เข้าซื้อกิจการ แล้วปัญหาต่างๆ แย่ลงมาก?
ตลอดเวลานั้นมันโตขึ้นแค่ไหนแล้ว? 10 เท่า? 100 เท่า? หรือมากกว่านั้น?
เวลาบริษัทหนึ่งซื้ออะไรสักอย่าง ปัญหาถัดมาก็คือใครกันแน่ที่เป็นเจ้าของมัน
ประเด็นสำคัญคือในบริษัทใหม่ ใครจะรับผิดชอบเรื่อง “รักษาให้มันยังดีอยู่” และถึงแม้คนเดิมที่เคยทำหน้าที่นั้นจะยังอยู่หลังการซื้อกิจการ ปัญหาเรื่องแรงจูงใจก็เป็นอีกเรื่องหนึ่ง
Microsoft มีปัญหาร้ายแรงตรงนี้
มันดูเหมือนมีช่องโหว่แบบบริษัทอย่างน้อย 10 แห่งถูกเอากาวแปะรวมกันแล้วเรียกว่า Microsoft และยังมี ความเสี่ยงด้านชื่อเสียง สูงด้วย เช่น ปัญหาของฝั่ง Xbox อาจกระทบเครื่องมือฝั่งนักพัฒนา หรือกลับกัน
หลายอย่างขาดการโฟกัส และหลังจากเลิกประกาศข่าวสวยหรู ก็ควรมีช่วงเวลาแบบ “service pack 2” เพื่อไปแก้ หนี้ทางเทคนิค กองมหึมานี้เสียที
Embrace, extend, and extinguish
เขาบอกว่า “GitHub user 1299, สมัครเมื่อกุมภาพันธ์ 2008” แล้วคนทั่วไปจะรู้ได้ยังไงว่าตัวเองเป็น GitHub user # เท่าไร?
curl [https://api.github.com/users/YOUR_USER_HERE](<https://api.github.com/users/YOUR_USER_HERE>)แล้วดู id ใน payload ก็ได้"id": 2851หรือดูจาก HTML source ของ avatar ก็ได้: https://avatars.githubusercontent.com/u/2851?v=4
พูดตามตรงนึกว่าอย่างน้อยคงหลักล้านแล้ว
/u/#ของฉันอยู่ประมาณหลัก 4 ล้าน
ถ้าดูจากสถิติกิจกรรมผู้ใช้ที่สะสมมาราว 20 ปีที่ผ่านมา ฉันมั่นใจว่าตัวเองน่าจะเป็นผู้ใช้ระดับ top 1% หรือใกล้เคียง ในแง่ของปริมาณงานที่ทำต่อเนื่องยาวนานและการเขียนซอฟต์แวร์ทุกวันที่คนอื่นใช้งานจริง
ฉันก็เป็นผู้ใช้ GitHub ค่อนข้างยุคแรกๆ เหมือนกัน แม้จะไม่ใช่ยุคบุกเบิกสุดๆ และถึงตัวชี้วัดของ GitHub จะแย่ลง ฉันก็ยังส่งของออกไปได้อยู่
เพราะ การเขียนซอฟต์แวร์ไม่ได้ต้องพึ่ง GitHub
คอมเมนต์ของ Hashimoto ดูเหมือนมีความไม่มั่นคงทางอารมณ์ และหวังว่าเขาจะพบความสงบ แต่ถ้าคนพูดไม่ใช่เขา ฉันก็คงอ่านแล้วคิดว่ามีบางอย่างผิดปกติ และจึงคิดว่ามันก็เป็นแบบนั้นจริงๆ
ถ้าไม่ใช่ การไปตัดสินคนที่บ่นเรื่องระบบล่มก็ดูวางท่าและน่ารำคาญมาก
ปกติจะเจอสไตล์นี้ใน Reddit มากกว่า
มันเดาง่ายเกินไปว่าจะมีคนพลาดประเด็นแล้วพูดว่า “แต่มันไม่ได้ขัดขวางการเขียนโค้ดบนเครื่องของคุณนี่” จนในบล็อกต้นฉบับก็พูดดักไว้แล้ว
ไม่ควรมีการโจมตีตัวบุคคลน่ารังเกียจแบบไปพาดพิงสุขภาพจิตของใคร
แต่พออ่านแล้วก็ยอมรับได้ว่าปฏิกิริยาทางอารมณ์ของเขาดูไม่ค่อยสอดคล้องกับสถานการณ์จริง
ถึงอย่างนั้น ขึ้นอยู่กับขนาดของโปรเจกต์ งานอย่างการจัดการ issue หรือการรีวิวต่างๆ ก็อาจทำให้ GitHub กลายเป็นงานเต็มเวลา ได้ และการใช้คำอธิบาย PR กับคอมเมนต์แทน commit message ในฐานะส่วนหนึ่งของเอกสารก็ไม่ใช่เรื่องแปลก
เพราะงั้นความพร้อมใช้งานของ GitHub จึงอาจเป็นปัญหาใหญ่มากสำหรับหลายบริษัทจริงๆ
แม้แต่ตอนนี้เอง ปัญหาของ GitHub API ก็ยังเกิดอยู่
คำถามสำคัญคือ ทางเลือก ที่ดีที่สุดคืออะไร
ถึงจะเป็นเวอร์ชันฟรีก็แทบไม่มีอะไรให้บ่นมาก
จะ mirror โค้ดสาธารณะทั้งหมดไปไว้ที่นั่นก็ไม่เป็นไร
ถ้าต้องการที่รันเทสต์ ก็สร้าง infrastructure ของตัวเอง ขึ้นมาได้
ทุกวันนี้มันง่ายกว่าที่เคย แล้วจะไปพึ่งกล่องดำแบบนั้นทำไม?
เร็วกว่า GitLab มาก