Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

No more free JRE - Java is dead?

1,334 views
Skip to first unread message

slawek

unread,
Jun 27, 2018, 3:29:47 AM6/27/18
to
New Oracle politics restrict free JRE (general computing) to
non-commercial etc.

The license cost is affordable, but nobody can guarantee future
prices/rules.

Therefore it would be better don't use Java in any FOSS. The old
gold C++ is more secure. Not mention Fortran IV.

Have I missed something?
--


----Android NewsGroup Reader----
http://usenet.sinaapp.com/

Martin Gregorie

unread,
Jun 27, 2018, 8:00:47 AM6/27/18
to
On Wed, 27 Jun 2018 09:29:34 +0200, slawek wrote:

> Have I missed something?

Open JDK?

I'm using it. No problems and easy to keep up to date because its a
standard RedHat Fedora package.


--
Martin | martin at
Gregorie | gregorie dot org

Eric Douglas

unread,
Jun 27, 2018, 11:24:40 AM6/27/18
to
link?

Marcel Mueller

unread,
Jun 27, 2018, 2:08:12 PM6/27/18
to
On 27.06.18 09.29, slawek wrote:
> New Oracle politics restrict free JRE (general computing) to
> non-commercial etc.
>
> The license cost is affordable, but nobody can guarantee future
> prices/rules.

I mentioned this risk a few years ago when Oracle bought Sun. The Java
fan-boys at the conference were not amused and called me a fool. ;-)

But AFAIK this applies only to some non-free addons that ship with JRE.
As long as you avoid to use this features it is still free, or did I
miss something?

> Therefore it would be better don't use Java in any FOSS.

I think it depends. OpenJDK exists.

But the Java rules require any existing Java implementation to be
certified by Oracle. If they change the certification rules they can
easily kick any free implementation if they want.

> The old gold C++ is more secure.

For CLI software, fine. But you don't want to write a portable GUI in
C++. And it is more complex to learn the language.

> Not mention Fortran IV.

Well, that's reserved for masochistic developers nowadays. ;-)

I would put Mono/.NET into play. Although it is commercial too, there is
no restriction for free implementations of the ECMA standard. And well,
it can be faster too, mainly because of the support of custom value types.


Marcel

Eric Douglas

unread,
Jun 27, 2018, 3:24:42 PM6/27/18
to
On Wednesday, June 27, 2018 at 2:08:12 PM UTC-4, Marcel Mueller wrote:
> I mentioned this risk a few years ago when Oracle bought Sun. The Java
> fan-boys at the conference were not amused and called me a fool. ;-)
>
> But AFAIK this applies only to some non-free addons that ship with JRE.
> As long as you avoid to use this features it is still free, or did I
> miss something?
>
ok, it would kill the language if they get rid of the free use model. I'd like to see the link of what exactly they want to charge for.

> > Therefore it would be better don't use Java in any FOSS.
>
> I think it depends. OpenJDK exists.
>
> But the Java rules require any existing Java implementation to be
> certified by Oracle. If they change the certification rules they can
> easily kick any free implementation if they want.
>
There is a lot of FOSS out there, so again I think it would kill the language if they tried to charge for anything already written that has been free to use.

> > The old gold C++ is more secure.
>
> For CLI software, fine. But you don't want to write a portable GUI in
> C++. And it is more complex to learn the language.
>
Is C++ platform independent? C# is free to use and write as long as you own a copy of Windows, so that's pretty popular if you don't need platform independence. The new GUI is all about Javascript/Node/Angular languages all free stuff afaik.

Marcel Mueller

unread,
Jun 27, 2018, 3:50:40 PM6/27/18
to
On 27.06.18 21.24, Eric Douglas wrote:
> On Wednesday, June 27, 2018 at 2:08:12 PM UTC-4, Marcel Mueller wrote:
>> I mentioned this risk a few years ago when Oracle bought Sun. The Java
>> fan-boys at the conference were not amused and called me a fool. ;-)
>>
>> But AFAIK this applies only to some non-free addons that ship with JRE.
>> As long as you avoid to use this features it is still free, or did I
>> miss something?
>>
> ok, it would kill the language if they get rid of the free use model. I'd like to see the link of what exactly they want to charge for.

I only know this one from 2016:
http://www.oracle.com/technetwork/java/javase/documentation/java-se-product-editions-397069.pdf


> There is a lot of FOSS out there, so again I think it would kill the language if they tried to charge for anything already written that has been free to use.

