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

Post on 23-Feb-2016

102 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

Transcript

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

และฟรแีวร์

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

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

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

FreeSoftware

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

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

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

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

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

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

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

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

– Kernel– Apache– Firefox

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

ตัวอยา่งการใชง้านโอเพนซอรส์• 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

ตัวอยา่งการใชง้านโอเพนซอรส์– 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/

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

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

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

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

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

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

Gambas

eclipse

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

• Java• C#• Perl

Freepascal

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

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

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

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

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

• Cdex– Open Source

Digital Audio CD Extractor

• Dia• Gimp• Inkscape• etc.

Gimps - Image manipulation

Inkscape - Vector graphics editor

Blender - 3D / Game Creation

Flash animation

• http://www.salasaga.org/

Game Engines

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

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

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

Game Engines

ตัวอยา่ง Game Engines

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

Utility• EasyPHP(WAMP)

– LAMP=Linux Apache MySQL PHP

– WAMP=Windows Apache MySQL PHP

• Core FTP• File Zilla

• PDF Creator• Putty• Database

(MySQL or Pgsql)

easyphp

ตัวอยา่ง Library opensource

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

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

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

•CMS•Android

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

LinuxTLE

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

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

OpenOffice – Writer

OpenOffice – Calc

OpenOffice – Impress

Mozilla Firefox – Web browser

Thunderbird – Email client

Content Management System: CMS

•Drupal•Joomla•LearnSquare•Moodle

Drupal

LearnSquare

Moodle

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

•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

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

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

top related