วันอาทิตย์ที่ 4 พฤษภาคม พ.ศ. 2557

บันทึก : ปลาดาวออฟฟิศ


เคยคิดที่จะบันทึกเรื่องราวความทรงจำเกี่ยวกับ ปลาดาวออฟฟิศ ที่ผ่านมาในชีวิตไว้เมื่อนานมาแล้ว แต่ตอนนั้นไม่รู้ว่าจะเขียนไว้ที่ไหน ตอนนี้มี Blog แล้วเอาลงไว้ตรงนี้ละกัน

เรื่องราวที่จะเขียนต่อไปนี้เป็นเรื่องราวที่เกิดขึ้นเมื่อสิบห้าปีกว่าๆ ที่แล้ว


ครั้งแรกกับ StarOffice
1998 ตอนนั้น...หลังจากตัดสินใจไม่ย้ายถิ่นฐานไปอยู่ Redmond ตามคำเชิญของเพื่อนร่วมงาน (Program Manager) ที่สนิทกัน (วันนี้ตอนนี้ก็ยังสนิทกันอยู่ใน facebook) ก็ตัดสินใจทำอะไรเองที่ กทม. หลายอย่าง เช่น สอบ MCP ไปสิบสองใบ เพื่อสมัคร MS Solution Provider เอามาขาย MS-Office

จริงๆ เขาให้สองแค่สองสามใบเองแหละ แต่สอบแล้ว ติดลม สนุกดีเลยสอบไปเรื่อยๆ

ตอนปลายปี 1998 ได้งานมางานหนึ่ง เป็นงานทำ Telephony gateway เพื่อประมูลโครงการ TOT ใช้การ์ด Dialogic ต่อ E1 (ตอนนั้นลาก RG58 ระหว่างสองเครื่องกันเอง) โดยเพื่อนสองคน คนนึงคือ จุ๊บ (เสียชีวิตแล้ว) อีกคนคือ วีรธร สุดท้ายโครงการนี้ก็ยุติลงเนื่องจากค่าเงินบาทตอนนั้นทำให้ต้นทุนสูงมาก ผู้ยื่นประมูลเลยรวมตัวกันขอยกเลิกโครงการ (มีแบบนี้ด้วย) แต่การ์ด Dialogic ผมยังซื้อไว้การ์ดนึงนะ จำได้ว่า ราคาสองแสนบาท

วีรธร เป็นหนึ่งในคนออกแบบการ์ดภาษาไทย Monochrome iRC หนึ่งในทีมพัฒนา MS-DOS Thai edition ปัจจุบัน ยังทำงานด้วยกันกับผมอยู่

ระหว่างที่เราพัฒนาโครงการ TOT ผมได้ข่าวที่ทำให้หงุดหงิดใจ (ช่วงนั้นของแรง อารมณ์ร้อน) ว่า SUN Microsystem ได้เข้าซื้อกิจการ StarOffice แล้วทำมาปั๊มแผ่น CD แจกในไทย ที่หงุดหงิดไม่ใช่เรื่องแจก StarOffice แต่หงุดหงิดเพราะ มันใช้ภาษาไทยไม่ได้ จะแจกทำไม? หลังจากได้ติดตั้งและทดลองใช้

วีรธร ที่มีเพื่อน (ลาดกระบัง) อยู่ที่ SUN ตอนนั้น ก็บอกว่า เดี๋ยวผมลองคุยกับเพื่อนดูเผื่อสนใจทำภาษาไทย จะได้มาจ้างคุณป้อทำ ผมตอบไปว่า อ๊ะๆๆ ไม่ได้อยากทำนะ... แค่บ่นเฉยๆ

นั่นคือฉากแรกที่ได้รู้จักชื่อ StarOffice

เริ่มเปิดบริษัท Algorithms
เป็นการเปิดบริษัทด้วยความบังเอิญ เพราะต้องวางบิลเก็บเงินค่าพัฒนาโปรแกรมระบบขายตั๋วหนังกับ EGV พอเปิดแล้วโครงการมันทำคนเดียวไม่ไหว ต้องหาคนมาช่วย พอมีคนช่วยพื้นที่ทำงานมันก็น้อยลง เลยต้องย้ายไปอยู่ที่อื่น แล้วก็มาจบที่ Software Park ตอนปลายๆ ปี 1999

