As someone who had been superstitious about Java "being bad", I was
shocked to read on the FSF's website some time ago about Java being released
under the GPL in 2007. http://www.fsf.org/working-together/gang/java
With that encouragement, I went on to find out that MANY mobile phones have a
built in interpreter for Java Micro Edition (ME) and many of those phones are
very inexpensive to buy in prepaid or un-locked versions. I myself got a
Motorola em326g for all of 4.99 USD new which includes a microSD slot and a
JavaME interpreter for "MIDlets" as the Java apps are called. I am even
working with a schoolteacher I know to develop a JavaME program that runs on
exactly that model phone to help teach Math to special-needs students. Since
most of the phones firmware just sits there and is never modified or
upgraded, I think the firmware OS of the phone can be regarded as a circuit
(correct me if I am wrong) and therefore practically hardware. The important
thing is that there are many MIDlet apps that are released as Free Software
and I only use and install those that are. Many such projects are on
Sourceforge, others can be found in the "back alleys" or with search engines.
The problem for me came when I began to learn to write the programs.
Since I run Trisquel, I checked which Java IDE's qualify as Free, and went
from there. Eclipse is my DE of choice as Netbeans did not show up, although
some pieces of it did... I had to fetch a plugin for Eclipse Called EclipseME
for Micro Edition Java development, which is under the Eclipse Public
License, which is what I think the Eclipse program in general is under and
that made into Trisquel so I assume the EPL is an OK Free Software License.
Now getting to the real dissapointment- the Sun Wireless Toolkit (WTK).
In many tutorials, this is said to be needed to make MIDlets work on a Java
phone, yet it must be downloaded from Oracle under a restrictive "Oracle
Technology Network Developer License" which I have read and do not like very
much at all! The license can be found on the following page:
http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javame-419430.html#sun_java_wireless_toolkit-2.5.2_01b-oth-JPR
At first, I read the third party license agreement which had some jpeg stuff,
Apache 1.1 and 2.0 licenses, and the SGI license for Opengl and thought that
was the license for the WTK, but it turns out not to be.
So my question is: Should I stop developing MIDlet apps for my nice little
phone because doing so requires non-free software? Obviously the program code
can be licensed under GPL as many MIDlets on Sourceforge are, but to compile
them correctly, I believe (maybe I am wrong) one needs the Sun WTK. Perhaps
one may be able to get away with using just ant on a build.xml file? I will
have to try it. I think there is a reason to continue because there is a
wealth of Free Software MIDlets for JavaME, and it has helped me learn alot
about coding already, I cannot really see giving up. It has also helped me be
content with simple functionality like reading ascii txt books/articles,
playing public domain MIDI, and imagining the possibilities of such a limited
device. I bought 2 spare BD50 batteries, and on all 3 have run over 3 weeks
without ever nearing a wall outlet. I think there is really something to this
platform, and like RMS all those years ago I don't want to give up. Maybe
there is a Free version of the WTK? Or maybe it is not REALLY needed, just
convenient?
I do not understand how Java itself can be GPL and yet nasty licenses like
these still muck things up for developers of Free Software. I turn to you
hackers because I know Freedom matters to us and I myself am not capable of
coding a replacement for the Sun WTK overnight. Thank you for your dedication
and patience.