48
กกกกกกกกกกกก กกกกกกกกกกกกกกกกกกกก กกกกก กกกกกกกกกก กกกกกก กกกกกกกกกก กกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกก ศศศศศศศศศศศศศศศศศศศศศศศศศศศศศศศศศศศศศศศศศศศศศศ ศศศศ NECTEC

การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์

  • Upload
    kalli

  • View
    103

  • Download
    0

Embed Size (px)

DESCRIPTION

การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์. ศารทูล คัมมกสิกิจ หน่วยปฏิบัติการวิจัยพัฒนาซอฟต์แวร์โอเพ่นซอร์ส ศูนย์เทคโนโลยีอิเล็กทรอนิกส์และคอมพิวเตอร์แห่งชาติ NECTEC. เนื้อหา. FreeSoftware ซอฟต์แวร์โอเพนซอร์สคืออะไร ฟรีแวร์คืออะไร การพัฒนาและเครื่องมือที่ใช้พัฒนาระบบ - PowerPoint PPT Presentation

Citation preview

Page 1: การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์

การพฒันาระบบโดยใชซ้อฟต์แวรโ์อเพนซอรส์

และฟรแีวร์

ศารทลู คัมมกสกิิจหน่วยปฏิบติัการวจิยัพฒันาซอฟต์แวรโ์อเพน่ซอรส์

ศูนยเ์ทคโนโลยอิีเล็กทรอนิกส์และคอมพวิเตอรแ์ห่งชาติNECTEC

Page 2: การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์

เนื้อหา• FreeSoftware• ซอฟต์แวรโ์อเพนซอรส์คืออะไร• ฟรแีวรคื์ออะไร• การพฒันาและเครื่องมอืที่ใชพ้ฒันาระบบ• ตัวอยา่งซอฟต์แวรโ์อเพนซอรส์• การสอบเกี่ยวกับซอฟต์แวรโ์อเพนซอรส์

Page 3: การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์

FreeSoftware

• Free = Freedom != Free pay• 0. RUN• 1. Study• 2. Redistribute• 3. Distribute• ขอ้ 0-1 ทำาเพื่อตัวเอง• ขอ้ 2-3 ทำาเพื่อคนอ่ืน

Page 4: การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์

แนวคิดซอฟต์แวรโ์อเพนซอรส์• แนวคิด ซอฟต์แวรโ์อเพนซอรส์เริม่มาจาก

แนวคิด ซอฟต์แวรเ์สร ี(free software)• Free = freedom != free pay• เสรภีาพที่จะใชง้านซอฟต์แวรต์ามต้องการ• เสรภีาพที่จะศึกษาการทำางานของโปรแกรมผ่าน

ซอรส์โค้ด และนำาไปใชต้ามต้องการ• เสรภีาพที่จะจำาหน่ายจา่ยแจกซอฟต์แวรนั์น้• เสรภีาพที่จะดัดแปลงแก้ไขเพิม่เติม

Page 5: การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์

ซอฟต์แวรโ์อเพนซอรส์• ซอฟต์แวรท่ี์เปิดเผยซอรส์โค้ด• อิสระในการ ใชง้าน (RUN)• อิสระในการ ศึกษา (STUDY)• อิสระในการ เผยแพร ่(Redistribute)• อิสระในการ แก้ไขปรบัปรุง(เมื่อนำาไปเผยแพรต่่อจะ

ต้องใชส้ญัญาอนุญาตเดิม)(Distribute)• โปรง่ใสและตอบสนองผู้ใชอ้ยา่งรวดเรว็• มผีู้พฒันาทัว่โลก

Page 6: การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์

ฟรแีวร์• ไมม่ค่ีาใชจ้า่ยในการใชง้าน• จำากัดการใชง้านโดยเจา้ของลิขสทิธิ์• ไมเ่ปิดเผยซอรส์โค้ด• ไมม่สีทิธิใ์นการเปล่ียนแปลงแก้ไข• ไมม่สีทิธิใ์นการนำามาศึกษา

Page 7: การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์

การพฒันางานแบบโอเพนซอรส์• ต่อยอดจากโปรแกรมท่ีมอียูแ่ล้ว

– Kernel– Apache– Firefox

• พฒันาใหมท่ัง้หมด• สญัญาอนุญาตแบบเปิด เชน่ GPL, GNU GPL

Page 8: การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์

ตัวอยา่งการใชง้านโอเพนซอรส์• Facebook

– Memcached (Free & open source, high-performance, distributed memory object caching system) เป็นตัวกลางระหวา่งเวบ็เซริฟ์เวอรกั์บฐานขอ้มูล เพื่อไมใ่หต้้องเรยีกขอ้มูลบอ่ยครัง้ http://memcached.org/

– Hiphop for PHP พฒันาเองโดย facebook ทำาหน้าท่ี แปลงโค้ด PHP เป็น C++ แล้วจากนัน้ค่อยแปลง C++ เป็นไบนารดี้วย g++ ซึ่งเป็น C++ compiler ในชุด GCC มาตรฐานของโครงการ GNU http://github.com/facebook/hiphop-php

Page 9: การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์

ตัวอยา่งการใชง้านโอเพนซอรส์– Cassandra ฐานขอ้มูลแบบกระจายตัว

http://cassandra.apache.org/– Scribe ระบบจดัการ log file ทำางานเป็น server รอ

รบั stream ของ log file http://github.com/facebook/scribe

– Hadoop ระบบ map/reduce กระจายงานการวเิคราะหข์อ้มูลขนาดใหญ่ในระบบ cluster

– Hive ระบบท่ีใช ้SQL กับ Hadoop http://hadoop.apache.org/

