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