Webmaster talk "Open Source Project" : Easyhome in Thailand
Easyhome 2010
Ads 468x60
Review Programs Navigation Bar
Home Basic HTML Review Software More Tip & Tricks Download Software Site Map

Open Source World
bl1Webmaster Talk
bl1Open Source in Thai School
bl1
What's Open Source
bl1Free Opensource Software
bl1Thai Opensource Use

 

 
 
ADS 250
 
ADS 250x250
 

Talk of the day!!!!!

Open Source : แนวทางการพัฒนาซอฟท์แวร์ยุคใหม่

มีหลายคำถามจากเพื่อนๆ ว่า "...ตอนนี้เป็นอะไรไปถึงได้สนใจเจ้าลีนุกซ์จนลืมเรื่องสรรหาเทคนิคการใช้โปรแกรมบนวินโดว์มานำเสนอเหมือนอย่างเคย?..." คำตอบของผมก็คือ เรื่องราวของลิขสิทธิ์ซอฟท์แวร์นี่แหละครับที่ทำให้ต้องดิ้นรนแสวงหา ตอนนี้คงได้ข่าวคราวการตามล้างตามเช็ดเก็บค่าลิขสิทธิ์จากร้านอินเทอร์เน็ตคาเฟ่และร้านเกมส์ทั้งหลายอย่างดุเดือด ทั้งจากเจ้าของลิขสิทธิ์เกมส์ และกลุ่มพันธมิตรธุรกิจซอฟท์แวร์ BSA ได้ข่าวเพิ่มเติมมาว่าตอนนี้กำลังรุกคืบเข้าตรวจในบริษัท ห้างร้านใหญ่ๆ แล้ว

ต่อไปก็อาจจะลามไปถึงสถานศึกษา เมื่อถึงเวลานั้นอะไรจะเกิดขึ้น? เหตุที่ต้องเตรียมการล่วงหน้าแต่เนิ่นๆ ก็เพราะผมคงต้องปรับเปลี่ยนระบบปฏิบัติการให้กับหน่วยงานให้มีสิทธิใช้งานอย่างถูกต้อง ประหยัดงบประมาณที่สุด ซึ่งหนทางที่ชัดเจนก็คือการใช้ลีนุกซ์นี่แหละ แต่กว่าจะถึงวันนั้นก็ต้องมีความพร้อมในการใช้งานเช่น งานเก่าๆ ต้องเอามาสานต่อได้ ผู้ใช้งานต้องมีความรู้สึกว่าตนเองยังทำงานได้ง่ายดายอย่างเดิม แม้จะขลุกขลักเพราะยังไม่เคยชินอยู่บ้าง และต้องใช้เวลาน้อยที่สุดในการที่จะเข้าใจและใช้งานได้ถูกต้อง ผมกำลังฝันไปหรือเปล่า?

การที่จะทำให้เกิดผลดังกล่าว ผมก็ต้องเอาตัวเองนี่แหละเป็นหนูทดลอง เพราะว่ายังไม่เคยใช้งานมาก่อนเหมือนกัน การพิสูจน์เรียนรู้ที่จะใช้มันจึงเกิดขึ้น ณ ปีใหม่ 2545 นี่ไงครับ !!!

clockทำไมจึงต้องเป็นลีนุกซ์?

เหตุผลที่ต้องใช้ลีนุกซ์ ก็เพราะมันเป็นของฟรีที่ใครๆ ก็ใช้ได้ เป็นลิขสิทธิ์แบบเปิด Open Source เพื่อให้เข้าใจกันง่ายๆ ผมเลยยกเอารายละเอียดจากเว็บไซต์ http://thaiopensource.org/ มาให้อ่านกันตรงนี้เลยครับ

Open Source: ซอฟต์แวร์แห่งอนาคต

ซอฟต์แวร์ต้นรหัสเปิด (Open Source) คือ วิถีทางใหม่แห่งการพัฒนาซอฟต์แวร์ โดยวางอยู่บนแนวคิด ที่อาศัยความร่วมมือของนักพัฒนาทั่วโลก เพื่อสร้างซอฟต์แวร์ที่ดีกว่า และเป็นสิทธิของทุกๆ คนร่วมกันอย่างแท้จริง

