Development Process 2006 Revision

From Eclipsepedia

Jump to: navigation, search

All the comments and feedback have been rolled up into a final version at Development Process 2006 Revision Final. That version was presented to, and approved by, the Board on January 17, 2007. The official version is located at [1]. --Bjorn Freeman-Benson

Contents

Revision 2.2

This is a draft of a proposed revision of the official Development Process for all projects hosted by the Eclipse Foundation. The final result of this document is intended to replace the original 2003 Development Process. After this document is completed and accepted by the Board, the EMO will write a new set of guidelines and interpretations to replace the 2005 web pages [2].

This draft of the Development Process is posted for comments and feedback and assistance from the Eclipse community. You are invited to comment in one of three ways:

  1. Comment directly to this wiki page. Please note your comments with a purple border (use <div style="border: 2px solid #8E87EB; padding: 6px;"> ) and a signature.
  2. In an attempt to keep this page readable, some of the comment-conversations have been moved to a separate page. When doing so, please keep a summary of the comment-conversation here on this page.
  3. Active conversations about the development process have been moved to the eclipse.foundation newsgroup. Again, please keep a summary of those conversations linked into this wiki page.

--Bjorn Freeman-Benson

It would be good to have a section that describes the changes compared to the current process. --Dani 08:56, 13 October 2006 (EDT)

In an attempt to keep this web page more readable, I have moved the conversation from here to the thread "[EDP] What is motivating this revision?" on eclipse.foundation newsgroup. It's an interesting conversation, but it was just getting a bit long for the wiki page.-- Bjorn Freeman-Benson

Purpose

This document describes the Development Process for the Eclipse Foundation. In particular, it describes how the Membership at Large, the Board of Directors, other constituents of the Ecosystem, and the Eclipse Management Organization (EMO) lead, influence, and collaborate with Eclipse Projects to achieve these Eclipse purposes:

The Eclipse technology is a vendor-neutral, open development platform supplying frameworks and exemplary, extensible tools (the 'Eclipse Platform'). Eclipse Platform tools are exemplary in that they verify the utility of the Eclipse frameworks, illustrate the appropriate use of those frameworks, and support the development and maintenance of the Eclipse Platform itself; Eclipse Platform tools are extensible in that their functionality is accessible via documented programmatic interfaces. The purpose of Eclipse Foundation Inc., (the “Eclipse Foundation”), is to advance the creation, evolution, promotion, and support of the Eclipse Platform and to cultivate both an open source community and an ecosystem of complementary products, capabilities, and services.

This document has five sections:

  1. Principles outlines the basic principles upon which the development process is based.
  2. Requirements describes the requirements that the Eclipse community has for its development process.
  3. Structure and Organization specifies the structure and organization of the projects and project community at Eclipse.
  4. Roadmap Process describes the manner by which the EMO will work with the projects to create the annual Eclipse Roadmap.
  5. Development Process outlines the lifecycle and processes required of all Eclipse projects.

Principles

The following describe the guiding principles used in developing this Development Process.

Open Source Rules of Engagement

  • Open - Eclipse is open to all; Eclipse provides the same opportunity to all. Everyone participates with the same rules; there are no rules to exclude any potential contributors which include, of course, direct competitors in the marketplace.
  • Transparent - Project discussions, minutes, plans, deliberations, and other artifacts are open, public, and easily accessible.
  • Meritocracy - Eclipse is a meritocracy. The more you contribute the more responsibility you will earn. Leadership roles in Eclipse are also merit-based and earned by peer acclaim.
  • Permeable - Projects are open to new ideas; not just in words, but in fact. In other words, those outside the core can, and do, influence the project.
I have written more about what it means to be open and why we care in the first of a series of blog posts about the Development Process. --Bjorn Freeman-Benson
I think what you mean by permeable should include the example you provided in your blog posting the first of a series of blog posts about the Development Process. Include the phrase "active listening for new ideas". -- Scott Lewis
The four terms you have chosen are not parallel in either syntax or semantics. There is redundancy in your definitions of "Open" and "Meritocracy". The word "Permeable" is misused; "Receptive" would be more appropriate to your definition. The definitions are all in need of serious sharpening. -- Dave Bernstein
We (the community writing this document) welcome suggestions and deltas. We are using a wiki for this conversation for the explicit purpose of inviting and examining such. We look forward to your suggestions for a seriously sharper set of definitions. -- Bjorn Freeman-Benson
I agree with Dave that "receptive" is more communicative of the intent than "permeable". I also agree that parallelism would improve things since each label should reflect a principle. How about these four principles: openness, transparency, meritocracy, and receptivity.-- Rich Main
Nicely parallel, Rich, but what's the rationale for separating openness and transparency? They are closely related, and could easily be combined.-- Dave Bernstein
Dave: I agree that the boundary is fuzzy at best. Maybe just call the first principle "Openness and Transparency" as a compromise and lump it all together?-- Rich Main
The proposed process revision contains many sections containing commentary not relevant to any of the above 5 items, e.g. "Open Source Rules of Engagement", "Quality Culture", "Collective Reputation", "Eclipse Ecosystem", "Three Communities", "Clear and Concise", "Freedom and Autonomy", "Evolving", "Just Enough Process", and "Requirements". Remove these sections from the proposed revision. -- Dave Bernstein (copied from newsgroup by Bjorn Freeman-Benson)
I disagree with removing the sections that Dave requests, as they are top level items in their own right that do extend the "open source rules of engagement". Further I would argue that "lumping together open and transparent" is not a good idea: You can be transparent (provide sources and information on a regular basis), but not very open to external input quite easily. Being open without being transparent is possible too. "Open" and "Permeable" seem to be quite close to each other to me, and maybe permeable should be one of the explanations of how we define open. I like the permeable metaphor and I would propose to extend it to request projects to be permeable with respect to new committers and not only to new ideas.-- Jochen Krause

Quality Culture

In this context, quality means extensible frameworks and exemplary tools developed in an open, inclusive, and predictable process involving the entire community.

  • From the "consumption perspective," Eclipse Quality means good for users (exemplary tools - cool/compelling to use, indicative of what is possible) and ready for plug-in developers (deliver usable frameworks with platform-ready APIs).
  • From the "creation perspective," Eclipse Quality means working with an open, transparent and permeable process, open (and welcoming) to participation from technical leaders, regardless of affiliation.
  • From the "community perspective," Eclipse Quality is that the community perceives quality, i.e., if the frameworks and tools are good enough to be used, then they have sufficient quality.

