in Article

โอเพนซอร์สวงจรหมุนเชิงบวกกับผู้ผลิตซอฟต์แวร์

คิดว่าจะไม่มาเขียนเรื่องนี้อีกก้ออดไม่ได้ครับ เพราะว่าแนวคิดในบ้านเรามันออกจะขัดกับแนวคิดโอเพนซอร์สและหลักปรัชญาที่ควร จะเป็นเสียมากซึ่งผมมองว่าอุตสาหกรรมซอฟต์แวร์ในบ้านเราจะไม่ได้อะไรเลย นอกจากการดาวน์โหลดโค้ดแล้วปะยี่ห้อใหม่ขายหรือทำได้เท่าที่มีคนทำให้ ไม่เกิดสิ่งใหม่ไม่เกิด innovation ใหม่ๆ ซึ่งเป็นเรื่องที่น่าเสียดาย ผมได้พูดคุยกับผู้ประกอบการหลายรายที่อยู่ใน Software Park ซึ่งส่วนใหญ่เป็น Tailor-Made หรือรับจ้างทำของตั้งแต่ต้นเริ่มจากศูนย์ บางรายก้อ reuse โครงการของอีกที่นึงมา modified ให้ใช้ได้กับอีกที่หนึ่ง บางรายก้อใช้โอเพนซอร์สซอฟต์แวร์นี่แหละเอาไปทำให้ดูค้า เช่น เว็บไซต์ ระบบงานเอกสาร ระบบคลังความรู้ ฯลฯ เอาล่ะคุณน่าจะมองเห็นภาพของธุรกิจอุตสาหกรรมซอฟต์แวร์ใมนบ้านเราบ้างนิดๆ หน่อยๆ พอหอมปากหอมคอ อ้อ อันนี้ไม่รวมถึงพวก partner จากบริษัทยักษ์ใหญ่ข้ามชาตินะครับ ฮะๆ ธุรกิจซอฟต์แวร์ในบ้านเรามีคู่แข่งเยอะจริงๆ

เอาล่ะจากการโหมโรง เมื่อหลายปีก่อนเกี่นสกับโอเพนซอร์สได้มีการนำเอาซอฟต์แวร์โอเพนซอร์สไป ใช้งานกันมากขึ้น ไม่ว่าจะเป็นธุรกิจซอฟต์แวร์แบบจ้างทำของ หรือการบริการแบบครบวงจรอย่างธุรกิจบริการพื้นที่เว็บไซต์ รับทำเว็บ ฯลฯ เท่าที่สังเกตจากช่วงเปลี่ยนผ่านของ CMS รายหนึ่งในต่างประเทศ ไม่ต้องอ้อมค้อมละกัน จาก Mambo ไปเป็น Joomla การเปลี่ยนผ่านครั้งนั้นสร้างผลกระทบหลายอย่างซึ่งไม่ได้เป็นผลกระทบทางตรง แต่เป็นทางอ้อม คือแนวทางการพัฒนา component ของ Mambo ก่อปัญหาเกิดช่องโหว่ของ component หลายตัวทำให้เกิดการ crack เว็บครั้งใหญ่โดยการยิง script ไปยังเว็บต่างๆ ที่ใช้ Mambo เรียกได้ว่าเจ็บตัวกันไปหลายรายเลยทีเดียว และที่แน่นอนผู้ประกอบการหลายรายในไทยก้อโดนโวยจากลูกค้าที่ส่งมอบงานไปแล้ว ซึ่งผู้ประกอบการหลายรายก้อได้มาปรึกษาผมเช่นกัน (ไม่ขอเอ่ยชื่อละกันนะ) ถามไปถามมาปรากฏว่าผู้ประกอบการเองก้อยังไม่เข้าใจการพัฒนาซอฟต์แวร์แบบ โอเพนซอร์ส และยังไม่เข้าใจโอเพนซอร์สเสียด้วยซ้ำซึ่งเป็นเรื่องน่าตกใจ เขาเพียงบอกกับผมว่ามันมีให้ดาวน์โหลดมาใช้ มันง่ายดี แต่ไม่รู้ทำไมโดนแฮ็ก เอาล่ะจากตัวอย่างข้างต้นน่าจะพอเข้าใจในสถานะการที่เรากำลัง เป็นอยู่ และน่าเสียดายที่ผู้ประกอบการไทยเองไม่เข้าใจว่าโอเพนซอร์สคืออะไร และไม่เข้าใจว่าคุณมีสิทธิ์ที่จะแก้ไขซอร์สโค้ดให้ดีขึ้นได้ ป้อนกลับ หรือแจ้งบักไปยังต้นน้ำได้เช่นกัน เหตุการณ์ครั้งนั้นเล่นเอาผมงงไปหลายอาทิตย์ เพราะต้องทะยอยแก้ปัญหาไปทีละที่และตามแจ้ง patch ไปให้ผู้ประกอบการที่มาขอความช่วยเหลือ แหมเราก้อใจบุญตาม patch มาให้แต่ก้อช่วยได้เพียงเท่านี้ส่วนที่เหลือเขาคงต้องไปทำความเข้าใจกันเอา เอง เอาล่ะไอ้ที่ต้องไปทำความเข้าใจกันเองนั่นแหละที่เป็นปัญหาเพราะ ผู้ประกอบการเองถูกสอนมาให้เป็นผู้ใช้และพัฒนาบ้างบางส่วน ไม่ได้เป็น contributor ในแง่ของโอเพนซอร์ส ซึ่งโลกของโอเพนซอร์สเป็นโลกนามธรรมที่ผู้ประกอบการเหล่านั้นจับต้องไม่ได้ หากไม่เข้าใจโอเพนซอร์ส หลักการ และปรัชญาแบบโอเพนซอร์ส แหมนี่ยังไม่รวมถึงวัฒนธรรมและการพัฒนาซอฟต์แวร์แบบโอเพนซอร์สอีกนะครับ ที่ผมเขียนเหมือนเป็นเรื่องยอกที่จะเข้าใจ เพราะหากใครไม่ได้คลุกคลีกับคนที่ทำงานอาสาสมัครก้อจะไม่เข้าใจว่าการพัฒนา ซอฟต์แวร์แบบโอเพนซอร์สเป็นอย่างไร