โครงการซอฟต์แวร์ต้นรหัสเปิด (Open Source Software Project) ของศูนย์เทคโนโลยีอิเล็กทรอนิกส์และคอมพิวเตอร์แห่งชาติ (NECTEC) มีเป้าหมาย เพื่อสนับสนุนการใช้ และ การพัฒนาซอฟต์แวร์ Open Source ทั้งนี้ได้มีการพัฒนา ซอฟต์แวร์พื้นฐาน เช่น Linux ให้มีการใช้ภาษาไทยได้ถูกต้อง อีกทั้ง มีบริการให้ความรู้ และสนับสนุนผู้สนใจในการพัฒนาซอฟต์แวร์ Open Source

clockทำไมจึงต้องเป็น Open Source ?

มันก็เหมือนกับเวลาที่คุณอยากจะอ่านหนังสือสักเล่มหนึ่ง ถ้าคุณได้มันมาฟรี ๆ ก็ดี แต่คุณก็ทำได้แค่อ่านมันตามที่เขาพิมพ์มาเท่านั้น ถ้าคุณสามารถถ่ายเอกสารแจกเพื่อนได้โดยไม่ผิดกฎหมายก็ยิ่งดีขึ้นไปอีก แต่ถ้าคุณได้ไฟล์ต้นฉบับมาเลยล่ะก็ดีที่สุด เพราะคุณอยากจะพิมพ์มันออกมาเท่าไหร่ก็ได้ จะจัดหน้ามันอย่างไรก็ได้ และอยากจะแก้ไขหน้าตาหรือเนื้อหามันอย่างไรก็ได้ แนวคิดอย่างนั้นแหละคือ Open Source

บริษัทใหญ่ ๆ กำลังหันมาทำธุรกิจกับ Open Source กันเป็นการใหญ่เพราะมันเป็นหนทางเดียวที่จะพัฒนาซอฟต์แวร์ได้อย่างรวดเร็วและทนทานได้ตามความต้องการของตลาดที่ก้าวหน้าไปอย่างรวดเร็ว Linux เป็นตัวอย่างที่ดีสุดของซอฟต์แวร์ที่ผ่านการ Open Source มาเป็นระยะเวลานานจนมีความทนทานและความรวดเร็วในการพัฒนาที่สูงมาก อีกตัวอย่างคือโปรแกรมอินเทอร์เน็ตไคลเอ็นต์ที่คนใช้กันมากที่สุดโปรแกรมหนึ่งคือ Netscape Communicator ซึ่งกำลังพัฒนาแบบ Open Source ในเวอร์ชัน 5.0 และจะพร้อมที่จะออกในต้นปีหน้า สิ่งที่คุณจะได้รับคือเบราส์เซอร์ เมล์และอินเทอร์เน็ตไคลเอ็นต์อื่น ๆ ที่มีความสามารถเกินกว่าที่คุณจะคาดได้

ทำไมบริษัทใหญ่ ๆ ต้องหันมา Open Source ทั้ง ๆ ที่ซอร์สโค้ดน่าจะเป็นเพชรในมงกุฎของบริษัทเลยทีเดียว การเปิดซอร์สออกมาไม่เป็นการทุบหม้อข้าวของบริษัทไปเลยหรือ เมื่อมองในแง่มุมนี้แล้ว Open Source จะต้องมีคุณค่ามากกว่าที่เราคิดแน่ๆ

clockอะไรคือ Open Source ?

หลักการของ Open Source นั้นง่ายมาก

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

และข้อสองนี้คือที่มาของคำว่า Open Source และเป็นจุดใหญ่ที่เรามักจะใช้ตัดสินว่าซอฟต์แวร์อะไรที่ Open Source นั่นคือซอฟต์แวร์ที่เปิดเผยซอร์สโค้ดออกมาให้สาธารณชนได้สัมผัสด้วย แต่จุดประสงค์หลักของการ Open Source ก็เพื่อที่ว่าทุกคนจะได้มีโอกาสที่จะสามารถแก้ไขมันได้ตามความต้องการ

clockแล้วมันจะมีประโยชน์อะไร? ถ้าคุณไม่ได้คิดที่จะแก้ไขโปรแกรมนั้น

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

คุณไม่มีสิทธิที่จะกุมชะตาชีวิตของคุณเลย ทั้ง ๆ ที่มันเป็นซอฟต์แวร์ของคุณ

