42
Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0) Introducing the Eclipse Foundation Specification Process 1

Eclipse Foundation Specification Process Introducing the

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Eclipse Foundation Specification Process Introducing the

Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)

Introducing the Eclipse Foundation

Specification Process

1

Page 2: Eclipse Foundation Specification Process Introducing the

Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)

Agenda

• Background• Creating the EFSP• What is a Specification?• Eclipse Foundation Specification

Process• EFSP and the JCP• Certification

2

Page 3: Eclipse Foundation Specification Process Introducing the

Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)

Background

3

Page 4: Eclipse Foundation Specification Process Introducing the

Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)

Why are we doing this?

• Opportunity meets necessity• Java EE migration to Eclipse

Foundation requires a spec process to replace the JCP

• We expect that this process will be used elsewhere

4

Page 5: Eclipse Foundation Specification Process Introducing the

Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)

What’s the Big Deal?

5

Specifications• Guides you to implement collectively

developed idea• Support multiple implementations• Allow for interoperability

Page 6: Eclipse Foundation Specification Process Introducing the

Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)

• “Code First”• No more “Spec Lead”• Specifications run as open source

projects• “Compatible” implementations, rather

than one “Reference” implementation• Self-certification • Branding for compatible

implementations of Profiles6

Guiding Principles

Page 7: Eclipse Foundation Specification Process Introducing the

Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)

Jakarta EE Spec Process: 2018 Key deliverables

• Establish spec process for existing (JCP) and new specs

• Compatibility process• Brand licensing

7

Page 8: Eclipse Foundation Specification Process Introducing the

Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)

Creating the EFSP

8

Page 9: Eclipse Foundation Specification Process Introducing the

Copyright (c) 2012, 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)

Start with The Eclipse Development Process

• Open source rules of engagement• Governance, structure, definitions,

reviews• General framework for projects • Day-by-day development rules/process

is defined by the project

9

Page 10: Eclipse Foundation Specification Process Introducing the

Copyright (c) 2012, 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)

Open Source Rules of Engagement

● Transparency● Openness● Meritocracy● Vendor neutrality

10

Page 11: Eclipse Foundation Specification Process Introducing the

Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)

Development Process

11

Plan Development

Release Review

Milestone Build

Release

Release Candidate

Proposal Creation Review

Page 12: Eclipse Foundation Specification Process Introducing the

Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)

• “Progress Review”• Release Review becomes a kind of

Progress Review

• Projects may release within one year of engaging in a successful Progress Review

• IP Policy must be followed at all times

• Formalize the list of terms

EDP 2018

12

Page 13: Eclipse Foundation Specification Process Introducing the

Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)

• Spec. development in open source• Extends the EDP• “Just enough” process

• “Specification Project”• Formal alignment of Specification

Projects with Working Groups• Specification Committee approval

• Participants and Participant Representatives

Eclipse Foundation Specification Process

13

Page 14: Eclipse Foundation Specification Process Introducing the

Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)

What is a Specification?

14

Page 15: Eclipse Foundation Specification Process Introducing the

Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)

15

...a collection of APIs, descriptions of semantic behavior, data formats, and/or protocols intended to enable the development of independent compatible implementations.

Specification

Specification Document

Technical Artifacts

TCK

Compatible Implementation

1..n

A Specification is...

Page 16: Eclipse Foundation Specification Process Introducing the

Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)

Specification Document

• Textual description of the obligations and rules

• May specify optional parts• Must be possible to implement all optional

parts• Must not override rules in referenced

specifications

16

Page 17: Eclipse Foundation Specification Process Introducing the

Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)

TCK

• Specification must designate a TCK• May be different for different versions

• Must be developed under an approved Open Source License

17

Page 18: Eclipse Foundation Specification Process Introducing the

Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)

• A Specification must reference at least one Compatible Implementation

• Must be developed under an approved Open Source License

• At least one Compatible Implementation must implement all optional features

18

Compatible Implementations

Page 19: Eclipse Foundation Specification Process Introducing the

Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)

Open Source License

A “Compatible Implementation” must exist under an “Open Source License”, which is one of:• Eclipse Public License - v 2.0 (+ Secondary Licenses)• Eclipse Distribution License - v 1.0 (BSD-3-Clause)• Apache License - v 2.0.

This list may be augmented by a Working Group with the approval of the EF Board

19

Page 20: Eclipse Foundation Specification Process Introducing the

Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)

Profiles and Platforms

• A specification may be designated as a “Profile”• Profiles aggregate other specifications

• A Profile may be designated a “Platform”

20

Page 21: Eclipse Foundation Specification Process Introducing the

Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)

21

The Eclipse Foundation Specification Process

Page 22: Eclipse Foundation Specification Process Introducing the

Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)

Eclipse Specification Process

22

• “Just enough” process• Based on/extends the EDP• IP flows are similar to the EDP process• Patent rights need to be addressed• Customizable

Page 23: Eclipse Foundation Specification Process Introducing the

Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)

Specification Project

23

An Eclipse Project that...• Is designated as a “Specification