The Eclipse projects are managed by different people and different organizations, most already experienced in software engineering. We want to ensure that we share the best practices of all our experts so that all projects benefit. We need to ensure that we have an "Eclipse committer community" rather than dozens of smaller "project committer communities".

I agree strongly with these last two sentences...but am wondering if best practice sharing should/could be introduced into dev process more explicitly than mentoring and review changes. Perhaps cross-project best practice sharing as metric of community development for projects eval? --Scott Lewis
I have written more about the Eclipse culture of quality in the second of a series of blog posts about the Development Process. --Bjorn Freeman-Benson
Quality of Eclipse components is improved when developers / committers active in Eclipse projects reuse components and provide feedback on and testing for components being reused --Anurag Gupta
This definition of quality is vacuous. A more useful definition would establish explicit expectations, e.g. freedom from defects, fitness for use, well-documented interfaces, etc. --Dave Bernstein
Dave, I suspect you mean vacuous: devoid of substance and meaning. John Wiegand provided this wording but I will defend it anyway: (a) this is the Principles section and principles tend to be like corporate mission statements and (b) this Development Process document is not designed to enshrine specific quality metrics; two reasons: (b1) bring the community to consensus on which metrics and which values to include will would take longer than we want to spend on this document and (b2) the time and effort it takes to change this document is large enough that we would have to be very, very sure of the chosen metrics. To date the Eclipse community has not been that sure of any metric. -- Bjorn Freeman-Benson
Yes, vacuous is exactly what I meant -- and evidently what you seek. Your response is effectively "we don't have the time or energy to syndicate a meaningful definition of quality, so we'll propose a meaningless definition to which no one will object." The quality of Eclipse frameworks and tools is critical to the community in multiple dimensions. We should be explicit and aggressive here. --Dave Bernstein
At a minimum, this section should emphasize the high value placed on the quality and integration of the software that is delivered with Eclipse and the community's steadfast resolve to enforce high quality standards. This means that it will not necessarily be unusual for projects to be rejected or sent back to the drawing board. Those wishing to create projects at Eclipse need to understand that the community values the Eclipse brand as a whole over any individual project or member, regardless of their level of participation within the organization (see the principle of "openness" above). With this understanding in hand, the various review criteria should then specify the specific quality metrics that must be met and a process for enforcement. Hard questions will be asked and good answers will be required. I think that much of this is in place today, but it needs to be tightened up and the value proposition needs to be better communicated. --Rich Main
By the way, the statement above -- We need to ensure that we have an "Eclipse committer community" rather than dozens of smaller "project committer communities" -- clearly provides one aspect of what the architecture committee should be doing to bind together the various projects and break down silos. While one aspect of this is mentoring, another aspect is ensuring the overall quality and coherence of the various Eclipse projects. This statement also points to the value of the roadmap process, which can help to guide the architecture committee and hence the individual projects to work together to a common set of goals. --Rich Main
There might be a way in requesting and gaining quality without defining every criteria strictly: Request projects to showcase their quality and ask them to give real evidence (e.g. as part of the reviews): e.g. Metrics of coupling, cyclomatic complexity, test coverage (availability of tests at all), documentation of extension points, documentation of the general plugin architecture. This will drive projects to assess their own quality without defining that a certain metric must be equal or better than X. --Jochen Krause

Collective Reputation

Having the Eclipse name on a project provides a certain "goodness" to the project. And having great and amazing projects under the Eclipse banner provides a certain "goodness" to Eclipse. Correspondingly, having a highly-visible poor, closed, and/or failing project under the Eclipse banner detracts from that reputation.

A certain number of failures are expected in any research and development effort, thus we do not let the fear of failure prevent us from accepting interesting project. However, it is in the community's best interest to have a well-defined process for identifying and dealing with failures when they occur.

I have written more about the Eclipse collective reputation in the third of a series of blog posts about the Development Process. --Bjorn Freeman-Benson
What constructive action are you attempting to motivate on the part of the reader?--Dave Bernstein
I think that this section should be rolled into the Quality Culture section above as part of defining the value of the Eclipse brand. -- Rich Main

Eclipse Ecosystem

The Eclipse Foundation has the responsibility to ...cultivate...an ecosystem of complementary products, capabilities, and services.... It is therefore a key principle that the Eclipse Development Process ensures that the projects are managed for the benefit of both the open source community and the ecosystem members. To this end, all Eclipse projects are required to:

  • communicate their project plans in a timely, open and transparent manner;
  • create platform quality frameworks capable of supporting the building of commercial grade products on top of them;
  • ship extensible, exemplary tools which help enable a broad community of users; and
  • participate in the annual Roadmap process to ensure maximum transparency and communication with the ecosystem.
I have written more about the Eclipse ecosystem in the fourth of a series of blog posts about the Development Process. --Bjorn Freeman-Benson
As I indicated in my other comment about the value of the Requirements Council to the roadmap process, I want to emphasize here that project "participation in the annual Roadmap process" is more than just a function of transparency and communication. The roadmap process should be informing the projects and not just vice versa. Sure, some degree of "bottom-up" requirements input will come through project channels like bugzilla. But, we need to make sure to maintain a top-down process for requirements input, as well. Especially as such a process can identify new areas of interest and project coordination and integration issues that might not be perceived at the individual project level. -- Rich Main

Three Communities

Essential to the Purposes of the Eclipse Foundation is the development of three inter-related communities around each Project:

  • Committers - a thriving, diverse and active community of committers is the key component of any Eclipse Project. Ideally, this community should be an open, transparent, inclusive, and diverse community of Committers, developers, and other non-Committer Contributors. Attracting new Contributors and Committers to an open source project is time consuming and requires active recruiting, not just passive "openness". The Project Leadership must go out of its way to encourage and nurture new Contributors. A Committer community comprised entirely, or even in the majority, from a single company will not be allowed to graduate from incubation.