Open Source เป็นโอกาสที่จะเปลี่ยนวิถีชีวิตของพวกเรา ถ้าซอฟต์แวร์นั้นมีบั๊ก มีโอกาสเป็นอย่างยิ่งว่ามันจะสร้างความรำคาญให้ใครสักคนหนึ่งจนทำให้เขาต้องลงมือจัดการกับมันจนได้ ซึ่งเขาทำได้เพราะเขาสามารถหาซอร์สโค้ดของโปรแกรมมาแล้วแก้ไขบั๊กได้ตามที่เขาต้องการ แล้วเขาก็จะแบ่งปันเวอร์ชันที่เขาแก้ไขแล้วให้ทุกคนใช้ แล้วบั๊กก็จะหายไปบั๊กหนึ่ง เมื่อเหตุการณ์วนเวียนไปอย่างนี้เรื่อย ๆ บั๊กในโปรแกรมก็จะเหลือน้อยลง ๆ ทุกทีจนอาจจะหมดไปได้ในที่สุด

แต่อาจจะมีบางคนที่แม้โปรแกรมจะไม่มีบั๊กแต่เขาอยากให้โปรแกรมทำอะไรที่ต่างไปจากเดิม หรือมากไปจากเดิม บางสิ่งที่เพิ่มประโยชน์ให้กับโปรแกรม อย่างน้อยก็สำหรับเขา เช่นเดียวกับคนแรก ความรู้สึกนี้จะทำให้เขาต้องจัดการกับโปรแกรมซึ่งเขาก็ทำได้เพราะเขามีซอร์สโค้ดของโปรแกรม เมื่อได้ความสามารถใหม่ เขาก็ใจดีพอที่จะแบ่งปันเวอร์ชันใหม่ของเขาให้ทุกคนใช้ แล้วโปรแกรมก็จะมีความสามารถมากขึ้น ๆ โดยที่ไม่ต้องรอให้เจ้าของโปรแกรมเป็นคนแก้ให้แต่เพียงผู้เดียว เรียกว่าซอฟต์แวร์ Open Source จะมีวิวัฒนาการของตัวมันเองไปเรื่อย ๆ

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

clockแต่ทำไม? เขาต้องแบ่งปันเวอร์ชันใหม่ของเขาให้คุณด้วย

ประการแรกเพราะมันเป็นประเพณี เพราะเขาก็ได้รับน้ำใจในลักษณะเดียวกันนี้จากโปรแกรมเมอร์คนอื่น ๆ การแก้ไขโปรแกรมที่เขาเองใช้ให้ดีขึ้นแล้วแจกจ่ายออกไปก็เป็นวิธีทดแทนน้ำใจที่โปรแกรมเมอร์คนอื่น ๆ เคยทำมาแล้วในอดีต

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

clockแล้วฉันจะได้ประโยชน์อะไร ?

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

บางคนอาจจะไม่ทราบว่าการก้อปปี้ซอฟต์แวร์ปิดให้เพื่อนหรือแม้แต่คนในครอบครัวเป็นสิ่งที่ผิดกฎหมาย ไม่ต้องพูดถึงความพยายามที่จะแจกมันต่อไปเลย เพราะสิ่งที่เขาให้คุณไม่ใช่ซอฟต์แวร์ แต่เป็นสิทธิ์ในการใช้ซอฟต์แวร์ ตัวซอฟต์แวร์นั้นยังคงเป็นของบริษัทอยู่ คุณจะมีสิทธิ์ก็แต่เพียงใช้มันเท่านั้น บริษัทอนุญาตให้คุณทำได้แค่นั้น ห้ามทำอย่างอื่นอีก คุณคงเคยเห็น License หรือ End user license agreement ยาวๆ ที่มากับซอฟต์แวร์ทั่วไปแล้ว ลองอ่านมันดูทีละบรรทัดแล้วคุณจะได้รู้ว่ามันน่ากลัวสักแค่ไหน โดยเฉพาะคำขู่ที่เกี่ยวกับการดำเนินการทางกฎหมายขั้นสูงสุด

clockคุณเป็นอาชญากรไปแล้วหรือ ?

