Docstoc

__________________________ Linux

Document Sample
__________________________ Linux Powered By Docstoc
					Open source


              1
 องค์กรอิสระ Open Source Initiative
 (OSI) ได้นิยามซอฟต์แวร์โอเพ่นซอร์สไว้ดังนี้
1. อนุญาตให้นาไปเผยแพร่ได้อย่างเสรี (Free Redistribution)
2. ให้มาพร้อมกับซอฟต์แวร์ต้นฉบับ (Source Code)
3. อนุญาตให้สร้างซอฟต์แวร์ใหม่โดยต่อยอดจากซอฟต์แวร์
   ต้นฉบับ (Derived Works)
4. ต้องไม่แบ่งแยกผู้พัฒนาออกจากซอฟต์แวร์ต้นฉบับ (Integrity of
   the Author''s Source Code)
                           ่
5. จะต้องไม่เลือกปฏิบัติเพือกีดกันบุคคล หรือกลุ่มบุคคล (No
   Discrimination Against Persons or Groups)
                                                            2
   องค์กรอิสระ Open Source Initiative
   (OSI) ได้นิยามซอฟต์แวร์โอเพ่นซอร์สไว้ดังนี้
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)                                      3
นิยามซอฟต์แวร์โอเพ่นซอร์ส
1. อนุญาตให้นาไปเผยแพร่ได้อย่างเสรี (Free
Redistribution)
   ไลเซนต์จะต้องไม่จากัดในการขาย หรือแจกจ่ายให้กับ
ผู้อื่น โดยไม่มีการบังคับว่าต้องจ่ายค่าธรรมเนียม
(Royalty Fee) ให้กับเจ้าของซอฟต์แวร์ต้นฉบับ



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



                                                            5
  นิยามซอฟต์แวร์โอเพ่นซอร์ส
3. อนุญาตให้สร้างซอฟต์แวร์ใหม่โดยต่อยอดจาก
   ซอฟต์แวร์ต้นฉบับ (Derived Works)
      ไลเซนต์ของซอฟต์แวร์ต้องอนุญาตให้สามารถนาไปปรับปรุง
 แก้ไข และสร้างซอฟต์แวร์ใหม่ โดยซอฟต์แวร์ตัวใหม่จะต้องมีไล
 เซนต์เช่นเดียวกับซอฟต์แวร์ต้นฉบับ



                                                         6
  นิยามซอฟต์แวร์โอเพ่นซอร์ส
4. ต้องไม่แบ่งแยกผู้พัฒนาออกจากซอฟต์แวร์ต้นฉบับ
   (Integrity of the Author''s Source Code)
        ไลเซนต์อาจจะไม่ได้ให้ไปพร้อมซอสโค้ดในรูปแบบที่สามารถ
  แก้ไขได้ ในกรณีที่มีการกาหนดว่าจะให้ซอร์สโค้ดเฉพาะส่วนที่มี
               ่
  การแก้ไขเพิมเติม (patch files) เพื่อใช้ในการคอมไพล์โปรแกรม
  เท่านั้น ไลเซนต์ใหม่จะต้องกาหนดให้ชัดว่าสามารถแจกจ่ายได้
  หลังจากแก้ไขซอร์สโค้ดแล้ว โดยไลเซนต์ใหม่อาจจะต้องทาการ
      ่
  เปลียนชื่อ หรือเวอร์ชั่นให้แตกต่างจากซอฟต์แวร์ต้นฉบับ
                                                           7
  นิยามซอฟต์แวร์โอเพ่นซอร์ส
5. จะต้องไม่เลือกปฏิบัติเพื่อกีดกันบุคคล หรือ
  กลุ่มบุคคล (No Discrimination Against Persons
  or Groups)
    ไลเซนต์จะต้องไม่เลือกปฏิบัตเพื่อกีดกันการเข้าถึง
 ซอฟต์แวร์ของบุคคล หรือกลุ่มบุคคลใดบุคคลหนึ่ง
 โดยเฉพาะ

                                                       8
  นิยามซอฟต์แวร์โอเพ่นซอร์ส

