It's not too late for access control
dalibor topic
dalibor.topic at oracle.com
Sat Jul 16 09:13:32 UTC 2016
On 16.07.2016 09:18, Jochen Theodorou wrote:
> You seem to be talking about achieving a certain goal and doing that
> using the wrong mechanisms... What about features that exist only
> because you have been able to trick the API or the JVM?
In that case, I'd suggest first working on bringing the necessary
features into the missing platform layers, and once they are available,
migrating to them.
> Just as an example... because the JVM used to have a URLClassloader when
> starting, it was possible to add classes there at runtime and @Grab was
> born to make use of that. Now this is no longer possible, @Grab will no
> longer work on JDK9 in many many cases. Why is that technical debt?
When someone deliberately breaks out of the boundary of what's supported
functionality in a platform, they consciously trade off the benefits of
that action against the risk of their code falling apart further down
the road.
In other words, the benefit needs to be sufficiently advantageous to
allow them to invest a part of its gains in eliminating the problem
before the risk eventually materializes, for example by working on
introducing the feature in a supported way at the appropriate layer of
the platform, and then migrating to it.
If the benefit isn't sufficiently advantageous for that, or if they fail
to plan adequately to eliminate the risk, then they might have a problem
in some version of the future. But the core problem is not that a risk
they consciously undertook eventually materializes, it's with risk
assessment and decision making - and it's an entirely human thing to not
get quite right.
A nice, long read on that from a security perspective is here:
https://www.schneier.com/essays/archives/2008/01/the_psychology_of_se.html
In open source ecosystems, there is often an additional human factor -
people responsible for making the trade offs may be long gone from a
project (as well as the associated benefits), by the time the risk they
consciously introduced into a piece of software materializes.
So tools for conscious risk (re-)assessment are important, such as
jdeps, or -XX:+CheckEndorsedAndExtDirs, ... as is empathy.
cheers,
dalibor topic
--
<http://www.oracle.com> Dalibor Topic | Principal Product Manager
Phone: +494089091214 <tel:+494089091214> | Mobile: +491737185961
<tel:+491737185961>
ORACLE Deutschland B.V. & Co. KG | Kühnehöfe 5 | 22761 Hamburg
ORACLE Deutschland B.V. & Co. KG
Hauptverwaltung: Riesstr. 25, D-80992 München
Registergericht: Amtsgericht München, HRA 95603
Komplementärin: ORACLE Deutschland Verwaltung B.V.
Hertogswetering 163/167, 3543 AS Utrecht, Niederlande
Handelsregister der Handelskammer Midden-Niederlande, Nr. 30143697
Geschäftsführer: Alexander van der Ven, Jan Schultheiss, Val Maher
<http://www.oracle.com/commitment> Oracle is committed to developing
practices and products that help protect the environment
More information about the jigsaw-dev
mailing list