บริษัทซอฟต์แวร์ปิดจะเรียกคุณอย่างนั้นถ้าคุณละเมิดสิทธิของเขา คุณอาจจะเคยได้ยินข่าวที่เด็กมัธยมถูกฟ้องเพราะใช้ซอฟต์แวร์ที่ไม่ถูกต้องตามลิขสิทธิ์แล้วเผลอไปลงทะเบียนซอฟต์แวร์ทางอินเทอร์เน็ต แล้วคุณล่ะ ซอฟต์แวร์ที่คุณใช้อยู่ถูกต้องตามกฎหมายหรือเปล่า

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

clockคุณภาพของซอฟต์แวร์ก็จะดีขึ้นด้วย ?

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

แล้วขั้นตอนในการพัฒนาโปรแกรมก่อนจะรีลีสจะมีเวลาอยู่สักเท่าไหร่? แน่นอนเวลานั้นมีจำกัด ฉะนั้นบั๊กก็ไม่มีทางหมด ไม่ทันไรก็ต้องออกเวอร์ชันใหม่แล้ว ออกเวอร์ชันใหม่ไม่ทันไหร่คู่แข่งออกเวอร์ชันใหม่ก็ต้องออกเวอร์ชันใหม่แข่งกับเขาอีก

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

  1. คนใช้เป็นคนละคนกับคนเขียน
  2. คนที่เห็นซอร์สโค้ดมีจำนวนจำกัด
  3. เวลาที่ใช้พัฒนามีจำกัด

ถ้าเป็นซอฟต์แวร์ Open Source ความสามารถที่เพิ่มเข้าไปในซอฟต์แวร์เป็นสิ่งที่มาจากผู้ใช้จริง ๆ เพราะผู้ใช้นั่นแหละเป็นผู้พัฒนาโปรแกรม ไม่มีโอกาสที่ฟีเจอร์ที่แฟนซีแต่ไม่มีประโยชน์จะได้ย่างเข้าไปในโปรแกรมเพราะไม่มีใครต้องการฟีเจอร์นั้น ผิดกับบริษัทซอฟต์แวร์ปิดที่ฟีเจอร์ในโปรแกรมเกิดจากสิ่งที่ฝ่ายการตลาดคิดว่าน่าจะทำให้โปรแกรมขายดี

ซอร์สโค้ดของโปรแกรมยิ่งมีคนเห็นมากก็ยิ่งดี นี่เป็นแนวคิดของ Open Source เพราะยิ่งมีคนเห็นมาก โอกาสที่จะมีคนพบบั๊กก็ยิ่งมาก นึกภาพผู้ใช้คนหนึ่งซึ่งบังเอิญเป็นโปรแกรมเมอร์ ใช้โปรแกรมหนึ่งซึ่งเป็นซอฟต์แวร์ปิด เมื่อเจอบั๊ก สิ่งเดียวที่เขาทำได้ก็คือรายงานไปที่บริษัทที่ผลิตซอฟต์แวร์และภาวนาว่าบริษัทจะสนใจที่จะแก้ไขให้ แต่ถ้าเป็นซอฟต์แวร์ Open Source สิ่งที่เขาจะทำก็คือไปเปิดดูซอร์สโค้ดแล้วหาว่าโปรแกรมมันผิดตรงไหน เพราะบั๊กอันนั้นมันขวางทางการทำงานของเขาอยู่ ทำให้เขาทำงานต่อไปไม่ได้ เขาต้องทำอะไรสักอย่างกับมัน ถ้าเป็นซอฟต์แวร์ปิดเขาคงต้องเลี่ยงไปทำวิธีอื่นหรือเลี่ยงไปใช้โปรแกรมอื่น แต่ถ้าเป็นซอฟต์แวร์ Open Source เขาสามารถที่จะแก้ไขมันด้วยตัวเองได้