6. จะต้องไม่จากัดการใช้เฉพาะกลุ่มใดกลุ่มหนึ่งเท่านั้น
   (No Discrimination Against Field of Endeavor)
       ไลเซนต์จะต้องไม่จากัดการใช้สาหรับกลุ่มใดกลุ่มหนึ่ง เช่น
  จะต้องไม่จากัดการใช้งานเฉพาะในเชิงธุรกิจ หรือในการทาวิจัย
  เท่านั้น


                                                                 9
    นิยามซอฟต์แวร์โอเพ่นซอร์ส

7. การเผยแพร่ไลเซนต์ (Distribution of License)
       สิทธิ์ที่ให้ไปกับโปรแกรมจะต้องถูกบังคับใช้กับทุกคนที่
  ได้รับโปรแกรมเท่าเทียมกัน โดยไม่จาเป็นต้องใช้ไลเซนต์อื่นๆ
  ประกอบ



                                                         10
  นิยามซอฟต์แวร์โอเพ่นซอร์ส
8. ไลเซนต์ของซอฟต์แวร์จะต้องไม่ขึ้นกับไลเซนต์ของ
  ผลิตภัณฑ์ (License Must Not be Specific to a
  Product)
        หมายความว่า ถ้าซอฟต์แวร์โอเพ่นซอร์สถูกนาไปพัฒนา
  เป็นผลิตภัณฑ์ ไลเซนต์ของซอฟต์แวร์โอเพ่นซอร์สจะต้องไม่ต้อง
  ไม่ขึ้นอยู่กับซอฟต์แวร์ใดซอฟต์แวร์หนึ่งในผลิตภัณฑ์ตัวนั้น


                                                          11
   นิยามซอฟต์แวร์โอเพ่นซอร์ส
9. ไลเซนต์ของซอฟต์แวร์จะต้องไม่จากัดไลเซนต์ของ
   ซอฟต์แวร์อื่น (License Must Not Restrict Other
   Software)
       ไลเซนต์ของซอฟต์แวร์ที่รวมในมีเดียเดียวกันจะต้องไม่
   ถูกบังคับให้เป็นโอเพ่นซอร์สซอฟต์แวร์ด้วย


                                                       12
  นิยามซอฟต์แวร์โอเพ่นซอร์ส
10. ไลเซนต์จะต้องไม่ผูกติดกับเทคโนโลยี (License
  Must Be Technology-Neatral)




                                                  13
                               กาเนิดแนวความคิด
• ในอดีต โปรแกรมต่างๆมีการพัฒนาโดยนักพัฒนา
  และแลกเปลี่ยนกันโดยเสรี
• เริ่มมีการพัฒนาทางการค้าของซอฟต์แวร์มากขึน ้
• กลุ่มคนที่มองว่าซอฟต์แวร์เป็นสมบัติของมนุษยชาติ
  ได้ตั้งองค์การเรียกว่า The Free Software
  Foundation (FSF), ในปี 1985
   – นาโดย Richard Stallman
   – ส่งเสริมให้มีการแลกเปลี่ยน ดัดแปลง ทาสาเนา
                                                         ึ้
     ซอฟต์แวร์อย่างเสรี เพื่อให้ผู้ใช้มี Solution ที่ไม่ขนกับ
     Vendor
   – ตั้งโครงการ GNU เพื่อพัฒนาซอฟต์แวร์ต่างๆที่ทาให้
     คอมพิวเตอร์เหมือนระบบ Unix
   – สร้างลิขสิทธิ์แบบที่เรียกว่า GPL (Gnu public
     License) ขึ้น                                              14
   GPL (Gnu Public License) และ Open Source
