หน่วยการเรียนรู้ที่ ๕ซอฟต์แวร์(Software)
กิจกรรมฝึกทักษะที่ควรเพิ่มให้นักเรียน
1. บอกความหมายและประเภทของซอฟแวร์ได้
ตอบ ซอฟต์แวร์ (software) หมายถึงชุดคำสั่งหรือโปรแกรมที่ใช้สั่งงานให้คอมพิวเตอร์ทำงาน ซอฟต์แวร์จึงหมายถึงลำดับขั้นตอนการทำงานที่เขียนขึ้นด้วยคำสั่งของคอมพิวเตอร์ คำสั่งเหล่านี้เรียงกันเป็นโปรแกรมคอมพิวเตอร์ จากที่ทราบมาแล้วว่าคอมพิวเตอร์ทำงานตามคำสั่ง การทำงานพื้นฐานเป็นเพียงการกระทำกับข้อมูลที่เป็นตัวเลขฐานสอง ซึ่งใช้แทนข้อมูลที่เป็นตัวเลข ตัวอักษร รูปภาพ หรือแม้แต่เป็นเสียงพูดก็ได้
ซอฟต์แวร์ได้เป็นสองประเภท คือ ซอฟต์แวร์ระบบ (system software) และซอฟต์แวร์ประยุกต์ (application software)
1.ซอฟต์แวร์ระบบ คือซอฟต์แวร์ที่บริษัทผู้ผลิตสร้างขึ้นมาเพื่อใช้จัดการกับระบบ หน้าที่การทำงานของซอฟต์แวร์ระบบคือดำเนินงานพื้นฐานต่าง ๆ ของระบบคอมพิวเตอร์ เช่น รับข้อมูลจากแผงแป้นอักขระแล้วแปลความหมายให้คอมพิวเตอร์เข้าใจ นำข้อมูลไปแสดงผลบนจอภาพหรือนำออกไปยังเครื่องพิมพ์ จัดการข้อมูลในระบบแฟ้มข้อมูลบนหน่วยความจำรอง
ซอฟต์แวระบบแบ่งออกเป็น
-ระบบปฏิบัติการ
ระบบปฎิบัติการหรือที่เรียกย่อ ๆ ว่า โอเอส (Operating System : OS) เป็นซอฟต์แวร์ใช้ในการดูแลระบบคอมพิวเตอร์ เครื่องคอมพิวเตอร์ทุกเครื่องจะต้องมีซอฟต์แวร์ระบบปฏิบัติการนี้ ระบบปฏิบัติการที่นิยมใช้กันมากและเป็นที่รู้จักกันดีเช่นดอส (Disk Operating System : DOS) วินโดวส์ (Windows) โอเอสทู (OS/2) ยูนิกซ์ (UNIX)
-ตัวแปลภาษา
ในการพัฒนาซอฟต์แวร์จำเป็นต้องมีซอฟต์แวร์ที่ใช้ในการแปลภาษาระดับสูง เพื่อแปลภาษาระดับสูงให้เป็นภาษาเครื่อง ภาษาระดับสูงมีหลายภาษา ภาษาระดับสูงเหล่านี้สร้างขึ้นเพื่อให้ผู้เขียนโปรแกรมเขียนชุดคำสั่งได้ง่าย เข้าใจได้ ตลอดจนถึงสามารถปรับปรุงแก้ไขซอฟต์แวร์ในภายหลังได้
ภาษาระดับสูงที่พัฒนาขึ้นมาทุกภาษาจะต้องมีตัวแปลภาษาสำหรับแปลภาษา ภาษาระดับสูงซึ่งเป็นที่รู้จักและนิยมกันมากในปัจจุบัน เช่น ภาษาปาสคาล ภาษาเบสิก ภาษาซี และภาษาโลโก
เมื่อเราเปิดเครื่องคอมพิวเตอร์ ทันทีที่มีการจ่ายกระแสไฟฟ้าให้กับคอมพิวเตอร์ คอมพิวเตอร์จะทำงานตามโปรแกรมทันที โปรแกรมแรกที่สั่งคอมพิวเตอร์ทำงานนี้เป็นซอฟต์แวร์ระบบ ซอฟต์แวร์ระบบอาจเก็บไว้ในรอม หรือในแผ่นจานแม่เหล็ก หากไม่มีซอฟต์แวร์ระบบ คอมพิวเตอร์จะทำงานไม่ได้
ซอฟต์แวร์ระบบยังใช้เป็นเครื่องมือในการพัฒนาซอฟต์แวร์อื่น ๆ และยังรวมไปถึงซอฟต์แวร์ที่ใช้ในการแปลภาษาต่าง ๆ
2.ซอฟต์แวร์ประยุกต์ เป็นซอฟต์แวร์ที่ใช้กับงานด้านต่าง ๆ ตามความต้องการของผู้ใช้ ที่สามารถนำมาใช้ประโยชน์ได้โดยตรง ปัจจุบันมีผู้พัฒนาซอฟต์แวร์ใช้งานทางด้านต่าง ๆ ออกจำหน่ายมาก การประยุกต์งานคอมพิวเตอร์จึงกว้างขวางและแพร่หลาย เราอาจแบ่งซอฟต์แวร์ประยุกต์ออกเป็นสองกลุ่มคือ ซอฟต์แวร์สำเร็จ และซอฟต์แวร์ที่พัฒนาขึ้นใช้งานเฉพาะ ซอฟต์แวร์สำเร็จในปัจจุบันมีมากมาย เช่น ซอฟต์แวร์ประมวลคำ ซอฟต์แวร์ตารางทำงาน ฯลฯ
ซอฟต์แวประยุกต์แบ่งออกเป็น
-ซอฟต์แวร์สำเร็จ
ในบรรดาซอฟต์แวร์ประยุกต์ที่มีใช้กันทั่วไป ซอฟต์แวร์สำเร็จ (package) เป็นซอฟต์แวร์ที่มีความนิยมใช้กันสูงมาก ซอฟต์แวร์สำเร็จเป็นซอฟต์แวร์ที่บริษัทพัฒนาขึ้น แล้วนำออกมาจำหน่าย เพื่อให้ผู้ใช้งานซื้อไปใช้ได้โดยตรง ไม่ต้องเสียเวลาในการพัฒนาซอฟต์แวร์อีก ซอฟต์แวร์สำเร็จที่มีจำหน่ายในท้องตลาดทั่วไป และเป็นที่นิยมของผู้ใช้มี 5 กลุ่มใหญ่ ได้แก่ ซอฟต์แวร์ประมวลคำ (word processing software) ซอฟต์แวร์ตารางทำงาน (spread sheet software) ซอฟต์แวร์จัดการฐานข้อมูล (data base management software) ซอฟต์แวร์นำเสนอ (presentation software) และซอฟต์แวร์สื่อสารข้อมูล (data communication software)
-ซอฟต์แวร์ใช้งานเฉพาะ
การประยุกต์ใช้งานด้วยซอฟต์แวร์สำเร็จมักจะเน้นการใช้งานทั่วไป แต่อาจจะนำมาประยุกต์โดยตรงกับงานทางธุรกิจบางอย่างไม่ได้ เช่นในกิจการธนาคาร มีการฝากถอนเงิน งานทางด้านบัญชี หรือในห้างสรรพสินค้าก็มีงานการขายสินค้า การออกใบเสร็จรับเงิน การควบคุมสินค้าคงคลัง ดังนั้นจึงต้องมีการพัฒนาซอฟต์แวร์ใช้งานเฉพาะสำหรับงานแต่ละประเภทให้ตรงกับความต้องการของผู้ใช้แต่ละราย
2.อธิบายภาษาคอมพิวเตอร์ได้
ตอบ ชนิดของภาษาคอมพิวเตอร์
ภาษาคอมพิวเตอร์เริ่มมาจากในมหาวิทยาลัย หรือในหน่วยงานของรัฐบาลที่ต้องการทำงานบางอย่าง นอกจากนี้ บางภาษาเกิดขึ้นเพราะความต้องการด้านวิทยาศาสตร์ วิศวกรรมศาสตร์และอื่น ๆ อีกมากมาย ทำให้มีภาษาเกิดขึ้นเป็นจำนวนมาก
จากการที่มีภาษาจำนวนมากมายนั้น ทำให้ต้องกำหนดระดับของภาษาคอมพิวเตอร์ เพื่อช่วยในการแบ่งประเภทของภาษาเหล่านั้น การกำหนดว่าเป็นภาษาระดับต่ำหนือภาษาระดับสูง จะขึ้นอยู่กับภาษานั้นใกล้เคียงกับเครื่องคอมพิวเตอร์ (ใกล้เคียงกับรหัส 0 และ 1 เรียกว่า ภาษาระดับต่ำ) หรือว่าใกล้เคียงกับภาษาที่มนุษย์ใช้ (ใกล้เคียงกับภาษาอังกฤษ เรียกว่า ภาษาระดับสูง)
1.ภาษาเครื่อง (Machine Language)
ก่อน ปีค.ศ. 1952 มีภาษาคอมพิวเตอร์เพียงภาษาเดียวเท่านั้นคือ ภาษาเครื่อง (Machine Language) ซึ่งเป็นภาษาระดับต่ำที่สุด เพราะใช้เลขฐานสองแทนข้อมูล และคำสั่งต่าง ๆ ทั้งหมดจะเป็นภาษาที่ขึ้นอยู่กับชนิดของเครื่องคอมพิวเตอร์ หรือหน่วยประมวลผลที่ใช้ นั่นคือปต่ละเครื่องก็จะมีรูปแบบของคำสั่งเฉพาะของตนเอง ซึ่งนักคำนวณและนักเขียนโปรแกรมในสมัยก่อนต้องรู้จักวิธีที่จะรวมตัวเลขเพื่อแทนคำสั่งต่า ๆ ทำให้การเขียนโปรแกรมยุ่งยากมาก นักคอมพิวเตอร์จึงได้พัฒนาภาษาแอสเซมบลีขึ้นมาเพื่อให้สามารถเขียนโปรแกรมได้ง่ายขึ้น
2.ภาษาแอสเซมบลี (Assembly Language)
ต่อมาในปีค.ศ. 1952 ได้มีการพัฒนาโปรแกรมภาษาระดับต่ำตัวใหม่ ชื่อภาษาแอสเซมบลี (Assembly Language) โดยที่ภาษาแอสเซมบลีใช้รหัสเป็นคำแทนคำสั่งภาษาเครื่อง ทำให้นักเขียนโปรแกรมสามารถเขียนโปรแกรมได้ง่ายขึ้น ถึงแม้ว่าการเขียนโปรแกรมจะยังไม่สะดวกเท่ากับการเขียนโปรแกรมภาษาอื่น ๆ ในสมัยนี้ แต่ถ้าเปรียบเทียบในสมัยนั้นก็ถือว่าเป็นการพัฒนาไปสู่ยุคของการเขียนโปรแกรมแบบใหม่ คือใช้สัญลักษณ์แทนเลข 0 และ 1 ของภาษาเครื่อง ซึ่งสัญลักษณ์ที่ใช้จะเป็นคำสั่งสั้น ๆ ที่จะได้ง่าย เรียกว่า นิมอนิกโคด (mnemonic code)ถึงแม้ว่านิวมอนิกโคดที่ใช้จะไม่ใช้คำในภาษาอังกฤษ แต่ก็เป็นสัญลักษณ์ที่สื่อความหมายให้ผู้ใช้สามารถจดจำได้ง่ายกว่าสัญลักษณ์เลข 0 และ 1 ผู้เขียนโปรแกรมภาษาแอสเซมบลียังสามารถกำหนดชื่อของที่เก็บข้อมูลในหน่วยความจำเป็นคำในภาษาอังกฤษ แทนที่จะเป็นเลขที่ตำแหน่งในหน่วยความจำ เช่น TOTAL , INCOME เป็นต้น แต่ข้อจำกัดของภาษาภาษาแอสเซมบลี คือ จะแตกต่างกันไปในแต่ละเครื่องเช่นเดียวกับภาษาเครื่องผู้เขียนโปรแกรมภาษาแอสเซมบลีต้องใช้ แอสเซมเบลอ (Assembler) แปลภาษาแอสเซมบลีให้เป็นภาษาเครื่อง เพื่อให้คอมพิวเตอร์ทำงานตามต้องการ
3.ภาษาระดับสูง (High Level Language)
ในปีค.ศ. 1960 ได้มีการพัฒนา ภาษาระดับสูง (High Level Language) ขึ้น ภาษาระดับสูงจะใช้คำในภาษาอังกฤษแทนคำสั่งต่าง ๆ รวมทั้งสามารถใช้นิพจน์ทางคณิตศาสตร์ได้ด้วย ทำให้นักเขียนโปรแกรมสามารถใช้เวลามุ่งไปในการศึกษาถึงทางแก้ปัญหาเท่านั้น ไม่ต้องเป็นกังวลว่าคอมพิวเตอร์จะทำงานอย่างไรอีกต่อไป
ภาษาระดับสูงนี้ถือว่าเป็น ภาษายุคที่สาม (third-generation language) ซึ่งทำให้เกิดการประมวลผลข้อมูลเพิ่มมากขึ้นอย่างมหาศาลระหว่างปี ค.ศ. 1960 ถึง ค.ศ. 1970 และมีผู้หันมาใช้คอมพิวเตอร์กันมากขึ้น โดยสังเกตได้จามเครื่องเมนเฟรมจากจำนวนร้อยเครื่องเพิ่มขึ้นเป็นหมื่นเครื่อง อย่างไรก็ตาม ภาษาระดับสูงก็ยังคงต้องการตัวแปลภาษาให้เป็นภาษาเครื่องเพื่อสั่งให้เครื่องทำงานต่อไป ตัวแปลภาษาที่นิยมใช้งานกันโดยทั่วไปจะเป็นแบบคอมไพเลอร์ ซึ่งแต่ละภาษาก็มีคอมไพเลอร์ไม่เหมือนกัน รวมทั้งคอมไพเลอร์แต่ละตัวก็จะต่างกันไปบนเครื่องแต่ละชนิดด้วย เช่น ถ้าเขียนโปรแกรมภาษา COBOL บนเครื่องไมโครคอมพิวเตอร์ ก็จะต้องเลือกใช้คอมไพเลอร์ภาษา COBOL ที่ทำงานบนเครื่องไมโครคอมพิวเตอร์ ซึ่งการเขียนโปรแกรมภาษาหนึ่งภาษาใดบนเครื่องที่ต่างกันอาจจะแตกต่างกันได้ เพราะคอมไพเลอร์ที่ใช้ต่างกันนั่นเอง
ภาษาคอมพิวเตอร์บางภาษาได้ถูออแบบมาให้ใช้แก้ปัญหางานเฉพาะบางอย่าง เช่น การควบคุมหุ่นยนต์ การสร้างภาพกราฟฟิก เป็นต้น แต่ภาษาคอมพิวเตอร์โดยมากจะมีความยืดหยุ่นให้ใช้งานทั่ว ๆ ไปได้ เช่น ภาษา BASIC ภาษา COBOL หรือภาษา FORTRAN เป็นต้น และนอกจากนี้ยังมีภาษา C ที่ได้รับความนิยมมากเช่นกัน
4.ภาษาระดับสูงมาก (Very high-level Language)
เป็นภาษายุคที่ 4 (fourth-generation language) หรือ 4GLs จะเป็นภาษาที่ใช้เขียนโปรแกรมได้สั้นกว่าภาษาในยุคก่อน ๆ การทำงานบางอย่างสามารถใช้เพียง 5 ถึง 10 บรรทัดเท่านั้น ในขณะที่ถ้าเขียนด้วยภาษา อาจต้องใช้ถึง 100 บรรทัด โดยพื้นฐานแล้ว ภาษาในยุคที่ 4 นี้มีคุณสมบัติที่แยกจากภาษาใยุคก่อน ๆ อย่างชัดเจน กล่าวคือภาษาในยุคก่อนนั้นใช้หลักการของ การเขียนโปรแกรมแบบโพรซีเยอร์ (procedurl language) ในขณะที่ภาษาในยุคที่ 4 จะเป็นแบบ ไม่ใช้โพรซีเยอร์ (nonprocedurl language) ผู้เขียนโปรแกรมเพียงแต่กำหนดว่าต้องการให้โปรแกรมทำอะไรบ้างก็สามารถเขียนโปรแกรมได้ทันที โดยไม่ต้องทราบว่าทำได้อย่างไร ทำให้การเขียนโปรแกรมสามารถทำได้ง่ายและรวดเร็ว
มีนักเขียโปรแกรมกล่าวว่า ถ้าใช้ภาษาในยุคที่ 4 นี้เขียนโปรแกรมจะทำให้ได้งานที่เพิ่มขึ้นถึงสิบเท่าตัว ตัวอย่างเช่น ถ้าต้องการพิมพ์รายงานแสดงจำนวนรายการสินต้าที่ขายให้ลูกค้าแต่ละคนในหนึ่งเดือน โดยให้แสดงยอดรวมของลูกค้าแต่ละคน และให้ขึ้นหน้าใหม่สำหรับการพิมพ์รายงานลูกค้าแต่ละคน จะเขียนโดยใช้ภาษาในยุคที่ 4 ได้ดังนี้
จากตัวอย่างจะเห็นได้ว่าเป็นงานที่ซับซ้อน ซึ่งถ้าใข้ภาษา COBOL เขียนอาจจะต้องใช้ถึง 500 คำสั่ง แต่ถ้าใช้ภาษาในยุคที่ 4 นี้จะเป็นสิ่งที่ทำได้ไม่ยากเลย
ข้อดีของภาษาในยุคที่ 4
การเขียนโปรแกรมจะเน้นที่ผลของงานว่าต้องการอะไร ไม่สนใจว่าจะทำได้อย่างไร
ช่วยพัฒนาเนื้องาน เพราะเขียนและแก้ไขโปรแกรมได้ง่าย
ไม่ต้องเสียเวลาอบรมผู้เขียนโปรแกรมมากนัก ไม่ว่าผู้ที่จะมาเขียนโปรแกรมนั้นมีความรู้ด้านการเขียนโปรแกรมหรือไม่
ผู้เขียนโปรแกรมไม่ต้องทราบถึงฮาร์ดแวร์ของเครื่องและโครงสร้างโปรแกรม
ภาษาในยุคที่ 4 นี้ยังมีภาษาที่ใช้สำหรับเรียกดูข้อมูลจากฐานข้อมูลได้ เรียกว่า ภาษาเรียกค้นข้อมูล (query language) โดยปกติแล้วการเก็บข้อมูลลงในฐานข้อมูล และการแสดงรายงานจากฐานข้อมูล จะต้องมีการวางแผนไว้ล่วงหน้า แต่บางครั้งอาจมีการเรียกดูข้อมูลพิเศษที่ไม่ได้มีการวางแผนไว้ ถ้าผู้ใช้เรียนรู้ภาษาเรียกค้นข้อมูลก็จะขอดูรายงานต่าง ๆ นอกเหนือจากที่ได้มีการวางแผนไว้ได้โดยใช้เวลาไม่มากนัก ภาษาเรียกค้นข้อมูลที่เป็นมาตรฐานเรียกว่า SQL (Structured Query Language) และนอกจากนี้ยังมีภาษา Query Bu Example หรือ QBE ที่ได้รับความนิยมการใช้งานมากเช่นกัน
5.ภาษาธรรมชาติ (Nature Language)
เป็น ภาษายุคที่ 5 (fifth generation language) หรือ 5GLs ธรรมชาติหมายถึงธรรมชาติของมนุษย์ คือไม่ต้องสนใจถึงคำสั่งหรือลำดับของข้อมูลที่ถูกต้อง ผู้ใช้เพียงแต่พิมพ์สิ่งที่ต้องการลงในเครื่องคอมพิวเตอร์เป็นคำหรือประโยคตามที่ผู้ใช้เข้าใจ ซึ่งจะทำให้มีรูปแบบของคำสั่งหรือประโยคที่แตกต่างกันออกไปได้มากมาย เพราะผู้ใช้แต่ละคนอาจจะใช้ประโยคต่างกัน ใช้คำศัพท์ต่างกัน หรือแม้กระทั่งบางคนอาจจะใช้ศัพท์แสลงก็ได้ คอมพิวเตอร์จะพยายามแปลคำหรือประโยคเหล่านั้นตามคำสั่ง แต่ถ้าไม่สามารถแปลให้เข้าใจได้ ก็จะมีคำถามกลับมาถามผู้ใช้เพื่อยืนยันความถูกต้อง ภาษาธรรมชาติจะใช้ ระบบฐานความรู้ (knowledge base system) ช่วยในการแปลความหมายของคำสั่งต่าง ๆ
3.อธิบายรูปแบบของตัวแปรภาษาได้
ตอบ ตัวแปลภาษาคอมพิวเตอร์ (Translator)
1.แอสเซมเบลอ (Assembler) เป็นตัวแปลภาษาแอสแซมบลีซึ่งเป็นภาษาระดับต่ำให้เป็นภาษาเครื่อง
2.อินเตอร์พรีเตอร์ (Interpreter) เป็นตัวแปลภาษาระดับสูงซึ่งเป็นภาษาที่ใกล้เคียงกับภาษามนุษย์ ไปเป็นภาษาเครื่อง โดยใช้หลักการแปลพร้อมกับงานตามคำสั่งทีละบรรทัดตลอดทั้งโปรแกรมทำให้การแก้ไขโปรแกรมทำได้ง่ายและรวดเร็วแต่ออบเจคโคดที่ได้จากการแปลโดยการใช้อินเตอร์พรีเตอร์นั้นไม่สามารถเก็บไว้ใช้ใหม่ได้จะจะต้องแปลโปรแกรมใหม่ทุกครั้งที่ต้องการใช้งาน
3.คอมไพเลอร์ (Compiler) จะเป็นตัวแปลภาษาระดับสูงเช่นเดียวกับอินเตอร์พรีเตอร์แต่จะใช้วิธีแปลโปรแกรมทั้งโปรแกรมให้เป็นออบเจคโคด ก่อนที่จะสามารถนำไปทำงานเช่นเดียวกับแอสแซมเบลอ ออบเจคโคดที่ได้จากการแปลนั้นสามารถจัดเก็บไว้เป็นแฟ้มข้อมูล เพื่อให้นำไปใช้ในการทำงานเมื่อใดก็ได้ตามต้องการ ซึ่งเป็นข้อดีของคอมไพเลอร์ที่จะนำผลที่ได้จากการแปลนั้นไปใช้งานกี่ครั้งก็ได้ไม่จำกัด ไม่ต้องเสียเวลาในการแปลใหม่ทุกครั้ง ทำให้เป็นรูปแบบการแปลที่ได้รับความนิยมอย่างมากในปัจจุบัน มีหลักการแปลภาษาคอมพิวเตอร์แบบใหม่เกิดขึ้น คือแปลจากซอร์สโคดไปเป็นรหัสชั่วคราวหรืออินเทอมีเดียตโคด (Intermediate code)ซึ่งสามารถนำไปทำงานได้ด้วยการใช้โปรแกรมในการอ่านและทำงานตามรหัสชั่วคราวนั้นโดยโปรแกรมนี้จะมีหลักการทำงานคล้ายกับอินเทอพรีเตอร์ แต่จะทำงานได้เร็วกว่าเนื่องจากรหัสชั่วคราวจะใกล้เคียงกับภาษาเครื่องมาก มีข้อดีคือสามารถนำรหัสชั่วคราวนั้นไปใช้ได้กับทุก ๆ เครื่องที่มีโปรแกรมตีความได้ทันที
กิจกรรมส่งเสริมกรเรียนรู้
1.ให้นักเรียนค้นหาข้อมูลจากอินเทอร์เน็ต โดยให้หาความหมายของคำว่า"Open Source"และให้บอกความหมายของซอฟต์แวโอเพนซอร์ช ที่รู้จักในปัจจุบันมา 3 ชนิด
ตอบ โอเพนซอร์สซอฟต์แวร์ คือ ซอฟต์แวร์ที่ผู้ใช้ไม่ต้องจ่ายค่าลิขสิทธิ์ซอฟต์แวร์ มีการเปิดเผยต้นฉบับรหัสซอฟต์แวร์ (Source code) และอนุญาตให้นำไปเผยแพร่ต่อได้อย่างเสรีพัฒนา และสามารถให้สาธารณะนำไปพัฒนาต่อยอดได้ ทำให้เกิดการร่วมมือกันทำงานอย่างไร้พรมแดนผ่านเครือข่ายอินเทอร์เน็ตเสรีตัวอย่างเช่น
1.ลีนุกซ์ ตัวอย่างความสำเร็จของโอเพนซอร์ส ไลนิส โทรวอลดิส์ (Linus Torvalds ) ซึ่งเป็นที่รู้จักกันดีว่า เขาเป็นผู้เริ่มต้นความคิดในการพัฒนาระบบปฏิบัติการลีนุกซ์ เขาเริ่มพัฒนาลียนุกซ์โดยใช้ชื่อว่า Minix ซึ่งเป็นระบบปฏิบัติการอยู่บนเครื่อง X86 โดยเริ่มกระจายออกไปในปี ค.ศ. 1991 โดยที่ไลนิสต้องการให้ระบบปฏิบัติการของเขาเป็นระบบปฏฎิบัติการที่ผู้ใช้คนอื่นมาดางน์โหลดนำไปใช้งาน เข้าถึงซอร์สโค้ด แก้ไขหรืพัฒนาในส่วนที่ตนเองต้องการได้ โดยที่ต้องไม่ขึ้นกับบริษัทผู้ผลิตเชิงพาณิชย์ใดๆ เมื่อเขาเผยแพร่ออกไปปรากฏว่าถูกใจกลุ่มบุคคลจำนวนมากจึงมีบุคคลจากทั่งโลกหันมาให้ความร่วมมือกับไลนิส ในการพัฒนาโอเอสใหม่นี้และตั้งชื่อว่า Linux ผลปรากฏว่าระบบปฏิบัติการลีนุกซ์ได้แพร่หลายและใช้งานกว้างขวางอย่างรวดเร็วเกินคาด โดยมีการกระจายการพัฒนาไปยังแพล็ตฟอร์มอิ่นๆ นอกจากของอินเทล x86 เช่น Power PC Macintoch SunSParc ARM เป็นต้น ซึ่งนับว่าได้สร้างบทบาทที่สำคัยต่อวงการโอเพนซอร์สและชี้นำให้เห็นว่าแนวทางการพัฒนาแบบโอเพนซอร์สประสบความสำเร็จได้
2.Open Source ปัจจุบันมีการใช้โอเพนซอร์สซอฟต์แวร์กันมากมายและใช้งานได้ผลดี มีความเสถียรสูงมากสิ่งนี้เป็นสิ่งที่ยืนยันได้ว่า โอเพนซอร์สซอฟต์แวร์เป็นทางเลือกที่เป็นไปได้ มิใช่เรื่องที่น่ากลัวเหมือนที่มีการกล่าวถึงกัน กระแสทางเลือกของโอเพนซอร์สเป็นเส้นทางหนึ่งที่หลายองค์กรต้องเริ่มให้ความสนใจ โดยเฉพาะในบางประเทศได้เริ่มดำเนินการในระดับนโยบายของประเทศ เช่น ประเทศจีนได้มีนโยบายและการประกาศจุดยืนของตนเด่นชัดที่จะพัฒนาและนำแนวทางโอเพนซอร์สมาใช้ ขณะเดียวกัน คณะที่ปรึกษาทำเนียบประธานาธิบดีอเมริกัน หรือที่รู้จักกันในนาม PITAC (President?s Information Technology Advisory Committee) ได้ทำข้อเสนอเกี่ยวกับเทคโนโลยีสารสนเทศ เพื่อให้คำแนะนำประธานาธิบดี
3.ทำความเข้าใจในเรื่องของลิขสิทธิ์ ธุรกิจซอฟต์แวร์ทำขึ้นเพื่อการค้าจะเป็นอุปสรรคใหญ่ต่อการพัฒนาซอฟต์แวร์ เพราะการพัฒนาที่ไม่เปิดเผยซอร์สโค้ด และการที่มีปัญหาเรื่องของลิขสิทธิ์ต่างๆ ทำให้การพัฒนาซอฟต์แวร์ต้องติดขัดและขาดความก้าวหน้า เขาจึงเสนอรูปแบบการพัฒนาที่เป็นแนวความคิดให้ และให้ชื่อว่า GPL ? General Public License โดยมีองค์กรที่เขาเป็นผู้ก่อตั้งให้มาเป็นผู้พิจารณาและดูแลในเรื่องกฎหมายเขาได้เริ่มโครงการโดยที่เอาซอฟต์แวร์มาเผยแพร่โดยใช้ชื่อโครงการว่า GNU (www.gnu.org) ซึ่งเป็นที่มาของซอฟต์แวร์ที่เป็นเครื่องมือในการพัฒนาซอฟต์แวร์ต่อไปอีกหลายตัว และหนึ่งในที่รู้จักดีคือ GNU C ซึ่งเป็นคอมไพเลอร์ที่ใช้กันมาก
ซอร์สโค้ด คือ ซอฟต์แวร์ต้นฉบับ โดยจะต้องสามารถอ่านเข้าใจ และอยู่ในรูปแบบที่สามารถปรับปรุงแก้ไขเพิ่มเติมได้
ผู้ใช้ซอฟต์แวร์ Open Source มีอิสระในการนำไปใช้ นำไปแจกจ่าย และปรับปรุงแก้ไข โดยจะคิดค่าใช้จ่ายหรือไม่ก็ได้ขึ้นอยู่กับเงื่อนไขในการอนุญาต
1.นิยามของซอฟต์แวร์ Open Source มีอะไรบ้าง?องค์กรอิสระ Open Source Initiative (OSI) ได้นิยามซอฟต์แวร์โอเพ่นซอร์สไว้ดังนี้
อนุญาตให้นำไปเผยแพร่ได้อย่างเสรี (Free Redistribution) ไลเซนต์จะต้องไม่จำกัดในการขาย หรือแจกจ่ายให้กับผู้อื่น โดยไม่มีการบังคับว่าต้องจ่ายค่าธรรมเนียม (Royalty Fee) ให้กับเจ้าของซอฟต์แวร์ต้นฉบับ
2.ให้มาพร้อมกับซอฟต์แวร์ต้นฉบับ (Source Code) โปรแกรมต้องให้มาพร้อมกับ Source Code หรือถ้าไม่ได้ให้มาพร้อมโปรแกรมจะต้องมีช่องทางที่จะทำให้ผู้ใช้สามารถเข้าถึง Source Code ได้โดยไม่มีการคิดค่าใช้จ่ายเพิ่มเติม และ Source Code ที่ให้มาจะต้องอยู่ในรูปแบบที่นำไปปรับปรุงแก้ไขได้
3.อนุญาตให้สร้างซอฟต์แวร์ใหม่โดยต่อยอดจากซอฟต์แวร์ต้นฉบับ (Derived Works) ไลเซนต์ของซอฟต์แวร์ต้องอนุญาตให้สามารถนำไปปรับปรุงแก้ไข และสร้างซอฟต์แวร์ใหม่ โดยซอฟต์แวร์ตัวใหม่จะต้องมีไลเซนต์เช่นเดียวกับซอฟต์แวร์ต้นฉบับ
4.ต้องไม่แบ่งแยกผู้พัฒนาออกจากซอฟต์แวร์ต้นฉบับ (Integrity of the Author''s Source Code) ไลเซนต์อาจจะไม่ได้ให้ไปพร้อมซอสโค้ดในรูปแบบที่สามารถแก้ไขได้ ในกรณีที่มีการกำหนดว่าจะให้ซอร์สโค้ดเฉพาะส่วนที่มีการแก้ไขเพิ่มเติม (patch files) เพื่อใช้ในการคอมไพล์โปรแกรมเท่านั้น ไลเซนต์ใหม่จะต้องกำหนดให้ชัดว่าสามารถแจกจ่ายได้หลังจากแก้ไขซอร์สโค้ดแล้ว โดยไลเซนต์ใหม่อาจจะต้องทำการเปลี่ยนชื่อ หรือเวอร์ชั่นให้แตกต่างจากซอฟต์แวร์ต้นฉบับ
5.จะต้องไม่เลือกปฏิบัติเพื่อกีดกันบุคคล หรือกลุ่มบุคคล (No Discrimination Against Persons or Groups) ไลเซนต์จะต้องไม่เลือกปฏิบัตเพื่อกีดกันการเข้าถึงซอฟต์แวร์ของบุคคล หรือกลุ่มบุคคลใดบุคคลหนึ่งโดยเฉพาะ
6.จะต้องไม่จำกัดการใช้เฉพาะกลุ่มใดกลุ่มหนึ่งเท่านั้น (No Discrimination Against Field of Endeavor) ไลเซนต์จะต้องไม่จำกัดการใช้สำหรับกลุ่มใดกลุ่มหนึ่ง เช่น จะต้องไม่จำกัดการใช้งานเฉพาะในเชิงธุรกิจ หรือในการทำวิจัยเท่านั้น
7.การเผยแพร่ไลเซนต์ (Distribution of License) สิทธิ์ที่ให้ไปกับโปรแกรมจะต้องถูกบังคับใช้กับทุกคนที่ได้รับโปรแกรมเท่าเทียมกัน โดยไม่จำเป็นต้องใช้ไลเซนต์อื่นๆ ประกอบ
8.ไลเซนต์ของซอฟต์แวร์จะต้องไม่ขึ้นกับไลเซนต์ของผลิตภัณฑ์ (License Must Not be Specific to a Product) หมายความว่า ถ้าซอฟต์แวร์โอเพ่นซอร์สถูกนำไปพัฒนาเป็นผลิตภัณฑ์ ไลเซนต์ของซอฟต์แวร์โอเพ่นซอร์สจะต้องไม่ต้องไม่ขึ้นอยู่กับซอฟต์แวร์ใดซอฟต์แวร์หนึ่งในผลิตภัณฑ์ตัวนั้น9.ไลเซนต์ของซอฟต์แวร์จะต้องไม่จำกัดไลเซนต์ของซอฟต์แวร์อื่น (License Must Not Restrict Other Software) ไลเซนต์ของซอฟต์แวร์ที่รวมในมีเดียเดียวกันจะต้องไม่ถูกบังคับให้เป็นโอเพ่นซอร์สซอฟต์แวร์ด้วย
10ไลเซนต์จะต้องไม่ผูกติดกับเทคโนโลยี (License Must Be Technology-Neatral)
2.ให้นักเรียนค้นหาซอฟต์แวร์ที่พัฒนาโดยคนไทย และบอกคุณสมบัติของซอฟต์แวร์ดังกล่าว
ตอบ โปรแกรมภาพถ่ายทางดาดเทียมที่ดีกว่าและชัดกว่า (Google Earth) พัฒนาโดยคนไทย โปรแกรมนี้เป็ยโปรแกรมเดียวกับ(Google Earth) เพียงแต่โปรแกรม Pointasiaมีความชัดสูงกว่า มีรายละเอียดมากกว่าเพราะได้ถูกเจาะจงมาที่ประเทศไทยประเทษเดียวและที่สำคัญ โปรแกรมนี้ถูกพัฒนาขึ้นโดยคนไทยเพื่อใช้งานโดยคนไทยโดยเฉพาะ
3.ให้นักเรียนหาข้อมูลความรู้เกี่ยวกับลิขสิทธิ์ของซอฟต์แวร์ที่บังคับใช้ในปัจจุบัน
ตอบ เบลนเดอร์ ซอฟ์แวร์
ในระยะแรก Blender Foundation ได้สงวนสิทธิ์ที่จะใช้ dual license (การใช้ license แบบคู่ขนานคืออาจทำสัญญากับบางนิติบุคคลด้วยสัญญาที่ไม่ถูกบังคับโดยข้อกำหนดของ GPL) ... ศ. 2548 ปัจจุบัน Blender จึงอยู่ใต้สัญญาแบบ GPL เท่านั้น
เบลนเดอร์ เป็นซอฟต์แวร์เสรี สำหรับงานคอมพิวเตอร์กราฟิกสามมิติ สามารถใช้สร้าง โมเดลสามมิติ, คลี่UV , ทำพื้นผิว (Texture), จัดการการเคลื่อนไหวแบบใช้กระดูก, จำลองการไหลของน้ำ, จำลองผิวหนัง, คอมพิวเตอร์แอนิเมชัน, เรนเดอร์, พาทิเคิล, การจำลองด้วยคอมพิวเตอร์อื่นๆ, การตัดต่อและตบแต่งวีดิทัศน์และภาพผ่านระบบ คอมโพสิต, และยังใช้สร้างแอปพลิเคชันแบบสามมิติได้อีกด้วย เบลนเดอร์ทำงานได้บนหลายระบบปฏิบัติการ, เช่น Microsoft Windows, Mac OS X, GNU/Linux, IRIX, Solaris, NetBSD, FreeBSD, OpenBSD และมีการพอร์ตอย่างไม่เป็นทางการไปยังระบบ BeOS, SkyOS, AmigaOS, MorphOS และ Pocket PC เบลนเดอร์มีคุณลักษณะทัดเทียมกับโปรแกรมสามมิติระดับสูงอื่นๆเช่น SoftimageXSI, Cinema 4D, 3 ดีเอสแมกซ์, Lightwave และ Maya โดยมีคุณลักษณะสำคัญเช่นการจำลองกองวัตถุล้มกระทบ, การกระทบกันระหว่าง ของไหล, ผ้าถูกลมพัดพริ้ว และโครงสร้างยืดหยุ่นต่างๆ, มีระบบ modifier แบบเป็นชั้นสำหรับปรับโมเดล, ระบบจัดการภาพเคลื่อนไหวคุณภาพสูง, ระบบจัดการวัสดุและการคอมโพสิตแบบ node และรองรับ ภาษาไพทอน สำหรับเขียนสคริป Blender ต้องการ OpenGL ในการทำงาน ในปีพ.ศ. 2550 เบลนเดอร์เป็นซอฟต์แวร์แอนิเมชันสามมิติที่ถูก install มากที่สุดในโลก
4.ให้นักเรียนเสนอความคิดเห็นเกี่วยวกับกรณีที่สถานศึกาต้อองจ่ายค่าลิ๘สิทธิ์ของซอฟต์แวร์ต่างๆที่ใช้ในการเรียนการสอน ซึ่งนักเรียนเห็นด้วยหรือไม่อย่างไรตอบ ไม่เห็นด้วยการที่จะเก็ค่าลิขสิทธิ์ไม่ควรเก็บในสถานที่ราชการ เช่น ที่โรงเรียนเพราะโรงเรียนเป็นสถานที่ ที่ให้ความรู้แก่เด็กและเด็กคืออนาคตที่จะพัฒนาโลกหรือประเทศต่อไป
ไม่มีความคิดเห็น:
แสดงความคิดเห็น