Eclipse Development Process › community › training › webinars › 100112... · Parallel IP •Parallel IP (conforming projects only) •Libraries can be used while they are

Post on 26-Jun-2020

2 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

Transcript

Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Eclipse Development Process

Wayne BeatonThe Eclipse Foundation

Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Agenda•Background

•Principles

•Lifecycle

•Processes and Tools

Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

The Eclipse Development Process (EDP)

•High-level process for managing Eclipse projects

•Project Creation, Planning, Milestones, ReleaseCandidates, Reviews, and Releases

•Not a technical development process (i.e. Scrum, XP)

•The Eclipse Architecture Council (esp. Dave Carver)have started some work in this area

•Exists to help you and your project be successful

Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Definition: Committer and Contributor•Contributor is anybody who contributes code to yourproject

•All contributions must be tracked, attributed

•Projects must maintain an IP Log (more later)

•Contributors who demonstrate consistent value may beinvited to become committers

•Only committers can write code to an eclipse.org coderepository

•Being an Eclipse committer is more about responsibilitythan power

Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Definition: Meritocracy•Committers may join a project at creation time

•After creation, new committers must demonstrate merit

•Provide proof that they are worthy of the responsibility

•What is "Merit"?

•Varies by project

•Transparent track record of top-quality contribution

•Employment status is not enough

Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Definition: Eclipse Management Organization (EMO)

•Foundation staff

•Councils

•Architecture Council

•Planning Council

•Requirements Council

•EMO(ED)

•Executive Director and delegates

Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Principles

Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Eclipse Principles•Openness

•Transparency

•Quality work

• Intellectual Property Cleanliness

Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Openness•Accept/invite ideas, contributions, ... from the community

•Facilitate/invite participation!

•Grow your committer/adopter/user base!

•Projects are required to

•Maintain an up-to-date project plan

•Maintain project data via the Foundation Portal

•Make regular releases

Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Transparency•Outsiders must be able to see what you're doing

•Adopters need to make their own plans

•Contributors need to know where they can contribute

•Committers need to know what they should be doing

•Conversations must be captured in an open forum

•eclipse.org mailing lists, newsgroups, forums, bugs

•Phone and face-to-face conversations must be captured

•Meeting minutes on project website, mailing list, wiki, ...

Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Community•Ultimately, openness and transparency are aboutgrowing community

•Adopters, users, contributors, committers

•Diversity makes your project better

•Adopters become contributors, contributors becomecommitters

•Shared vision, shared burden

•Let go

•Share control with your community

•Build concensus

Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Quality Work•Quality work is, well, quality work

•APIs must be carefully designed

•Based the needs of the wider adopter community

•Documentation is important!

Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Intellectual Property (IP)•Code authors retain copyright

• Individual or company

•Contributions are subject to theEclipse IP Due DiligenceProcess

•All committers must be familiarwith this process

http://www.eclipse.org/legal/EclipseLegalProcessPoster.pdf

Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

IP Cleanliness•We must ensure that all of our code is free of issues

•Who owns the code?

•Are their claims of ownership valid?

•Provenance

•Did the code really come from where the owner says itcame from?

•Licenses

• Is the code available under the EPL?

• Is the license otherwise compatible with the EPL?

• It's all about mitigating risk to users and adopters

Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Lifecycle

Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Definition: Operating Projects•Where all the (real) work happens

•CVS/SVN/Git* repository

•Read-access to all

•Write access by committers only

•Has a project website

•Builds/Downloads/Releases

•Project leader(s), committers

•Have a well-defined scope

•Approved by EMO(ED), PMC

Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Defintion: Container Projects•A container for other projects

•May contain other container projects

•Nesting is limited in practice to three levels

•Website/Builds/Downloads/Releases

•Container projects oftentimes provide an aggregatedbuild/downloads/releases of contained (sub)projects

•Project leader(s), committers*

•Have a well-defined scope

•Approved by EMO(ED), PMC

Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Definition: Top-level Projects•Special kind of container project

•Have a charter

•Approved by Eclipse Board of Directors

•Have a Project Management Committee (PMC)

•PMC is ultimately responsible its projec

•Approves IP contributions

•Liason between project and EMO

Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Interchangeable Language•Project

•Operating Project, Container Project, Top-level Project

•Subproject

•Operating project, Container Project

•Component

•Operating Project (typically 3rd level)

Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Proposals•All projects start with a proposal

•Describes the nature of the project

•Specific focus on scope

• Initial contributions

• Intial contributors, interested parties, ...

•Proposals are posted for community review

•Minimum of two-weeks of review before creation

•Community given the opportunity to find out more,provide guidance

•Proposals end with either creation or withdrawal

Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Where?•All projects must be created under a top-level orcontainer project

•Project must conform to Charter/scope of container

•Project leadership must accept the project

Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Reviews•Key lifecycle points are celebrated with a review

•Creation, Release, Move, Restructuring, Termination

•Reviews require documentation

•HTML document, slide presentation, bug

•Reviews require a review period of one week

•To give community a chance to be heard

•Gives the project a chance to document successes andfailures, regroup, celebrate, ...

Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Project Creation•Creation review document

•May be created from proposal

•Often presented as slides (historical)

•Community given chance to review/comment

•Ends with a New Project Provisioning Request (NPPR)

•Kicks off the provisioning process

•Website, code repository, committers, ...

Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Incubation•New projects start in incubation

•Committers are learning the EDP

• Initial contributions are being processed

•APIs are in a state of flux

•Builds, downloads, plans, ... being created

Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Requirements• Two Architecture Council mentors

• Project must clearly label itself