• ซอฟแวร์ส่วนใหญ่นั้นอยู่ใต้ Gnu Public License
  – อนุญาตให้มีการขาย ทาเพิ่มอย่างไรก็ได้แต่
     •ต้องให้ซอร์สโปรแกรมไปด้วย
     •การแก้ไขทุกครั้งที่ใครทาถือว่าอยู่ใต้ Gnu
      Public License

                                              15
                 แนวคิด Open source
• FSF GPL ทาให้ทาการค้าได้ยากเนื่องจากซอฟต์แวร์ทุกตัว
  ต้องแจกฟรีหมด
• Opensource เป็นแนวคิดที่เกิดในราว 1998
  – Computer programs or operating systems for which the source
    code is publicly available are referred to as open-source software.
    Inherent in the open source philosophy is the freedom of a
    distributed community of programmers to modify and improve the
    code. The most widely known example of open-source software is
    the Linux operating syst
  – ต้องการให้ทาการค้าได้ง่ายขึ้น                                 16
                ข้อดีของ Opensource
• เข้าใจและแก้ไขได้เนื่องจากมี Source code ทาให้เราเป็น
  เจ้าของ technology
• มี solution ให้เลือกมากมาย
• มีพัฒนาการที่เร็ว
                ่
   – นักพัฒนากลุมใหญ่ใช้ Internet สร้างระบบพัฒนาแบบเปิด
   – มีการทดสอบและ fixed อย่างรวดเร็ว
• ใช้งานในองค์กรต่างๆอย่างมากมายและสนับสนุนโดยบริษัท
  ใหญ่ เช่น IBM, Sun Microsystem, Oracle
                                                          17
                         ประวัติของระบบลีนุกซ์
• คิดค้นขึ้นโดยนิสิตปริญญาโทที่มหาวิทยาลัย Helsinki
  ประเทศ Finland ชื่อ Linus Torvald (ไลนัส ทอร์วาล) ใน
  ราวปี 1991
• จุดเริ่มต้นเพื่อทดแทน ระบบ Minix ของ Andrew S.
  Tanenbaum ที่ใช้ในการเรียนการสอนอยู่
• ลีนุกซ์ถูกนาไปใช้ก่อนในการวิจัยในมหาวิทยาลัย
  ต่างประเทศและในหมู่มือสมัครเล่น แล้วจึงแพร่หลายมา
  ในทางธุรกิจ
• ลีนุกซ์เป็นระบบที่เขียนขึ้นใหม่โดยสมบูรณ์จึงไม่มีปัญหา
  เรื่องลิขสิทธิ์ และแจกฟรีภายใต้ GPL License (GNU
  Public License)
                                                           18
                              ุ
                       ทาไมลีนกซ์กาลังดัง
• เป็นระบบปฏิบัติการที่ทางานแบบ UNIX ซึ่งมีขีดความสามารถ
  สูง
• กินฮาร์ดแวร์ต่ามาก ทางานได้บนเครื่องเก่าๆ เช่น PC 166, 300
  Mhz
                        ี
• การใช้งานพบว่าลีนุกซ์มความเสถียร (stable) ในการใช้งานสูง
  มาก ไม่ค่อยหยุดทางาน
• เป็นของฟรีที่ ดาวน์โหลดได้จากอินเตอร์เน็ต
   – ftp.sunsite.unc.edu/pub/linux
   – ftp.nectec.or.th
                                                           19
        ขีดความสามารถเด่นๆของลีนุกซ์
• เป็นระบบที่ทางานได้ตามมาตรฐาน UNIX ของ IEEE ที่เรียกว่า
  POSIX
• สนับสนุนการทางานแบบ Multitask, และ Multiusers เต็ม
  รูปแบบ
• สนับสนุนการทางาน Multiprocessors แบบ SMP
• มีทั้ง 32 และ 64 บิต (Intel itanium, AMD Opteron)
• ทางานได้หลายแพลตฟอร์ม เช่น บน Intel, DEC Alpha, MIPS
  และ PowerPC
                                                            20
         ขีดความสามารถเด่นๆของลีนุกซ์
