Open Source and Java Thomas Wiradikusuma (wiradikusuma@gmail.com)‏ Java User Group Indonesia SOFTWARE FREEDOM DAY 2008 UNI...
Java User Group Indonesia <ul><li>Biggest (2900+) Java-only community in Indonesia. </li></ul><ul><li>Members vary from st...
Thomas Wiradikusuma <ul><li>Systems Architect in m-STARS, one of the biggest Content Provider in Indonesia. </li></ul><ul>...
Agenda <ul><li>Open source introduction </li></ul><ul><li>Java introduction </li></ul><ul><li>Open source Java </li></ul><...
THE SOURCE IS STRONG WITH YOU Open Source Introduction
A Journey to the Source <ul><li>Everything begins from the Source (code). </li></ul><ul><li>Geek, err, programmer creates ...
Protecting the Source <ul><li>In proprietary software, typically you buy a license (the right) to use some binary code. Yo...
Meet Open Source <ul><li>Full access to the Source. What if you can’t program? Don’t worry, lots of geeks can. </li></ul><...
FSF and OSI <ul><li>Free Software Foundation, founded by Richard Stallman. More philosophical. </li></ul><ul><li>Open Sour...
Benefits of Open Source <ul><ul><li>Cost: </li></ul></ul><ul><ul><li>Zero acquisition cost. </li></ul></ul><ul><li>Freedom...
Legal Stuff <ul><li>The code author still own the copyright, just granting a blanket license to anybody who wants one, the...
WRITE ONCE, RUN ANYWHERE Java Introduction
What is Java? <ul><li>Three in one: </li></ul><ul><ul><li>Programming language </li></ul></ul><ul><ul><li>Virtual Machine ...
Java Programming Language <ul><li>C-like dialect </li></ul><ul><li>public class Hello { </li></ul><ul><li>public static vo...
Java Virtual Machine (JVM) <ul><li>Makes Java application portable </li></ul><ul><li>Code compiled into bytecode </li></ul...
Java Platform <ul><li>Java Card , applet embedded in smart card </li></ul><ul><li>Java ME (Micro Edition) , for cellphone ...
AS FREE AS THE WIND BLOWS Open Source Java
Runtime <ul><li>OpenJDK is the effort by Sun Microsystems to release a fully buildable Java Development Kit based complete...
Operating System <ul><li>JNode aims to make a Java operating system for personal use. Any java application should run on i...
IDE <ul><li>Eclipse was originated from IBM VisualAge. Meant for Java developers but also available for other programming ...
Database <ul><li>H2 Database is a very fast lightweight Java-based RDBMS. </li></ul><ul><li>See also: Derby, db4o, HSQL. <...
CMS <ul><li>Alfresco is an Enterprise Content Management (ECM), providing Document Management, Collaboration, Records Mana...
ERP <ul><li>Compiere is an ERP and CRM business solution for the Small and Medium-sized Enterprise (SME) in distribution, ...
Office Suite <ul><li>OpenOffice was originally derived from StarOffice, an office suite developed by StarDivision and acqu...
Framework/Library <ul><li>Too many to mention! </li></ul><ul><li>Covers almost everything end-to-end </li></ul><ul><li>Maj...
WHAT YOU SEE IS WHAT YOU GET Demo
Java ME and Mobile <ul><li>LWUIT </li></ul><ul><ul><li>UI library that is bundled together with applications and helps con...
Java SE and JavaFX <ul><li>Filthy rich clients </li></ul><ul><ul><li>Created by Romain Guy. </li></ul></ul><ul><ul><li>Swi...
Java EE <ul><li>AppFuse </li></ul><ul><ul><li>Created by Matt Raible. </li></ul></ul><ul><ul><li>Helps to “kick-start” Web...
JUG Indonesia jug.or.id [email_address] Thomas Wiradikusuma jroller.com/wiradikusuma [email_address]
Upcoming SlideShare
Loading in …5
×

Open Source And Java

2,825 views

Published on

Published in: Technology, Education
  • Be the first to comment

Open Source And Java

  1. 1. Open Source and Java Thomas Wiradikusuma (wiradikusuma@gmail.com)‏ Java User Group Indonesia SOFTWARE FREEDOM DAY 2008 UNIVERSITY OF INDONESIA, DEPOK
  2. 2. Java User Group Indonesia <ul><li>Biggest (2900+) Java-only community in Indonesia. </li></ul><ul><li>Members vary from students, professionals to business owners. </li></ul><ul><li>Founded in April 2003 by open source entrepreneur Frans Thamura. </li></ul><ul><li>Currently coordinated by duo JUG Leaders, Thomas Wiradikusuma and Joshua Partogi. </li></ul><ul><li>Sister communities: JUG Geulis, JUG JogloSemar and many more. </li></ul><ul><li>Part of JUG worldwide, a group of people who share a common interest in Java technology. </li></ul>
  3. 3. Thomas Wiradikusuma <ul><li>Systems Architect in m-STARS, one of the biggest Content Provider in Indonesia. </li></ul><ul><li>Founder of Open Source Dewantara Student Information System. </li></ul><ul><li>Currently writing a book to help people pick the right technology when learning or doing development in Java. </li></ul>
  4. 4. Agenda <ul><li>Open source introduction </li></ul><ul><li>Java introduction </li></ul><ul><li>Open source Java </li></ul><ul><li>Demo and QA session </li></ul>
  5. 5. THE SOURCE IS STRONG WITH YOU Open Source Introduction
  6. 6. A Journey to the Source <ul><li>Everything begins from the Source (code). </li></ul><ul><li>Geek, err, programmer creates the source code. </li></ul><ul><li>Source code gets compiled by compiler, resulting in executable (binary code). </li></ul>
  7. 7. Protecting the Source <ul><li>In proprietary software, typically you buy a license (the right) to use some binary code. You do not buy ownership. </li></ul><ul><li>No access to the Source: </li></ul><ul><ul><li>Can’t add feature. </li></ul></ul><ul><ul><li>Can’t fix bug. </li></ul></ul><ul><ul><li>Can’t do security audit. </li></ul></ul><ul><li>Your life is in the hands of Vendors (just hope they don’t go out of business or end support). </li></ul>
  8. 8. Meet Open Source <ul><li>Full access to the Source. What if you can’t program? Don’t worry, lots of geeks can. </li></ul><ul><li>Distribute (make copies) legally. Software distribution cost is virtually zero. If it's free to share, why not? </li></ul><ul><li>“ With enough eyeballs, all bugs are shallow....” (Linus’s Law) </li></ul>
  9. 9. FSF and OSI <ul><li>Free Software Foundation, founded by Richard Stallman. More philosophical. </li></ul><ul><li>Open Source Initiative, founded by Bruce Perens and Eric S. Raymond. More practical. </li></ul><ul><li>FOSS (Free/Open Source Software) for those who don’t care about the differences. </li></ul>
  10. 10. Benefits of Open Source <ul><ul><li>Cost: </li></ul></ul><ul><ul><li>Zero acquisition cost. </li></ul></ul><ul><li>Freedom: </li></ul><ul><ul><li>Not restricted to modify, learn, distribute. </li></ul></ul><ul><ul><li>No Lock-in means your investment is safe. </li></ul></ul><ul><ul><li>Quality: </li></ul></ul><ul><ul><li>Cutting edge innovation. </li></ul></ul><ul><ul><li>Vendors innovate on top of a common base. </li></ul></ul><ul><ul><li>Peer review. Bugs, security holes found by others. </li></ul></ul><ul><ul><li>Programmers write better code/docs, knowing it'll be scrutinized, their respect on the line. </li></ul></ul>
  11. 11. Legal Stuff <ul><li>The code author still own the copyright, just granting a blanket license to anybody who wants one, the license of which permits them certain rights to the code, under certain conditions. </li></ul><ul><li>Common Open Source licenses: </li></ul><ul><ul><li>Apache Software License </li></ul></ul><ul><ul><li>BSD License </li></ul></ul><ul><ul><li>Common Development and Distribution License </li></ul></ul><ul><ul><li>GPL </li></ul></ul><ul><ul><li>Mozilla Public License </li></ul></ul><ul><li>Dual license is possible, but harder if you don’t own all the code. </li></ul>
  12. 12. WRITE ONCE, RUN ANYWHERE Java Introduction
  13. 13. What is Java? <ul><li>Three in one: </li></ul><ul><ul><li>Programming language </li></ul></ul><ul><ul><li>Virtual Machine </li></ul></ul><ul><ul><li>Platform </li></ul></ul><ul><li>A product of Sun Microsystems </li></ul><ul><li>Open sourced in November 2006 under the GNU General Public License </li></ul><ul><li>Used in a wide variety of computing platforms </li></ul>
  14. 14. Java Programming Language <ul><li>C-like dialect </li></ul><ul><li>public class Hello { </li></ul><ul><li>public static void main(String args[]) { </li></ul><ul><li>System.out.println(“Hello!”); </li></ul><ul><li>} </li></ul><ul><li>} </li></ul><ul><li>Object oriented </li></ul><ul><li>Interpreted and compiled </li></ul><ul><li>Widely used to teach Programming 101 in many courses </li></ul>
  15. 15. Java Virtual Machine (JVM) <ul><li>Makes Java application portable </li></ul><ul><li>Code compiled into bytecode </li></ul><ul><li>JIT (Just In Time) native compiler </li></ul><ul><li>Available in a wide range of computer architecture </li></ul>
  16. 16. Java Platform <ul><li>Java Card , applet embedded in smart card </li></ul><ul><li>Java ME (Micro Edition) , for cellphone </li></ul><ul><li>Java SE (Standard Edition) , desktop application and everything else </li></ul><ul><li>Java EE (Enterprise Edition) , Java SE with additional enterprise packages </li></ul><ul><li>JavaFX , emerging rich client platform, Flash-like </li></ul><ul><li>Android , from Google, not the “standard” one </li></ul>
  17. 17. AS FREE AS THE WIND BLOWS Open Source Java
  18. 18. Runtime <ul><li>OpenJDK is the effort by Sun Microsystems to release a fully buildable Java Development Kit based completely on free and open source code. </li></ul><ul><li>See also: Apache Harmony, IcedTea, GNU Classpath. </li></ul>
  19. 19. Operating System <ul><li>JNode aims to make a Java operating system for personal use. Any java application should run on it, fast & secure. </li></ul><ul><li>See also: Sanos, JX, Sun Java Desktop System. </li></ul>
  20. 20. IDE <ul><li>Eclipse was originated from IBM VisualAge. Meant for Java developers but also available for other programming languages. </li></ul><ul><li>See also: NetBeans, jEdit, BlueJ. </li></ul>
  21. 21. Database <ul><li>H2 Database is a very fast lightweight Java-based RDBMS. </li></ul><ul><li>See also: Derby, db4o, HSQL. </li></ul>
  22. 22. CMS <ul><li>Alfresco is an Enterprise Content Management (ECM), providing Document Management, Collaboration, Records Management, Knowledge Management, Web Content Management and Imaging. </li></ul><ul><li>See also: Nuxeo, Daisy, Magnolia. </li></ul>
  23. 23. ERP <ul><li>Compiere is an ERP and CRM business solution for the Small and Medium-sized Enterprise (SME) in distribution, retail, service and manufacturing. </li></ul><ul><li>See also: OFBiz, Openbravo. </li></ul>
  24. 24. Office Suite <ul><li>OpenOffice was originally derived from StarOffice, an office suite developed by StarDivision and acquired by Sun Microsystems in August 1999. </li></ul><ul><li>See also: NeoOffice. </li></ul>
  25. 25. Framework/Library <ul><li>Too many to mention! </li></ul><ul><li>Covers almost everything end-to-end </li></ul><ul><li>Major source/contributors: </li></ul><ul><ul><li>Apache Foundation </li></ul></ul><ul><ul><li>Eclipse Foundation </li></ul></ul><ul><ul><li>Sun Microsystems </li></ul></ul><ul><ul><li>IBM </li></ul></ul><ul><ul><li>Oracle </li></ul></ul>
  26. 26. WHAT YOU SEE IS WHAT YOU GET Demo
  27. 27. Java ME and Mobile <ul><li>LWUIT </li></ul><ul><ul><li>UI library that is bundled together with applications and helps content developers in creating compelling and consistent Java ME applications. </li></ul></ul><ul><li>Android </li></ul><ul><ul><li>Created by Google. </li></ul></ul><ul><ul><li>Software stack for mobile devices that includes an operating system, middleware and key applications. </li></ul></ul>
  28. 28. Java SE and JavaFX <ul><li>Filthy rich clients </li></ul><ul><ul><li>Created by Romain Guy. </li></ul></ul><ul><ul><li>Swing “make-over”. </li></ul></ul><ul><li>jMonkeyEngine </li></ul><ul><ul><li>Created by Mark Powell. </li></ul></ul><ul><ul><li>High performance game engine. </li></ul></ul><ul><li>JavaFX </li></ul><ul><ul><li>Powerful client technology for creating rich Internet applications (RIAs). </li></ul></ul><ul><ul><li>Doesn’t work in my Mac, sorry :( </li></ul></ul><ul><ul><li>Try one yourself at javafx.com. </li></ul></ul>
  29. 29. Java EE <ul><li>AppFuse </li></ul><ul><ul><li>Created by Matt Raible. </li></ul></ul><ul><ul><li>Helps to “kick-start” Web applications quickly and efficiently. At its core, AppFuse is a project skeleton, similar to the one that's created by IDE when you click through a wizard to create a new web project. </li></ul></ul>
  30. 30. JUG Indonesia jug.or.id [email_address] Thomas Wiradikusuma jroller.com/wiradikusuma [email_address]

×