แล้วผู้ประกอบการในประเทศไทยที่ ใช้ซอฟต์แวร์โอเพนซอร์สหรือเราเอาซอฟต์แวร์โอเพนซอร์สมาทำเป็นผลิตภัณฑ์และ บริการ พวกเขาจะทำอะไรได้บ้างจะช่วยต้นน้ำที่พัฒนาซอฟต์แวร์ที่เขานำมาขายเป็น บริการอย่างไรได้บ้าง เอาล่ะผมจะบอกขั้นตอนจากง่ายไปยากให้กับผู้ประกอบการที่อยากมีส่วนร่วมในการ พัฒนาผลิตภัณฑ์และบริการของตนเองและเป็นการช่วยหมุนวงจรป้อนกลับเชิงบวกให้ ชุมชนและกลุ่มนักพัฒนาต้นน้ำได้ มาดูวิธีการต่างๆ ดังนี้

1. เข้าร่วมกลุ่มเมล์ หรือ เมลลิงลิส เพื่อดูความเคลื่อนไหวของโครงการ แสดงความเห็น หรือแนวคิดใหม่ในกลุ่มเมล์
2. เข้าร่วมกลุ่มฟอรัม อาจเป็นฟอรัมของผู้ใช้ หรือผู้พัฒนาตามความต้องการหรือความสามารถที่จะช่วยเหลือได้
3. เข้าร่วมงานประชุมสัมนาหรืองานที่จัดโดยชุมชนเพื่อคุณจะได้พบตัวเป็นๆ ของนักพัฒนา หรือคนที่อยู่ในชุมชน คุณจะได้กลุ่มเพื่อนนักพัฒนาและกลุ่มผู้ใช้ที่เห็นหน้าเห็นตากันอย่างชัดเจน
4. รายงานข้อผิดพลาดต่างๆ ผ่านทาง bug tracker และติดตามการแก้ไขอย่างใกล้ชิด
5. หากทีมพัฒนาของคุณสามารถแกะโค้ด ดีบักในจุดบกพร่องต่างๆ ควรแจ้งวิธีการแก้ไข หรือ patch ของคุณให้กับทีมพัฒนาต้นน้ำ ไม่ต้องกลัวว่าโค้ดไม่สวย หากคุณสามารถอธิบายได้ว่าปัญหาเกิดจากอะไร และจะแก้ไขโดยวิธีใดได้บ้าง ทีมนักพัฒนาต้นน้ำจะสามารถไล่ปัญหาและ submit patch ของคุณได้ทันท่วงที
6. หากคุณไม่ต้องการลงแรงมาก สามารถลงขันเป็น sponsor ของชุมชนซอฟต์แวร์นั้นๆ ในการจัดกิจกรรมต่างๆ
7. หากคุณไม่อยากลงขัน คุณสามารถช่วยกระจายความรู้โดยการถ่ายทอดความรู้ให้กับ user group โดยการอบรม การบรรยายพิเศษ ฯลฯ