I think requiring such high diversity for projects is right, but maybe implications should be more explicit/obvious...as this seems like a big change to me. Maybe a process changes summary? --Scott Lewis
I worry that we're trying to apply the right requirement at the wrong level -- it's practically impossible for a 4-5 committer project to include four or more different companies. (Think about the math here: To reduce a single company's involvement to, say 25% on a 4 person homogeneous team requires recruiting 12 new people -- 3X the original team -- or replacing 3 of the 4 existing committers with people from other companies. To start and graduate a four person team with a non-majority rule, you'd need 4 people from 4 different companies. None of this seems likely, so we either waive that requirement every time (bad for obvious reasons) or we simply add a "0" to our version numbers and nothing else changes (pointless at best). Instead, I'd propose we apply diversity requirements at the level of top-level projects for those that ship code, and have diversity requirements for sub-projects of Tools and Technology that match on average the graduated peer (sub) projects in those areas. Diversity of thought and avoidance of reliance on any one company/organization is clearly a goal, but we have to address the reality of how code donations and committer nuclei actually work in our community, or risk creating a bar no project ever meets.--Tim Wagner
Contributors are extremely valuable. That term should show up as a top-level notion. Perhaps just Committers/Contributors? The sentence ...Committers, developers, and other non-Committer Contributors... feels funny. There are committers and contributors no? --Jeff McAffer
Tim and Jeff both have good points. Probably a notion of desired diversity should take into account the size of the project and how many adopters/contributors there are outside the original company. For example, CompositeTable, a single SWT control I contributed to Nebula probably doesn't need more than 2-3 active committers, ever. I'd be happy if I could find one other. :-) But I would expect that it should show an active community providing technical support on the newsgroup and a number of adoptions outside projects I've worked on before it graduates into SWT. But probably it would be a good idea for a larger project like one of the tools subprojects or a top-level project to show committers from 2-4 companies. --David Orme
The diverse community of committers would certainly be useful in making projects transparent, and it may reduce the risk of projects being abandoned. However, I think that the "diverse community of committers" request is leading us into a wrong direction. One of the strongest arguments for Open Source is that consumers are independent of the producers of the code to a very large extent. So why do we want to limit a theoretical risk that is already being taken care of by using a free license. And at Eclipse there are more mechanisms in place that lower the risk further: We require an active community of adopters and users. The project will only have users if it is useful, and only adopters if it is extensible. If a project is useful and there is a community of adopters (== developers that depend on the code) there will be someone stepping up to lead a project that has been abandoned by the original producer. So if we take our goals of quality, openness (permeability), transparency and the three communities seriously then I don't see a need in requesting a diverse community of committers. But why do I argue against this requirement? First of all some of Eclipse's most successful projects are not created by a diverse community of committers. Secondly I see this as a barrier to new projects as they will be forced to create this diverse community even if the diverse parties do not share the exact same vision. This can be very problematic in the early phase of a project. It will also consume a considerable amount of time. Thirdly it may lead to a new problem. If projects include the interested parties into the committer community they will likely have a bigger problem finding adopters, which usually come from the same group of interested parties. I feel that the gain in transparency does not warrant to make projects less flexible with respect to their committer community. Just to be clear: I think that a diverse community of committers is a great asset if it evolves organically, but I dislike requesting this diversity as a general rule for projects.-- Jochen Krause
Nicely stated, Jochen. -- Bjorn Freeman-Benson
  • Users - an active and engaged user community is proof-positive that the Project's exemplary tools are useful and needed. Furthermore, a large user community is one of the key factors in creating a viable ecosystem around an Eclipse project, thus encouraging additional open source and commercial organizations to participate. Like all good things, a user community takes time and effort to bring to fruition, but once established is typically self-sustaining.
I think Users should be listed first, then Adopters, then Contributers, then Committers. The "circle" of participation, I think it was in the "Contributing to Eclipse" book, would be a good diagram to have here. --Ed Burnette
I think that diversity is essential. Visual Editor doesn't have much and now development has severely slowed now that the company supplying most committers has decided that VE isn't a priority. --David Orme
I, too, am strongly in favor of diverse project teams. However, I do not think that it is the place of the development process document to mandate a certain level of diversity. The current development process leaves room for the EMO to provide project creation guidelines. It also includes ways for members to challenge projects and for the board to deal with certain types of project failures. I think that this is sufficient and provides the board with the flexibility to create certain projects of value to the overall community that might otherwise not be executed.-- Rich Main
  • Adopters - an active and engaged adopter/plug-in developer community is only way to prove that an Eclipse project is providing extensible frameworks and extensible tools accessible via documented APIs. Reuse of the frameworks within the companies that are contributing to the project is necessary, but not sufficient to demonstrate an adopter community. Again, creating, encouraging, and nurturing an adopter community outside of the Project's developers takes time, energy, and creativity by the Project Leadership, but is essential to the Project's long-term open source success.

The Eclipse community considers the absence of any one or more of these communities as proof that the Project is not sufficiently open, transparent, permeable, and inviting, and/or that it has emphasized tools at the expense of extensible frameworks or vice versa.

I have written more about the issues around a project's communities in the fifth of a series of blog posts about the Development Process. --Bjorn Freeman-Benson
Essentially the same comment I made above: At the level of a top-level project (or an average of tools/technology projects), I agree with this. But suppose a technology project is successful in every other way except that it cannot show an adopting company outside its own community. If you don't let it graduate, it remains a pre-1.0 technology project and sends an (explicit) signal that it is not ready for production use, thus stalling or perhaps precluding additional adoption. (My company, as a concrete example, would probably not use it in that state in shipping products, and I suspect that's a typical stance.) If you graduate it anyway, you have to waive the existence-of-an-outside-adopting-community rule and render it meaningless. I think there are both chicken and egg and granularity of application problems with this as a litmus test for graduation, even though it's a good goal for a mature project to achieve. --Tim Wagner
Tim: Your concern is very valid. This is precisely why we need to be cautious here about being overly prescriptive. We need appropriate guidelines and standards, but also built in flexibility to allow the EMO and the board to "do the right thing", as needed. Maybe simply updating the will not be allowed to graduate incubation statement to include ...without EMO and board approval would fix the problem here? -- Rich Main
To me this is the whole point of having mentors/architects required to participate in incubation and review. These people are the leaders of the community and "hold the vision" for what it is to be Eclipse. We could spend alot of time crafting metrics for diversity, quality, adoption, ... or state that we care about these things, put in place general guidelines and enable a group of people who are fit to judge on these issues. Projects that may be on the edge in some areas would do well to engage with a set of mentors/architects to explain their situation and get guidance. -- Jeff McAffer

Clear and Concise

It is an explicit goal of the Development Process to be as clear and concise as possible so as to help the Project teams navigate the complexities, avoid the pitfalls, and become successful as quickly as possible.

Freedom and Autonomy

This document imposes requirements and constraints on the operation of the Projects, and it does so on behalf of the larger Eclipse community. It is an explicit goal of the Development Process to provide as much freedom and autonomy to the Projects as possible while ensuring the collective qualities benefit the entire Eclipse community.

I have written more about freedom and autonomy in the sixth of a series of blog posts about the Development Process. --Bjorn Freeman-Benson
Similarly, this document should not place undue constraints on the EMO or the board that prevent them from governing the development process as they see fit. We cannot foresee all circumstances and as such should be cautious of being overly prescriptive.-- Rich Main

Evolving

