Oz’s Blog

เมษายน 23, 2007

Open Source Software กับ ชีวิตของผม : Part II

Filed under: Expinion — siroz @ 6:32 pm

สวัสดีครับ
ต่อเนื่องจาก Entry ที่แล้ว นะครับ … ทิ้งระยะห่างนานเป็นชาติเ้ลย
ใครไม่เคยอ่านตอนแรก กลับไปอ่านก่อนละกันนะครับ

หมวก “software architect” เรียกได้ว่า เป็นหมวกใบที่คลุมเครือ และไม่ชัดเจนที่สุดแล้วในบรรดาบทบาททั้งหลาย ในการพัฒนาซอฟต์แวร์
อาจจะเ้ป็นเพราะว่า หลายๆ ครั้ง การกำหนดบทบาทและหน้าที่นั้น ทำมาอย่างหลวมๆ เช่น programmer/developer มีหน้าที่เขียนโปรแกรม … SA/designer มีหน้าที่รับผิดชอบในการออกแบบ (ซึ่งส่วนใหญ่ ถูกกำหนดให้เป็นการทำงานกับ document) ฯลฯ
เลยทำให้มีงานหลายๆ อย่างที่ไม่มีผู้รับผิดชอบโดยตรง
ประจวบเหมาะกับ ความเข้าใจในหน้าที่ของ software architect ที่มักจะไม่ค่อยชัดเจน .. หน้าที่เหล่านี้ บางทีจึงกลายเป็นตกอยู่กับ software architect ซะ

แง่มุมหนึ่งที่สำคัญ ของงาน software architect คือ ภาพรวมของการออกแบบซอฟต์แวร์ เรียกได้ว่า เป็นการกำหนดทิศทางของการออกแบบทั้งหมดก็ว่าได้
ซึ่ง ในปัจจุบันนี้ ปฏิเสธไม่ได้เลยว่า การออกแบบซอฟต์แวร์นั้น มักจะพัวพันกับ solutionในเชิง technology อย่างหลีกเลี่ยงไม่ได้
ไม่ว่า solution นั้นจะเป็น solution จาก vendor เจ้าใดเจ้าหนึ่ง จากการประยุกต์รวม solution ของ vendor หลายๆ เจ้า และที่ขาดไม่ได้เลย ณ ปัจจุบันนี้ คือ การใช้ solution ที่มีการใช้งาน open source product
โดย open source product ที่ว่านี้ อาจจะอยู่ในรูปแบบของ library, utility หรือแม้แต่ framework

คำขอ ที่ผมมักจะเจอบ่อยๆ ในการเลือก solution สำหรับงาน software คือ … ใช้ open source ได้มั้ย จะได้ไม่ต้อง เสียเงินซื้อ product
ซึ่งคำขอ แบบนี้เป็นเรื่องที่ไม่แปลกเลย สำหรับปัจจุบันนี้ เพราะว่า ความนิยม และความเชื่อถือที่มีต่อ open source software นั้นสูงกว่าเมื่อหลายปีก่อน ที่คนทั่วไป มักจะมองว่า open source software นั้น เหมือนเป็นอะไรที่ทำกันเล่นๆ ไม่มีความแน่นอน
ปัจจุบันนี้ เราจะเห็นได้ว่า มี open source product จำนวนมาก ที่สามารถ ยืนยันได้อย่างออกหน้าออกตาว่า มีการนำไปใช้งานจริง ในองค์กรใหญ่ๆ ในงานที่เป็น mission critical
ดังนั้น จึงไม่แปลกเลยที่ ใครๆ ก็ให้ความสนใจจะใช้ open source product กับงาน software development ของตัวเอง

แต่ประเด็นหนึ่ง ที่คนมักจะมองข้ามไปคือ TCO หรือ Total Cost of Ownership ซึ่งก็คือ ค่าใช้จ่ายทั้งหมด ในการซื้ออะไรซักอย่างนึงมาใช้
ซึ่ง TCO นี้ จะเอามาใช้ในการวัดความคุ้มค่าของการลงทุน โดยเทียบว่าต้องลงทุนทั้งหมดเท่าไหร่ คุ้มค่ากับผลตอบแทนที่ได้กลับมามากน้อยแค่ไหน
การซื้อ software ตัวใดตัวหนึ่งมาใช้นั้น จริงๆ แล้ว ไม่ได้มีแค่ราคาที่เราจ่ายไปตอนซื้อเท่านั้น แต่ยังต้องรวมไปถึงค่าใช้จ่ายอื่นๆ อีก เช่น ค่าบริการที่ vendor อาจจะคิดเป็นรายปี ค่าใช้จ่ายในการฝึกอบรมผู้ใช้ (ในกรณีของ software development คือ ต้อง train developer และคนอื่นๆ ใน project ที่ต้องใช้งาน product นั้นๆ) ฯลฯ
ดังนั้น เวลาที่เราพิจารณา TCO ของการซื้อซอฟต์แวร์มาใช้งานนั้น แค่ราคาที่ต้องซื้อ อย่างเดียวคงไม่พอ

