480 likes | 745 Views
การพัฒนาระบบ โดยใช้ซอฟต์แวร์โอเพนซอร์ส และฟรีแวร์. ศารทูล คัมมกสิกิจ หน่วยปฏิบัติการวิจัยพัฒนาซอฟต์แวร์โอเพ่นซอร์ส ศูนย์เทคโนโลยีอิเล็กทรอนิกส์และคอมพิวเตอร์แห่งชาติ NECTEC. เนื้อหา. FreeSoftware ซอฟต์แวร์โอเพนซอร์สคืออะไร ฟรีแวร์คืออะไร การพัฒนาและเครื่องมือที่ใช้พัฒนาระบบ
E N D
การพัฒนาระบบโดยใช้ซอฟต์แวร์โอเพนซอร์สและฟรีแวร์การพัฒนาระบบโดยใช้ซอฟต์แวร์โอเพนซอร์สและฟรีแวร์ ศารทูล คัมมกสิกิจ หน่วยปฏิบัติการวิจัยพัฒนาซอฟต์แวร์โอเพ่นซอร์ส ศูนย์เทคโนโลยีอิเล็กทรอนิกส์และคอมพิวเตอร์แห่งชาติ 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/16872http://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
Language PHP C/C++ Python Free Pascal MSW Logo Java C# Perl
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.
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 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)
ตัวอย่าง 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
Content Management System: CMS Drupal Joomla 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
ตัวอย่างผลงานที่ได้รับรางวัลตัวอย่างผลงานที่ได้รับรางวัล