CDI- 'lite' (which is actually not lighter but adds 40% classes in addition, creating even bigger and harder to maintain projects) could habe been done as optional 'CDI runtime extensions' feature. Criticism got raised from quite a hand full of current and former EG members, but all got ignored.
But then we are also back at the 'optional features' discussion. Those were afaiu officially forbidden only to release specs with optional features a few weeks later. Make the rules, break the rules...
Am 28.01.2023 um 21:04 schrieb Romain Manni-Bucau <rmannibucau@xxxxxxxxx>:
Guess there are several good topics there:
1. Does EE becomes a new kind of project and no more a spec and portable abstraction with backward compat guarantees (which was until now the only value - but it is a key one for enterprise)?
1.bis. Does EE accept discussions and does a group on top of specs guarantees the well behaving and consistency as it was before or is it individual driven? (See 2.b for ex).
2. Does CDI work on its broken and with no common agreement issues
2.a. backward compat breakages (beans.xml, dropped methods like event ones, ...). Most can be restored easily while nobody adopted it.
2.b. lite profile which is mainly done for an impl with *no* real gain in terms of perf (startup or runtime or even mem) and creates a very ambiguous state where it looks build time friendly whereas only runtime is defined by the spec so really exists and in this case means it just duplicates the api it adds so no user help but more a new mess. Also note community didnt agree on that at all and it was forced even if several alternative were proposed.
The drop of oracle driven dev mutated the ecosystem and the IT ecosystem changed too but EE does not highlight much benefit anymore for companies now due to the new behaviors and releases content (purely tech) so i guess a lot of efforts have to be done to either fix it or to assume it and explicit the project is no more related to its roots.
Both sound ok to me but staying in between is probably to kill itself slowly IMHO.
So to me it seems that the handling was not really kosher. Good at creating rules, even better at breaking them immediately...
But then again, a more important question is: does it make sense for users/consumers of Jakarta EE? Is it worth for them, or does it only benefit one certain implementation (which is not even Jakarta EE but seems to be the origin of this change)?
Imo we should raise awareness that backward compatibility in the past used to be one of the key selling arguments pro JavaEE. Do we want to ditch this if there is no really good reason (as in this specific case, see my question list above)?
Looping in the CDI mailing list so that the right folks can
provide additional context.
My guess is that these decisions were not taken particularly
lightly. I think it is easy to see performance is a key value
proposition for CDI Lite/Jakarta EE Core runtimes. There is some
evidence to suggest that this line of thinking actually is making
Jakarta EE more relevant to newer audiences.
On 1/28/2023 1:28 PM, Mark Struberg
Sorry, but the whole referenced
email threads does NOT cover pruning rules at all!
The whole question is about guaranteed stability over a
forseeable version range.
I have no problem with deprecating features.??
I also have no problem with pruning long time deprecated
But I DO have a problem with intentionally (or planlessly)
breaking backward compatibility from one EE version to the
next *WITHOUT* any reason!
For swapping the default meaning of empty beans.xml files
please ask yourself:
* was there really no other way to solve the problem?
* was there a groundbreaking new feature which would not
have been possible without this change?
was this change thus really technically necessary?
* was it worth to break the world just because someone
thought it might be funny?
txs and LieGrue,
PS: failures as such can happen, no problem. But then
let's solve/undo those failures and not codify them!
I would also like to see the discussion
or minutes from a meeting where this was
decided. I believe that this is a thing that
requires a ballot.
It??s true that we had to bend the rules
for Jakarta EE 9, but it's not a reason to
keep bending the rules for all the future
releases. It's also true that Jakarta EE 10
dropped some deprecated functionality, which
used to be allowed in Java EE but the rules
for Jakarta EE in https://eclipse-ee4j.github.io/jakartaee-platform/CompatibilityRequirements
don't cover this option. Even if those rules
are still valid, they aren't complete, and
even state this explicitly in one place:
XXX - This section needs to be
updated with new rules for the actual
removal of APIs and specifications from
the Jakarta EE platform as anticipated
in Jakarta EE 9, similar to what???s done
for the Java SE platform.
I suggest that we update the https://eclipse-ee4j.github.io/jakartaee-platform/CompatibilityRequirements
page to be up to date with the current
Backwards Compatibility Requirements
(Decided by whom? Jakarta EE Steering or
Specification Committee??? ). We can't accept
that we have an official document that we
don't follow, and, on the other hand, have
some unwritten non-transparent agreement
that some of us follow.
Do the people who decide such
things IN THE DARK (aka undocumented
it seems) mean this serious?
I mean, really this got nowhere
made public, was it? Please point me
to the articles covering this!
That would imo TOTALLY ditch
the whole purpose of JavaEE /
JakartaEE in my eyes.
If a project wants to use
quickly evolving technologies,
then they do usually NOT choose
JavaEE - in my experience - was
previously chosen by companies and
governmental organisations whose
primary goal is stability over a
very long period of time. We are
talking in 5 to 10 years of
stability. Now when you folks
ditch this, then I fear we will
loose banks, governments, etc.
Those 'slow moving dinosaurs' in
my experience used to be the main
users of JavaEE. They provide the
main money, they have the most
code running in JavaEE.
There is a good reason why
people used to say "JavaEE is
these days COBOL". That's because
COBOL apps are running till today.
Like many JavaEE apps I see at
customers. Many of them older than
10 years, but still perfectly
And for container vendors: why
should I pass a TCK if the rules
are totally turned around in 2
years anyway? I mean this is a
joke, really :(
PS: Scott, I understand you are
just the messenger, so no personal
switched to a semantic
versioning approach, but
I don't see that this
was captured in that
page or elsewhere. That
notion of backwards
completely violated in
the EE 8 to EE 9 release
due to the package
rename, and in general,
compatibility was seen
as counterproductive to
evolving the platform.
<449.png><449.png>_______________________________________________ jakartaee-platform-dev mailing list jakartaee-platform-dev@xxxxxxxxxxx To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/jakartaee-platform-dev