Transcript Open source
การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรี แวร์ ศารทูล คัมมกสิ กจ ิ หน่วยปฏิบต ั ก ิ ารวิจย ั พัฒนาซอฟตแวร โอเพ นซอร ส ่ ์ ์ ์ ศูนย์เทคโนโลยีอิเล็กทรอนิกส์และคอมพิวเตอร์แห่งชาติ 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, highperformance, 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 ตัวกลางสาหรับภาษาทีใ่ ช้พัฒนาอัน ตัวอย่างการใช้งานโอเพนซอร์ส – Varnish ตัวเสริมประสิ ทธิภาพของ HTTP http://www.varnish-cache.org/ – ขอมู ้ ลทัง้ หมดจาก http://www.blognone.com/news/16872 http://royal.pingdom.com/2010/06/18/thesoftware-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) • PDF Creator – LAMP=Linux • Putty Apache MySQL • Database (MySQL PHP or Pgsql) – WAMP=Windows Apache MySQL PHP • Core FTP • File Zilla 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 ตัวอย่างผลงานที่ได้รับรางวัล