Creation Review

Type
Restructuring
State
Successful
End Date of the Review Period

Reviews run for a minimum of one week. The outcome of the review is decided on this date. This is the last day to make comments or ask questions about this review.

Proposal

Eclipse Epicyro

Monday, July 17, 2023 - 13:23 by Arjan Tijms
This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We solicit additional participation and input from the community. Please login and add your feedback in the comments section.
Project
Parent Project
Proposal State
Created
Background

Many Jakarta specifications have a standalone implementation, but not all. Jakarta Authentication is a spec that does not have a standalone implementation. Instead an implementation is embedded within GlassFish, which is for the advancement and maintenance of the spec suboptimal. As project lead of Jakarta Authentication and as a GlassFish committer I've created an initial standalone project based on the GlassFish embedded code, which can be used to seed the new project with.

As that code comes from the GlassFish project, which is already at Eclipse, this is largely a restructuring review. We will split the implementation out from the existing GlassFish project into its own separate repository. Specifically, the directory containing the implementation code for the default authentication code and modules (https://github.com/eclipse-ee4j/glassfish/tree/master/appserver/security/jaspic-provider-framework among others) will be split from the GlassFish project into this separate repository.

Scope

Eclipse Epicyro provides an implementation of the Jakarta Authentication specification.

Why Here?

Eclipse EE4J is the home of GlassFish. The restructured code should remain in the same community and same project, just in a separate repository.

Project Scheduling

The initial contribution will be made immidiately after the project has been approved. The first build will be expected in a few weeks, after which the intention is to remove the code that was moved to this project from GlassFish, and add a dependency from GlassFish to this project.

Future Work

The functionality to add will follow the requirements of the Jakarta Authentication specification, which on its turn will largely follow the requirements and direction set by the Jakarta platform specification and the Jakarta Security specification.

Community growth around the project is thought to be faciliatated by the fact that the standalone implementation will also work on servlet containers like Eclipse Jetty and Piranha Cloud. The project will not intend to provide features not covered by the Jakarta Authentication specification, but instead will make sure that it integrates well with servers like GlassFish and Jetty.

Description

Eclipse Epicyro implements Jakarta Authentication, a technology that defines a low-level SPI for authentication mechanisms, which are controllers that interact with a caller and a container’s environment to obtain the caller’s credentials, validate these, and pass an authenticated identity (such as name and groups) to the container.

Eclipse Epicyro provides default implementations of these authentication mechanisms and algorithms, as defined and mandated by the Jakarta Authentication specification.

Initial Contribution

The project's existing code will come from https://github.com/OmniFish-EE/eleos This repositry on its turn has been created from a combination of my own code and the above mentioned code from the GlassFish project. 

Source Repository Type

This a combined creation review for Eclipse Epicyro and a restructuring review for Eclipse Glassfish projects.

Many Jakarta specifications have a standalone implementation, but not all. Jakarta Authentication is a spec that does not have a standalone implementation. Instead an implementation is embedded within GlassFish, which is for the advancement and maintenance of the spec suboptimal. The project lead of Jakarta Authentication and GlassFish committer has created an initial standalone project based on the GlassFish embedded code, which can be used to seed the new project with.

As that code comes from the GlassFish project, which is already at Eclipse, this is largely a restructuring review. The implementation will be splitted out from the existing GlassFish project into its own separate repository. Specifically, the directory containing the implementation code for the default authentication code and modules (https://github.com/eclipse-ee4j/glassfish/tree/master/appserver/security/jaspic-provider-framework among others) will be split from the GlassFish project into this separate repository.