The frameworks, tools, projects, processes, community, and even the definition of Quality continues to, and will continue to, evolve. Creating rules or processes that force a static snapshot of any of these is detrimental to the health, growth, and ecosystem impact of Eclipse.

In a discussion today with Jeff McAffer, Kevin Parker, and Scott Lewis, the subject was "how precisely or imprecisely this document should proscribe the exit criteria from the different phases?". The consensus was that a document that has too much structure becomes too rigid and prevents the kind of innovation and change we want to have at Eclipse. We believe that part of the strength of this document is in what it does not say and thus opens to the community to define through convention, guidelines, and public consultation. In areas where this document is vague, we expect the Projects and Members to engage the community-at-large to clarify the current norms and expectations. This is a feature, not a bug, because it allows this process to evolve and adapt as Eclipse grows and changes. -- Bjorn Freeman-Benson

Just Enough Process

The Eclipse Development Process should be "just enough" to ensure that the community's goals (quality, openness, etc), but no more - we want to make it easy and inviting for high-quality teams to build interesting software at Eclipse. The entry bar should be "just high enough" to keep Eclipse great, but no more - we want to make it easy to experiment and explore new ideas while simultaneously supporting the ecosystem with strong releases. The entry bar should be "just high enough" to prevent Eclipse from growing too fast (because too rapid growth places too much of a strain on the mentoring capacity of the existing community) yet "just low enough" to prevent it from stagnating.

  • The processes and goals should make projects:
    • Easy to propose
    • Fairly easy to create (e.g., enter incubation)
    • Kinda hard to graduate (e.g., exit incubation)
    • Pretty tough to ship
  • The processes are designed to enhance the middle ground of continued quality growth in Eclipse projects by eliminating the two undesirable endpoints:
    • an entry bar so low that it results in a random collection of low-quality projects, and
    • an entry bar so high that an insufficient number of new projects are created.
Examples to make this notion more concrete? Metrics that the project leadership can observe to determine that the project's ready for transition? -- Anurag Gupta
I have written more about having just enough process in the seventh of a series of blog posts about the Development Process. --Bjorn Freeman-Benson
The purpose of the Eclipse Development Process is to facilitate the open, colaborative development of a quality Eclipse Platform. The above section seems like commentary aimed at sugar-coating something, but I'm not exactly sure what. What is the objective here?--Dave Bernstein

Requirements

This document and any additional criteria as established by the EMO contain requirements, recommendations, and suggestions.

RRequired - Certain responsibilities and behaviors are required of participants in Eclipse open source projects. Projects that fail to perform the required behaviors will be terminated by the EMO. In keeping with the Guiding Principles, the number of requirements must be kept to an absolute minimum.

GGuideline - Other responsibilities and behaviors are recommended best practices. Collectively, we have learned that Projects are more likely to be successful if the team members and leaders follow these recommendations. Projects are strongly encouraged to follow these recommendations, but will not be penalized by this Process if they do not.

After taking commenter's advice, I modified the text above and then moved the comments to a separate page. --Bjorn Freeman-Benson

Requirements and Guidelines

This document is entirely composed of requirements. In addition to the requirements specified in this Development Process, the EMO is instructed to clarify, expand, and extend this Process by creating a set of Eclipse Project Development Guidelines to advance the creation, evolution, promotion, and support of the Eclipse Platform and to cultivate both an open source community and an ecosystem of complementary products and services.

The EMO is not permitted to override or ignore the requirements listed in this document without the express written endorsement of the Board of Directors.

There seems to be too much emphasis on ahead-of-time requirements that goes against the Agile grain of Eclipse development so far. Some projects have carried this to an extreme, to their detriment. "Make code not specs". --Ed Burnette
Ed: I don't understand your comment. Could you explain how this process has too much emphasis on ahead-of-time requirements? Additionally, I do not believe it is the role of the EMO or this process to insist that projects be agile. We can (and do) recommend that projects follow an agile process, but in the spirit of open source, we do not require that. --Bjorn Freeman-Benson
Ed: The requirements here more pertain to how the various projects function within the broader Eclipse development process than how they are run in and of themselves. That said, the community will expect some sort of roadmap and predictability for each project release cycle. The separate project development guidelines should enumerate best practices that seek to strike the right balance.-- Rich Main

I have written more about requirements and guidelines in the eighth of a series of blog posts about the Development Process. --Bjorn Freeman-Benson

Structure and Organization

The Eclipse Projects are organized hierarchically. The top of the hierarchy are the set of Top Level Projects. Each Top Level Project contains zero or more Projects (for linguistic clarity, Projects as often referred to as Sub-Projects). Projects may contain one or more Components. Components are not independent and are managed by the enclosing Project's leadership.

As defined by the Eclipse Bylaws - Article VII, the Eclipse Management Organization (EMO) consists of the Foundation staff and the Councils. The term EMO(ED), when discussing an approval process, refers to the subset of the EMO consisting of the Executive Director and whomever he or she may delegate that specific approval authority to.

After taking commenter's advice, I modified the text above and then moved the comments to a separate page. --Bjorn Freeman-Benson

I have written more about the project-sub-project structure in the ninth and tenth of a series of blog posts about the Development Process. --Bjorn Freeman-Benson

Mitch Sonies suggested the following alternative to the project structuring: (i) Top Level Projects are domain-based, packaging/collection projects. Top Level Projects do not implement new features, they just collect, package, and release features delivered by Sub Projects. (ii) Sub Projects are feature-based. Sub Projects are easy to start, narrowly scoped to a specific feature, and architecturally curated to eliminate duplicates. (iii) Sub Projects do not expand scope to include additional features; rather the interested developers start a new Sub Project for the new feature. This requires that the overhead to start a new project be very low. (iv) Top Level Project and Sub Project are poor names because Sub Projects do not have to reside under Top Level Projects. --Bjorn Freeman-Benson for Mitch Sonies

An interesting related question here is the tradeoff between projects and components. Where do we set the boundary of what project changes need to be communicated publically to the membership at large and which do not. For example, a new project needs to go through the public review process, but a new component does not - why? What is the distinction between a project and a component? Projects have leaders and component teams have leaders, so that's not the difference. Perhaps it's about what set of a code a committer is elected to; if so, then components would not be allowed to limit itself to a subset of the project's committers. (If that was desired, the component would need to be a full-fledged project.)