• Incubation logo on project home page and primarydownload page.

• Zip files for builds and milestones must include theword "incubation" in the filename

• Bundle-Names must include the world "incubation"

• Feature names must include the word "incubation"

• "0.x" releases only

Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Benefits of Incubation• Lowered Expectations

•APIs and quality in flux

•Maleable

•More flexibility to make changes to APIs andimplementation

• "API is forever"

•Time to develop community

•Leverage Parallel IP (later)

Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Mentors•From the Architecture Council

• "Been there, done that"

•Familiar with the EDP

•Provide guidance and assistance

•Architecture Council

• Leadership, best practices

•Members appointed from each Top-level project,nominated by other members

Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Releases•All projects are expected to make releases

• "0.x" only for incubating projects

•Releases require community review

•Community given opportunity to pose questions

•Not required for service ("*.*.x") releases

•Review documentation

•Description of new and removed features and APIs

•Discussion of community development activities

•Demonstration of IP cleanliness

Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Version Numbers•maj.min.srv.qualifer

•Major segment indicates breakage in the API

•Minor segment indicates "externally visible" changes

•Service segment indicates bug fixes

•Qualifier segment indicates a particular build

Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Graduation•Releases 1.0 or greater

•Graduation review is typically combined with a releasereview

•Project becomes "Mature"

•Maturity implies a level of, well, maturity

•Mature build, technical development process,knowledgeable committers, ...

• "API is forever"

Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Termination•Projects that have reached their natural end-of-life areterminated and archived

•Nothing more to do

•Questions answered (research)

•Failure to develop community or traction

•Termination review documentation

•Describe reasons for termination

•Failed termination review may result in a continuation

•Project may continue under different leadership and/orcommitters

Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Processes and Tools

Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Contributions•Contribution must be accepted through Bugzilla

•Contributor implicitly agrees to Eclipse Terms of Use

•Contributor implicitly permits us to use and distributortheir code under the EPL

•Contributor retains copyright

• Ideally, code contributions should be attached to a bug

•Attachments can be flagged, making them easy toidentify by our IP Log tools

Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Contribution Questionnaires (CQ)•Track significant contributionsand third-party libraries

•Must pass muster before beingadded to code repository

•May be granted parallel IP

• "Significant?" - Read the IP DueDiligence Poster

Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

IPZilla•The tool used to track contributions and third-partylibraries

•Access IPZilla through the Developer Portal

•Help you find existing CQs

•Guide you through the CQ creation process

•A modified instance of Bugzilla

•Comments, state tracking, notification, ...

Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

What's in a CQ?•Where this code or third-party library came from

•Code for the library

•Each library needs its own CQ

•A "library" may manifest as multiple JAR files

•List of applicable licenses

Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Piggyback CQs•For libraries that are already used by other projects

• "Piggyback" on the due diligence of the previous work

•Libraries should eventually land in Orbit

Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Third-Party Libraries• IP Team reviews the license, copyright, and provenanceof all third-party libraries

•CQ is required for each distinct version of a third-partylibrary

•CQs for new versions of an approved third-party librarymay qualify for parallel IP

•Approved third-party libraries can be stored ineclipse.org code repositories and distributed fromeclipse.org servers

Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Parallel IP

•Parallel IP (conforming projects only)

•Libraries can be used while they are being checked

•May need to be removed

• Incubating projects can leverage for any third-partylibrary

•Subject to approval of IP team

•Mature projects can leverage for new versions ofalready-approved libraries

Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Works-With Dependencies•Project code does not require the third party software tobe present

•Eclipse software may call or invoke it if it is present

•Or... project code will work with multiple software choices

•The choice of which to use is up to the user

•At least one of those must be a pre-req (see below) orapproved by the EMO

Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Exempt Pre-req•Prerequisite that is not subject to IP due diligence

•Classified as "exempt" by the EMO if:

•The software is pervasive in nature;

•Expected to be already on the user's machine; and/or a

•An IP review would be either impossible, impractical, orinadvisable

Examples: Windows XP, Sun JRE

Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Legal Questions?•Ask your project lead, or a member of the ArchitectureCouncil

•They have access, through the Developer Portal, toEclipse Foundation staff to pose questions

•Answers do not (and cannot) constitute legal advice(IANAL)

• If you need solid legal advice, you must consult yourown counsel

Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

IP Logs•Required for release and move reviews

•Should be accessible for adopters

•Captures

•All current committers

•All contributions (no matter how small) a project

•All third-party software

•Project licenses

Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

IP Log Tools•Two tools

•Automated IP Log Tool (Deprecated)

•Eclipse-based IP Log Tool

•Both pull data from Foundation Databases

•Project data

•Bugzilla

• IPZilla

•Both allow you to manipulate the data

•Only as good as the source data

Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Make it Work for You•Categorize Bugzilla entires

•Mark contributions

•Mark bug as FIXED

•Tag attachments with iplog+

•Categorize IPZilla contributions

• Identify as third party

Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Developer Portalhttp://portal.eclipse.org

•Log in with your EclipseBugzilla ID

•Elect/vote for committers

•Personal information

•Project data

Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Project Data•Keep this information up-to-date

•Used to populate ProjectSummary pages (and otherplaces)

•Helps your community keeptrack of the project

•Source code, releases,download urls, project plan,documentation, ...

Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Project Summary

Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

It's All About Community•Openness

•Transparency

•Quality

• IP Cleanliness

•Diversity

•Adoption

•Growth

Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Afterthoughts•Git at Eclipse

•Eclipse Corner

•Planet Eclipse

•Eclipse Blogs

Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

More InformationI'll see you at EclipseCon!

top related