Operational Dynamics
Search
Procedures for Change   |   Systems Review   |   Research & Open Source   |   About Us   |   Talks & Papers

This was first given at foss.in/2005, India's premier Open Source conference, 29 Nov 05.

See below for the abstract for this presentation.

You can view the slides online here, or download them in PDF form.

See also:

Opening GTK to Java programmers

How Open Source will affect Students' and their role in its future

The fundamental structural problem in Open Source

Inside | Outside

Deploying Open Source in the Enterprise

Building a national Linux organization

Configuring Java on Linux

Writing Really Rad GTK and GNOME Applications in C, Python, or Java

Practical tutorial on how to contribute to Open Source

Home - Reference - Conference Presentations and Tutorials - Equivalence


How participation is the only factor which matters in communities, especially the open source world

Abstract

Java is a mature platform for application development with a rich array of libraries to draw upon. Running Java programs, however, especially on Linux, has historically been a bit tricky. Java may be "portable" but setting up an execution environment can be frustrating in the extreme: Rather than having a single command to execute you have to muck around with finding the exact right things to put on your CLASSPATH, knowing the exact class name to run, and even finding a Java VM that will actually work can be a pain.

The traditional approach to this sort of problem is to use autoconf and automake. But in the Java world, all you have to do is identify and select a compiler, identify and select a runtime environment, and locate and formulate an appropriate classpath. That's it.

equivalence is a tool which takes a new approach to the configuration problem, and makes it quick and easy to develop and distribute using Java on Linux. We take an unusual approach: it's not much more than a set of Perl scripts which find prerequisites and then create a make fragment. That fragment is the included by a well constructed Makefile which just builds what needs building. You can build and run either from command line or from within your IDE. equivalence supports changing between runtimes and compilers so you can quickly verify that your code works in Free Java as well as within (say) Eclipse running in real Java.

So this talk will talk about the general configuration problem, how the nature of Java constrains and simplifies what you have to take care of, and some thoughts on how to approach dealing with it. I will offer some tips around how to effectively develop in both in traditional Java, using an IDE like Eclipse and using gcj to compile to native ... all at the same time!

Audience

Anyone who knows Java and wants to do development on Linux but isn't quite sure how to effectively combine the tools available - this talk is for you.

If you have ever struggled with trying to make your code available to others (especially in the open source world when you want someone to have a "quick look" at your code but know they will trip all over trying to get it running) you will benefit from this talk.

We'll chat about bootstrapping new projects, sharing code with others, and best of all how you can focus on coding and not worry about build infrastructure.

And one lucky audience attendee will win a free cup of coffee, so how can you think this talk is NOT for you?

Contents copyright © 2002-2008 Operational Dynamics Consulting, Pty Ltd unless otherwise noted. If you wish to use material found herein, see attribution policy for details.