Skip to main content
Jump to: navigation, search

Difference between revisions of "Developer Team Page"

(Marketing)
Line 3: Line 3:
 
Note: '''This page is relevant only for Higgins committers and active contributors.'''
 
Note: '''This page is relevant only for Higgins committers and active contributors.'''
  
===Meetings and Events===
+
==Meetings and Events==
 
Upcoming:
 
Upcoming:
 
* [[May 22-23 Redmond_F2F_Agenda]]
 
* [[May 22-23 Redmond_F2F_Agenda]]
Line 11: Line 11:
 
* [[Higgins F2F planning]]
 
* [[Higgins F2F planning]]
  
=== Version Numbering ===
+
== Version Numbering ==
  
 
There are four levels of granularity in the Higgins project:
 
There are four levels of granularity in the Higgins project:
Line 23: Line 23:
 
* We expect to have Higgins 1.1 stable builds approx every 6 weeks or so.
 
* We expect to have Higgins 1.1 stable builds approx every 6 weeks or so.
  
===Backlog===
+
==Backlog==
 
The list of all kinds of things that we might like to do someday is here:
 
The list of all kinds of things that we might like to do someday is here:
 
* [[Backlog]]
 
* [[Backlog]]
  
===Processes===
+
==Processes==
 
* [[Higgins Development Processes]]
 
* [[Higgins Development Processes]]
  
=== Higgins Bug-Fix Release Criteria ===
+
== Higgins Bug-Fix Release Criteria ==
 
Higgins patch releases (e.g. 1.0.X number scheme) would include exclusively bug fixes (e.g. no new features/enhancements) for the following type of bug severity:
 
Higgins patch releases (e.g. 1.0.X number scheme) would include exclusively bug fixes (e.g. no new features/enhancements) for the following type of bug severity:
 
# Bugs in any of the Higgins platform components that cause a crash of the overall Higgins system or Higgins based application.
 
# Bugs in any of the Higgins platform components that cause a crash of the overall Higgins system or Higgins based application.
Line 42: Line 42:
 
* bugs are that are cosmetic in nature, misspellings in dialogs, annoying to users, etc.
 
* bugs are that are cosmetic in nature, misspellings in dialogs, annoying to users, etc.
  
===Documentation===
+
==Documentation==
 
Component Owners MUST:
 
Component Owners MUST:
 
# Create rows (and sometimes entire tables) for each project on the [[Components]] page.  
 
# Create rows (and sometimes entire tables) for each project on the [[Components]] page.  
Line 67: Line 67:
 
# Categorize the page by including the category at the bottom of the page. See [http://wiki.eclipse.org/Category:Higgins] for a list of all Higgins Categories. For example insert '''<nowiki>[[Category:Higgins]]</nowiki>''' for general Higgins info.  (Yes, the categories could use some maintenance.). Or insert '''<nowiki>[[Category:Higgins Data Model]]</nowiki>'''
 
# Categorize the page by including the category at the bottom of the page. See [http://wiki.eclipse.org/Category:Higgins] for a list of all Higgins Categories. For example insert '''<nowiki>[[Category:Higgins]]</nowiki>''' for general Higgins info.  (Yes, the categories could use some maintenance.). Or insert '''<nowiki>[[Category:Higgins Data Model]]</nowiki>'''
  
===Developing===
+
==Developing==
 
* All Java code MUST be developed using Eclipse 3.3
 
* All Java code MUST be developed using Eclipse 3.3
 
* [[Higgins Conventions]] for file headers, copyrights
 
* [[Higgins Conventions]] for file headers, copyrights
Line 75: Line 75:
 
* Special plugin we use: [[Higgins2Ant]] -- new page, needs work
 
* Special plugin we use: [[Higgins2Ant]] -- new page, needs work
  
===Building===
+
==Building==
 
* [[Automated Builds]] --description of the existing nightly build process (see [[Build Enhancements]] for a wishlist of enhancements to the nightly and developer build processes)
 
* [[Automated Builds]] --description of the existing nightly build process (see [[Build Enhancements]] for a wishlist of enhancements to the nightly and developer build processes)
 
* [[Starting a Higgins Build]] --how to kick off a build on the eclipse build server
 
* [[Starting a Higgins Build]] --how to kick off a build on the eclipse build server
 
* [[Copying necessary 3rd party libs to project lib folder using PERL script]] --steps to copy all necessary 3rd party libs from centralized location (local) to project lib folder
 
* [[Copying necessary 3rd party libs to project lib folder using PERL script]] --steps to copy all necessary 3rd party libs from centralized location (local) to project lib folder
  
