Oracle Discontinues Free Java Time Zone Updates 405
New submitter Noel Trout writes "For a long time in the Java world, there has been a free tool called the 'tzupdater' or Time Zone Updater released as a free download first by Sun and then Oracle. This tool can be used to apply a patch to the Java runtime so that time zone information is correct. This is necessary since some time zones in the world are not static and change more frequently than one might think; in general time zone updates can be released maybe 4-6 times a year. The source information backing the Java timezone API comes from the open source Olson timezone database that is also used by many operating systems. For certain types of applications, you can understand that these updates are mission critical. For example, my company operates in the private aviation sector so we need to be able to display the correct local time at airports around the world. So, the interesting part is that Oracle has now decided to only release these updates if you have a Java SE support contract. Being Oracle, such licenses are far from cheap. In my opinion, this is a pretty serious change in stance for Oracle and amounts to killing free Java for certain types of applications, at least if you care about accuracy. We are talking about the core API class java.util.TimeZone. This begs the question, can you call an API free if you have to pay for it to return accurate information? What is the point of such an API? Should the community not expect that core Java classes are fully functional and accurate? I believe it is also a pretty bad move for Java adoption for these types of applications. If my company as a startup 10 years ago would have been presented with such a license fee, we almost certainly could not have chosen Java as our platform as we could not afford it."
IBM to the rescue (Score:5, Informative)
IBM provides free access to the Olson database updates:
http://www.ibm.com/developerworks/java/jdk/dst/jtzu.html
Was this post even necessary?
http://lmgtfy.com/?q=java+olson+database
there's always Joda Time... (Score:5, Informative)
The database is called "Olson", you find it here (Score:5, Informative)
Let me google that for you [lmgtfy.com]! But more to the point, writing a tool that will grab those updates for yourself and storing it where you need it looks like a bash script or batch file candidate. Our brains are more than a match for Oracle's bean counters. Let's use them!
cheers...ank
Re:ORACLE = One Raging Asshole Called Larry Elliso (Score:4, Informative)
newlines are used in place of semicolons and indentation defines code blocks
in most other languages {} define code blocks and indentation implies code blocks to the reader, sometimes misleading the reader.
Re:Any day now (Score:2, Informative)
Re:ORACLE = One Raging Asshole Called Larry Elliso (Score:0, Informative)
...or I could just use one of the other two dozen high level languages that has a far better implementation. For a new project, why would anyone use Python over Go? They have basically the same semantics except Go has far better performance and has decent threading model.
Re:Java lost me years ago (Score:3, Informative)
Java gets a bad rap (and Oracle doesn't help) but there's nothing wrong with it per se. If I had the choice of starting a project in C, C++ or Java I'd always pick Java--call it obsolete if you want but those alternatives are archaic. (And I'm not fully sold on interpreters languages either, partly because my applications are very sensitive to runtime performance and memory overhead. Are the JIT compilers for Python et al any good?)
The security exploits are in the Java plugin. I don't care much about those because I disabled the plugin in my browsers years ago. Don't folks understand that 99.99% of Java users are unaffected by the plugin exploits???
When programming Java, you sure don't have to wrap everything in an object. Everything is in a class, but so what? Classes provide a namespace for your code, which is useful. They also give you lazy loading so you don't have to wait for an entire app to load.
There are a lot of bad Java programmers though. It seems too few of them have really learned CS and don't understand the internals or runtime well. That's a mistake when using any language.
How to update TZs (Score:5, Informative)
Firstly, Oracle are still updating timezones as always in updates to the JDK/JRE.
From an old Oracle post though there is this guide
https://blogs.oracle.com/coffeys/entry/want_the_latest_tzdata_support
Which breaks down the process for folks who want to build their own TZ updating tool.
raising a question != begging the question (Score:3, Informative)
This begs the question, can you call an API free if you have to pay for it to return accurate information?
No it does not beg the question.
What is "Begging the Question?"
"Begging the question" is a form of logical fallacy in which a statement or claim is assumed to be true without evidence other than the statement or claim itself. When one begs the question, the initial assumption of a statement is treated as already proven without any logic to show why the statement is true in the first place.
A simple example would be "I think he is unattractive because he is ugly." The adjective "ugly" does not explain why the subject is "unattractive" -- they virtually amount to the same subjective meaning, and the proof is merely a restatement of the premise. The sentence has begged the question.
What is it Not?
To beg the question does not mean "to raise the question." (e.g. "It begs the question, why is he so dumb?") This is a common error of usage made by those who mistake the word "question" in the phrase to refer to a literal question. Sadly, the error has grown more and more common with time, such that even journalists, advertisers, and major mass media entities have fallen prey to "BTQ Abuse."
While descriptivists and other such laissez-faire linguists are content to allow the misconception to fall into the vernacular, it cannot be denied that logic and philosophy stand to lose an important conceptual label should the meaning of BTQ become diluted to the point that we must constantly distinguish between the traditional usage and the erroneous "modern" usage. This is why we fight
Re:Actually: Why are these needed? (Score:4, Informative)
No. Windows handles DST rules in the registry, so it's perfectly capable of date-dependent DST rule handling. The article discusses those recommendations as a way to avoid problems caused by issues with Outlook and Exchange 2003, both of which have their own unique ways of handling TZ changes (basically, they fail to store TZ information with dates, so TZ changes screw up the display of appointments). The problems were largely addressed in Outlook and Exchange 2007 and completely fixed in the 2010 versions, which keep the appointments in GMT-plus-offset format.
There's legitimate complaints you can have with the way Windows handles TZ changes -- personally, I'm not a fan of having to install TZ patches from Windows Update and I really dislike how Windows keeps the RTC in local time instead of GMT -- but don't blame it for the failings of antiquated and soon unsupported Office programs.
Re:Cannot someone else do the updates ? (Score:5, Informative)
Joda already provides their own TZ update mechanism: http://joda-time.sourceforge.net/tz_update.html [sourceforge.net]
Also anyone NOT using Joda for dates/times in Java really needs to come to the light and experience the wonders of a well designed API.