Oracle probably not even takes notice of free software. For sure they
won't care.


>>> The old gold C++ is more secure.
>>
>> For CLI software, fine. But you don't want to write a portable GUI in
>> C++. And it is more complex to learn the language.
>>
> Is C++ platform independent?

To some degree, yes.

> C# is free to use and write as long as you own a copy of Windows,

There is no such restriction.

> so that's pretty popular if you don't need platform independence.

Mono exists and every Ubuntu desktop ships with some Mono applications.

> The new GUI is all about Javascript/Node/Angular languages all free stuff afaik.

You still need the HTML backend on the server.
And JavaScript is a nightmare regarding to maintainability of large
projects.


Marcel

Eric Douglas

unread,
Jun 27, 2018, 4:35:42 PM6/27/18
to
On Wednesday, June 27, 2018 at 3:50:40 PM UTC-4, Marcel Mueller wrote:
> > C# is free to use and write as long as you own a copy of Windows,
>
> There is no such restriction.
>
> > so that's pretty popular if you don't need platform independence.
>
> Mono exists and every Ubuntu desktop ships with some Mono applications.
>
Interesting I hadn't heard of this Mono (https://www.mono-project.com/docs/about-mono/) thing. I thought .NET was Windows specific. That could make it more popular if it's platform independent, though afaik Java is currently more popular.

> > The new GUI is all about Javascript/Node/Angular languages all free stuff afaik.
>
> You still need the HTML backend on the server.
> And JavaScript is a nightmare regarding to maintainability of large
> projects.
>
>
> Marcel

as in Java backend? Only if you already have an extensive backend written. Otherwise PHP? Python? I've only dabbled in Javascript thus far myself so I couldn't speak for it's maintainability but the Angular JS seems to be gaining popularity.

Martin Gregorie

unread,
Jun 27, 2018, 4:38:55 PM6/27/18
to
On Wed, 27 Jun 2018 12:24:29 -0700, Eric Douglas wrote:

> Is C++ platform independent?
>
It is to the extent that the GNU C compiler is portable because GNU C++
is essentially just a preprocessor: it generates C, which is then fed to
the GNU G compiler to produce an executable.

There are a number of other languages that are part of the GNU Compiler
Collection: C++, Objective-C, Fortran, Ada, and Go. In addition, similar
third-party front ends exist for Pascal, Modula-2, Modula-3 and PL/I and
COBOL.

I have no knowledge of other platform-independent languages apart from
two:
- K&R C on OS-9/68000 The C source was immediately compilable with
both GNU and Borland C compilers, but the libraries were quite
nonstandard, so this forced incomparible code changes on both targets.

