Project proposal: Penrose

Tim Ellison t.p.ellison at gmail.com
Fri Jan 6 17:52:58 UTC 2012


On 5 January 2012 23:06, Mike Milinkovich <mike.milinkovich at eclipse.org> wrote:
> Tim,
>
> I consider myself IP-savvy, but I have to admit that I am stuck when it
> comes to thinking about how this is actually going to work.

Hence the discussion, and thanks for the comments...

> I hope that I am not offending anyone by saying that IMO the two leading
> open source implementations of OSGi are Eclipse Equinox (EPLv1) and Apache
> Felix (ALv2). (Equinox has the added attribute of being the reference
> implementation.) So any believable attempt at interoperability will require
> tinkering with at least those two implementations. I'm sure Red Hat will
> want to add their JBoss implementation to the mix as well.

Yes, again all are welcome to participate, so I hope we attract
collaborators from many OSGi (and other module system) implementations
to ensure we do it 'right'.

> Will Penrose be a sandbox to test the changes required in Jigsaw, with any
> changes required on the OSGi side expected to be implemented in Equinox,
> Felix and elsewhere? And if the intent is to discuss changes required in the
> existing OSGi implementations on the Penrose lists and then implement them
> elsewhere, are we going to be relying on the (occasionally disputed)
> assertion that BSD-licensed content can be re-licensed?

Yep, this is the model.  Penrose will clone Jigsaw then closely track
Jigsaw as it converges on the implementation of a module system for
the JDK; then within Penrose we will have a sandbox to evaluate,
experiment, and prototype ideas for OSGi interop.

Penrose will make concrete the work for meeting the interop
requirement, and I hope the output will be quality feedback (design
and/or code) back into Jigsaw before Penrose is wound-up.

The need for discussion between OSGi and Jigsaw implementers gives
rise to the collaboration list.  The intent is that the content of the
collaboration list (discussion and examples) is broadly reusable under
the BSD license, while the specific Jigsaw enhancements on the dev
list are compatibly licensed to merge back upstream.

> Or is the intent is to actually fork and work on the OSGi implementations
> directly within Penrose? If that is the case, I definitely do not understand
> how the licensing is going to work.

No, there will be no OSGi implementation hosted within Penrose.

> To be clear, I think that this is important and necessary work, and I'm very
> happy to see this proposal. I just think we need to all be sure we
> understand how the IP is going to flow for the benefit of all of the Java
> ecosystem.
>
> Also, please put be down as a supporter of the proposal, in my role as
> OpenJDK Board Member.

Excellent, thanks Mike.

Regards,
Tim

> Thanks.
>
>> -----Original Message-----
>> From: discuss-bounces at openjdk.java.net [mailto:discuss-
>> bounces at openjdk.java.net] On Behalf Of Tim Ellison
>> Sent: January-05-12 2:55 PM
>> To: discuss at openjdk.java.net
>> Subject: Project proposal: Penrose
>>
>> In accordance with the OpenJDK guidelines [1], I'd like to start the
>> discussion of a new project to explore and implement interoperability
>> between the Jigsaw project and OSGi implementations.
>>
>> The Jigsaw module-system requirements document [2] calls for a level of
>> OSGi interop to be demonstrated by prototype. This is important, not
>> only because of the existing broad technical investment in OSGi that
>> should not be ignored, but also the opportunity for developers to see
>> and influence how these module systems will work together.
>>
>> The goal of this project is to create a forum for the Jigsaw and OSGi
>> communities to collaborate on this requirement, and deliver a prototype
>> to demonstrate the module systems' interoperability.  I suggest that
>> such prototype work is best done in a separate 'sister' project,
>> maintaining close collaboration with jigsaw-dev. As a prototype, having
>> the freedom to experiment and modify code without impacting Jigsaw's
>> progress will be helpful to both.
>>
>> This project will cooperate with the Jigsaw project and OSGi
>> implementation projects to show how OSGi will run on Jigsaw runtime, how
>> to load Jigsaw modules into OSGi frameworks, demonstrate how to use the
>> APIs of Jigsaw to achieve the goal, and evolve any APIs, tooling etc.
>>
>> To ensure the broadest possible collaboration between potential
>> contributors the project will maintain a code repository and two
>> separate mailing lists under terms described by the OpenJDK Bylaws [3].
>>  The Penrose code repository and developers' mailing list will be under
>> the GPL license (GPL) version 2 with the Classpath exception and the
>> OpenJDK Assembly Exception, and the collaborators' mailing list will be
>> under the revised BSD license [4].  The collaborators' list will be used
>> for interop design and requirements discussions - the only code
>> exchanged on this mailing list will be examples and tests designed to
>> demonstrate interop between implementations.
>>
>> We have already had a brief discussion on jigsaw-dev mailing list [5]
>> and this project idea was welcomed.
>>
>> I am now looking for a Group Leader to sponsor this project, and as the
>> Compiler Group already sponsor the Jigsaw project, I respectfully
>> suggest that they would consider also sponsoring Penrose.
>>
>> I also would like to invite anyone who supports this goal to nominate
>> themselves as an initial supporter, author or committer to be listed on
>> the formal project proposal to follow after the discussion.
>>
>> [1] http://openjdk.java.net/projects/#new-project
>> [2]
>> http://openjdk.java.net/projects/jigsaw/doc/draft-java-module-system-
>> requirements-12#osgi-support
>> [3] http://openjdk.java.net/bylaws#_A
>> [4] http://opensource.org/licenses/BSD-3-Clause
>> [5]
>> http://mail.openjdk.java.net/pipermail/jigsaw-dev/2011-
>> October/thread.html#1526
>>
>> Regards,
>> Tim
>>
>
>



More information about the discuss mailing list