ตอนนั้น เบื่อหน่ายอะไรหลายอย่าง พยายามต่อสู้ให้บริษัทอยู่ให้ได้ รับงานทุกอย่างเป็นต้นว่า
  • ทำเกมภาษาไทย ไม่ได้แปลภาษาอังกฤษเป็นไทยนะครับ เขาแปลมาแล้ว แต่เขาจะเอา source code มาพัฒนาการแสดงผลให้เป็นภาษาไทย เกมแรกที่ทำคือ Pharaoh ตามมาจนครบ Series เลยคือ Cleopatra, Zues และ Prosidon จากนั้นก็มี Title อื่นๆ อีก สิบกว่า Title ได้มาก Title ละแสน ทำกัน Title ละสองเดือนบ้าง ยากหน่อยก็สามเดือน ต้องรอส่วนแบ่งจากยอดขาย ถ้าขายเกิน 5,000 กล่อง จะได้ส่วนแบ่งกล่องละ 30 บาท (มั๊งจำไม่ได้) และก็ไม่เคยได้ เพราะได้รับแจ้งตลอดว่า ขายไม่ถึง 5,000 กล่อง (จบข่าว)
  • ทำภาษาไทย PocketPC ปัญหาเยอะ เยอะมากๆ ก็ไม่เอาดีกว่า ชีวิตสั้น หนีเลย ใครชวนทำอะไรเกี่ยวกับไอ้นี่ ไม่เอาแล้ว มีคนมาขอซื้อ source code ก็ไม่ขาย แพงเท่าไรก็ไม่ขาย ลบทิ้งไปเลย เกลียดแม่ง...
    • แต่ตอนหลังใจอ่อน ตอน ปีเตอร์กวง (ควงมือถือ) ชวนทำภาษาไทยบน Motorola Q8 (ตอนนั้นคุณกวงอยู่ Motorola) ใจอ่อนเพราะทำกับทีมที่ Chicago และทำลงใน ROM Q8 จากโรงงานเลย แถมทำในระดับ Platform ด้วย คือทำ ภาษาไทย localization แบบเต็มรูปแบบ แน่นอนรวมถึง Keyboard hardware ภาษาไทย (Q8 มี keyboard แบบ Blackberry)
ส่วน EGV เลิกโครงการไป

ปี 2000 มีข่าวว่า SUN จะเปิดเผย source code StarOffice
ผมมีโอกาสพูดเปรยๆ กับ อาจารย์ รอม ตอนนั้นมี อาจารย์ สมนึก คีรีโต รวมวงสนทนาด้วย อาจารย์รอม สนใจอยากให้ทำแล้วแจกในวันเปิด Software Park อย่างเป็นทางการ 

ตอนนั้น SUN มีแต่ข่าวจะเปิดเผย source code เวป openoffice.org ยังไม่มีนะครับ 

มันต้องใช้เงินทุนพัฒนานะครับ อาจารย์รอมเลยอาสาเอาโครงการนี้ไปเผยแพร่กับองกรค์หรือใครที่สนใจ สนับสนุน สุดท้ายมาจบที่ SUN Microsystem Thailand แจ้งความจำนงว่าจะเป็นเจ้าภาพเอง

ผมจำได้ว่า เข้าไปที่ SUN ตอนนั้นอยู่ที่ตึก อับดุลราฮิม สามครั้ง ไปฟังรายละเอียดความต้องการ ไปส่งเอกสารที่ทำ และ ไปฟังการตัดสิน