ในลักษณะเดียวกัน การนำ open source product มาใช้นั้น ดูเหมือนว่า จะไม่มีค่าใช้จ่ายอะไรเลย
แต่ว่า ยังมีค่าใช้จ่ายอื่นๆ ที่คนทั่วไปอาจจะมองไม่เห็นอีก เช่น เวลาที่ต้องใช้ในการเรียนรู้ การที่จะต้องเตรียมวางแผนในการ support การใช้งานเอง เช่น การแก้ code ในบางส่วน หรือ การแก้ไข defect ในกรณีที่พบ defect ที่ต้องแก้ไขเร่งด่วน
ซึ่ง ก็มีผู้ให้บริการบางเจ้าที่มี บริการทั้งในด้านของ support, consulting และ training สำหรับ open source product
ซึ่งก็มีทั้งผู้ริเิริ่มโครงการ open source เป็นผู้ให้บริการเอง และ คนอื่นที่ไม่ได้เป็นส่วนหนึ่งของ open source project นั้นโดยตรง เป็นผู้ให้บริการ (กรณีหลังนี้ ส่วนใหญ่จะเห็น เป็นรายย่อยๆ เสียมากกว่า)

ไปๆ มาๆ ยาวซะแล้ว
ไว้ต่อตอนต่อไปครั้งหน้าละกันนะครับ

18:28 นาฬิกา
23 เมษายน 2550