• สนับสนุนการทางานแบบ Multithreading
• สนับสนุนการทางานแบบ Multimedia มีเสียงและภาพ
• มีระบบ Windows คือ X Windows และมี Desktop ที่มี
  ประสิทธิภาพสูงและใช้งานง่าย เช่นเดียวกับ Windows 98
• สนับสนุนเครือข่ายแบบ TCP/IP, Apple Talk, Netware IPX
• มีความสามารถเป็น Web Server, Web Proxy, Internet
  server, ftp server ได้ทันที

                                                         21
 Linux Scalability




                             Supercomputer


                    Server

          Desktop

Embeded                              22
                                 ุ
                  โครงสร้างของลีนกซ์


โปรแกรมประยุกต์      โปรแกรมประยุกต์   โปรแกรมประยุกต์



   เครื่องมือระบบ Shell, Complier, utilities

                  เคอร์แนลระบบลีนุกซ์

                                                         23
        Linux Distribution
• ลีนุกซ์ที่แท้จริง คือ Kernel
• แต่การใช้งานจริงต้องการซอฟแวร์มากมาย
• มีผู้รวบรวมระบบลีนุกซ์และโปรแกรมประกอบมาทาให้ติดตั้งได้
  เรียกว่า Distribution
• Distribution ที่ใช้งานมาก
   – RedHat , Slackware, Debian , SuSe


                                                            24
  สาเหตุที่ระบบลีนุกซ์ก้าวหน้าไปอย่างรวดเร็ว
• มีการเปิดเผย Code ทั้งหมดทาให้มีคนจานวนมากเข้ามาพัฒนา
• มีระบบการจัดการเป็นโครงการโดยมีหัวหน้าเป็นคนทดสอบและ
  รวบรวมซอร์สหลักทาให้การพัฒนาไม่แตกกระจาย
• มีผู้ช่วยทดสอบและแจ้ง Bug และ Fix นับล้านคนจึงได้โปรแกรม
  ที่มีคุณภาพสูงมาก
• ได้คนเก่งๆจากทั่วโลกมาทาเพราะความท้าทาย
• ระบบลีนุกซ์ได้สร้างแนวคิดการพัฒนาโปรแกรมแบบใหม่ขึ้น!!!

                                                         25
         การใช้งานบนระบบลีนุกซ์
• Internet/ Intranet Server
• เป็นระบบ Desktop
• ใช้ในการพัฒนาโปรแกรม
• ใช้ในการเรียนการสอนทางคอมพิวเตอร์


                                      26
   การใช้ลีนุกซ์เป็นระบบอินเตอร์เน็ตเซอร์ฟเวอร์
• สนับสนุนการเชื่อมต่อแบบ Dialup, LAN ทุกแบบ เช่น Ethernet,
  Fast Ethernet, ATM, Myrinet, Gigabit Ethernet, ISDN
• ใน package มาตรฐานจะให้
   – WEB Server Apache ที่นิยมใช้สูงสุดและมีประสิทธิภาพสูง
   – ftp server, news server, mail server, domain name server, telnet
     server
• เป็น Multi-user เปิดให้ผู้ใช้หลายคนใช้งานได้ทันที
• ใช้งานเป็น Firewall ได้ มีซอฟแวร์มากมาย
                                                                  27
Netcraft : October 2004 Web Server Survey




                                       28
           ี
    การใช้ลนุกซ์เป็นระบบอินทราเน็ตเซอร์ฟเวอร์
