Top Banner
กกกกกกกกกกกก กกกกกกกกกกกกกกกกกกกก กกกกก กกกกกกกกกก กกกกกก กกกกกกกกกก กกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกก ศศศศศศศศศศศศศศศศศศศศศศศศศศศศศศศศศศศศศศศศศศศศศศ ศศศศ NECTEC
48

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

Feb 23, 2016

Download

Documents

Kalli

การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์. ศารทูล คัมมกสิกิจ หน่วยปฏิบัติการวิจัยพัฒนาซอฟต์แวร์โอเพ่นซอร์ส ศูนย์เทคโนโลยีอิเล็กทรอนิกส์และคอมพิวเตอร์แห่งชาติ NECTEC. เนื้อหา. FreeSoftware ซอฟต์แวร์โอเพนซอร์สคืออะไร ฟรีแวร์คืออะไร การพัฒนาและเครื่องมือที่ใช้พัฒนาระบบ - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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: การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์

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