13 ความเห็น »

  1. กว่าจะได้อ่านนี่อีกครึ่งปีไหมเนี้ยะ ??
    จริง ๆ หน้าที่ด้านไอทีของไทยมันก็เหลื่อม ๆ กันมาตั้งแต่ไหนแต่ไรอยู่แล้วนิครับ ไม่ว่าจะ SA, Programmer, หือ Software Architect องค์กรส่วนใหญ่ของไทย โดยเฉพาะขนาดเล็ก ยังไม่เห็นความสำคัญขนาดว่าต้องแยกอะไรพวกนี้ออกมาเลย เพราะว่างานของเราส่วนใหญ่ยังไม่ใช่ mass product เป็นโปรดัก ที่ customize ตาม ความต้องการ ก็เลยมั่ว ๆ รวมกันไปได้ก่อน เอ๊ะ มันเกี่ยวกะหัวข้อตรงไหนเนีย้ะ ??

    ความเห็น โดย dto — เมษายน 23, 2007 @ 8:44 pm

  2. รอฟังๆ

    ความเห็น โดย :-) — เมษายน 24, 2007 @ 12:12 am

  3. ถ้า มี process ที่ชัดเจน … หน้าที่ย่อมชัดเจนครับ
    แต่นี่ process ไม่มีเลย … ใครอยากทำอะไร ก็ทำไป ให้งานมันเสร็จละกัน
    ก็เลยกลายเป็นต้องหวังพึ่ง hero อยู่เสมอ (hero แปลเป็นไทยง่ายๆ ว่า คนเช็ดขี้ น่ะแหละ)

    ไ้ม่ต้องรอนานครับ … รับรอง … ไม่เกินปีหน้า มาเขียนต่อแน่นอน อิอิ

    ความเห็น โดย siroz — เมษายน 24, 2007 @ 11:02 am

  4. เห็นด้วยครับ คนที่จะเป็น Software Architecture ได้ต้องมีสกิลอย่างนึง คือสกิลที่จะไม่นำพาตัวเองลงลึกในเรื่องอะไรจนเกินไป ต้องดึงตัวเองออกมาดูภาพรวมเพื่อกำหนดทิศทางสถาปัตยกรรมทั้งหมดให้ได้

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

    ความเห็น โดย deans4j — เมษายน 24, 2007 @ 3:37 pm

  5. การคิด TCO มันขึ้นอยู่กับ criteria ที่ตั้งครับ … เช่น ระยะ่เวลาว่าจะครอบคลุมกี่ปี จะคิดรวมอะไรบ้าง (ค่า product, ค่า training, ค่า consulting)
    Vendor ที่มี roadmap ของ product ชัดเจน ว่าจะ upgrade ทุกๆ กี่เดือน กี่ปี จะมี release ใหม่เมื่อไหร่ plan จะ support อะไรบ้าง จะได้เปรียบกว่า เพราะ ค่าใช้จ่ายในส่วนที่ต้องเผื่อไว้รองรับ “ความเสี่ยง” จะน้อยกว่า
    ในขณะที่ open source product อาจจะไม่มีความชัดเจน ใน commitment ตรงนี้ (เำพราะใน license ส่วนใหญ่ของ open source ระบุไว้ชัดเจนว่า “as is” ไม่สัญญาอะไรทั้งสิ้น) จึงอาจจะต้องเผื่องบประมาณไว้สำหรับ ความเสี่ยงตรงนี้ เช่น ค่า consulting ที่ไม่รู้ว่าจะสูงขึ้นมากน้อยแค่ไหน (เพราะไม่รู้ว่า product ที่ว่านี้ ต่อไปมันจะ “ตาย” จนหาใครมา support ได้หรือเปล่า)

    หรือ แม้แต่ ค่า support ทั่วๆ ไปเนี่ย ของ open source product บางตัว ก็แพงกว่า commercial product เสียอีก
    เคยมีคนโพสท์ข้อมูลใน TheServerSide.com ว่า สำหรับ production site ขนาดกลางๆ ค่า support ของ J2EE server ที่เป็น open source เจ้าหนึ่ง (เจ้าที่ดังๆ น่ะ)
    แพงกว่า การซื้อ product พร้อม support ของ vendor ที่มีชื่อเป็นอักษรย่อสามตัว (ทั้งสองเจ้า) เสียอีก
    อันนี้ จริงเท็จ ยังไง ไม่แน่ใจนะครับ แต่เท่าที่ดูมาจาก rate ของค่า support ในระดับที่ดีเท่ากับ vendor อื่นๆ .. ราคาของ open source vendor เจ้านี้ ก็สาหัสทีเดียว

    อ้าว ไปๆ มาๆ โม้ยาวอีกแล้ว … เก็บไว้เขียนตอนหน้าละกันนะครับ

    ความเห็น โดย siroz — เมษายน 24, 2007 @ 4:47 pm

  6. เจ้าที่มีคำว่า “หัวหน้า” ใช่ม่ะ ผมได้อ่านอยู่ : P

    ผมเลยบอกไงว่าถ้าองค์กรมีวุฒิภาวะพอ แล้วไม่ได้ทำอะไรที่เหนือฟ้า critical จัดๆ ซัพพอร์ตแบบธรรมดาก็น่าจะไหว

    พอแค่นี้ดีกว่า เดี๋ยวรออ่านตอนหน้าก่อนแล้วกัน : )

    ความเห็น โดย deans4j — เมษายน 24, 2007 @ 6:39 pm

  7. แหม … ใบ้กันเป็นคอลัมน์ ซุบซิบดาราเลยนะ อิอิ

    ความเห็น โดย siroz — เมษายน 25, 2007 @ 5:58 pm

  8. ได้ความรู้ครับ โกย ๆ🙂

    ความเห็น โดย idome — เมษายน 26, 2007 @ 3:20 pm

  9. ผมเดาไม่ได้อ่ะ ใบ้อีกหน่อยได้ไหมอ่ะ ??

    ความเห็น โดย dto — เมษายน 26, 2007 @ 3:55 pm

  10. คำใบ้เพิ่ม …
    “บอกว่า อย่าขอหมอลำ … บอกว่า อย่าขอหมอลำ”

    ความเห็น โดย siroz — เมษายน 30, 2007 @ 12:28 pm

  11. อย่าขอหมอลำจริงๆ ด้วยO_o คิดนานไหมเนี้ยะ

    ความเห็น โดย deans4j — พฤษภาคม 8, 2007 @ 7:45 am

  12. อิอิอิ

    ความเห็น โดย siroz — พฤษภาคม 8, 2007 @ 5:19 pm

  13. […] @ 5:15 pm สวัสดีครับ มาต่อจาก ตอนที่แล้ว (Open Source Software กับ ชีวิตของผม : Part II) นะครับ มาลุ้นกันว่า […]

    Pingback โดย Open Source Software กับ ชีวิตของผม : Part III « Oz’ Blog — พฤษภาคม 28, 2007 @ 10:39 pm


RSS feed for comments on this post. TrackBack URI

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s

บลอกที่ WordPress.com .

%d bloggers like this: