GitHub เปิดตัวโปรเจคทดลอง “Hey, GitHub!” เป็นการสั่งงานด้วยเสียงคู่กับฟีเจอร์ Copilot ที่ใช้ AI ช่วยเขียนโปรแกรม ทำให้เราแทบไม่ต้องใช้คีย์บอร์ดในการเขียนโปรแกรมอีกเลย
ตัวอย่างการใช้งานเช่น พูดว่า "import Pandas" ก็จะเป็นการเขียนโค้ดที่นำเข้าไลบรารีวิเคราะห์ข้อมูล Pandas ของ Python ให้อัตโนมัติ (ดูตัวอย่างได้จากเว็บ GitHub Next)
คำสั่งเสียง Hey, GitHub รองรับทั้งการเขียนตัวโค้ด, การเลื่อนตำแหน่ง, การสั่งงานตัว IDE (VS Code) และการสั่งให้ GitHub Copilot อธิบายการทำงานของโค้ดที่เขียนมาให้เรา
วันที่ 26 ตุลาคมที่ผ่านมา เป็นวันครบรอบ 4 ปี ที่ไมโครซอฟท์ซื้อกิจการ GitHub เสร็จสมบูรณ์
ในระยะเวลา 4 ปีที่ผ่านมา GitHub เติบโตขึ้นมาก สถิติล่าสุดของ GitHub ในงานแถลงผลประกอบการของไมโครซอฟท์ คือมีผู้ใช้งาน 90 ล้านคน และทำเงินได้ 1 พันล้านดอลลาร์ต่อปี
แอปเปิลประกาศย้ายโครงการซอร์สโค้ดของ WebKit จุดกำเนิดของเบราว์เซอร์ยุคใหม่ (ที่ใช้กับทั้ง Safari, Chromium และอื่นๆ แทบทุกตัวที่ไม่ใช่ Firefox) จากเดิมโฮสต์บนระบบ Subversion ของตัวเอง มาสู่ GitHub
ตัวโครงการ WebKit เปิดซอร์สมาตั้งแต่แรก เพียงแต่อยู่บน Subversion ระบบจัดการซอร์สโค้ดที่ถือกำเนิดมาก่อน Git เมื่อโลกเริ่มหมุนมาสู่ Git ด้วยจุดเด่นเรื่องสถาปัตยกรรมที่ออกแบบมาดีกว่า ทำให้แอปเปิลตัดสินใจเลือกย้ายจาก Subversion มายัง Git
แอปเปิลบอกว่ามีตัวเลือกโฮสต์ Git หลายทาง แต่สุดท้ายเลือก GitHub เพราะมีฐานชุมชนนักพัฒนาขนาดใหญ่ และมี API ใช้ง่าย ปรับแต่งสคริปต์อัตโนมัติเดิมเพียงเล็กน้อยก็ใช้งานได้ทันที
GitHub มีฟีเจอร์ Sponsors ให้โครงการโอเพนซอร์ส สามารถขอรับเงินบริจาคบนหน้า repository ของโครงการ ลักษณะคล้าย Kickstarter, Patreon หรือ GoFundMe มาตั้งแต่ปี 2019 (ตัวอย่างหน้าสปอนเซอร์) แต่ยังจำกัดประเทศที่รองรับ
ล่าสุด GitHub Sponsors ขยายบริการเพิ่มอีก 30 ประเทศ (รวมเป็น 68 ประเทศ) ความสำคัญคือรอบนี้มีประเทศไทยแล้วด้วย
วิธีการใช้งานฝั่งนักพัฒนา ต้องผูกบัญชีธนาคารท้องถิ่น และกรอกเอกสารภาษีกับทาง GitHub ก่อนถึงใช้งานได้ (รายละเอียด)
GitHub ใช้โครงการ GitHub Sponsor ของตัวเอง สนับสนุนนักพัฒนาที่เปิดรับการสนับสนุนมากกว่า 900 คน รวมมูลค่าทั้งหมด 500,000 ดอลลาร์
นักพัฒนาที่ได้รับการสนับสนุนเป็นนักพัฒนาที่ดูแลโครงการที่เกี่ยวข้องกับ GitHub เอง ไม่ว่าจะเป็นตัวบริการ GitHub, npm, GitHub Desktop, GitHub Mobile, หรือ GitHub CLI เป็นการแสดงตัวอย่างให้ดูว่าองค์กรที่พึ่งพิงโอเพนซอร์สควรช่วยเหลือชุมชนกลับคืน
GitHub ประกาศเปิดบริการ Copilot อย่างเป็นทางการ หลังจากเปิดทดสอบวงปิดมาตั้งแต่ปีที่แล้ว โดยผู้ใช้สามารถทดสอบใช้งานได้ฟรี 60 วัน หลังจากนั้นค่าบริการอยู่ที่เดือนละ 10 ดอลลาร์ หรือปีละ 100 ดอลลาร์
ตอนนี้ Copilot รองรับโปรแกรมแก้ไขโค้ดยอดนิยม ได้แก่ Neovim, JetBrains, Visual Studio, และ VSCode สามารถแนะนำโค้ดในภาษาโปรแกรมได้นับสิบภาษา และช่วงทดสอบที่ผ่านมามีผู้ทดสอบถึง 1.2 ล้านคน
ทาง GitHub จะให้บริการฟรีกับนักเรียนและผู้ดูแลโครงการโอเพนซอร์สยอดนิยม ส่วนแพ็กเกจแบบเสียเงินสำหรับองค์กรจะตามมาภายหลัง
ที่มา - GitHub Blog
Atom เป็น text editor ที่ GitHub พัฒนาเพื่อทดแทนโปรแกรมที่ขายอย่าง Sublime หรือ TextMate ตั้งแต่ปี 2014 แต่หลังจากไมโครซอฟท์พัฒนา VSCode อย่างต่อเนื่อง และเข้าซื้อ GitHub ตัวโครงการ Atom ก็ไม่ค่อยมีการพัฒนาอะไรมากมายนัก ล่าสุด GitHub ก็ประกาศยุติการพัฒนาอย่างเป็นทางการ และจะปิดโครงการเก็บเป็นโหมด archive ในวันที่ 15 ธันวาคมนี้
แม้ว่าตัว Atom จะเลิกพัฒนาไปแล้ว แต่ Electron เฟรมเวิร์ครันเว็บแอปพลิเคชั่นแบบเดสก์ทอปที่สร้างขึ้นมาเพื่อ Atom ก็เป็นโครงสร้างสำหรับโครงการจำนวนมากจนทุกวันนี้ รวมถึง VSCode, Slack, และ GitHub Desktop
GitHub เพิ่มฟีเจอร์สอนการใช้งานแบบใหม่ชื่อ GitHub Skills ซึ่งไม่ใช่หน้าเว็บรวมคู่มือหรือคลิปสอนธรรมดาๆ แต่เป็นการจับมือทำในระบบของ GitHub โดยตรง (เรียนรู้แบบ interactive)
เบื้องหลังของ GitHub Skills เขียนอยู่บน GitHub Actions ฟีเจอร์ด้าน workflow ที่มีตั้งแต่ปี 2018 วิธีการเรียนเราสามารถเข้าไปยังหน้า repo ของ skills (ตัวอย่าง) กดปุ่ม "Use this template" เพื่อสร้าง repo ใหม่ของเราเอง จากนั้นทำตามขั้นตอน step-by-step ที่ผู้สอนเตรียมไว้ได้เลย เราจะทำงานต่างๆ บนหน้าจริงๆ ของ GitHub โดยตรง
GitHub รายงานข้อมูลเพิ่มเติมจากเหตุโทเค็น OAuth รั่วไหลเมื่อเดือนเมษายนที่ผ่านมา พบว่าคนร้ายได้รับข้อมูลมากกว่าซอร์สโค้ดของ npm เอง โดยคนร้ายได้ฐานข้อมูล ชื่อผู้ใช้, อีเมล, และค่าแฮชรหัสผ่าน ของผู้ใช้ประมาณ 100,000 คนไปด้วย
ข้อมูลที่หลุดไปอยู่ในไฟล์สำรองข้อมูลของเว็บ skimdb.npmjs.com
ที่สำรองไว้ตั้งแต่วันที่ 7 เมษายน 2021 ในไฟล์ข้อมูลยังมี metadata ของแพ็กเกจส่วนตัวทั้งหมด, และแพ็กเกจภายในขององค์กรสององค์กร
GitHub ประกาศปรับนโยบายการใช้งาน โดยบังคับให้นักพัฒนาที่อัพโหลดโค้ดเข้ามา ต้องเปิดใช้งานการยืนยันตัวตนสองขั้นตอน (2FA) อย่างน้อย 1 วิธีการ มีผลภายในสิ้นปี 2023
Mike Hanley หัวหน้าฝ่ายความปลอดภัยของ GitHub บอกว่าแนวคิดนี้เกิดจากพื้นฐานว่า กระบวนการพัฒนาซอฟต์แวร์ให้มีความปลอดภัยรัดกุมทุกขั้นตอน ต้องเริ่มต้นที่นักพัฒนาเป็นลำดับแรก เพราะบัญชีนักพัฒนาเป็นเป้าหมายแรกของผู้โจมตีในการสอดไส้มัลแวร์เข้าไปในโค้ด
GitHub พบคนร้ายเข้าดาวน์โหลดข้อมูลจากองค์กรเหยื่อ โดยคนร้ายอาศัยโทเค็น OAuth2 ที่ออกให้กับ Heroku และ Travis-CI
ทาง GitHub แจ้งการโจมตีนี้ไปยังทั้ง Heroku และ Travis-CI แล้ว ตอนนี้ทาง Heroku ออกมาประกาศว่าได้ยกเลิกโทเค็นทั้งหมดภายในวันนี้ ส่งผลให้ไม่สามารถ deploy แอปใหม่ผ่านทาง dashboard หรือ automation ได้ ลูกค้าของ Heroku สามารถเชื่อมต่อโค้ดเข้าไปใหม่ได้เหมือนการเชื่อมต่อ Git นอก GitHub
GitHub พบการโจมตีครั้งนี้หลังจากพบว่ากุญแจ AWS ของ npm ถูกใช้งาน จึงตรวจสอบว่าแฮกเกอร์ได้กุญแจไปทางใด และพบว่าคนร้ายดาวน์โหลด repository ภายในของ npm ออกไปจึงได้กุญแจของ AWS ไปด้วย การขยายผลจึงพบว่าน่าจะเกี่ยวข้องกับ Heroku และ Travis-CI
Python ย้ายระบบรายงานปัญหา (issue tracking) จาก Roundup มาเป็น GitHub หลังจากมีข้อเสนอนี้มาตั้งแต่ปี 2018
เหตุผลสำคัญคือระบบซอร์สโค้ดของ Python นั้นย้ายไป GitHub ตั้งแต่ปี 2017 แล้ว การใช้ระบบ issue tracking ในระบบเดียวกันช่วยให้ทำงานง่ายขึ้นมาก และยังมีฟีเจอร์ใหม่ๆ เช่น รองรับ markdown, ระบบ reaction ในความเห็นใช้โหวตได้, รองรับการล็อกอินสองขั้นตอน ที่สำคัญคือลดภาระทีมงานในการซ่อมบำรุงเว็บไซต์
Roundup นั้นเป็นระบบ issue tracking ที่มีมานานตั้งแต่ปี 2003 แม้จะยังมีการพัฒนาอยู่แต่ทุกวันนี้ทีมงานยังใช้ Mercurial พัฒนา และตัวโครงการไม่มีระบบ CI เพื่อทดสอบทำให้การแพตช์ทำได้ลำบาก
GitHub มีเครื่องมือชื่อ Actions เป็นระบบ workflow ช่วยทำงานอัตโนมัติตามเงื่อนไขที่กำหนด เปิดใช้งานมาตั้งแต่ปี 2019 โดยบัญชีฟรีก็ใช้ได้
ล่าสุด GitHub ออกมาแนะนำ action ชื่อ dependency-review-action ที่พัฒนาโดยพนักงานของตัวเอง หน้าที่ของมันคือตรวจสอบหากโค้ดของเรามีการเพิ่ม dependency ใหม่เข้ามา จะวิ่งไปเช็คกับฐานข้อมูล GitHub Advisory Database ว่า dependency นั้นมีช่องโหว่ที่เป็นที่รู้จักอยู่แล้วหรือไม่
action นี้สามารถใช้ได้ฟรีกับโค้ดที่เป็น public ส่วนโค้ดที่เป็น private ต้องซื้อไลเซนส์ Github Advanced Security
GitHub เพิ่มฟีเจอร์ทำภาพไดอะแกรมในไฟล์ Markdown ด้วย Mermaid ชุดแปลงข้อความ Markdown เป็นภาพที่รองรับทั้ง UML, User Journey, และ Gantt Chart
ทาง GitHub ไม่ได้แปลงข้อความเป็นภาพที่ตัวเซิร์ฟเวอร์ แต่ใส่ mermaid.js เข้ามาในเว็บที่เป็น Markdown แล้วแปลงเป็นภาพที่ฝั่งเบราว์เซอร์ผู้ใช้ โดยโค้ดส่วนที่เป็น mermaid นี้จะถูกเรนเดอร์เป็น iframe แยกจากหน้าหลักเพื่อความปลอดภัย
ที่มา - GitHub
GitHub เพิ่มฟีเจอร์ Sponsors-only repositories ให้นักพัฒนาสามารถมอบสิทธิพิเศษสำหรับผู้สนับสนุนได้ชัดเจนมากขึ้น จากเดิมที่มีป้ายแสดงตัวผู้สนับสนุนเป็นหลัก โดยการเปิดส่วนพิเศษสำหรับสปอนเซอร์จะทำให้นักพัฒนาสามารถมอบสิทธิประโยชน์ให้สปอนเซอร์ได้หลายอย่าง เช่น
ฟีเจอร์เหล่านี้ดูแล้วคงคล้ายกับแพลตฟอร์มจำนวนมากในตอนนี้ที่เริ่มพยายามพัฒนาช่องทางจ่ายเงินตรงเข้าหาครีเอเตอร์ และเปิดทางให้ตัวครีเอเตอร์มอบสิทธิพิเศษได้ อย่างไรก็ดีตอนนี้โครงการ GitHub Sponsors ยังอยู่ในช่วงเบต้าวงปิดเท่านั้น
GitHub ประกาศบังคับให้ผู้ดูแลแพ็กเกจ NPM ยอดนิยม 100 ตัวแรก ต้องล็อกอินแบบ 2FA เพื่อเพิ่มระดับความปลอดภัยจากการถูกแฮ็กบัญชี ตามที่เคยประกาศแนวทางไว้
การที่แพ็กเกจ NPM ยอดนิยมถูกใช้งานในวงกว้าง ทำให้เกิดปัญหาผู้ดูแลถูกแฮ็กบัญชี แล้วเปลี่ยนแพ็กเกจที่ยัดไส้มัลแวร์อยู่บ่อยครั้ง สร้างผลกระทบเป็นวงกว้าง หนึ่งในมาตรการของ GitHub คือเพิ่มความปลอดภัยของบัญชีผู้ดูแลก่อน โดยเริ่มจากกลุ่ม Top 100 และขั้นต่อไปคือ GitHub จะบังคับ 2FA กับแพ็กเกจที่มียอดดาวน์โหลดเกิน 1 ล้านครั้งต่อสัปดาห์ หรือมีโครงการอื่นเรียกใช้งานเกิน 500 โครงการ
ยูสเซอร์ Developer-Y ได้สร้าง repository บน GitHub รวมคอร์สเรียนวิทย์คอมและโปรแกรมมิ่งออนไลน์แบบมีวิดีโอเป็นภาษาอังกฤษจากมหาวิทยาลัยชั้นนำทั่วโลกมาไว้ในที่เดียว ตั้งแต่ปี 2016 ปัจจุบันมีคอร์สเรียนกว่า 800 คอร์ส จากผู้มีส่วนร่วม 49 คนที่ช่วยกันอัพเดต
วิชาที่รวมมา มีตั้งแต่บทนำสู่วิทยาศาสตร์คอมพิวเตอร์, โครงสร้างข้อมูลและอัลกอริทึ่ม, แมชชีนเลิร์นนิ่ง, ควอนตัมคอมพิวเตอร์ ไปจนถึงวิชาการเงินเชิงคำนวณ (Computational Finance), ชีวะวิทยาเชิงคำนวณ (Computational Biology), โรโบติกส์ วิชาการพัฒนาบล็อกเชน และอื่นๆ อีกมากมาย
ผู้ใช้ GitHub ชื่อบัญชี Marak เป็นผู้ดูแลโครงการโอเพนซอร์สจำนวนมากและช่วงสัปดาห์ที่ผ่านมาเขาใส่โค้ดรัน infinite loop เข้าไปยังโครงการ color.js (4,300 stars) และ faker.js (795 stars) ส่งผลให้โมดูลและแอปอื่นๆ ที่ใส่โมดูลเหล่านี้เป็น dependency ไม่สามารถทำงานได้ หน้าจอจะค้างและพิมพ์ขยะออกมาไม่หยุด
Marak ไม่ได้แถลงบอกเหตุผลที่เขาทำแบบนี้ไว้โดยตรงแต่เขาแสดงภาพ Aaron Swartz โปรแกรมเมอร์นักกิจกรรมที่ฆ่าตัวตาย หลังถูกจับเนื่องจากเอาคอมพิวเตอร์ไปเชื่อมต่อเครือข่ายของ MIT เพื่อดาวน์โหลดรายงานวิทยาศาสตร์
GitHub ออกตัวช่วยสแกนช่องโหว่ Log4j ในโปรเจคต์ซอฟต์แวร์
ผู้ใช้งานสามารถเปิดใช้ Dependabot ซึ่งเป็นบ็อตช่วยตรวจหาเวอร์ชันของแพ็กเกจซอฟต์แวร์ที่ใช้งาน (เอกสารวิธีเปิดใช้) หากมีแพ็กเกจ Log4j เวอร์ชันที่มีช่องโหว่ ก็จะได้รับคำเตือนให้อัพเกรดเป็นเวอร์ชันที่อุดแพตช์แล้ว
GitHub ออกฟีเจอร์ใหม่ชื่อ Advanced Security Enforcer เป็นสคริปต์เวิร์คโฟลว์ภายใต้ GitHub Actions ที่ช่วยบังคับให้โค้ด repository มีความปลอดภัยสูงขึ้นตั้งแต่แรกเริ่มโครงการ ตามมาตรฐานความปลอดภัยที่ GitHub เตรียมไว้ให้แล้ว
Aidan Marlin นักวิจัยด้านความปลอดภัยรายงานว่านักพัฒนาจำนวนเกือบ 4,500 คนอัพโหลดไฟล์ cookie จากเบราว์เซอร์ที่ตัวเองใช้งานอยู่เข้าไปยัง GitHub ส่งผลให้คนร้ายสามารถสวมรอยแทนนักพัฒนาเหล่านี้ไปยังทุกบริการที่ล็อกอินทิ้งไว้ได้
ไฟล์ฐานข้อมูล cookie ในไฟร์ฟอกซ์คือ cookies.sqlite ปกติแล้วจะอยู่ในโฟลเดอร์ของไฟร์ฟอกซ์เอง ไม่แน่ชัดว่าทำไมนักพัฒนาจำนวนหนึ่งจึงอัพโหลดไฟล์เหล่านี้ขึ้น GitHub
ความนิยมของแพ็กเกจ npm ในโลก JavaScript กลายเป็นช่องโหว่ด้านความปลอดภัยหลายครั้ง เพราะแฮ็กเกอร์สามารถยึดบัญชีนักพัฒนาแพ็กเกจ npm ชื่อดัง แล้วอัพเดตแพ็กเกจที่ฝังมัลแวร์เพื่อแพร่กระจายในวงกว้างอย่างรวดเร็ว (กรณีของ ua-parser-js และ coa)
GitHub ซึ่งปัจจุบันเป็นเจ้าของบริษัท npm Inc. จึงออกมาประกาศมาตรการความปลอดภัยของ npm เพื่อป้องกันปัญหาเหล่านี้ ได้แก่
ปัญหาการฝังรหัสผ่านหรือคีย์ไว้ในซอร์สโค้ด ถือเป็นช่องโหว่ความปลอดภัยที่มักพลาดกันบ่อยๆ ทำให้บริการฝากซอร์สโค้ดอย่าง GitHub มีฟีเจอร์ชื่อ Secret Scanning คอยไล่ตรวจว่าในโค้ดมีการฝังคีย์ลักษณะนี้หรือไม่ (บังคับเฉพาะโค้ดแบบ public ส่วนโค้ดแบบ private เป็นฟีเจอร์แบบเสียเงิน และต้องเลือกเปิดเอง)
วิธีการคือ GitHub ร่วมกับบริษัทดังๆ หลายเจ้า เช่น AWS, Azure, Google Cloud, Dropbox, Slack, Stripe, Shopify, Twilio (รายชื่อทั้งหมด) เพื่อตรวจสอบแพทเทิร์นคีย์ของบริษัทเหล่านี้ และแจ้งเตือนบริษัทผู้ออกคีย์ให้ถอนคีย์ออก หากพบว่ามีคีย์ถูกเผยแพร่ในที่สาธารณะ
GitHub ประกาศเปลี่ยนแปลงตำแหน่งผู้บริหาร โดยซีอีโอ Nat Friedman ได้ลาออกจากตำแหน่ง เพื่อไปทำงานสนับสนุน ให้คำปรึกษา และลงทุนในสตาร์ทอัพใหม่ ๆ
Thomas Dohmke ซึ่งเดิมเป็นหัวหน้าฝ่ายผลิตภัณฑ์ (Chief Product Officer) จะขึ้นมาเป็นซีอีโอคนใหม่ มีผลตั้งแต่วันที่ 15 พฤศจิกายน เป็นต้นไป
ปัจจุบัน GitHub เป็นแผนกของไมโครซอฟท์ภายใต้กลุ่มนักพัฒนา หลังจากการเข้าซื้อกิจการเมื่อปี 2018 ซึ่ง Friedman ที่เป็นรองประธานฝ่ายบริการนักพัฒนาตอนนั้น ก็ถูกแต่งตั้งเป็นซีอีโอ ส่วน Chris Wanstrath ผู้ก่อตั้งและซีอีโอในเวลานั้น เป็น Technical Fellow ของบริษัท
จากข่าวบริษัทเทคโนโลยีชาติตะวันตกหลายราย ทยอยถอนตัวจากจีน ได้แก่ LinkedIn, Fortnite และล่าสุดคือ Yahoo ทำให้นักพัฒนาซอฟต์แวร์ในจีนเริ่มกังวลกันว่า GitHub (ซึ่งปัจจุบันเป็นของไมโครซอฟท์ เหมือนกับ LinkedIn) จะต้องปิดบริการในจีนตามไปด้วย
ปัจจุบัน นักพัฒนาในจีนมีสัดส่วนประมาณ 10% ของนักพัฒนาทั้งหมด 56 ล้านคนบน GitHub และคนจีนเป็นผู้ดูแลโครงการโอเพนซอร์สสำคัญๆ หลายโครงการ แม้ในจีนเองมีแพลตฟอร์ม Gitee แบบเดียวกันเป็นคู่แข่ง แต่ก็มีแค่คนจีนใช้เท่านั้น