What is the difference between what this Development Process requires that the project teams tell the membership-at-large about (through the review process) and what is just "part of working on a project"? --Bjorn Freeman-Benson
Re "Where do we set the boundary of what project changes need to be communicated publically to the membership at large and which do not?". Attempting to codify this is unlikely to be successful. The EMO must continuously encourage PMCs to err on the side of openness. If cumulative changes to a Project warrant increased visibility and review, the EMO should initiate a review; if necessary, the governance model should be extended to empower the EMO take such actions. --Dave Bernstein
Re: If cumulative changes to a Project warrant increased visibility and review, the EMO should initiate a review; if necessary, the governance model should be extended to empower the EMO take such actions. -- I like this idea and will add a paragraph to the process section below.--Bjorn Freeman-Benson
I believe that the development process and governance model already allow for this. But, the idea that the EMO will somehow police this as a matter of course seems unlikely. The EMO has many responsibilities and limited technical view onto the projects. Typically, the only way that the EMO would get involved would be at scheduled review points or as a result of a member complaint. From a technical standpoint, this might be another area where the Architecture Committee can add value by providing technical feedback to the roadmap process during implementation. -- Rich Main

Charter

Each Top-Level Project has a Charter which describes the purpose, Scope, and operational rules for the Top-Level Project. The Charter should refer to, and describe any refinements to, the provisions of this Development Process. The Board approves the Charter of each Top-Level Project.

Sub-Projects do not have separate Charters; Sub-Projects operate under the Charter of their parent Top-Level Project.

As a comment to the above and to the "A More Radical Proposal" [3]

I would say that as a company wishing to join the eclipse organization the structure and process is seams as a blocking process. each of these projects has a Charter and a Scope but once a project is defined and being lead by company XYZ (at least as a leader) it is very hard and not attractive for other company to join also to the same project and defining a new project would not be approved. to me it seams as contradiction to the meritocratic rule. If I have a good open source project, lets say in the reporting area, why shouldn't I put in as part of the eclipse community along with the BIRT project? --EranW.radview.com

Scope

All Projects have a defined Scope and all initiatives within that Project are required to reside within that Scope. Initiatives and code that is found to be outside the Scope of a Project may result in the termination of the Project. The Scope of Top-Level Projects is part of the Charter, as approved by the Board of Directors of the Eclipse Foundation.

The Scope of sub-projects and components is defined by the initial project proposal as reviewed and approved by the Project Management Committee (PMC) (as further defined below) of the Project's parent Top-Level Project and the EMO. A Project's Scope must be a subset of the parent Top-Level Project's Scope.

Management

Top-Level Projects are managed by a Project Management Committee (PMC). Sub-Projects are managed by one or more Project Leaders. The Project Leaders, the Project Leaders of all the Project's parent Projects, and the PMC of the Project's Top-Level parent are referred to as the Project Leadership Chain.

PMC Leads are approved by the Board; PMC members and Project Leads are approved by the EMO(ED). The initial Project Leadership is appointed and approved in the Creation Review. Subsequently, additional Project Leadership (PMC members or Project co-Leads) must be approved unanimously by the existing Project Leadership and the Board or EMO(ED) (as appropriate). In the unlikely event that a member of the Project Leadership becomes disruptive to the process or ceases to contribute for an extended period, the member may be removed by (a) if there are at least two other Project Leaders, then unanimous vote of the remaining Project Leadership; or (b) unanimous vote of the Project Leadership of the parent Project.

Each Project's leadership is required to:

  • ensure that the Project is operating effectively by guiding the Project's overall direction and by removing obstacles, solving problems, and resolving conflicts
  • ensure that all Project plans, technical documents and reports are publicly available and up-to-date
  • operate using open source rules of engagement: meritocracy, transparency, and open participation. These principles work together. Anyone can participate in a Project. This open interaction, from answering questions to reporting bugs to making code contributions to creating designs, enables everyone to recognize and utilize the contributions.

Active participation in the user newsgroups and the appropriate developer mailing lists is a required responsibility of all Project Leaders and is critical to the success of the Project.

There should be some discussion here about the responsibility of the project leadership to avoid operating in a silo. Not only should a project operate effectively itself, but it should also work effectively among other projects with which it has touchpoints. Alternately, it could be listed as a responsibility of the architecture council to see to it that such channels are open. I think that is the intent of the development process, as written.-- Rich Main

Project Team

Each Project has a Development Team, led by a Project Lead. The Development Team is composed of Committers and Contributors. Contributors are individuals who contribute code, fixes, tests, documentation, or other work that is part of the Project. Committers have write access to the source code repository(ies) for the associated Project and are expected to influence the Project's development.

Contributors who have the trust of the Project's Committers can, through election, be promoted Committer for that Project using the process as specified in the Charter of the relevant Top-Level Project. The breadth of a Committer's influence corresponds to the breadth of their contribution. A Development Team's Contributors and Committers may (and should) come from a diverse set of organizations. A Committer has write access to the source code repository for the Project and/or website and/or bug tracking system. A Committer gains voting rights allowing them to affect the future of the Project. Becoming a Committer is a privilege that is earned by contributing and showing discipline and good judgment. It is a responsibility that should be neither given nor taken lightly, nor is it a right based on employment by an Eclipse Member company or any company employing existing committers.

The nomination and election process for Committers to a Project must follow the Eclipse principles by being open and transparent.

Committer, PMC Lead, Project Lead, and Council Representative(s) are roles; an individual may take on more than one of these roles simultaneously.


I have written more about committer elections in the eleventh of a series of blog posts about the Development Process. --Bjorn Freeman-Benson

Councils

The three Councils defined in Bylaws section VII are comprised of Strategic members and PMC representatives. The three Councils help guide the Projects as follows:

  • The Requirements Council is primarily responsible for the Eclipse Roadmap. There will always be more requirements than there are resources to satisfy them, thus the Requirements Council gathers, reviews, and categorizes all of these incoming requirements - from the entire Eclipse ecosystem - and proposes a coherent set of Themes and Priorities.
  • The Planning Council is responsible for establishing a coordinated Simultaneous Release (a.k.a, "the release train") that supports the Themes and Priorities in the Roadmap. The Planning Council is responsible for cross-project planning, architectural issues, user interface conflicts, and all other coordination and integration issues. The Planning Council discharges its responsibility via collaborative evaluation, prioritization, and compromise.
  • The Architecture Council is responsible for ensuring the Principles of the Development Process through mentorship. Membership in the Architecture Council is per the Bylaws through Strategic Membership, PMCs, and by appointment. The Architecture Council will, at least annually, recommend to the EMO(ED) Eclipse Members who have sufficient experience, wisdom, and time to be appointed to the Architecture Council and serve as mentors. Appointed members of the Architecture Council are appointed to three year renewable terms.