ตอนนั้น SUN มี พี่สุธรรม พี่ศิริวัฒน์ และ อาร์ต (Bact' นั่นแหละ) เป็น contact point ได้แจ้งว่า มีบริษัทให้ความสนใจทำโครงการนี้ทั้งหมด 12 บริษัท (จ๊ากกกก นี่มันโครงการที่เราเสนออยากทำนะ) วิธีการตัดสินว่าใครจะได้ทำคือ ให้แต่ละบริษัทเขียนมาว่า ถ้าได้ทำจะทำอะไรกับ StarOffice บ้าง

ใครเขียนอะไร ผมไม่รู้ (จะรู้ได้ไง เขาไม่บอก) แต่ผมเอา Specification ของ Microsoft Office 97 Thai Edition มายำใส่จนครบเลย ก็ผมร่วมเขียน Spec Office 97 Thai Edition ในตอนนั้น มันเลยจำได้....หมด... ตอนนี้ก็ยังจำได้นะเฟ้ย...

แล้วผมก็ได้ทำ วันที่รู้ว่าได้ทำ ก็รู้ที่ตึก อับดุลราฮิมนั่นแหละ 

Multiple Platform
อีกเรื่องที่เร้าใจมากตอนนั้นคือ ผมและทีมต้องพัฒนา StarOffice บน 3 Platform คือ Solaris, Linux และ Windows 

ทีมพัฒนา
ต้องยอมรับอย่างหนึ่งว่า การหาทีมที่สามารถเขียน C++ โครงการขนาดใหญ่ ไม่ใช่เรื่องง่าย และสุดท้าย Code C++ ทั้งหมด ผมก็เป็นคนรับผิดชอบ ทีมที่เหลือช่วย Build, Setup, test, localization จัดการ font, graphics เป็นต้น

เครื่องที่ใช้
เรามีเครื่องจำกัด ผมใช้เครื่องคนเดียวทั้งหมด 4 เครื่อง มี Linux 1, Windows x2 และ Solaris (Sparc) ตอนนั้นห้องทำงาน ถ้าไม่เปิดแอร์ นี่เหงื่อหยด และก็เหงือหยดทุกวันเพราะหลัง 6 โมง Software park จะปิดแอร์!!!

เรามี Server อีกสามเครื่อง ซึ่งเป็นเครื่องเช่าทั้งสิ้น ไม่มีปัญญาซื้อ ไม่มีเงินเหลือพอที่จะซื้อ (เครื่อง Solaris ตอนนั้น SUN ให้ยืมมา)

เสนอค่าใช้จ่ายในการพัฒนา
ผมเป็นโปรแกรมเมอร์ (+นักดนตรี) ที่เผลอลืมตัวไปเป็นผู้ประกอบการ คิดราคาค่าใช้จ่ายในการพัฒนา ก็คิดว่า มันคือ OpenSource ตอนนั้นยังไม่ชัดเจนตัวเองเท่าไรว่า Opensource คืออะไร ก็ใช้วิธีคิดว่า มันคือ Contribution ก็น่าจะคิดค่าพัฒนาพอดีๆ กับใช้จ่าย เลยเอาค่าใช้จ่ายคูณเดือน แล้วแจ้ง SUN ไป (น่ารักแมะล่ะ)

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

ก่อนเริ่มงาน
พี่สุธรรม โทรมาบอกว่า มีนัดคุยกับ NECTEC เพื่อแจ้งให้ทราบว่าเราจะพัฒนา Office Thai เพราะตอนนั้น NECTEC มี Linux TLE เราไปคุยกันที่ตึกยิปซั่ม ได้เจออั้น กะเทพ ครั้งแรกที่นั่น

เริ่มพัฒนา 
ตอนได้ Code มา เป็นอาทิตย์แรกที่ OpenOffice.org เปิดตัว Code Build ไม่ผ่านเลยครับ ผมเลยกลายเป็นกลุ่มคนกลุ่มแรกๆ ที่ร่วมกันพยายาม Build เข้าใจว่า จริงๆ มัน build ผ่านแหละ แต่ Dev Team ที่ Humburg German commit ลง CVS ไม่สมบูรณ์ (อ้อ ตอนนั้นใช้ CVS ครับ)

ผมพยายาม Build อยู่เป็นเดือน พอ Windows ได้ Linux ก็ไม่รอด พอเอา Linux รอด โหดสุดก็ Solaris เพราะเครื่องที่ผมได้มาใช้เวลา Build 30++ ชั่วโมง ไม่นับถ้า Build failed นะครับ  (ผ่านมาได้ยังไง ยังนึกไม่ออกเลย)

พอ Build ออกมาได้ ก็พบว่า version ที่เราได้ code มาเป็น version ที่ OO.o ยังไม่ release คือ Bugs ตรีม นั่นแหละ 

ไม่ว่ากัน ผมทำหน้าที่ของผม จับยัด features ไทย อย่างเดียว มี code ใหม่ ก็จับ merge จำได้ละ มี Engineer ในทีมผมคนนึง คอยทำหน้าที่ merge อย่างเดียวเลย เรา merge มือนะครับ ผมจะ list ว่าผม touch file ไหน module ไหน แล้ว เข้าจะ fine merge จุดนั้นๆ ที่เหลือก็ replace ไป

ข้อดีของ OO.o คือมันเป็น Share library ผมทำ features ไทยที่เดียว มันจะใช้ได้ทุก application ย่อย อย่าง ตัดคำ ทำที่เดียว ใช้ได้ทุก app อันนี้ก็สะดวกไปอย่าง...

Release แรก
ตอนเรา Release แรก เรา Release ก่อนหรือหลัง OpenOffice.org วันนึงนี่แหละ ผมจำไม่ได้ แต่การ Release ใกล้กับ OO.o ตอนนั้น ไม่ใช่เรื่องดีเพราะ Code มันคนละ Code

คือ Code ของผมไม่ใช่ Code ล่าสุด เพราะผมต้อง build จาก code ที่อุดมไปด้วย Bug แล้วนำไป production คือปั๊ม CD นู่นนี่นั่นอย่างน้อยก็อาทิตย์สองอาทิตย์ ทำให้ version แรกของเรา Bug เต็มไปหมด

คาใจเรื่อง Opensource
ผมตั้งคำถามถามตัวเองตลอดในช่วงนั้น เครียดไปหมด และน่าจะเป็นเหตุผลหนึ่งที่ผมไม่อยากทำต่อคือ

โครงการนี้เป็นของ SUN ซึ่ง OpenOffice.org เป็น Dual-license ที่ SUN กำหนด เพราะเป็นของ SUN, SUN ซื้อ StarOffice มา หมายความว่า SUN จะทำอะไรกับมันก็ได้ จะ Close source จะ Open หรือจะลบทิ้ง แบบที่ผมลบ source code ทิ้งไปตลอดกาล หลาย projects ก็ได้ 

ปลาดาว ไม่ต่างอะไรกับ OpenOffice.org

แต่มักมีกระแสว่า Pladao ไม่ OpenSource 

ทัศนะคติผมกับวงการ Software ไทย ตอนนั้นเปลี่ยนไปเยอะครับ ผมว่าผมเป็นคนคุยไม่รู้เรื่องแล้วนะ ....แหม่...

ผมมักจะโดนด่าตาม Board ต่างๆ จนผมตั้งคำถามกับตัวเองตลอดเวลาช่วงนั้นว่า นี่ตกลงผมทำผิดพลาดมากใช่ไม๊ ที่ลุกขึ้นมาทำ Office Thai ตัวหนึ่ง จนโดนด่าขนาดนี้ ทำแล้วก็ไม่ได้ร่ำรวยเป็นเศษฐี ยังต้องหา Project อื่นทำต่อไป ต่อสู้ดิ้นรนต่อไป วันดีคืนดีไปเปรียบเทียบกับคนอื่นใกล้กัน เขาสบายกว่าเราอีก ยิ่งทุกข์

จนต้องหันหลังให้ เพราะมันทุกข์เกินไป... บนความไม่เข้าใจ จนป่วย ทั้งกายและใจ ถึงทุกวันนี้ 

1st OpenOffice.org Developer Conference
ผมไปรวมงาน OO.o DevConf  ครั้งที่หนึ่ง ที่ University of Humburg ในฐานะ Speaker ของ Session Thai Localisation เพื่อบอกให้ developer ของ SUN ที่ Humburg ทราบว่าเราพัฒนาภาษาไทย ยังไงตรงไหน code อยู่ไหน กรุณานำไปใส่ หรือประยุกต์ใช้ใน OpenOffice.org ด้วย 

ผลที่ได้ ผมไม่ได้ดูละเอียด แต่อย่างเรื่อง Sequence checking ภาษาไทยนี่มีสามอย่างให้เลือกเหมือนที่ผมเขียนไว้ใน Spec เลยคือแบบ 
  • เตือนเมื่อพิมพ์ Sequence ซ้ำ เช่น มี วรรณยุกต์แล้วพิมพ์วรรณยุกต์อีกตัว จะมีเสียงเตือน และไม่ทำอะไรต่อ
  • แทนที่ เช่นมีไม้เอกแล้ว พิมพ์ไม้โท ไม้โทจะแทนที่ไม้เอก, มีสระอุ แล้วพิมพ์สระอิ สระอุจะหายไป สระอิจะแทนที่
  • แบบไม่สนใจตรวจสอบ Sequence



พัฒนาต่อ
SUN ให้ทำ version 2 และ version 3 ของ ปลาดาวต่อ โดยในระหว่าง version 2 และ version 3 ผมได้มีโอกาสทำ SUN's Mad hatter ภาษาไทยด้วย
** Mad hatter เป็น Linux ของ SUN distro หนึ่ง
** Mad hatter เป็น code name ของ SUN's Java Desktop System


หันหลังให้ OpenOffice.org
ผมคิดเสนอว่า Software มันก็เหมือนเราวาดภาพลงบนผืนผ้าใบ มันต้องแน่วแน่ มันต้องมีจินตนาการ ต้องมีความเป็นเอกลักษณ์ และงดงาม 

ไม่ใช่สงคราม ไม่ใช่การต่อสู้ระหว่างใครกับใคร ถ้าจะต่อสู้ก็เป็นการต่อสู้กับตัวเอง 

ถ้ามันเป็นทุกข์ ผมจะเดินหนี 
ไม่มีเหตุผลอะไรที่จะทำให้ชีวิตเป็นทุกข์ 
แล้วมีเหตุผลอะไรที่ไปทำให้ชีวิตคนอื่นเป็นทุกข์

มีอะไรตั้งเยอะแยะที่ยังทำได้ และเป็นสุข บนโลก Software

ตกหล่นอะไร ค่อยเพิ่มเติมต่อนะครับ 

หมายเหตุ : ชื่อ ปลาดาว ออฟฟิศ อาร์ต (Bact') เป็นคนตั้ง มาจาก Star + ofFice (Fice ออกเสียง Fish) เลยเป็นปลาดาว :)



ไม่มีความคิดเห็น:

แสดงความคิดเห็น