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 ตอนนี้ยังอยู่ในขั้นเริ่มต้นหากใครสนใจก็สามารถเข้าไปแลกเปลี่ยนความคิดเห็นได้ ที่นี่ ส่วน ซอร์สโค้ด ของโครงการก็ถูกอัปโหลดไว้แล้วเช่นกัน
Comments
แก้ไขแล้ว ขอบคุณครับ
ถ้าไม่ใช่ซอฟแวร์ที่มีความอ่อนไหวหรือมีความลับอะไรก็น่าสนใจอยู่นะแนวคิดนี้ :D
บล็อกส่วนตัวที่อัพเดตตามอารมณ์และความขยัน :P
มันน่าสนใจมากๆเลยนะ ใช้ git server ที่เซ็ตเองบางทีก็อัพไม่ได้เพราะเซิฟช้าบ้าง ล่มบ้าง