In an attempt to keep this web page more readable, I have moved the conversation from here to the thread "[EDP] Mentors Council or Coaching Squad?" on eclipse.foundation newsgroup. The thread also has a discussion of how the EMO has been negligent vis a vis the Architecture Council, but it was just getting a bit long for the wiki page. --Bjorn Freeman-Benson
I have written more about councils and mentoring in the twelfth of a series of blog posts about the Development Process. --Bjorn Freeman-Benson
I am restoring my comments from the prior discussion as the new blog proposal includes the idea of a Mentors Council and contains no mention of the existing Requirements Council...
Dave beat me to the punch on this comment! The problem with adding a fourth council for mentoring is that the current councils have a certain level of authority within the development process that really does not apply to mentoring. Adding a mentoring council just muddies the waters unnecessarily. It might be better to create a mentoring working group or some such.
The existing roadmap process (see below) is designed around the Architecture, Planning, and Requirements Councils. I believe that it is a sound design that simply needs to be implemented in practice. Regarding the mentoring council, I see mentoring as a great thing, but I do not think that the notion of mentoring rises to the "Council" level with respect to the development and roadmap process. -- Rich Main
I was not at the meeting (unfortunately) but it is fundamentally disappointing to me that the Architecture Council did not see mentoring and sharing the vision of "Eclipseness" as a role they chose to play. Roadmaps and processes aside, the very nature of an "architect" is "One who designs and supervises the construction...". I strongly believe that it is exactly the role of the Architecture Council to guide projects to success through interactions such as mentoring and review participation. -- Jeff McAffer
To clarify my previous comment in light of what Jeff wrote above, I would add my support for mentoring as a role of the Architecture Council (Mr. Phelps... Your mission, if you choose to accept it...). I just don't support the notion of forming a separate "Mentor's Council". -- Rich Main

Roadmap Process

Eclipse Roadmap Process Diagram

The Roadmap describes the collective Eclipse Projects future directions and consists of two parts:

  1. Themes and Priorities from the Requirements Council
  2. Simultaneous Release Plan from the Planning Council

The Roadmap must be consistent with the Purposes as described in Bylaws section 1.1. It is developed using the prescribed roadmap process. Click on the thumbnail image at right to view a visual representation of the roadmap development process.

The Roadmap is prepared by the Councils and approved by the Board annually. A proposed Roadmap or Roadmap update is disseminated to the Membership at Large for comment and feedback in advance of its adoption. This dissemination and all discussion and debate around the Roadmap must be held in an open and transparent public forum, such as mailing lists or newsgroups.

Prior to any Board vote to approve a Roadmap or Roadmap update, every Member has the right to communicate concerns and objections to the Board.

The process of producing or updating the Roadmap is expected to be iterative. An initial set of Themes and Priorities may be infeasible to implement in the desired timeframe; subsequent consideration may reveal new implementation alternatives or critical requirements that alter the team’s perspective on priorities. The EMO orchestrates interaction among and within the Councils to drive the Roadmap to convergence.

This Development Process, the EMO, the Councils, and the Projects all acknowledge that the success of the Eclipse ecosystem is dependent on a balanced set of requirements and implementations. A Roadmap that provides too large a burden on the Projects will be rejected and ignored; similarly, a Roadmap that provides no predictable Project plans will be unhelpful to the business and technical plans being created by the ecosystem. A careful balance of demands and commitments is essential to the ongoing success of the Eclipse Projects, frameworks, and ecosystem.

The Project Leadership is expected to ensure that their Project Plans are consistent with the Roadmap, and that all plans, technical documents and reports are publicly available. To meet this requirement, each Project is expected to create a transparently available Project Plan meets the following criteria:

  1. Enumerates the areas of change in the frameworks and tools for each proposed Release
  2. Consistent with and categorized in terms of the themes and priorities of the Roadmap
  3. Identifies and accommodates cross-project dependencies
  4. Addresses requirements critical to the Ecosystem and/or the Membership at Large
  5. Advances the Project in functionality, quality, and performance

A Project may incrementally revise their Project Plan to deliver additional tasks provided:

  1. the approved Roadmap is not put in jeopardy; and
  2. the work is consistent with the Project Plan criteria (as described above)
In an attempt to keep this web page more readable, I have moved the conversation from here to the thread "[EDP] Roadmap Process" on eclipse.foundation newsgroup. An interesting thread from many contributors, but it was getting a bit long for the wiki page. --Bjorn Freeman-Benson
I have written more about the Roadmap process in the thirteenth of a series of blog posts about the Development Process. --Bjorn Freeman-Benson

Development Process

All Eclipse Projects, and hence all Project Proposals, must be consistent with the Purposes.

Should we state here that 'All Eclipse Projects, and hence all Project Proposals, must be consistent with the Structure and Organization'? --Scott Lewis

Projects must work within their Scope. Projects that desire to expand beyond their current Scope must seek an enlargement of their Scope using a public Review as described below.

All projects are required to report their status at least quarterly using the EMO defined status reporting procedures.

After taking commenter's advice, I modified the text above and then moved the comments to a separate page. --Bjorn Freeman-Benson

Projects must provide advanced notification of upcoming features and frameworks via their Project Plan and the appropriate transparent communication channels.

Mentors

New Proposals are required to have at least two Mentors. The Mentors must be listed in the Proposal, along with their affiliations and their Eclipse projects. Mentors must be members of the Architecture Council. Mentors are required to monitor and advise the new Project during its Incubation Phase, but are released from that requirement once the Project graduates to the Mature Phase.

Suggest: that Mentors be listed in the Proposal, along with their affiliation, Eclipse projects, and project role --Scott Lewis

The Mentors must attend the Creation and Graduation Reviews and the Mentors must vote +1 for those Reviews to be successful. If the Mentors do not attend or do not vote positively, the Creation Review cannot be successful regardless of other feedback or votes.

I have written more about councils and mentoring in the twelfth of a series of blog posts about the Development Process. --Bjorn Freeman-Benson

Project Lifecycle

Development-process.gif

Projects go through six distinct phases. The transitions from phase to phase are open and transparent public reviews.

Pre-proposal - An individual or group of individuals declares their interest in, and rationale for, establishing a project. The EMO will assist such groups in the preparation of a project Proposal.

  • The Pre-proposal phase ends when the Proposal is published by EMO and announced to the membership by the EMO.

Proposal - The proposers, in conjunction with the destination PMC and the community, collaborate in public to enhance, refine, and clarify the proposal. Mentors for the project must be identified during this phase.

  • The Proposal phase ends with a Creation Review or a Termination Review.

Incubation - After the project has been created, the purpose of the incubation phase is to establish a fully-functioning open-source project. In this context, incubation is about developing the process, the community, and the technology. Incubation is a phase rather than a place: new projects may be incubated under any existing Top-Level Project.

  • The Incubation phase ends with a successful Graduation Review or a Termination Review.
