User Poll October 2007

We've conducted a user poll for the whole Apache XML Graphics project to gather data for a decision to drop support for Java 1.3 (or even java 1.4). The results:

A total of 87 people responded. Thanks a lot to everyone who has taken the time fo fill out the survey!

Not on data quality: There seems to be at least one case of nearly duplicate entries which I haven't filtered. The IPs were the same. Maybe two people from the same company.

Product Usage

http://people.apache.org/~jeremias/userpoll2007-10/chart-product-usage.png

Comments

  • 86 people responded, 1 skipped this question
  • Multiple answers were possible.
  • Note that most FOP users are implicitely Batik users, too.
  • 32 out of the 86 people (37%) only use Batik.
  • One person out of the 86 people (1.2%) only uses XML Graphics Commons

Main Production Operating System

http://people.apache.org/~jeremias/userpoll2007-10/chart-prod-os.png

Comments

  • 82 people responded, 5 skipped this question
  • The most "exotic" OS mentioned was the IBM OS/400 V5R4.
  • One Batik user still uses Windows 98.
  • Additional operating systems the products have to run on (secondary operating systems)
    • the usual suspects: Windows, Linux, OSX and Solaris
    • 5 mentioned BSD
    • 3 mentioned AIX
    • 2 mentioned HP-UX
    • 1 mentioned AS400/iSeries/i5/System i

Main Development Operating System

http://people.apache.org/~jeremias/userpoll2007-10/chart-dev-os.png

Comments

  • 70 people responded, 17 skipped this question

Java

Java versions in production

  • 71 people responded, 16 skipped this question
  • There was no mention of a Java 1.3 in use, but see below (Java 1.3).
  • 16 out of 71 people are still using Java 1.4 in production.
    • 3 are using IBM's Java 1.4
    • the other are using Sun's Java 1.4, sometimes along the IBM Java 1.4.
  • The relatively numerous Java 1.5 users mostly use Sun JVMs, but IBM JVMs are also quite common.
  • 26 out of 71 people are already using Java 6 in production (all from Sun)
  • "Exotic" JVMs in use:
    • 1 is using some version of GNU Classpath in some way.
    • 1 is using IcedTea Server VM build 11.0-b05 (Java 7 level)

Java versions in development

  • 67 people responded, 20 skipped this question
  • There was no mention of a Java 1.3 in use, but see below (Java 1.3).
  • 13 out of 67 people are still using Java 1.4 in development.
    • 1 is using IBM's Java 1.4.2
    • 1 is using GCJ 4.1 (Java 1.4.2 level)
  • Most 1.5 or 6 JVMs used in development come from Sun, just a handful from IBM and Apple.
  • "Exotic" JVMs in use:
    • 1 is using Apache Harmony 5.0M2 (Java 1.5 level)
    • 1 is using IcedTea Server VM build 11.0-b05 (Java 7 level)

Java 1.3 in production

We asked:

If you still use Java 1.3 or earlier in production, do you have a need to stay on the latest versions of Apache XML Graphics products (Batik, FOP, Commons)?

http://people.apache.org/~jeremias/userpoll2007-10/chart-java13.png

  • 59 people responded, 28 skipped this question
  • Nobody answered with "yes" here.
  • 4 (6.8%) answered with "no" here.
    • Although nobody listed a JVM 1.3 being used in production, some people said "no" here. There's some room for interpretation here.

This tells us that is now completely safe to drop support for Java 1.3.

Additional questions

We asked:

Are you aware that the end-of-life process for Sun's Java 1.3 has ended in December 2006?

  • 17 people responded, 70 skipped this question (question appeared only for people where Java 1.3 is relevant, but there was also a little hickup in the survey which apparently lead some people here althought they don't use Java 1.3)
  • 41% out of the 17 respondents said "no".

We asked:

J2SE 1.4.2 has begun the Sun End of Life (EOL) process. The EOL transition period is from Dec, 11 2006, until the General Availability (GA) of the next Java version, Java SE 7, currently planned for the summer of 2008. What do you think about the idea of making Java 1.5 the minimum version for all XML Graphics subprojects today?

http://people.apache.org/~jeremias/userpoll2007-10/chart-java15-opinion.png

  • 70 people responded, 17 skipped this question
  • Apparently, even though almost 25% are still running on Java 1.4 only 14.3% think it's a bad idea to switch to Java 1.5.

Comments by respondents

23 respondents left us some comments. Here's a selection:

  • Comments on our products and/or our work:
    • FOP is a really great project (and all its dependencies). I know it's probably not of much use in this context, but I had to get this of my chest. (smile)
    • keep up the good work
    • you guys rule (from a Batik user)
    • You all do/did a nice Job. Respect!
    • FOP is great.
    • Thanks for good work you're doing.
    • FOP is a really good product. Thank you.
    • looking forward to trying the animation support in Batik 1.7
    • Thanks for making such a fabulous product. (from a Batik user)
  • Comments on the minimal Java version:
    • For me new projects give usually opportunity to adjust the system environment anyway. Thus an update to Java5 is nearly always possible. Go for Java5! Thanks.
    • A transition period to 1.5 would be good. E.g., "javac -source 1.5 -target 1.4" for a while, although it would also be important to actually test run the code on a 1.4 machine, because otherwise it's easy for the use of 1.5-only methods like Boolean.getBoolean() to slip in without notice.
    • Old JVM should be enough to run an old FOP...
    • go for it - drop support for jvms older than 1.5 - you should be able to use newer java features for supporting new features in SVG and XSL-FO
    • Go for 1.5 (of even 1.6) and migrate the api to use generics, enumerations, etc. If you are disrupting continuity anyway (which every now and then needs to happen) don't bother with 1.4. Fixing on 1.4 will very soon put you in the same spot and at the same time stop you from being able to use some of the nicer 1.5 features.
    • We switched to develop assuming at least a 1.5 compiler. From our perspective, the speed improvements as you upgrade versions, plus not having to dealing with the type safety / generics limbo made it a no-brainer.
    • Although I use 1.4.2 in production and development, we are preparing to go to 1.5 and Java EE 5 early next year, at which point all desktops and servers will move to 1.5, so I agree that 1.5 is the next good baseline. In fact, we're considering going to 1.6 on the desktops so our Java Swing developers can take advantage of new features.
    • We deploy to environments in all branches of the military. Until a given Java version is approved for use on all military systems, we have to stick with the lowest common denominator. Right now, that's Java 1.4.2 although we expect it will be Java SE 5.0 soon.
    • Lot of free Java implementation still are on the level of Java 1.4, so I would prefer to keep the minimum requirements by 1.4 and not 1.5
    • Good work guys, keep it up! And reward yourselves with 1.5, programming without generics is so stone-age (wink).
  • Other comments:
    • I'm interested in a simple and easy to use tool for children to draw SVG. Chalk and Seascape are initial concepts, a core team is needed to develop a product. http://www.peepo.co.uk/peepo2/authoringTool.html I'm concerned that this tool should be available on out of date or underpowered hardware such as olpc project. I understood this doesn't support java.... let alone presumably feature rich new versions which are bigger and require more processing and memory.

Conclusion

  • It's safe to drop Java 1.3 support.
  • We'll need some additional discussion concerning Java 1.5.
  • No labels