– Thrift ตัวกลางสำาหรบัภาษาท่ีใชพ้ฒันาอันหลากหลาย http://incubator.apache.org/thrift/

Page 10: การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์

ตัวอยา่งการใชง้านโอเพนซอรส์– Varnish ตัวเสรมิประสทิธภิาพของ HTTP

http://www.varnish-cache.org/– ขอ้มูลทัง้หมดจาก

http://www.blognone.com/news/16872 http://royal.pingdom.com/2010/06/18/the-software-behind-facebook/

Page 11: การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์

Tools• Editor/IDE• Language• Compiler• HTML Editor• Graphics and Multimedia• Utility• Library

Page 12: การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์

เครื่องมื่อในการพฒันาระบบ• SciTE• Smart Editor Pro

• Eclipse• NetBean• JCreator LE• Anjuta• Lazarus• Gambas• vi

Page 13: การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์
Page 14: การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์

Gambas

Page 15: การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์

eclipse

Page 16: การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์

Language• PHP• C/C++• Python• Free Pascal• MSW Logo

• Java• C#• Perl

Page 17: การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์

Freepascal

Page 18: การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์

Compiler• GCC + automake• VC• .NET (Tool ท่ีเป็น Opensource คือ

Mono)• Java (ควรรนัได้ภายใต้ OpenJDK)

– ถ้าสง่ขอ้เสนอวา่ run บน Linux ต้อง present บน Linux

Page 19: การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์

HTML Editor• NVU• Yahoo Site Builder• SciTE• Smart Editor Pro

Page 20: การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์

Graphics Multimedia• Audacity• Blender• Cadstd Lite• CAD X11

• Cdex– Open Source

Digital Audio CD Extractor

• Dia• Gimp• Inkscape• etc.

Page 21: การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์

Gimps - Image manipulation

Page 22: การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์

Inkscape - Vector graphics editor

Page 23: การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์

Blender - 3D / Game Creation

Page 24: การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์

Flash animation

• http://www.salasaga.org/

Page 25: การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์

Game Engines

• จะใชอั้นไหนต้องดเูรื่องสญัญาอนุญาตดีดี• Freeware สว่นมากจะเอามาใชใ้นการแขง่ขนัไม่

ได้เพราะมขีอ้หา้มเรื่องการทำาเงินจากผลงานที่ทำากับ Game Engine นัน้ๆเชน่ Torque Game Builder, Neoaxis, UnrealEngine, Unity

• รวม Game Engines http://en.wikipedia.org/wiki/List_of_game_engines

Page 26: การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์

Game Engines

Page 27: การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์

ตัวอยา่ง Game Engines

• http://cubeengine.com• http://www.ogre3d.org• http://raydium.org/• http://ioquake3.org/• http://www.blender.org/

Page 28: การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์

Utility• EasyPHP(WAMP)

– LAMP=Linux Apache MySQL PHP

– WAMP=Windows Apache MySQL PHP

• Core FTP• File Zilla

• PDF Creator• Putty• Database

(MySQL or Pgsql)

Page 29: การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์

easyphp

Page 30: การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์

ตัวอยา่ง Library opensource

• Library ต่างๆท่ีอยูใ่น Linux เชน่• Libssh• Libopengl• Zlib• libx11

Page 31: การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์

ตัวอยา่งซอฟต์แวรโ์อเพนซอรส์

•LinuxSIS•LinuxTLE•OpenOffice.org•Mozilla Firefox•Thunderbird

•CMS•Android

Page 32: การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์

LinuxSIS•Linux Simple Internet Server•ระบบปฏิบติัการเซริฟ์เวอรส์ำาหรบัเครื่องพซีี•เวอรช์นัล่าสดุ: LinuxSIS 6.5•พฒันาจาก: Debian 5.0

Page 33: การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์
Page 34: การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์

LinuxTLE

•Linux Thai Language Extension•ระบบปฏิบติัการสำาหรบัเครื่องพซีหีรอืโน้ตบุค•เวอรช์นัล่าสดุ: LinuxTLE 9.0•พฒันาจาก: Ubuntu 7.10

Page 35: การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์
Page 36: การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์

OpenOffice.org•ซอฟต์แวรส์ำานักงานคล้ายกับ MS-Office•มาตรฐานเปิดในรูปแบบ XML•ทำางานได้หลายแพลตฟอรม์•มหีลายภาษา•ใชง้านรว่มกับโปรแกรมสำานักงานอ่ืนได้•สง่ออกเป็นเอกสาร PDF•ในชุดประกอบด้วย Writer, Calc, Impress, Base, Draw

Page 37: การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์

OpenOffice – Writer

Page 38: การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์

OpenOffice – Calc

Page 39: การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์

OpenOffice – Impress

Page 40: การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์

Mozilla Firefox – Web browser

Page 41: การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์

Thunderbird – Email client

Page 42: การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์

Content Management System: CMS

•Drupal•Joomla•LearnSquare•Moodle

Page 43: การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์

Drupal

Page 44: การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์

LearnSquare

Page 45: การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์

Moodle

Page 46: การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์

แหล่งขอ้มูลเพิม่เติม

•www.opentle.org•www.sf.net•www.openoffice.org•www.mozilla.org•www.gimp.org• www.easyphp.org• www.freepascal.org• www.jcreator.com

•www.netbeans.org•www.eclipse.org•projects.gnome.org/anjuta•www.inkscape.org•www.blender.org•www.drupal.org•www.joomla.org•www.moodle.org

Page 47: การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์

ตัวอยา่งผลงานที่ได้รบัรางวลั• http://203.185.132.234/community/changeme:79

Page 48: การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์

ตัวอยา่งผลงานที่ได้รบัรางวลั