การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์ ศารทูล คัมมกสิกิจ หน่วยปฏิบัติการวิจัยพัฒนาซอฟต์แวร์โอเพ่นซอร์ส ศูนย์เทคโนโลยีอิเล็กทรอนิกส์และคอมพิวเตอร์แห่งชาติ 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 Dia Gimp 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) Core FTP File Zilla PDF Creator Putty 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
ตัวอย่างผลงานที่ได้รับรางวัล