ภาพที่จินตนาการไปเมื่อครู่เป็นสิ่งที่เกิดขึ้นเป็นเรื่องปรกติสำหรับ Open Source ตัวอย่างเช่นมีโปรแกรมเมอร์คนหนึ่งใช้โปรแกรมหนึ่งแล้วสโครลบาร์กลายเป็นสีดำไปหมดซึ่งเป็นข้อผิดพลาด สิ่งที่เขาทำก็คือเข้าไปอ่านดูในซอร์สโค้ดของโปรแกรมจนกระทั่งเจอบั๊กแล้วแก้ไขมันจนเรียบร้อยก่อนที่จะส่งไปให้ผู้ดูแลเพื่อเผยแพร่ให้ผู้อื่นต่อไป อีกกรณีหนึ่งคือโปรแกรมเมอร์อีกคนหนึ่งนั่งอ่านซอร์สโค้ดเพื่อจะเพิ่มความสามารถใหม่ไปเรื่อยๆ จนกระทั่งไปเจอบั๊กที่ยังไม่แสดงอาการออกมา เขาก็จัดการแก้บั๊กนั้นแล้วรายงานไปที่ผู้ดูแล ซอร์สโค้ดมันต้องมีข้อผิดพลาด แต่ยิ่งมีคนเห็นมากเท่าไหร่ความผิดพลาดก็ยิ่งสามารถตรวจพบได้ง่ายขึ้นทุกที

เพราะฉะนั้นซอฟต์แวร์ Open Source จะสามารถพัฒนาไปได้เร็วกว่า มีความสามารถที่ตรงความต้องการมากกว่า มีบั๊กน้อยกว่า น่าเชื่อถือมากกว่า นั่นคือมีคุณภาพมากกว่า

clockแล้วต่างคนต่างทำมันไม่เละไปเลยหรือ ?

มีคนอยู่คนหนึ่งหรือกลุ่มหนึ่งที่มีหน้าที่จัดการดูแลการทำงานของโครงการ Open Source โครงการหนึ่ง บางทีเราก็เรียกเขาว่าเจ้าของโครงการ แต่ถ้าจะเรียกอย่างถ่อมตัวก็จะเรียกว่าผู้ดูแล ปรกติแล้วคนอื่น ๆ ที่แก้ไขซอฟต์แวร์ Open Source จะไม่รีลีสซอฟต์แวรที่เขาปรับปรุงออกไปเอง แต่จะติดต่อกับผู้ดูแลเพื่อให้พิจารณาว่าสิ่งที่เขาแก้ไขนั้น เหมาะสมที่จะรวมเข้าไปในรีลีสอย่างเป็นทางการของโครงการหรือเปล่า กระบวนการพิจารณานี้อาจจะเป็นแบบกึ่งเผด็จการไปเลยก็ได้ถ้าเป็นโครงการเล็ก ๆ หรือผู้ดูแลได้รับการยอมรับมากพออย่าง Linus Torvald เจ้าของ Linux แต่บางทีก็อาจจะเป็นขั้นตอนประชาธิปไตยอย่างใน Apache Foundation

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

เพราะฉะนั้นโอกาสที่จะมีคนที่สองขึ้นมาแข่งก็เกิดขึ้นได้ยาก เพราะมันเป็นการยากที่โครงการใหม่ที่ทำซอฟต์แวร์เดิมจะสร้างชื่อเสียงจนได้รับความยอมรับจากผู้ใช้ได้มากเท่ากับผู้ที่ทำมาก่อน เหมือนกับที่ผู้ใช้ที่ต้องการ Linux ก็คงจะหาจากผู้เผยแพร่ที่มีชื่อเสียงอย่าง RedHat, Slackware, Debian หรืออื่น ๆ มากกว่าผู้เผยแพร่ที่ไม่มีใครรู้จัก ระบบนี้เป็นวิธีกันประกันคุณภาพขั้นหนึ่งของซอฟต์แวร์ Open Source แต่แน่นอนผู้ดูแลจะต้องมีวิสัยทัศน์ มนุษย์สัมพันธ์ และความสามารถในการจัดการที่ดีพอ จึงจะสามารถประสานงานโปรแกรมเมอร์ฝูงใหญ่จากอินเทอร์เน็ต ให้มีความกระตือรือร้นที่จะสร้างผลงานไปในทิศทางที่เป็นประโยชน์ต่อผู้ใช้มากที่สุด

clockซอฟต์แวร์ Open Source ที่ไหนมี ?

