Still driving off the cliff

Rémi Forax forax at univ-mlv.fr
Mon Feb 27 07:20:58 PST 2012


On 02/27/2012 03:48 PM, Eric Johnson wrote:
>
> On 2/24/12 10:15 AM, Rémi Forax wrote:
>>
>> So even in a module world, you need a way to separate platform code 
>> from application code
>> (it should be better to even have a system which is able to separate 
>> the application, from the container,
>> from the platform).
>
> I presume that the very notion of "platform" is something that 
> modularization should challenge. If you privilege a particular part of 
> the code base running in the JVM, then you make other uses of the JVM 
> harder and/or burdened by legacy assumptions.
>
> Ideally, the only "privileged" module of the JVM is the ClassLoader 
> infrastructure and the bare minimum it needs to do its job.
>
> So even your taxonomy of "application", "container", and "platform" 
> seems suspect to me, because these are just (semantically laden) 
> arbitrary labels associated with a particular code base. Ideally, we 
> recognize that and allow an infinite set of notions here, some which 
> might have commonly understood semantics. And if there is a privileged 
> one, it should be *very* small.
>
> -Eric.
>

The main issue I see in a modular world is how to ensure the same 
security granularity we have now.
A lot of parts of the JDK, perhaps too much you may say, in lang, util, 
util.concurrent, etc,
relies on the fact that the code run in a privileged environment where 
you can use unsafe tricks.

Ideally, as a developer, I also want to be able to install a module with 
such privileges too,
if by example, I'm a developers of language runtimes (Groovy, JRuby, 
Scala etc.) I want full access
to the platform.

Currently, those runtimes rely on the bootclasspath, that why I think 
that even if the bootclasspath
is deprecated, jigsaw has to provide a mechanism to mark some modules as 
platform modules.

Rémi




More information about the jigsaw-dev mailing list