Skip to content

Latest commit

 

History

History
38 lines (21 loc) · 4.57 KB

current-eclipse-microprofile-governance.adoc

File metadata and controls

38 lines (21 loc) · 4.57 KB

Current Eclipse MicroProfile Governance

Eclipse MicroProfile is a community-driven open source project made up of individuals, vendors, and organizations. MicroProfile is transparent in its operations and decision-making processes, which are intended to be very lightweight. Governance focuses on creating and evolving specifications in a collaborative manner.

Eclipse MicroProfile, first and foremost, is an Eclipse project and therefore follows Eclipse processes. This includes how committers are approved, project release processes, intellectual property and license reviews, and so on. However, the Eclipse Foundation is flexible enough for projects like MicroProfile to offer some additional (lightweight!) processes for multiple specifications to move forward in parallel with ways to communicate across and align specifications. For example, Eclipse MicroProfile has a bi-weekly Hangout meeting/call, which serves as a forum where topics, brought up by the community, are discussed and decisions are made, from sub-project statuses and release contents, to release dates and sub-project creation approvals. It should be noted that MicroProfile is not a standards organization, although it can seem that way. MicroProfile defines specifications that encourage multiple implementations, much like a standards organization. However, MicroProfile truly operates as an open source project whose “source code” is specifications.

The main means of community communication, discussion and debate is the Eclipse MicroProfile Google Group. You can use your favorite web browser to read/post/answer/start forum messages in the Google Group. You can also use the Group’s email to start new forum messages. Anybody can start new forum threads to discuss topics, such as potential new functionality to be added to MicroProfile. After the community discusses a new idea at length, and it’s been determined that it is worth furthering the debate, the community decides to create a working sub-group and a lead, who is usually a subject-matter expert in the topic at hand, is designated. The sub-group will establish a recurring weekly or bi-weekly meeting, which is entered in the MicroProfile Google Calendar. Anybody can attend these meetings but there’s usually a core number of people that serves as the subject-matter experts that participate in these calls. After a few meetings, the sub-group decides whether or not the new functionality should become a MicroProfile API/sub-project.

Another resource that the MicroProfile community offers to try out new ideas is the MicroProfile sandbox. The sandbox repository is for incubating ideas and code examples that will eventually turn into a separate repository towards a new specification. Anybody can open a pull request and use the sandbox for the new idea code and documentation, which can be used as part of the discussion in the community Google Group, the MicroProfile Hangout calls, or sub-group meetings. If you need to accept and merge a pull request, or feel that your idea is mature and deserves a separate repository, contact one of the MicroProfile project committers for guidance.

Eclipse MicroProfile APIs/sub-projects are (with the project leads listed):

Table 1. MicroProfile APIs/sub-projects and their leads
MicroProfile API/sub-project name Sub-project lead(s)

MicroProfile Project Leads

John Clingan & Kevin Sutter

Config

Emily Jiang & Mark Struberg

Fault Tolerance

Emily Jiang

Health Check

Antoine Sabot-Durand

JWT Propagation

Scott Stark

Metrics

Heiko Rupp

OpenAPI

Arthur De Magalhaes

OpenTracing

Pavol Loffay

Rest Client

John D. Ament & Andy McCright

Eclipse MicroProfile follows a time-boxed rapid incremental release schedule, which is public and listed at the Eclipse Foundation MicroProfile Project page. Major Eclipse MicroProfile releases, for example, from 1.x to 2.x, include major updates to MicroProfile APIs. Minor releases, that is point releases, include small API updates or new APIs that make the predetermined release date.