• ตั้งระบบลีนุกซ์เพื่อเป็นตัวกลางแลกข้อมูลในองค์กร
• ส่งจดหมายเวียนผ่านระบบ email
• ส่งประกาศ ข่าวสาร ต่างๆทาง Web page และ Web board
• เก็บบทเรียนเป็นรูปอิเลคทรอนิคส์เพื่อให้นักเรียนค้นคว้าได้เอง
• เก็บแบบฟอร์มมาตรฐานในรูปไฟล์ที่แก้ไขได้เพื่อให้มีการดาวน์
  โหลดมาใช้งานโดยไม่ต้องพิมพ์ใหม่
• ประหยัดกระดาษในแนว Paperless office
                                                                 29
ลีนุกซ์สาหรับระบบอินเตอร์เน็ตเซอร์ฟเวอร์
              Internet

                         Firewall, Gateway
                         Web, Mail Server




                                             30
การใช้ลีนุกซ์เป็นเซอร์ฟเวอร์ให้กับ MS Windows
• ระบบลีนุกซ์มาพร้อมกับขีดความสามารถที่จะทางานเป็น
  เซอร์ฟเวอร์ให้กับ Windows XP/NT/98/MEโดยใช้ซอฟแวร์ที่
  เรียกว่า SAMBA Server
• ขีดความสามารถ
  – ใช้ดิสค์ร่วมกันระหว่าง Windows กับ Linux
  – PC Windows พิมพ์ผ่านเครื่องพิมพ์บนลีนุกซ์
  – Linux พิมพ์ผ่านเครื่องพิมพ์ของ PC
  – แปลงร่างเป็น Domain Server ของ Windows
                                                     31
SAMBA


     Windows Fileserver
     Windows Print Server
     DHCP Server



Intranet


                            32
           Linux Administration
• ใช้คาสั่งกับ script language
   – Perl, Bash, Python
• ใช้ GUI tools มีให้มากมายใน Linux distribution




                                                   33
            Linux Administration

• Web Interface
  – Webmin
    http://www.webmin.co
    m/
     • ทาให้การดูแลลีนุกซ์
       เซอร์ฟเวอร์ง่ายมาก



                                   34
               การใช้งานฐานข้อมูลบนลีนุกซ์

• ปัจจุบันระบบฐานข้อมูลใหญ่ๆ เช่น Oracle, Informix, DB2 มีรุ่น
  ที่สนับสนุนลีนุกซ์แล้วทั้งสิ้น
• ใช้ windows เป็น client ได้ผ่าน ODBC
• ลีนุกซ์ Redhat จะมาพร้อมกับ SQL server เรียกว่า Postgres ที่
  ใช้งานได้ทันที
• สาหรับฐานข้อมูลขนาดเล็กถึงกลางและทา Dynamic Web ใช้
  MySQL กันมาก

                                                            35
          การใช้ลีนุกซ์เป็นระบบ Desktop

• ลีนุกซ์ยังนามาใช้เป็นระบบ Desktop ได้ เช่น เดียวกับระบบ
  Windows
• มี Desktop ที่ดีหลายตัวที่มีประสิทธิภาพสูงเท่ากับ
  Windows เช่น KDE ( K Desktop Environment) ,Gnome




                                                       36
การใช้ลีนุกซ์เป็นระบบ Desktop




                                37
การใช้ลีนุกซ์เป็นระบบ Desktop




                                38
 โปรแกรม Office Productivity
• Open Office
   – To create, as a community, the leading international office
     suite that will run on all major platforms and provide access to
     all functionality and data through open-component based
     APIs and an XML-based file format.
• มีคนทาไทยให้ open office 8nv
   – Office TLE (ออฟฟิสทะเล) NECTEC
   – Pladao (ปลาดาว) Sun Microsystem + Algorithms
                                                                   39
OfficeTLE: Thai Open Office




                              40
                  โปรแกรมกราฟิกบนระบบลีนุกซ์
• ระบบลีนุกซ์จะให้โปรแกรมกราฟิกมา
  หลายตัว เช่น
• GIMP (Gnu Image Manipulation
  program) เป็นโปรแกรมที่ช่วยตกแต่ง
  ภาพเช่นเดียวกับ โฟโต้ชอป
  (www.gimp.org)