===Deploying===
+
==Deploying==
 
* [[Deployment Requirements]] -- gathering requirements for our build/deploy processes
 
* [[Deployment Requirements]] -- gathering requirements for our build/deploy processes
  
===Misc Tools===
+
==Misc Tools==
 
* [[Generating anonymous psf file using PERL script]] --steps to generate anonymous psf file for a project including all it's dependencies
 
* [[Generating anonymous psf file using PERL script]] --steps to generate anonymous psf file for a project including all it's dependencies
  
===IP-Related===
+
==IP-Related==
 
* List of [[Higgins 1.0 Third Party Dependencies]] --status of each dependency as set by the Eclipse Legal team
 
* List of [[Higgins 1.0 Third Party Dependencies]] --status of each dependency as set by the Eclipse Legal team
 
* List of [[Higgins Third Party Dependencies]] --status of each dependency as set by the Eclipse Legal team
 
* List of [[Higgins Third Party Dependencies]] --status of each dependency as set by the Eclipse Legal team
Line 95: Line 95:
 
* [[Draft Response to Open Specification Promise]] --earlier draft
 
* [[Draft Response to Open Specification Promise]] --earlier draft
  
=== Contributions by team members ===
+
== Contributions by team members ==
 
* [[Higgins committers with contributions active in the 1.0 repository]] --Eclipse Legal Review
 
* [[Higgins committers with contributions active in the 1.0 repository]] --Eclipse Legal Review
 
* [[Higgins developers with contributions active in the 1.0 repository]] --Eclipse Legal Review
 
* [[Higgins developers with contributions active in the 1.0 repository]] --Eclipse Legal Review
 
* [[Higgins commiters by component]]
 
* [[Higgins commiters by component]]
  
===Eclipse Foundation-related Info ===
+
==Eclipse Foundation-related Info ==
  
 
Eclipse Committers
 
Eclipse Committers
Line 124: Line 124:
 
*Orbit http://www.eclipse.org/orbit/ is designed to be a repository for third party libraries that are approved for use in Eclipse projects. If the incoming libraries are not already bundles then Orbit committers will work to create a bundle that is suitable for use in Eclipse projects. See http://wiki.eclipse.org/index.php/Orbit_Faq for a list or Orbit managed libraries. Orbit managed libaries are the easiest of third party libraries to add to an Eclipse project. Even if a library is listed under Orbit, you still need to go through the IPzilla process before putting it into the Higgins CVS.
 
*Orbit http://www.eclipse.org/orbit/ is designed to be a repository for third party libraries that are approved for use in Eclipse projects. If the incoming libraries are not already bundles then Orbit committers will work to create a bundle that is suitable for use in Eclipse projects. See http://wiki.eclipse.org/index.php/Orbit_Faq for a list or Orbit managed libraries. Orbit managed libaries are the easiest of third party libraries to add to an Eclipse project. Even if a library is listed under Orbit, you still need to go through the IPzilla process before putting it into the Higgins CVS.
  
=== Marketing ===
+
== Marketing ==
 
* [[Key Messages]]
 
* [[Key Messages]]
 
* [[Higgins website]]
 
* [[Higgins website]]
  
 
[[Category:Higgins Developer Info]]
 
[[Category:Higgins Developer Info]]

Revision as of 09:45, 13 April 2008