note: the diagram does not depict this. --Jeff McAffer
  • The Incubation phase may continue with a Continuation Review.
  • Top-Level Projects cannot be incubated and can only be created from existing Mature-phase Projects.

Many Eclipse Projects are proposed and initiated by individuals with extensive and successful software development experience. This document attempts to define a process that is sufficiently flexible to learn from all its participants. At the same time, however, the Incubation phase is useful for new Projects to learn the community-defined Eclipse-centric open source processes.

Taking the discussion on the newsgroup and various discussions about quality, IP compliance and too many new projects into account, I would like to propose a slightly different process for the phases until end of incubation. To make the proposal easier to read I created a new wiki page that contains the proposal Development Process 2006 New Incubation --Jochen Krause

Mature - The project team has demonstrated that they are an open-source project with an open and transparent process; an actively involved and growing community; and Eclipse Quality technology. The project is now a mature member of the Eclipse Community. Major releases continue to go through Release Reviews.

  • Mature phase projects have Releases through a Release Review.
  • A Mature Projects may be promoted to a Top-Level Project through a Promotion Review.
  • A Mature Project that does not release in given year may continue through a Continuation Review.
  • Inactive Mature phase projects may be archived through a Termination Review.

As Dave Bernstein suggested above, we should add:

  • A Mature Project which has made sufficient cumulative changes to warrant increased visibility and review should initiate an Ongoing Review to surface these new directions to the membership-at-large. --Bjorn Freeman-Benson

Top-Level - Projects that have demonstrated the characteristics of a Top-Level Project (e.g., consistent leadership in a technical area and the recruitment of a wider developer community) can be promoted to Top-Level Project status. This promotion occurs through a Promotion Review. Upon the successful completion of a Promotion Review, the EMO(ED) may recommend that the project be promoted to the Board of Directors and ask that its Charter be reviewed and approved.

Do we need to say more about TL projects? Previously we had talked about down playing the distinction. Should we set expections as to how many TLPs there would be and why someone would want to have a TLP? (ie., what are the differences/benefits) --Jeff McAffer

Archived - Projects that become inactive, either through dwindling resources or by reaching their natural conclusion, are archived. Projects can reach their natural conclusion in a number of ways: for example, a project might become so popular that it is absorbed into one of the other major frameworks. Projects are moved to Archived status through a Termination Review.