ถ้าคุณคิดอย่างนั้นล่ะก็คิดใหม่ได้เลยเพราะถ้าคุณใช้อินเทอร์เน็ต สิ่งที่คุณใช้บ่อยที่สุดก็คือซอฟต์แวร์ Open Source ในอินเทอร์เน็ต Open Source อยู่ทุกหนทุกแห่ง จริง ๆ แล้วอินเทอร์เน็ตเป็นตัวอย่างที่สำคัญที่สุดของ Open Source โครงสร้างพื้นฐานทั้งหมดของอินเทอร์เน็ตเกิดจาก Open Source ไม่ว่าจะเป็นตัวเซิร์ฟเวอร์เองซึ่งมักจะเป็นยูนิกซ์ (BSD, Linux) หรือโปรแกรมเซิร์ฟเวอร์ต่าง ๆ ทุกครั้งที่คุณส่งเมล์ เมล์ของคุณต้องผ่านโปรแกรมที่สำคัญที่สุดคือ SendMail ซึ่งเป็นซอฟต์แวร์ Open Source ทุกครั้งที่คุณท่องเว็บ กว่าห้าสิบเปอร์เซ็นต์ คุณกำลังใช้เว็บเซิร์ฟเวอร์ชื่อ Apache ซึ่งเป็นซอฟต์แวร์ Open Source นอกจากนี้ยังรวมถึงโครงสร้างพื้นฐานอย่าง TCP/IP, DNS และภาษาที่คนทำเว็บชอบใช้อย่าง Perl ด้วย

clockทำไมอินเทอร์เน็ตถึงใช้ Open Source ?

ก็เป็นสาเหตุเดียวกับที่ทำไมคุณถึงควรจะใช้ซอฟต์แวร์ Open Source เพราะมันทนทานกว่ากันมาก สำหรับอินเทอร์เน็ตแล้ว ความทนทานเป็นสิ่งที่สำคัญมากที่สุด ลองคิดดูซิว่าทำไมอินเทอร์เน็ตซึ่งมีขนาดขยายขึ้นกว่าเดิมชนิดไม่เห็นฝุ่นยังคงทำงานอยู่ได้ ทำไมอินเทอร์เน็ตไม่ล่ม เพราะว่าซอฟต์แวร์ซึ่งเป็นโครงสร้างพื้นฐานของอินเทอร์เน็ตมีความทนทานมาก ลองนึกดูว่าจะเกิดอะไรขึ้นถ้าคุณส่งเมล์แล้วไปไม่ถึงผู้รับเพราะโปรแกรมที่ส่งต่อเมล์ตัวหนึ่งเกิดทำงานผิดพลาด จะเกิดความเสียหายขึ้นเพียงไหน

เพราะฉะนั้นซอฟต์แวร์สำหรับอินเทอร์เน็ตจะพังไม่ได้เลย ซึ่งไม่มีซอฟต์แวร์ตัวใดในโลกที่มีคุณสมบัติเช่นนี้นอกจากซอฟต์แวร์ Open Source ยิ่งเป็นซอฟต์แวร์ที่มีอายุมากเพียงไรก็จะยิ่งทนขึ้นเท่านั้นเพราะบั๊กได้ถูกแก้ไปจนหมดแล้ว อินเทอร์เน็ตเป็นอาณาบริเวณที่ซอฟต์แวร์ปิดไม่มีวันแข่งขันกับ Open Source ได้เลยเพราะความต้องการความทนทานอย่างสูงนี้เอง ตัวอย่างที่เห็นได้ชัดอีกอันหนึ่งก็คือระบบปฏิบัติการที่เป็นที่นิยมสำหรับอินเทอร์เน็ตเซิร์ฟเวอร์ก็คือยูนิกซ์ โดยเฉพาะยูนิกซ์ที่ Open Source อย่าง BSD และ Linux บางคนเล่าว่าเขาสามารถเปิดเซิร์ฟเวอร์ที่ใช้ BSD ทิ้งไว้เป็นเดือน ๆ ปี ๆ โดยที่ไม่ต้องบูตใหม่เลย ซึ่งเป็นสิ่งที่เป็นไปไม่ได้เลยสำหรับระบบปฏิบัติการบางตัวที่ทิ้งไว้ไม่เท่าไหร่ก็แฮงเสียแล้ว

clockจะทำยังไงถ้าไม่มีไมโครซอฟท์อีกต่อไป ?

