ช่วงหลังๆ ผมเชื่อในหลักการ ecosystem ว่าถ้าต้องการจะผลักดัน (ประเด็น/ผลิตภัณฑ์/เทคโนโลยี) ใดๆ ตัวผลิตภัณฑ์มันจะไม่สามารถไปได้ด้วยตัวเองโดดๆ ได้ (อาจจะมีแต่ยาก) แนวทางที่ถูกต้องคือต้องผลักดันกันไปทั้งวงการ อันนี้หมายถึงช่องทางหากิน นโยบาย กฎหมาย บริการรายล้อมอื่นๆ ที่ช่วยเกื้อหนุนผลิตภัณฑ์อันนั้นๆ
ตัวอย่างที่ชัดเจนคือ iPod (ผลิตภัณฑ์) ถ้าไม่มี iTunes Store (บริการ) และ iTunes (ซอฟต์แวร์) คงมาไม่ได้ถึงขนาดนี้ และถ้าเรามองมุมกลับ ผลิตภัณฑ์ที่ติดตลาด มีฐานผู้ใช้พอสมควรแล้ว ก็จะมี ecosystem อื่นๆ ตามมาโดยธรรมชาติ เช่น อุปกรณ์เสริมของ iPod หรือโปรแกรมบน App Store เป็นต้น
อีกตัวอย่างที่ไม่ด้อยไปกว่ากัน ก็คือ Firefox และ extension ทั้งแสนแปด ซึ่งกลายเป็นตัวอย่างให้ซอฟต์แวร์ตัวอื่นๆ ทั้งที่เป็นโอเพนซอร์สและไม่เป็น อยากดำเนินรอยตามกันถ้วนหน้า
หนึ่งในซอฟต์แวร์ที่ใช้สถาปัตยกรรมแบบ Firefox คือมีแกน (core) หลัก และเปิดช่องทางสำหรับส่วนขยาย (extension) ก็คือ Drupal แต่ถึงแม้ว่าโมดูลของ Drupal จะมีเยอะมาก การนำมาใช้งานกลับยังทำได้ไม่ดีนัก ปัญหาที่สำคัญแน่ๆ ก็คือ โมดูลพัฒนาตาม core ไม่ทัน ส่วนปัญหาอื่นๆ ก็อย่างเช่น ผู้นำไปใช้ไม่สามารถค้นหาโมดูลที่เหมาะกับความต้องการของตัวเองได้ เป็นต้น
ผมคิดว่าปัญหาเหล่านี้ เกิดจากการจัดการ ecosystem ของโครงการ Drupal ที่ทำได้ไม่ดีนัก (เทียบกับ Firefox) เลยลองมานั่งคิดเล่นๆ ว่า ถ้าต้องการจะสร้าง ecosystem เราควรจะต้องมีอะไรบ้าง นอกเหนือไปจากการพัฒนาตัว core หลักโดยตรง
essential
ปัจจัยเสริมที่ควรมี
ต้องออกจากบ้านแล้ว คิดออกเท่านี้ เอาไว้มาต่อ
เกี่ยวกับ Drupal ผมคิดว่าเว็บสำหรับดาวน์โหลด Extension เข้าแล้วงงทุกที module เยอะมาก และรู้สึกว่าการแยก category ยังทำแล้วงงๆ ผมต้องเข้าหน้า list all modules แล้วใช้ find ใน browser หาทุกที ต่างกับ firefox/tbird ที่แยกไว้ได้ดี อีกอย่างคือขาด screenshot ขนาด theme ยังมี screenshot ไม่ทุกอัน
อันที่ชอบมากคือใน Ubuntu เวลาที่จะต้องใช้งาน feature บางอย่างที่ยังไม่ได้ลง มันก็จะถามให้เลยว่าจะลงเลยไหม (เช่น การ์ดจอ nvidia)
ในฝั่ง user แล้ว ผมว่าการเข้าถึง feature ที่ซ่อนอยู่พวกนี้ได้ง่ายๆเป็นอะไรที่สำคัญจำเป็นมากๆเลย