ชุมชนนักพัฒนาต่างตื่นเต้นกับการแสดงผลข้อมูลในรูปแบบใหม่ที่แสดงการจับกลุ่มของโปรเจกต์บน GitHub กว่า 400,000 โปรเจกต์ในรูปแบบอาณาเขตต่างๆ เผยให้เห็นข้อมูลเชิงลึกที่น่าสนใจเกี่ยวกับการปฏิสัมพันธ์และการจับกลุ่มกันของเทคโนโลยีและชุมชนโปรแกรมเมอร์ต่างๆ การนำเสนอในรูปแบบแผนที่นี้ได้จุดประกายให้เกิดการถกเถียงที่น่าสนใจเกี่ยวกับชุมชนภาษาโปรแกรมมิ่งและความเชื่อมโยงระหว่างกัน
องค์ประกอบทางเทคนิคที่สำคัญ:
- แหล่งข้อมูล: เหตุการณ์กิจกรรมบน GitHub (มกราคม 2020 - มีนาคม 2023)
- การวัดความคล้ายคลึง: Jaccard Similarity
- อัลกอริทึมการจัดกลุ่ม: Leiden clustering
- การแสดงผลข้อมูล: Maplibre
- การประมวลผลข้อมูล: เครื่อง AWS EC2 ที่มี RAM 512GB
การจัดวางตำแหน่งที่ไม่คาดคิดสะท้อนให้เห็นการซ้อนทับของชุมชน
การจัดกลุ่มบนแผนที่เผยให้เห็นการจัดวางตำแหน่งที่น่าประหลาดใจหลายจุด ซึ่งท้าทายความเข้าใจทั่วไปเกี่ยวกับชุมชนเทคโนโลยี ตัวอย่างเช่น การพัฒนา Linux kernel ปรากฏอยู่ใน Fronterra พร้อมกับโปรเจกต์ JavaScript และเครื่องมือ frontend แทนที่จะอยู่กับโปรเจกต์ระบบโปรแกรมมิ่งอื่นๆ ตำแหน่งที่ไม่คาดคิดนี้นำไปสู่การอภิปรายที่น่าสนใจในชุมชนเกี่ยวกับความสัมพันธ์ระหว่างผู้พัฒนาโปรเจกต์และผู้ชื่นชมโปรเจกต์
อาจเป็นเหตุผลเดียวกับที่แผนที่ความร้อนมักสะท้อนให้เห็นการกระจายตัวของประชากรเป็นหลัก
อาณาเขตที่สำคัญ:
- Fronterra: เครื่องมือ JavaScript และ Frontend
- AILandia: โปรเจกต์ Python และ AI
- Cloudderra: โครงสร้างพื้นฐานคลาวด์และ YAML
- Rustland: โปรเจกต์การเขียนโปรแกรมภาษา Rust
- Lispaña: โปรเจกต์ที่เกี่ยวข้องกับภาษา Lisp
ชุมชนภาษาโปรแกรมมิ่งแสดงให้เห็นความแตกต่างของขนาดที่น่าสนใจ
สิ่งที่น่าสังเกตจากชุมชนคือความสัมพันธ์ระหว่างระบบประเภทของภาษาโปรแกรมมิ่งกับขนาดของอาณาเขต ภาษาที่ไม่มีการกำหนดประเภทข้อมูลดูเหมือนจะครอบครองพื้นที่ใหญ่กว่า โดย JavaScript (Fronterra), YAML (Cloudderra) และ Python (AILandia) ครอบครองพื้นที่กว้างใหญ่เมื่อเทียบกับภาษาที่มีการกำหนดประเภทข้อมูลแบบตายตัวอย่าง Java และ .NET อย่างไรก็ตาม สิ่งนี้อาจสะท้อนถึงความแตกต่างของข้อจำกัดในการเผยแพร่แพ็คเกจมากกว่าการใช้งานจริง เนื่องจากโค้ดขององค์กรส่วนใหญ่มักถูกเก็บไว้ในที่เก็บข้อมูลส่วนตัว
อาณาเขต AI และ Crypto แสดงการซ้อนทับที่น่าประหลาดใจ
แผนที่แสดงให้เห็นความใกล้ชิดที่น่าสนใจระหว่างโปรเจกต์ที่เกี่ยวข้องกับ AI และการพัฒนาคริปโทเคอร์เรนซี โดย BinanceLand ถูกวางตำแหน่งอยู่ภายใน AILandia ความใกล้ชิดทางภูมิศาสตร์นี้จุดประกายให้เกิดการอภิปรายเกี่ยวกับความสนใจที่ทับซ้อนกันระหว่างชุมชน AI และคริปโท แม้ว่าสมาชิกบางคนในชุมชนจะเสนอแนะอย่างขบขันว่าคริปโทควรมีสัญลักษณ์เรือจมเป็นของตัวเอง
วิธีการจัดกลุ่มที่เป็นนวัตกรรม
การสร้างแผนที่นี้เกี่ยวข้องกับการประมวลผลข้อมูลที่ซับซ้อน โดยใช้ Jaccard Similarity ในการกำหนดความสัมพันธ์ของโปรเจกต์บนพื้นฐานของผู้ให้ดาวที่มีร่วมกัน แนวทางนี้แม้จะเรียบง่ายในแนวคิด แต่พิสูจน์แล้วว่ามีประสิทธิภาพในการแสดงความสัมพันธ์ที่มีความหมายระหว่างโปรเจกต์ต่างๆ แม้ว่าสมาชิกบางคนในชุมชนจะสังเกตว่าเมตริกที่อิงจากดาวอาจได้รับอิทธิพลจากกิจกรรมของบอทและอาจไม่สะท้อนรูปแบบการใช้งานจริงอย่างสมบูรณ์
การแสดงผลข้อมูลนี้ทำหน้าที่เป็นเลนส์พิเศษในการมองระบบนิเวศโอเพนซอร์ส นำเสนอข้อมูลเชิงลึกเกี่ยวกับวิธีที่เทคโนโลยีและชุมชนต่างๆ มีปฏิสัมพันธ์กัน พร้อมกับจุดประกายให้เกิดการอภิปรายเกี่ยวกับธรรมชาติที่แท้จริงของความสัมพันธ์เหล่านี้
อ้างอิง: Map of GitHub