- Borland C and C++ for Windows 95. A long time ago I made an effort to
learn Borland C and C++. IIRC the languages themselves were quite
standards-compliant (I never tried to port them to other systems, but
their non-standard support libraries made applications written with
them non-portable.

From the above experience I've learned that portability depends on two
things:

- how closely the compilers follow the language specification

- in the case of 'small' languages such as C, C++ and Java,
where a lot of their power comes from their standard libraries,
portability also depends on the availability of standard libraries
on both original and target os/hardware platforms.

Arne Vajhøj

unread,
Jun 27, 2018, 8:09:56 PM6/27/18
to
On 6/27/2018 3:29 AM, slawek wrote:
> New Oracle politics restrict free JRE (general computing) to
> non-commercial etc.

No.

http://www.oracle.com/technetwork/java/javase/terms/license/index.html

"Oracle grants you a non-exclusive, non-transferable, limited license
without license fees to reproduce and use internally the Software
complete and unmodified for the sole purpose of running Programs. "

It is free to use JRE to run programs with.

And then come two exceptions/limitations:

"General Purpose Desktop Computers and Servers" means computers,
including desktop and laptop computers, or servers, used for general
computing functions under end user control (such as but not specifically
limited to email, general purpose Internet browsing, and office suite
productivity tools). The use of Software in systems and solutions that
provide dedicated functionality (other than as mentioned above) or
designed for use in embedded or function-specific software applications,
for example but not limited to: Software embedded in or bundled with
industrial control systems, wireless mobile telephones, wireless
handheld devices, kiosks, TV/STB, Blu-ray Disc devices, telematics and
network control switching equipment, printers and storage management
systems, and other related systems are excluded from this definition and
not licensed under this Agreement. "Programs" means (a) Java technology
applets and applications intended to run on the Java Platform, Standard
Edition platform on Java-enabled General Purpose Desktop Computers and
Servers; and (b) JavaFX technology applications intended to run on the
JavaFX Runtime on JavaFX-enabled General Purpose Desktop Computers and
Servers."

The license can only be used on desktop PC's and servers not on
embedded systems.

I believe that rule goes back to the SUN days.

"THE LICENSE SET FORTH IN THIS SECTION 2 DOES NOT EXTEND TO THE
COMMERCIAL FEATURES."

"“Commercial Features” means those features that are identified as such
in the Java SE LIUM under the “Description of Product Editions and
Permitted Features” section."

The license does not cover:

Java Flight Recorder
Java Mission Control
Java Advanced Management Console
MSI Enterprise JRE Installer
JRE Usage Tracking

This rule probably came in place when Oracle took over SUN
a decade ago. As these features came from BEA Java (JRockit)
that Oracle merged with SUN Java.

> Have I missed something?

Just the fact that Oracle has not done such a thing.

Arne



Arne Vajhøj

unread,
Jun 27, 2018, 8:14:59 PM6/27/18
to
On 6/27/2018 4:38 PM, Martin Gregorie wrote:
> On Wed, 27 Jun 2018 12:24:29 -0700, Eric Douglas wrote:
>> Is C++ platform independent?
>>
> It is to the extent that the GNU C compiler is portable because GNU C++
> is essentially just a preprocessor: it generates C, which is then fed to
> the GNU G compiler to produce an executable.

That was how the original C++ compiler cfront worked.

I don't think GNU C++ (g++) works that way.

g++ calls cc1plus, as and collect2.

It does not call cc1.

Arne

Arne Vajhøj

unread,
Jun 27, 2018, 9:08:02 PM6/27/18
to
On 6/27/2018 8:09 PM, Arne Vajhøj wrote:
> On 6/27/2018 3:29 AM, slawek wrote:
>> New Oracle politics restrict free JRE (general computing) to
>>   non-commercial etc.
>
> No.
>
> http://www.oracle.com/technetwork/java/javase/terms/license/index.html

>> Have I missed something?
>
> Just the fact that Oracle has not done such a thing.

And even if it were true then as other has pointed out there are
other free Java implementations.

Apache Harmony and GCJ are sort of dead.

But OpenJDK is very much alive.

You can pick from multiple flavors:
* standard OpenJDK
* Azul's OpenJDK build Zulu
* Eclipse J9 which is OpenJDK with another JVM (from IBM)

And the license GPL & GPL with classpath exception ensure
that it will stay open source.

Arne


Martin Gregorie

unread,
Jun 28, 2018, 3:40:16 PM6/28/18
to
On Wed, 27 Jun 2018 20:14:50 -0400, Arne Vajhøj wrote:

> On 6/27/2018 4:38 PM, Martin Gregorie wrote:
>> On Wed, 27 Jun 2018 12:24:29 -0700, Eric Douglas wrote:
>>> Is C++ platform independent?
>>>
>> It is to the extent that the GNU C compiler is portable because GNU C++
>> is essentially just a preprocessor: it generates C, which is then fed
>> to the GNU G compiler to produce an executable.
>
> That was how the original C++ compiler cfront worked.
>
> I don't think GNU C++ (g++) works that way.
>
It seems to have changed again recently: currently it looks as though
there is one frontend for each language. All frontends produce the same
output (an intermediate language called GIMPLE) which is passed to the
optimiser and backend. The latter generates target-specific assembler,
which is in turn passed to the target's assembler and linker.

So it seems that traditional C preprocessor and assembly language
generator are now a single module called gcc that contains the modules
responsible for optimisation and assembler generation and that g++ does
the similar job for C++. In all cases looks as though the frontend also
controls the assembler->linker chain.

...which is all quite interesting since its not long since I got told I
was an idiot for thinking that the old cpre and frontend (cc1plus?) were
now a single program.

However, its also possible I've misunderstood the setup because I found
the GNU documentation quite opaque and have basically ended up
summarising the Wikipedia "GNU Compiler Collection" page, so all
corrections greatfully received.

The bottom line: to compile another language such as Java or COBOL yo
have to write a new front end, but are expected to reuse the optimiser
and backend as well as the target-specific assembler and linker.

Arne Vajhøj

unread,
Jun 28, 2018, 6:32:22 PM6/28/18
to
On 6/28/2018 3:40 PM, Martin Gregorie wrote:
> On Wed, 27 Jun 2018 20:14:50 -0400, Arne Vajhøj wrote:
>
>> On 6/27/2018 4:38 PM, Martin Gregorie wrote:
>>> On Wed, 27 Jun 2018 12:24:29 -0700, Eric Douglas wrote:
>>>> Is C++ platform independent?
>>>>
>>> It is to the extent that the GNU C compiler is portable because GNU C++
>>> is essentially just a preprocessor: it generates C, which is then fed
>>> to the GNU G compiler to produce an executable.
>>
>> That was how the original C++ compiler cfront worked.
>>
>> I don't think GNU C++ (g++) works that way.
>>
> It seems to have changed again recently: currently it looks as though
> there is one frontend for each language. All frontends produce the same
> output (an intermediate language called GIMPLE) which is passed to the
> optimiser and backend. The latter generates target-specific assembler,

That is all within same executable.

> However, its also possible I've misunderstood the setup because I found
> the GNU documentation quite opaque and have basically ended up
> summarising the Wikipedia "GNU Compiler Collection" page, so all
> corrections greatfully received.

Just use gcc -v and g++ -v and they reveal what they run.

> The bottom line: to compile another language such as Java or COBOL yo
> have to write a new front end, but are expected to reuse the optimiser
> and backend as well as the target-specific assembler and linker.

That is how compilers are done today and has been for many years.

The distinct backend for each compiler is too expensive.

Arne


Martin Gregorie

unread,
Jun 28, 2018, 7:15:45 PM6/28/18
to
On Thu, 28 Jun 2018 18:32:11 -0400, Arne Vajhøj wrote:

>> It seems to have changed again recently: currently it looks as though
>> there is one frontend for each language. All frontends produce the same
>> output (an intermediate language called GIMPLE) which is passed to the
>> optimiser and backend. The latter generates target-specific assembler,
>
> That is all within same executable.
>
Thought that was likely to be the case.

Haddock

unread,
Jul 12, 2018, 2:31:59 AM7/12/18
to
Am Mittwoch, 27. Juni 2018 09:29:47 UTC+2 schrieb slawek:
> New Oracle politics restrict free JRE (general computing) to
> non-commercial etc.
>
> The license cost is affordable, but nobody can guarantee future
> prices/rules.

IMHO, Sun should have done that many years ago. Could have helped them from going bancrupt. A small amount for the JRE while the JDK for development remains free would not have harmed the business and helped them to survive.

I know most people think differently about this matter, but that is my opinion. Though I wouldn't have minded Sun charging a bit for the JRE I certainly do mind now Oracle doing that :-))).

Arne Vajhøj

unread,
Jul 14, 2018, 2:01:43 PM7/14/18
to
First of all there does not seem to be any indication that
Oracle has changed the rules fundamentally compared
to SUN. General purpose usage is free - embedded usage
is for pay. Support of free is limited time wise - support
of for pay is very long term. Some details has changed over
the years, but nothing fundamental.

And I am not so sure that making all production usage
for pay would have been a wise move. C++, C#/.NET, PHP
etc. are all free at runtime. If Java had meant
pay at runtime, then Java would have been at a commercial
disadvantage.

Arne


Eric Douglas

unread,
Jul 20, 2018, 8:51:38 AM7/20/18
to
On Saturday, July 14, 2018 at 2:01:43 PM UTC-4, Arne Vajhøj wrote:
> First of all there does not seem to be any indication that
> Oracle has changed the rules fundamentally compared
> to SUN. General purpose usage is free - embedded usage
> is for pay. Support of free is limited time wise - support
> of for pay is very long term. Some details has changed over
> the years, but nothing fundamental.
>
> And I am not so sure that making all production usage
> for pay would have been a wise move. C++, C#/.NET, PHP
> etc. are all free at runtime. If Java had meant
> pay at runtime, then Java would have been at a commercial
> disadvantage.
>
> Arne

I have wondered if we write a system for company use that is versatile enough that other companies would want it would it be worthwhile to sell software. Most languages are free now, so if they want to charge for their software just for our in house application, which was a free platform when we started using it then we're just stuck on one version? Then we're like crap why didn't we use C#?

I just installed the latest, Java 8 update 181 and a message pops up:
Important Information about Oracle Java SE Roadmap
Changes are coming which will impact your access to future releases of Java SE from Oracle.
Corporate users will be impacted as soon as Jannuary 2019.
These changes do not affec the version you are about to install.
For additional guidance please follow the link below.
https://www.java.com/en/download/release_notice.jsp

This release notice does specify Java 8. If I'm reading it right this is nothing new, this is just saying they're killing version 8, then if you want any support or updates for 8 you have to pay them. Java 9 and 10 are out now if you want to start converting code and testing this new modular stuff, as I expect 11 will work the same. While 8 is dead by January for free public use, 11 is supposed to be out this September. Along with this change it seems they're going to stop installing Java on every client. The new JDK should allow you to build your own runtime that doesn't require anything pre-installed.

The release notice also says Open JDK is also managed by Oracle, and they are working to make it interchangeable with Java SE. Along with this they say they also want to make their tools free which were previously only available with paid subscriptions, such as Java Flight Recorder.

Arne Vajhøj

unread,
Jul 20, 2018, 9:43:28 PM7/20/18
to
On 7/20/2018 8:51 AM, Eric Douglas wrote:
> On Saturday, July 14, 2018 at 2:01:43 PM UTC-4, Arne Vajhøj wrote:
>> First of all there does not seem to be any indication that
>> Oracle has changed the rules fundamentally compared
>> to SUN. General purpose usage is free - embedded usage
>> is for pay. Support of free is limited time wise - support
>> of for pay is very long term. Some details has changed over
>> the years, but nothing fundamental.

> I have wondered if we write a system for company use that is
> versatile enough that other companies would want it would it be worthwhile to sell
> software. Most languages are free now, so if they want to charge for
> their software just for our in house application, which was a free
> platform when we started using it then we're just stuck on one version?
> Then we're like crap why didn't we use C#?
>
> I just installed the latest, Java 8 update 181 and a message pops up:
> Important Information about Oracle Java SE Roadmap
> Changes are coming which will impact your access to future releases of Java SE from Oracle.
> Corporate users will be impacted as soon as Jannuary 2019.
> These changes do not affec the version you are about to install.
> For additional guidance please follow the link below.
> https://www.java.com/en/download/release_notice.jsp
>
> This release notice does specify Java 8. If I'm reading it right
> this is nothing new, this is just saying they're killing version 8, then if
> you want any support or updates for 8 you have to pay them. Java 9 and
> 10 are out now if you want to start converting code and testing this new
> modular stuff, as I expect 11 will work the same. While 8 is dead by
> January for free public use, 11 is supposed to be out this September.

Java 8 is not totally dead for free usage.

But Oracle will stop providing patches for free in
January 2019 / December 2020 for commercial / personal.

Java 8 was released in 2014 so Oracle has provided
patches for free for 5-6 years.

Customers has a large number of options:
* continue with Oracle Java 8 for free without patches
* continue with Oracle Java 8 and pay Oracle for
support (premier support until 2022, extended support
until 2025, sustaining support forever)
* upgrade to Oracle Java 11 / 18.9 LTS and pay Oracle for
support (premier support until 2023, extended support
until 2026, sustaining support forever)
* switch to OpenJDK 8 @ jdk.java.net and get patches for
free until 2020??
* upgrade to OpenJDK 11 / 18.9 LTS @ jdk.java.net and get
patches for free until 2019??
* switch to OpenjDK 8 @ adoptopenjdk.net and get patches for
free until 2022
* upgrade to OpenJDK 11 / 18.9 LTS @ adoptopenjdk.net and get
patches for free until 2022
* buy Azul Zulu (based on OpenJDK) with support
- 8 has production support until 2024
- 11 / 18.9 LTS has production / extended support until 2026 / 2028
* buy IBM Java with support if they support your platform
- 8 has support until 2022 or 2025
- 11 / 18.9 LTS end of support has not been announced yet

I think the bottom line is pay or upgrade.

Best approach to for free support seems to be adoptopenjdk.net !

https://adoptopenjdk.net/support.html

And I think that Oracle may need to reconsider OpenJDK support
so that jdk.java.net will go to same model as adoptopenjdk.net
to stay relevant.

> The release notice also says Open JDK is also managed by Oracle, and
> they are working to make it interchangeable with Java SE. Along with
> this they say they also want to make their tools free which were
> previously only available with paid subscriptions, such as Java Flight
> Recorder.

My understanding of the latest message is that instead of
having:
* Oracle Java commercial offering
* Oracle Java free download from www.oracle.com
* OpenJDK free download from jdk.java.net
we will have:
* Oracle Java commercial offering
* OpenJDK free download from www.oracle.com
* OpenJDK free download from jdk.java.net

Arne



0 new messages