Project”• Is “owned” by a Working Group• Requires Specification Committee

approvals• Has a special class of committer

Page 24: Eclipse Foundation Specification Process Introducing the

Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)

24

Governance, oversight

PMC

Committers

Specification Project

Git IssuesManage, plan, schedule, ...

Push, accept pull requests

Resolve

Contributors

Pull requests

Employs

Has member

Specification Committee

Approvals, IP integrity

Who’s Who?

Page 25: Eclipse Foundation Specification Process Introducing the

Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)

Specification Committer

• Must be a Member• Employed by an Eclipse Foundation

Member Company, or• Committer Member

• Must be covered by a Working Group Participation Agreement

25

Page 26: Eclipse Foundation Specification Process Introducing the

Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)

• A Participant Representative (committer) represents the interests of a Participant• Appointed to the project (no election)

• Participant• Individual Participant• Member Participant

Participant/Participant Representative

Committers

Employs

Has member

ParticipantParticipant Representative

Page 27: Eclipse Foundation Specification Process Introducing the

Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)

Specification Process

27

Plan Plan Review Development

Release Review

Milestone Build

Ratified Final Specification

Progress Review

Specification Version

Proposal Creation Review

Page 28: Eclipse Foundation Specification Process Introducing the

Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)

28

Specification Committee Approvals

• Specification Project creation • Release Plan • Revision to the Scope• Progress and Release Reviews• Designation of a Profile or Platform• Service Releases.

Page 29: Eclipse Foundation Specification Process Introducing the

Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)

Revised Committer/Contributor Agreements

29

• Grant a license that says that if you contribute to an Eclipse project we can use your contributions to create a specification• Eclipse Contributor Agreement (ECA)• Individual Committer Agreement (ICA)• Member Committer Agreement (MCA)• Terms of Use

• State that if you post an idea on a Spec Project mailing list that you won’t sue us later if we use your idea• Terms of Use

Page 30: Eclipse Foundation Specification Process Introducing the

Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)

EFSP and JCP

30

Page 31: Eclipse Foundation Specification Process Introducing the

Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)

EFSP compared to the JCP...

Code firstSpecification Committee

Specification ProjectIP Flows through

ParticipantsCollaborative

Public CommunicationCustomizable by Working

Group31

Specification FirstExecutive CommitteeExpert GroupIP Flows to and through Specification LeadLed by Spec LeadPublic Communication

Page 32: Eclipse Foundation Specification Process Introducing the

Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)

… EFSP compared to the JCP...

Document is open sourceEclipse Foundation

Specification LicenseTCK is open source

Eclipse Foundation TCK Binary License

One or more “Compatible Implementations”

32

Document is closed sourceChosen by Spec Lead

TCK is closed source Proprietary License & NDA

One normative “Reference Implementation”

Page 33: Eclipse Foundation Specification Process Introducing the

Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)

… EFSP compared to the JCP

ProfilesPlatforms

33

ProfilesPlatforms

Page 34: Eclipse Foundation Specification Process Introducing the

Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)

34

CompatibilityClaims

Page 35: Eclipse Foundation Specification Process Introducing the

Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)

Final Specification

35

Specification Version

Specification Document(source and distribution)

Technical Artifacts(source and distribution)

TCK(source and binary)

Release Review

Compatible Implementation

Final Specification

Specification Document(read-only text)

Technical Artifacts(distribution)

TCK(distribution)

Compatible Implementation

1..n

1..n

Release Candidate Ratified

Page 36: Eclipse Foundation Specification Process Introducing the

Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)

36

Specification Licenses

• Eclipse Foundation Specification License• Allows implementers to create implementations of the spec

under whatever license they would like

• Eclipse Foundation TCK Binary License• Allows implementers to verify that they are compatible with a

specific version of a ratified final specification

• Eclipse Foundation Trademark License• Allows compatible implementation to use the

logo/trademark (e.g. Jakarta EE)

Page 37: Eclipse Foundation Specification Process Introducing the

Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)

Final Specification

37

Final Specification

Specification Document(read-only text)

Technical Artifacts(distribution)

TCK(distribution)

Compatible Implementation

1..n

EF Spec. LIcense

Project License

EF TCK Binary LIcense

Open Source LIcense

Page 38: Eclipse Foundation Specification Process Introducing the

Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)

Self Certification

38

“Compatible Implementation”• Implements a Final Specification• Fulfills all of the requirements of the

Ratified TCK• Must publicly post TCK results

Page 39: Eclipse Foundation Specification Process Introducing the

Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)

Brand

• Compatible Implementations of Profiles

• Eclipse Foundation Trademark License• Must be an Eclipse Foundation

Member• …..but no license fees or royalties

39

Page 40: Eclipse Foundation Specification Process Introducing the

Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)

The Take Away

40

Page 41: Eclipse Foundation Specification Process Introducing the

Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)

The EFSP is...

• Code first• Open and Transparent• Community-oriented• Light(er) weight• Rigorous IP management• Built on the success of the EDP

41

Page 42: Eclipse Foundation Specification Process Introducing the

Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)

Questions?

42