เอา 7 ข้อง่ายๆ แค่นี้คุณก้อสามารถเป็นส่วนหนึ่งของวงวรป้อนกลับเชิงบวกสมบูรณ์ได้แล้วครับ มาลงในรายละเอียดใน 7 ข้อข้างต้นกันดีกว่าครับว่าคุณจะได้เรียนรู้อะไรบ้างจาก 7 ข้อนี้

เริ่ม จากการเข้าร่วมกลุ่มเมล์ เมล์ลิงลิส กลุ่มฟอรัม คุณจะรู้จักคนในชุมชนมากขึ้น ทั้งนักพัฒนา ผู้ใช้งาน ปัญหาที่เกิดขึ้น ฯลฯ คุณสามารถช่วยเหลือพวกเขาได้ และเป็นส่วนหนึ่งในการผลักดันให้เกิดการพัฒนาสิ่งใหม่ๆ ในสิ่งที่คุณคิดต่อยอดได้โดยที่คุณไม่ต้องลงมือทำเลยก้อได้ แต่การรู้จักผู้ใช้หรือนักพัฒนามากขึ้นคุณจะรู้ว่ากลไกในการพัฒนาซอฟต์แวร์ ตัวนั้นเป็นอย่างไร ขั้นตอน วิธีการ ระเบียบ ฯลฯ ถ้าคุณเป็นผู้ประกอบการรายใหม่ที่ไม่คุ้นกับการ release เวอร์ชั่นเป็นตัวเลขหลักพัน คุณก้อจะได้เห็นกันคราวนี้แหละครับ การเข้าร่วมงานประชุมสัมนาหรืองานที่จัดโดยชุมชน คุณจะได้เรียนรู้และได้รับ feed back จากกลุ่มผู้ใช้และคุณสามารถเสนอไอเดียใหม่ๆ ได้ด้วย การรายงานข้อผิดพลาด การดีบักโค้ด ตลอดจนการ patch ในโครงการซอฟต์แวร์นั้นๆ คุณจะได้เรียนรู้ขั้นตอนการพัฒนา การ submit code ของทีมพัฒนาหลัก วัฒนธรรมการทำงาน ฯลฯ การเป็น sponsor ใจป้ำในงานหรือกิจกรรมต่างๆ ของชุมชนคุณสามารถประกาศตัวเองได้ว่าเป็นผู้สนับสนุนรายหนึ่งของชุมชนและ เป็นหนึ่งในกลุ่มพวกเขาได้ การถ่ายทอดความรู้สู่ชมชนผ่านทาง wiki หรือการจัดสัมนาหรือบรรยายพิเศษเป็นโอกาสหนึ่งในการพบปะกลุ่มผู้ใช้หรือ กลุ่มคนที่จะหันมาใช้งานซอฟต์แวร์โอเพนซอร์สที่คุณได้มีส่วนร่วมซึ่งมากบ้าง น้อยบ้าง ก้อจะทำให้คุณประมาณจำนวนจำนวนผู้ใช้ และกลุ่มผู้ใช้ซอฟต์แวร์อื่นๆ ได้คร่าวๆ เอาล่ะครับทุกอย่างมันมีข้อดีและข้อเสียแต่อย่างว่าล่ะครับ ผมอยากให้ผู้ประกอบการลงมาเล่นกับซอฟต์แวร์โอเพนซอร์สอย่างจริงจังไม้ว่าจะ เป็นการ contributor หรือการ sponsor ทั้งทางตรงและทางอ้อมคุณจะเข้าใจได้ว่าโอเพนซอร์สซอฟต์แวร์เป็นอย่างไร วัฒนธรรมการทำงาน และการพัฒนาซอฟต์แวร์แบบโอเพนซอร์สเป็นอย่างไร เอาล่ะครับให้ผมเขียนออกมาทั้งหมดคุณคงไม่ได้อะไรจากการอ่านบทความที่ผม เขียนหรอกครับ ลองเลือกซอฟต์แวร์โอเพนซอร์สที่คุณทำตลาดอยู่สิครับแล้วเล่นกับมันให้เต็ม ที่