{{#eclipseproject:technology.higgins}}

Higgins logo 76Wx100H.jpg

Note: This page is relevant only for Higgins committers and active contributors.

Meetings and Events

Upcoming:

Past:

Misc:

Version Numbering

There are four levels of granularity in the Higgins project:

SVN Projects
are named major.minor.service.qualifier as described in the "plugins" section here: Version Numbering. [For java projects every project is indeed a plugin. But for non-java projects a project might be a C++ lib, etc.] For projects (plugins) we are following the rules in Version Numbering.
Features
We only have one feature and we DO follow the rules in Version Numbering.
Components
in Higgins are sets of related projects. But they are just organizing concepts and not digital artifacts. We have not found a need to have version numbers for components. So there is no problem here.
Solutions
in Higgins are complete working apps or web services. There is no equivalent concept in Version Numbering. We do not use version numbers at the solution level.
Higgins
is the name for the entire project. This is roughly equivalent to numbering of the entire Eclipse IDE (e.g. Eclipse 3.1 or 3.2).
  • The first bugfix release after 1.0.0 will be 1.0.1 (see Beyond Higgins 1.0)
  • The first milestone (stable build) after 1.0.0 will be 1.1M1 (see Beyond Higgins 1.0)
  • We expect to have Higgins 1.1 stable builds approx every 6 weeks or so.

Backlog

The list of all kinds of things that we might like to do someday is here:

Processes

Higgins Bug-Fix Release Criteria

Higgins patch releases (e.g. 1.0.X number scheme) would include exclusively bug fixes (e.g. no new features/enhancements) for the following type of bug severity:

  1. Bugs in any of the Higgins platform components that cause a crash of the overall Higgins system or Higgins based application.
  2. Bugs that cause a loss of any persistent data.
  3. Bugs that cause a severe security breach where sensitive end user data can be exposed to the outside world or accessed by unauthorized users.
  4. Bugs that cause a "major" feature to not function and there is no workaround available to accomplish the same task.
  5. Bugs that cause a "major" business impact such as loss of revenue or customers.

For all other bugs fixes of lesser severity than those described above, they will be included as part of major or minor (point) Higgins releases and not necessarily included as part of a special bug fix release. By way of example, the bug fixes included in the major or minor (point) releases would include such items as:

  • bugs that cause an aspect of a feature to not work properly.
  • bugs are that are cosmetic in nature, misspellings in dialogs, annoying to users, etc.

Documentation

Component Owners MUST:

  1. Create rows (and sometimes entire tables) for each project on the Components page.
  2. Manually create (and constantly update) the "dep" wiki page in the "Dependencies" column (entitled "Dep.") for each project/row on the Components page.
  3. Edit the autobuild scripts to include java components in the nightly build
  4. Create a "row" wiki page for each row using the Component Description Template
  5. Make sure that automated build scripts are using the latest build.xml
  6. Make sure that all 3rd party dependent jars are read from the dependencies.redistributable project. For projects that autobuild this can be verified by checking that the auto-generated "Third Party Dependencies" section of the "dependencies" page linked from a build page (see the "downloads" column on the Components page.

Solution Owners MUST:

  1. Add a link to the solution here Solutions
  2. Create the solution page using Solution Description Template

Anyone editing the wiki MUST:

  1. Put the string {{#eclipseproject:technology.higgins}} at the top of all pages. [This adds the correct Higgins left-hand navigation links to the page]
  2. Put the mouse on new pages by inserting the string [[Image:Higgins_logo_76Wx100H.jpg|right]] at the top of the page.
  3. Only version wiki pages if it is needed. If the same wiki page applies to Higgins 1.0 and any other release, there is no need to have more than one copy of the page. And the page doesn't need to have a "Version" section.
  4. If you need to version a page that hasn't been versioned before:
    1. Create two new pages that are copies of the original page. One copy will describe the released version and the other will describe the version that's under development.
    2. Add a version section at the top of each of the new pages as shown in the examples above.
    3. After you have created these new pages, change the original unversioned page such that it contains nothing but a #REDIRECT [[<page name>]] (where <page name> is the name of the page that describes the released version of Higgins.
  5. Categorize the page by including the category at the bottom of the page. See [1] for a list of all Higgins Categories. For example insert [[Category:Higgins]] for general Higgins info. (Yes, the categories could use some maintenance.). Or insert [[Category:Higgins Data Model]]

Developing

Building

Deploying

Misc Tools

IP-Related

Contributions by team members

Eclipse Foundation-related Info

Eclipse Committers

IPZilla

Legal

Clarification of IP processes for use of third party libraries

  • Any time anyone working on the Higgins project wants to introduce a project dependency, it needs to be brought forward to the Higgins project.
  • If the decision is made to introduce the dependency and the dependency involves software that is not licensed under the EPL, then a formal IP process needs to be gone though to approve the software binaries for inclusion in the project cvs. Note that this process must be followed even if the software is a common java library used by other Eclipse processes. (If the software has been used by another Eclipse project, the process is much faster.) Eclipse has a system IPzilla for managing this process. If you are anticipating a dependency, you need to bring it forward as soon as possible to allow time for the IP due diligence process to take place. See more about IPzilla below.
  • Libraries licensed with EPL are the easiest to get permission to use, followed by Apache 2.0. GPL and LGPL licences are not compatible with EPL.

Orbit

  • Orbit http://www.eclipse.org/orbit/ is designed to be a repository for third party libraries that are approved for use in Eclipse projects. If the incoming libraries are not already bundles then Orbit committers will work to create a bundle that is suitable for use in Eclipse projects. See http://wiki.eclipse.org/index.php/Orbit_Faq for a list or Orbit managed libraries. Orbit managed libaries are the easiest of third party libraries to add to an Eclipse project. Even if a library is listed under Orbit, you still need to go through the IPzilla process before putting it into the Higgins CVS.

Marketing

Back to the top