Should it be possible for a project to come out of 'Archived' and back into 'Incubation' or 'Mature'? --Scott Lewis
Yes, if there are people to reactivate the project. --Bjorn Freeman-Benson
Hmm...how is that different than a creation review? Does it matter if the project being created repurposes some existing materials? (Trying to understand what's special about adding the new transition and another type of review to the state diagram.) --Tim Wagner
Tim, you're probably right - it should just be a Creation Review - effectively a new project with some initial code from the archives.--Bjorn Freeman-Benson
I agree that an archived project should go through a Creation Review to be reactivated. There were likely good reasons why it became archived in the first place and a full creation review provides a sufficiently high bar to prove that those reasons are no longer valid. It also ensures that the original (or updated) project goals are still consistent with the overall Eclipse goals.-- Rich Main
Restore the Validation phase and its Checkpoint Review to the proposed revision, as they are essential. "We currently don't implement this phase or hold this review" is not a justification for removing it. -- Dave Bernstein (copied from newsgroup by Bjorn Freeman-Benson)
I have written more about the phases in the fourteenth of a series of blog posts about the Development Process. --Bjorn Freeman-Benson

Reviews

The Eclipse Development Process is predicated on open and transparent behavior. All major changes to Eclipse projects must be announced and reviewed by the membership-at-large. Major changes include the Project Phase transitions as well as the introduction or exclusion of significant new technology or capability. It is a clear requirement of this document that members who are monitoring the appropriate media channels (e.g., mailing lists or RSS feeds) not be surprised by the post-facto actions of the Projects.

As suggested by Dave Bernstein above: Projects are responsible for initiating the appropriate reviews. However, if a Project does not do so and the EMO believes a Review is necessary, the EMO may initiate a Review on the Project's behalf. --Bjorn Freeman-Benson

All Projects are required to have at least one Review per year.

What review does a mature project that it not releasing yearly have? Or is there a requirement to release yearly? --Jeff McAffer
Jeff: if there is no other Review in a given year, a project must have a Continuation Review (see above). There is no requirement to release yearly. --Bjorn Freeman-Benson

For each Review, the project leadership makes a presentation to, and receives feedback from, the Eclipse membership.

A Review is a fairly comprehensive process. Gathering the material for a Review and preparing the presentation is a non-trivial effort, but the introspection offered by this exercise is useful for the Project and results are very useful for the entire Eclipse community. In addition, Reviews have a specific relationship to the requirements of the Eclipse IP Policy.

All Reviews have the same general process:

  1. The Review process begins with the Project's Leadership requesting that the PMC approve the request for review.
  2. A Review then continues with the Project's Leadership requesting that the EMO(ED) schedule the Review.
  3. No less than one week in advance of the Review conference call, and preferably at least two weeks in advance, the Project leadership provides the EMO with the archival presentation material.
    1. The presentation material always includes a summary slide presentation. The minimum contents of the presentation are proscribed by the individual Review types.
    2. The presentation material must be available in a format that anyone in the Eclipse membership can review. For example, Microsoft Powerpoint files are not an acceptable single format - such files may be one of the formats, but not the only format. Similarly for Apple Keynote files and Microsoft Word files. PDF and HTML are acceptable single formats.
    3. The presentation material must have a correct copyright statement and be licensed under the EPL.
    4. The presentation material must be archival quality. This means that the materials must comprehensible and complete on their own without requiring explanation by a human presenter.
  4. The EMO announces the Review schedule and makes the presentation materials available to the membership-at-large.

The criteria for the successful completion of each type of Review will be documented in writing by the EMO in guidelines made available via the www.eclipse.org website. Such guidelines will include, but are not limited to the following:

  1. Clear evidence that the project has vibrant committer, adopter and user communities as appropriate for the type of Review.
  2. Reasonable diversity in its committer population as appropriate for the type of Review.
  3. Documented completion of all required due diligence under the Eclipse IP Policy.
  4. Balanced progress in creating both frameworks and extensible, exemplary tools.

The Review itself:

  1. Is open for no less than one week and no more than two weeks of generally accepted business days.
  2. Begins with a conference call or other conference technology (e.g., web conferencing) so long as the technology is available to all members and incurs no additional costs to the attendees.
  3. During the conference call, the Project Leadership (or EMO appointed Project representative) provides a brief summary of the reasons and justifications for the phase transition followed by a question and answer session.
  4. After the conference call, the Review remains active for open and transparent discussion amongst the membership-at-large via the Project-appropriate mailing lists, newsgroups, or other designated forums.
  5. At the end of the Review period, the EMO(ED) holds a public vote.
Voting procedures must be consistent with the Eclipse Bylaws. That should guide the discussion below. -- Rich Main
Rich, an excellent point: if we change the Review process to include a vote from the Membership-At-Large then we must abide by the voting rules in the Bylaws. Those rules include the "multiple committers from a single member are entitled to only one (collective) vote". --Bjorn Freeman-Benson
    1. All Eclipse members are eligible voters. For corporate members, their vote must be cast by the delegate for that member.
    2. A successful vote requires +1s from the Project's Leadership Chain.
may need to define that more clearly. How many +1s at each level? --Jeff McAffer
    1. At least three +1s from members who are not Committers on the Project and not part of the Project's Leadership Chain.
    1. No upheld -1s. An Upheld -1 is a -1 that is followed within 24 hours by open, transparent, and public justification, and that justification is accepted by the EMO. Frivolous or unjustified -1s are ignored. Reject -1s count as 0s.
  1. The EMO(ED) approves or fails the Review based on the public vote, the scope of the Project, and the Purposes of the Eclipse Foundation as defined in the Bylaws.
Various people have different thoughts about how many +1s are needed to pass a review. We'd like your opinions right here on this wiki page. Some have said 3 +1s; some have said at least 4 +1s; etc. There has also been discussion about who can vote: Eclipse members who are not on the Project? Architecture Council members? all Eclipse members? --Bjorn Freeman-Benson
I think 3 +1s. This is a significantly higher hurdle than currently (EMO+project team only). I would leave the voting up to to entire (non-project team) membership --Scott Lewis
We might include a list of criteria for specific Review types here. Not the full list for each Review type, but the essential items that are not part of the generic list above. --Bjorn Freeman-Benson
At one point we talked about requiring some number of Architecture Council votes. In the case of a graduation review, the mentors (aka arch council members) must vote +1. Should the same be true for release reviews etc. Personally I vote +1 for having required arch council representation. --Jeff McAffer
Jeff: that is explained in the "Mentors" section [4]. Perhaps it should be moved here. --Bjorn Freeman-Benson
Re: creation reviews, William Rowe on the Apache incubation mailing list has a suggestion for Apache that perhaps we should adopt for Eclipse: creation reviews must include "a short biographical on the proposed participants. [Not a] life story, but their relationship to and history with the incoming code and/or their involvement with the area/technologies covered by the proposal. ... For OSS transitions from another home, this can often be a short 'Author of the Foo container bits, see also ralphj commits to ___ and mailing list participation on dev@example.com', or 'contributing author to spec X'. ... For Corporate contributions, this has to be more detailed. At the very least, justify the individual's participation -in the code-. .. This would serve to help keep legacy contributors connected to the effort, and explain that connection to newcomers, but justify their participation in a meritocracy. It will help the project, four years down the road, do a /whois and come up with something meaningful about any of their members." --Bjorn Freeman-Benson
Scope of projects suitable for Eclipse - Not sure if this is the best place for this comment (guess we can always move it later) - I haven't seen any discussion of the scope of projects suitable for Eclipse aside from the projects needing to support users, developers and adopters (if I have missed it please point it out so I can retract my comment). There are several prominent open source communities and I think rather than try to tackle all manner of projects Eclipse should cut out a section of projects that it will develop and work with the other communities to develop other projects not appropriate for Eclipse. Cutting out a section of projects is not meant to limit people but rather meant to maintain the Eclipse brand and avoid potentially diluting it with many projects that are unrelated in any way. (i.e. Currently most projects are related by extending the IDE of being useful tool frameworks.) --Lawrence Mandel
Lawrence: the kinds of projects suitable for Eclipse are defined in the Bylaws [5] and is referenced above in the first paragraph of the "Development Process" section [6]. --Bjorn Freeman-Benson

If any Member believes that the EMO has acted incorrectly in approving or failing a Review may appeal to the Board to review the EMO's decision.

While the revision describes the proposed phases, it says little about the function and content of the proposed creation review, incubation review, promotion review, release review, or termination review. -- Dave Bernstein (copied here from the newsgroup by Bjorn Freeman-Benson

Membership Involvement

The proper functioning of the Eclipse Development Process is contingent on the active participation of the Eclipse Members and Committers. The requirement for positive votes from Members (which includes Committers) which are not involved in the project will require each project to build relationships with other participants within the Eclipse community. The process is positive biased in that Reviews give more weight to negative votes (vetoes) as opposed to requiring a majority of positive votes to proceed.

Review vote summaries will include:

  • Number and identification of all explicit positive (+1) votes
  • Number and identification of all explicit abstentions (0)
  • Number and identification of all explicit negative (-1) votes
  • A statement that all other Eclipse members have implicitly voted positively

Grievance Handling

When a Member has a concern about a Project, the Member will raise that concern with the Project's Leadership. If the Member is not satisfied with the result, the Member can raise the concern with the parent Project's Leadership. The Member can continue appeals up the Project Leadership Chain and, if still not satisfied, thence to the EMO, then the Executive Director, and finally to the Board. All appeals and discussions will abide by the Guiding Principles of being open, transparent, and public.

Member concerns may include:

  • Out of Scope. It is alleged that a Project is exceeding its approved scope.
  • Inconsistent with Purposes. It is alleged that a Project is inconsistent with the Roadmap and/or Purposes.
  • Dysfunctional. It is alleged that a Project is not functioning correctly or is in violation of one or more requirements of the Development Process.
  • Contributor Appeal. It is alleged that a Contributor who desires to be a Committer is not being treated fairly.
  • Invalid Veto It is alleged that a -1 vote on a Review is not in the interests of the Project and/or of Eclipse.

Revisions

As specified in the Bylaws, the EMO is responsible for maintaining this document and all changes must be approved by the Board.

Due to the continued evolution of the Eclipse technology, the Eclipse community, and the software marketplace, it is expected that the Development Process (this document) will be reviewed and revised on at least an annual basis. The timeline for that review should be chosen so as to incorporate the lessons of the previous annual coordinate release and to be applied to the next annual coordinated release.

The EMO is further responsible for ensuring that all plans, documents and reports produced in accordance with this Development Process be made available to the Membership at Large via an appropriate mechanism in a timely, effective manner.