อ่าครับ วันนี้กลับมาเรื่องหนัก ๆ ดีกว่า เรื่องวันนี้จะมาว่าด้วยเรื่องของ
ทาส
เคยอ่านบน Thread ของ Linux.Thai.Net เมื่อนานมาแล้ว มีศจ.ท่านนึง (ศจ.ด้านกสิกรรม ที่หันมาเอาดีกับ Linux) แกพูดประมาณว่า ใช้ Windows ก็เป็นทาส MS ใช้ Redhat Linux ก็เป็นทาส Redhat (แล้วก็บอกให้ไปใช้ Slackware)
อ่านแล้วก็งง ไม่เข้าใจอ่ะครับ ผมซื้อของเค้ามาใช้ (ของแท้ก็มี ของปลอมก็มี) ถ้าผมไม่ใช้ผมก็เปลี่ยนไปใช้ของคนอื่นสิ ไม่เห็นยาก ไม่ต้องมานั่งรับใช้อะไรนี่ (หว่า) วันนี้ว่าง ๆ ก็เลยมานั่งคิด ๆ
มาว่ากันเรื่อง "ทาสของไมโครซอฟท์" กันก่อน สังเกตมั้ยครับ ถ้าเป็น user ธรรมดา พอจะใช้คอมเป็น บางทีอยากจะปรับโน่นปรับนี่ ก็จะมีติด เอ๊ะปรับไม่ได้ เช่น ถ้าคุณอยากจะเปลี่ยน ปุ่มสตาร์ทเขียว ๆ (ของ XP) เป็นปุ่มแบบอื่น (ผมก็จำวิธีไม่ได้อ่ะ) บางคนอาจจะต้องแก้ dll ไฟล์ บางคนอาจจะต้องแก้ xml (ซึ่งไฟล์ไหนก็ไม่รู้) บางคนรวยหน่อยอาจจะไปซื้อโปรแกรมแก้ Theme ที่ก็ไม่ค่อยจะสมบูรณ์มา ใช้ได้มั่งไม่ได้มั่ง ใช้แล้วเครื่องช้าลงมั่ง ก็ว่ากันไป คำถามคือ ทำไม MS ถึงไม่ทำให้มันปรับได้ตั้งแต่แรกเลยล่ะ คำตอบก็คือ MS อยากให้มีตรา Windows ในบริเวณที่คนต้องเข้าถึงบ่อยที่สุด จะได้จำ OS ของเขาได้ไงครับ
อันข้างบนคิด ๆ แล้วก็ไม่ค่อยเกี่ยวแฮะ เอาอันนี้ดีกว่า เมื่อตอนที่ Windows XP ออกมาใหม่ ๆ ทราบมั้ยครับว่า MS ยกเลิกการสนับสนุนฮาร์ดแวร์หลายตัว (โดยเฉพาะ Pentium ตัวแรกสุดที่ลงไม่ได้เลยล่ะ) เครื่องผมก็มีโดนหางเลขไปด้วย เป็นการ์ด SCSI ของ Adaptec ครับ ไม่มีไดร์เวอร์ เสียบคาไว้ได้แต่ใช้ไม่ได้อ่ะ อิอิ เป็นการบังคับให้ผู้ใช้ยกเลิกการใช้อุปกรณ์ตัวนี้ไปโดยปริยาย (โดยไม่ได้ใช้แส้ฟาด แล้วลนเทียนทับ) จริง ๆ ก็มีวิธีนะครับคือไปก๊อปไฟล์ driver จาก Win2000 มาใส่ก็จบ อิอิ
ถ้าเป็นทางโปรแกรมเมอร์นี่ หนักเลยครับ ทุก ๆ อย่างแทบจะถูก MS บังคับไว้ อย่างเช่น เมื่อคุณต้องการเขียนโปรแกรมบน Windows แน่นอนล่ะ คุณต้องใช้ Win32 ไม่ทางตรงก็ทางอ้อม จะใช้อย่างอื่นไม่ได้ เพราะว่า โปรแกรมเมอร์แทบจะไม่รู้อะไรเกี่ยวกับ Kernel ของ Windows (รู้แค่ว่าทำงานยังไงกับใช้ยังไง ไม่รู้ลึกถึงระดับการทำงานลึก ๆ ของมัน) จะทำ API ลัด win32 ไปที่ตัว Kernel โดยตรงน่ะทำไม่ได้ครับ ทำไมถึงไม่รู้น่ะเหรอ ก็ไม่เคยเห็น Source Code ของ Windows น่ะสิครับ แล้วรู้มั้ยครับเกิดอะไรขึ้น ? MS ไม่ได้ให้ API ทั้งหมดแก่โปรแกรมเมอร์นะครับ จะมี API บางตัวที่รู้กันภายในเฉพาะ MS เท่านั้น (ที่เรียกกันว่า Undocumented API) ซึ่งบางครั้งมันก็เหมาะสมกว่า API ที่ Publish ออกมา ทำให้โปรแกรมของ MS นั้นบางทีก็มีประสิทธิภาพเหนือคู่แข่ง
แต่ ถ้าถามว่า ทำไมถึงต้องทำแบบข้างบน จริง ๆ มันก็มีเหตุผลนะครับ อย่างเช่น สมมติ User มือบอน ไปปรับโน่นปรับนี่ แล้วผลปรากฎว่า Windows มีปัญหา แล้วก็มาโทษ MS ว่าทำงานออกมาไม่ดี (แล้วเผอิญศาลเมืองนอกจะเข้าข้างคนใช้มากกว่าคนทำ) MS ก็ซวย ก็เลยต้องมาปิดบางส่วนไม่ให้ใครมายุ่ง (นอกจากคนในที่ต้องรู้เกี่ยวกับ Software ของตัวมากกว่าอยู่แล้ว)
ดังนั้น สิ่งที่เค้าทำ ผมก็ไม่เห็นว่าเค้าจะผิดตรงไหน
มาเรื่องทาสของ Redhat สำหรับคนใช้ Linux มาก่อนจะรู้ว่า Distro ระดับใหญ่ยักษ์ เช่น Redhat นั้น มีจุดเด่นอยู่ที่การมี Application Support มาก แต่ก็ยังคงมีพื้นฐานมาจาก Linux
สิ่งนึงที่ Redhat ทำกับ Linux ของตนคือ การสร้าง Application Package (ถ้าใครไม่ทราบ ก็คล้าย ๆ กับ MSI ของ Windows น่ะครับ) ที่ชื่อว่า RPM ซึ่งถือว่าเป็นจุดเด่นเหนือคู่แข่งตรงที่ใช้งานได้ง่าย (แต่ต้องบอกว่าปัจจุบัน Application Package ของหลาย ๆ ค่ายก็พัฒนาขึ้นมาทัดเทียมแล้ว โดยเฉพาะอย่างยิ่ง deb ของ Debian) ตรงจุดนี้จะเห็นได้ว่า เมื่อมี RPM ขึ้นมา User ก็จะแสวงหา RPM ของโปรแกรมที่ตนต้องการ แทนที่จะมานั่ง Compile Code เอง จนกลายเป็นว่า App ไหนที่ต้องการจะรันบน Redhat ได้ก็ควรจะทำ RPM
แต่จุดนี้ไม่เหมือนกับ MS User ยังคงสามารถติดตั้งซอฟท์แวร์ของตนโดยการ Compile มันขึ้นมาเองครับ และยังคงสามารถเปิด Source Code ของซอฟท์แวร์นั้น ๆ ได้ (ตราบใดที่มัน Opensource)แล้วยังสามารถแก้ไขอะไรมันได้อีก แถมถ้าคุณเก่งหน่อยคุณอาจจะสร้าง RPM ของคุณเองได้ (โดยไม่ลำบากนัก)
อีกจุดนึงคือ Redhat ชอบแก้ไข Linux ของตนให้ต่างจากของชาวบ้าน (อาจจะปรับแต่ง Kernel หรืออื่นๆ ) ซึ่งอาจจะมีผลกระทบต่อ Application บางตัว แต่ตราบใดที่ Source Code ยังคงมีอยู่ก็ไม่มีปัญหาอะไรนี่ครับ ?
ศจ.ท่านนั้นไม่ได้ให้เหตุผลว่า ทำไมการใช้ Slackware นั้น ไม่ได้หมายถึงการเป็นทาสของ Slackware แต่ผมเดาเอาเองว่าเป็นเพราะ Slackware เป็น Distro ที่เป็น Source Based (ไม่มี Application Package ทุกอย่างต้องคอมไพล์เอง) ซึ่ง ถ้าดูจากจุดที่ต่างกันตรงนี้ ผมก็ไม่เห็นว่ามันจะมีความต่างเป็นนัยสำคัญอะไรเลยนี่นา ? แต่แกดูท่าจะติด Slackware มากขนาดโปรโมท Slackware กับ Distro ที่ Based on Slack ของแกอย่างเวอร์
ดูท่า แกจะเป็น ทาส ของ Slackware ไปแล้วล่ะกระมัง ?
ปล. ที่ผมสรุปอย่างนี้เพราะแกไม่เคยมีหลักฐานที่เป็นรูปธรรมออกมาให้สาธารณะชนรับรู้ มีแต่การบ่นด่า Nectec (ซึ่งก็ไม่ได้เกี่ยวอะไรมากนักกับ สังคม Linux เมืองไทย) กับ LTN ที่ไม่ได้เกี่ยวอะไรกับ Nectec มากนัก
พูดประมาณนี้ จะโดนฟ้องหมิ่นประมาทมั้ยนะ ?
ปล.2 พูดเรื่องที่ไม่เชี่ยวชาญที่ไม่ค่อยถนัดเลยครับ อาจจะจับความไม่ค่อยได้นะ อิอิ
^^'
edit @ 2005/04/27 23:14:44
edit @ 2005/08/11 23:58:58