นักพัฒนาเสนอแนวคิดใหม่ GitTorrent แบ่งปันซอร์สโค้ดโดยไม่ต้องพึ่งพา Git เซิร์ฟเวอร์

by khasathan
30 May 2015 - 18:39

Git เป็นซอฟต์แวร์ version control ที่ได้รับความนิยมเป็นอย่างมากเพราะช่วยอำนวยความสะดวกในการจัดการซอร์สโค้ดในโครงการขนาดใหญ่ที่มีนักพัฒนาจำนวนมากได้ดี

โครงการโอเพนซอร์สหลายโครงการที่ใช้ Git เป็นหลักนิยมใช้บริการ GitHub ซึ่งเป็น Git hosting ที่มีเครื่องมืออำนวยความสะดวกในการทำงานอย่าง wiki, issue tracker ให้ใช้ได้ฟรีและในบางโครงการที่ต้องการความเป็นส่วนตัวเข้าถึงได้เฉพาะคนภายในก็สามารถตั้งเซิร์ฟเวอร์เองได้เช่นกัน

แม้ว่า Git จะถูกออกแบบให้สามารถทำงานแบบกระจาย (decentralized) แต่ก็ต้องพึ่งพาเซิร์ฟเวอร์สำหรับเก็บไฟล์ index และซอร์สโค้ด นักพัฒนาในโครงการยังจำเป็นต้องเข้าถึงเซิร์ฟเวอร์ผ่าน URL หากเซิร์ฟเวอร์มีปัญหาก็อาจทำให้การพัฒนาหยุดชะงักได้

นักพัฒนาชื่อ Chris Ball (ปัจจุบันเป็น Linux kernel maintainer และเป็นวิศวกรในบริษัท startup ชื่อ FlightCar) จึงเสนอแนวคิด GitTorrent ซึ่งเป็นการแบ่งปันซอร์สโค้ดแบบ peer-to-peer ขึ้นโดยให้เหตุผลดังนี้

  • จากที่กล่าวไปข้างต้นเนื่องจาก Git ยังต้องพึ่งพาเซิร์ฟเวอร์อยู่หากเซิร์ฟเวอร์มีปัญหาเช่น ข้อมูลสูญหายหรือถูกโจมตีอย่างที่ GitHub เคยถูกโจมตีด้วย DDoS อาจทำให้การแบ่งปันซอร์สโค้ดมีปัญหาหากมีโพรโตคอลอย่าง GitTorrent ก็จะช่วยให้นักพัฒนายังสามารถแบ่งปันโค้ดกันได้
  • GitHub แม้จะเป็น Git hosting ที่โครงการโอเพนซอร์สหลายโครงการใช้งานอยู่แต่ตัว GitHub เองไม่ใช่โอเพนซอร์ส ผู้ใช้งานไม่มีอำนาจในการกำหนดทิศทางการให้บริการของเว็บได้เต็มที่เพราะมีเงื่อนไขการใช้งานกำกับอยู่
  • GitHub อาจหยุดให้บริการในวันใดวันหนึ่งก็ได้ดังเช่นที่กูเกิลประกาศหยุดให้บริการ Google Code

ความคืบหน้าของโครงการ GitTorrent ตอนนี้ยังอยู่ในขั้นเริ่มต้นหากใครสนใจก็สามารถเข้าไปแลกเปลี่ยนความคิดเห็นได้ที่นี่ ส่วนซอร์สโค้ดของโครงการก็ถูกอัปโหลดไว้แล้วเช่นกัน

ที่มา: Announcing GitTorrent: A Decentralized GitHub

Blognone Jobs Premium