• XV ใช้ดูภาพกราฟิกและแปลง
  ภาพกราฟิกแบบต่างๆ
• Ghostscript เป็น Postscript Interpreter
  ที่ ช่วยในการดู หรือ พิมพ์ Postscript
  ไฟล์ออกเครื่องพิมพ์
• Xpaint ใช้เขียนรูปเหมือน PCPaint
• Xfig ใช้เขียน Diagram ต่างๆ
                                               41
           ลีนุกซ์กบการโปรแกรมกราฟิก 3D
                   ั

• ลีนุกซ์สนับสนุนมาตรฐาน OpenGL โดยใช้ ตัวโปรแกรมช่วยชื่อ
  Mesa
• โปรแกรมกราฟิคที่เหมือนกับ NT ได้ทันทีเนื่องจาก Windows
  95/98/NT สนับสนุน OpenGL
• Povray เป็น Rendering Engine ที่ใช้สร้างรูปสามมิติได้
  (www.povray.org)
• ซอฟต์แวร์ Commercial เช่น Alias Wavefront Maya ทางานได้
  บน Linux
                                                        42
รูปที่สร้างจาก Povray




                        43
            การใช้ลีนุกซ์พัฒนาโปรแกรม
ลีนุกซ์มาพร้อมกับเครื่องมือพัฒนาโปรแกรมมากมาย
• มีตัวแปรภาษาสาหรับโปรแกรมภาษา C, C++, Pascal,
   fortran77,lisp, prolog, ADA
• Java ต้องdownload มา แต่ใช้งานได้ดี
• สนับสนุน Script language language เช่น shell, c-shell, k-
   shell, perl, python
• ทากราฟิกและเมนูได้ง่ายด้วย TCL/TK, Python, Glade, Java

                                                              44
              การเขียนและพัฒนาโปรแกรม
• มีคอมไพเลอร์ภาษา C gcc
• มีโปรแกรม Integrated Development Environment
  เรียกว่า Kdevelop
• โปรแกรม Debugger Full Screen เรียกว่า xxgdb
• มีโปรแกรมช่วยบริหาร code เรียกว่า rcs (revision
  control system)
  – ช่วยรักษา database ของ code ให้มี version ที่แน่นอนและ
    มีการเปลี่ยนแปลงจากคนๆเดียว                              45
การเขียนและพัฒนาโปรแกรม




                          46
                   Linux Embedded
• ลีนุกซ์ถูกใช้งานมากขึ้นในระบบเล็กๆ
    – Internet Appliance, Home Router
    – PDA
• ข้อดี
   – Programming support
   – Source code availability
   – Large users and developers
      communities
• http://www.linuxdevices.com/



                                        47
                    อนาคตของลีนุกซ์ทั่วโลก
• ลีนุกซ์จะได้รับการยอมรับจากบริษัทต่างๆในการใช้งานจริงมาก
  ขึ้น
   – ขณะนี้ซอฟแวร์ฐานข้อมูลใหญ่ๆเริ่มลงมาสนับสนุนลีนุกซ์ เช่น
     Informix, Oracle, IBM DB2
   – ซอฟแวร์ต่าง ๆ จะเริ่มตามมาอีก
• อย่างไรก็ตามลีนุกซ์คงจะแข่งขันได้เฉพาะในตลาดเซอร์ฟเวอร์ที่
  ต้องการคนทางเทคนิคดูแล ยังไม่ลงมาทาง Desktop เนื่องจาก
                             ่
   – การติดตั้งลีนุกซ์ยังไม่งาย
   – การดูแลระบบยังยากเนื่องจากรากฐานที่มาจากระบบยูนิกซ์
                                                                48
        อนาคตของระบบลีนุกซ์ในประเทศไทย

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

                                                     49
Question & Answer




                    50

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:15
posted:9/6/2011
language:Thai
pages:50