จะเกิดอะไรขึ้นถ้าบริษัทไมโครซอฟท์เกิดล้มละลายขึ้นมา (ซึ่งเป็นสิ่งที่ไม่มีใครอยากให้เกิดขึ้นใช่ไหม?) ซอร์สโค้ดของวินโดว์สและออฟฟิศก็จะหายไปพร้อมกับบริษัทด้วย แล้วก็จะไม่มีใครพัฒนาโปรแกรมเหล่านี้อีกต่อไป ผู้ใช้โปรแกรมทั้งสองก็จะถูกทิ้งอยู่กับความมืดมน โปรแกรมทั้งสองจะเก่าและล้าหลังไปเรื่อย ๆ จนไม่มีใครใช้ยกเว้นผู้ใช้ที่ยังคงติดอยู่กับโปรแกรมทั้งสอง เป็นผู้ใช้ที่ไม่มีใครเหลียวแลอีกต่อไป

คุณอยากจะเป็นผู้ใช้กลุ่มนั้นไหม? ทำอย่างไรคุณถึงจะมั่นใจว่าคุณจะไม่มีวันตกอยู่ในสถานการณ์เช่นนั้น? และถ้าคุณเป็นบริษัทที่ธุรกิจทั้งหมดของคุณขึ้นอยู่กับโปรแกรมเหล่านั้นล่ะ เรื่องราวมันจะน่ากลัวสักเพียงใด

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

คราวนี้มาลองนึกกันดูว่าจะเป็นอย่างไรถ้าผู้พัฒนารายนั้นได้ให้ซอร์สโค้ดกับร้านค้าเอาไว้ (เช่นเป็นการตกลงซื้อซอฟต์แวร์ทั้งหมดรวมทั้งซอร์สโค้ดด้วย) ร้านค้าจะมีทางเลือกที่จะจ้างผู้พัฒนารายอื่นเพื่อพัฒนาโปรแกรมนั้นต่อไป โดยที่ยังรักษาข้อมูลของร้านไว้ได้ นี่เป็นตัวอย่างที่แสดงให้เห็นถึงมูลค่าของซอร์สโค้ดว่ามีมากกว่าคุณค่าที่เราใช้ตัวโปรแกรมของมันเท่านั้น ถ้าเอกสารทั้งหมดของคุณเก็บด้วยไมโครซอฟท์เวิร์ดแล้วไม่มีไมโครซอฟท์เวิร์ดอีกต่อไป (เช่นไมโครซอฟท์เลิกพัฒนาเวิร์ด) ชีวิตคุณจะเป็นอย่างไร? ถ้าพิจารณาดูจะเห็นว่าชีวิตของเราทุกวันนี้ขึ้นอยู่กับซอฟต์แวร์ปิดมากแค่ไหน ทางออกของเราก็คือหันมาใช้ซอฟต์แวร์ Open Source ให้มากขึ้น

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

clock Open Source ความเคลื่อนไหวที่ใกล้เข้ามา?

Open Source เป็นแนวทางที่วงการคอมพิวเตอร์ดำเนินกันมานานแล้ว และจะยังคงรักษาเส้นทางนี้อีกต่อไป ในระยะสั้น คุณจะเห็นคำว่า Open Source บ่อยขึ้น คุณจะได้สัมผัสกับซอฟต์แวร์ Open Source ในเครื่องของคุณอย่าง Netscape Communicator 5.0, Linux, X Windows หรือ KOffice ที่ผ่านมาคุณได้เห็นบริษัทใหญ่ ๆ อย่าง IBM, Sun (พัฒนาโปรแกรมชุด Pladao แจกฟรี) ปัจจุบันคือ OpenOffice.org หรือ Netscape หันมา Open Source และแจกฟรีโปรแกรมของตน ต่อไปคุณจะได้เห็นบริษัทใหญ่ ๆ ทำอย่างนี้มากขึ้น ไม่ว่าจะเป็น Intel, HP หรือแม้แต่ไมโครซอฟท์เองก็ตาม คุณจะมีซอฟต์แวร์ Open Source ใช้มากขึ้น และคุณจะไม่ต้องตกอยู่ในวังวนของซอฟต์แวร์ปิดเช่นเดิมอีกต่อไป

มาถึงบรรทัดนี้ คงพอจะได้รับคำตอบแล้วว่า ทำไม? ผมถึงได้ทุ่มเทที่จะเรียนรู้กับมันอย่างมากมายขนาดนี้ คุณสามารถเข้าไปอ่านรายละเอียดเพิ่มเติมได้อีกที่ http://thaiopensource.org/

Back to webmaster talk

 

red line
Home | What's new? | Basic HTML | Reviews Programs | Tip&Tricks | Download | Site Map
red line