Jump to: navigation, search

Difference between revisions of "TM/Code Ownership"

< TM
 
(13 intermediate revisions by 7 users not shown)
Line 1: Line 1:
 
What do we want to achieve by explicit code ownership?
 
What do we want to achieve by explicit code ownership?
 
* '''Integrity of the Design''': The owner is responsible for a solid extensible design.
 
* '''Integrity of the Design''': The owner is responsible for a solid extensible design.
** People other than the owner can make bug fixes, but please let the owner know
+
** People other than the owner can make bug fixes, but please let the owner know.
** Dont make design-breaking changes without letting the owner know
+
** Don't make design-breaking changes without letting the owner know.
** Typically there is a single owner for each functionality. Multiple "two-in-a-box" owners are only possible if they work very closely together
+
** Typically, there is a single owner for each functionality. Multiple "two-in-a-box" owners are only possible if they work very closely together.
 
** There may be a backup person for an owner, in case the owner is out-of-office.
 
** There may be a backup person for an owner, in case the owner is out-of-office.
* '''Timely Bug Triage''': The owner is responsible for reviewing (and probably reassigning) bugs of his area in a timely fashion
+
* '''Timely Bug Triage''': The owner is responsible for reviewing (and probably reassigning) bugs of his area in a timely fashion.
** Helps dispatching new bugs to component owners first
+
** Helps dispatching new bugs to component owners first.
** Ownership can be for functionality that spans multiple packages (If functionality is seen by user as a single entity)
+
** Ownership can be for functionality that spans multiple packages (if functionality is seen by user as a single entity).
* '''Credit for Quality through Visibility'''
+
* '''Credit for Quality through Visibility'''.
** Owners of a component should be publicly visible, so they can get the credit for good work
+
** Owners of a component should be publicly visible, so they can get the credit for good work.
* '''Ownership of Copyright and IP issues'''
+
* '''Ownership of Copyright and Intellectual Property (IP) issues'''.
 
** Component owners are responsible for keeping the IP of their component clean.
 
** Component owners are responsible for keeping the IP of their component clean.
 
<p/>
 
<p/>
 +
==Clarification of Ambiguities==
 +
* RSE Team Support (Team View, Profiles, Docs, Persistence wrt team support) -- rse.ui.view.team belongs to dmcknigh
 +
** Teamview (better called Profiles View) is its own beast - DaveD to handle this (team is different than the rest) - to be improved by 2.0
 +
* Drag&Drop, Copy&Paste -- closely tied to the views, using view-dependent Eclipse Framework --> DaveM
 +
* Rse.core.filters --> DaveD (Filter creation, UI, change notification etc); filterreferences / view adapters --> DaveM
 +
* EFS - not yet assigned --> Kushal, Backup DaveM
  
 +
==Code Ownership Table==
 
<table border=1 cellspacing=0 cellpadding=1>
 
<table border=1 cellspacing=0 cellpadding=1>
 
<tr>
 
<tr>
Line 22: Line 29:
 
</tr>
 
</tr>
  
<tr><td rowspan=6>Dave Dykstal</td>
+
<tr>
 +
<td rowspan=8>Dave Dykstal<br/>(IBM)</td>
 
<td>RSE Persistency</td>
 
<td>RSE Persistency</td>
<td>org.eclipse.rse.core/persistence</td>
+
<td>
<td>&nbsp;</td></tr>
+
org.eclipse.rse.core/persistence<br/>
 +
org.eclipse.rse.core/src/org.eclipse.rse.core.filters (persistence aspects)<br/>
 +
org.eclipse.rse.core/src/org.eclipse.rse.core.model (persistence aspects)<br/>
 +
org.eclipse.rse.core/src/org.eclipse.rse.core.persistance<br/>
 +
org.eclipse.rse.core/src/org.eclipse.rse.core.references (persistence aspects)<br/>
 +
org.eclipse.rse.core/src/org.eclipse.rse.internal.references (persistence aspects)<br/>
 +
org.eclipse.rse.ui/filters (persistence aspects)<br/>
 +
org.eclipse.rse.ui/model (persistence aspects) <br/>
 +
org.eclipse.rse.ui/subsystems (persistence aspects) <br/>
 +
org.eclipse.rse.ui/systems (persistence aspects)
 +
</td>
 +
<td>Xuan Chen</td>
 +
</tr>
 
<tr>
 
<tr>
 
<td>RSE password prompt</td>
 
<td>RSE password prompt</td>
 +
<td>
 +
org.eclipse.rse.core/src/org.eclipse.rse.core.subsystems (credential aspects)<br/>
 +
org.eclipse.rse.ui/src/org.eclipse.rse.core.subsystems (credential aspects)<br/>
 +
org.eclipse.rse.ui/UI/org.eclipse.rse.ui.dialogs (credential aspects)
 +
</td>
 
<td>&nbsp;</td>
 
<td>&nbsp;</td>
<td>&nbsp;</td></tr>
+
</tr>
 +
<tr>
 +
<td>RSE logging</td>
 +
<td>
 +
org.eclipse.rse.logging - all packages
 +
</td>
 +
<td>Xuan Chen</td>
 +
</tr>
 +
<tr>
 +
<td>RSE message support</td>
 +
<td>
 +
/org.eclipse.rse.services/clientserver/org.eclipse.rse.services.clientserver.messages<br/>
 +
org.eclipse.rse.ui/UI/org.eclipse.rse.ui.messages
 +
</td>
 +
<td>&nbsp;</td>
 +
</tr>
 
<tr>
 
<tr>
 
<td>RSE filtering</td>
 
<td>RSE filtering</td>
 +
<td>
 +
org.eclipse.rse.core/src/org.eclipse.rse.core.filters<br/>
 +
org.eclipse.rse.ui/filters<br/>
 +
org.eclipse.rse.ui/UI/org.eclipse.rse.ui.propertypages - classes for filters
 +
</td>
 
<td>&nbsp;</td>
 
<td>&nbsp;</td>
<td>&nbsp;</td></tr>
+
</tr>
 
<tr>
 
<tr>
 
<td>Dialog Accessibility / UI Controls</td>
 
<td>Dialog Accessibility / UI Controls</td>
<td>&nbsp;</td>
+
<td>
 +
org.eclipse.rse.ui/UI/org.eclipse.rse.ui.Mnemonics<br/>
 +
org.eclipse.rse.ui/UI/org.eclipse.rse.ui.widgets.InheritButton<br/>
 +
org.eclipse.rse.ui/UI/org.eclipse.rse.ui.widgets.SystemHistoryCombo<br/>
 +
org.eclipse.rse.ui - accessibility aspects
 +
</td>
 
<td>&nbsp;</td></tr>
 
<td>&nbsp;</td></tr>
 
<tr>
 
<tr>
 
<td>RSE Documentation</td>
 
<td>RSE Documentation</td>
 
<td>
 
<td>
<p>org.eclipse.dstore.doc.isv<br/>
+
<p>
 +
org.eclipse.dstore.doc.isv<br/>
 
org.eclipse.rse.doc.user<br/>
 
org.eclipse.rse.doc.user<br/>
 
org.eclipse.rse.doc.isv
 
org.eclipse.rse.doc.isv
</p></td>
+
</p>
<td>Martin O</td></tr>
+
</td>
 +
<td>Martin O</td>
 +
</tr>
 
<tr>
 
<tr>
 
<td>RSE JUnit tests</td>
 
<td>RSE JUnit tests</td>
 
<td>
 
<td>
<p>org.eclipse.rse.tests.framework<br/>
+
<p>
 +
org.eclipse.rse.tests<br/>
 +
org.eclipse.rse.tests.framework<br/>
 
org.eclipse.rse.tests.framework.examples
 
org.eclipse.rse.tests.framework.examples
 
</p></td>
 
</p></td>
<td>Martin O</td></tr>
+
<td>Xuan Chen</td>
 +
</tr>
  
<tr><td rowspan="4">Dave McKnight</td>
+
<tr><td rowspan="4">Dave McKnight<br/>(IBM)</td>
 
<td>RSE dstore</td>
 
<td>RSE dstore</td>
 
<td>
 
<td>
Line 66: Line 122:
 
org.eclipse.rse.subsystems.shells.dstore<br />
 
org.eclipse.rse.subsystems.shells.dstore<br />
 
</p></td>
 
</p></td>
<td>&nbsp;</td>
+
<td>Xuan Chen</td>
 
</tr>
 
</tr>
 
<tr>
 
<tr>
Line 76: Line 132:
 
org.eclipse.rse.services.shells<br />  
 
org.eclipse.rse.services.shells<br />  
 
</p></td>
 
</p></td>
<td>&nbsp;</td>
+
<td>Xuan Chen</td>
 
</tr>
 
</tr>
 
<tr>
 
<tr>
Line 106: Line 162:
 
</tr>
 
</tr>
  
 
+
<tr><td rowspan=4>Kushal Munir, Xuan Chen<br/>(IBM)</td>
<tr><td rowspan=5>Kushal Munir</td>
+
<td>RSE New Connection Wizard Delegate</td>
+
<td>org.eclipse.rse.ui/org.eclipse.rse.ui.wizards</td>
+
<td>&nbsp;</td></tr>
+
<tr>
+
 
<td>RSE Archive Handlers</td>
 
<td>RSE Archive Handlers</td>
 
<td>org.eclipse.rse.services.clientserver.archivehandlers</td>
 
<td>org.eclipse.rse.services.clientserver.archivehandlers</td>
Line 131: Line 182:
 
<td>&nbsp;</td></tr>
 
<td>&nbsp;</td></tr>
  
<tr><td rowspan=9>Martin Oberhuber</td>
+
<tr><td rowspan=1>Uwe Stieber<br/>(Wind River)</td>
 +
<td>RSE New Connection Wizard</td>
 +
<td>org.eclipse.rse.ui/org.eclipse.rse.ui.wizards<br/>
 +
org.eclipse.rse.ui/org.eclipse.rse.ui.wizards.newconnection<br/>
 +
org.eclipse.rse.ui/org.eclipse.rse.ui.wizards.registries<br/>
 +
</td>
 +
<td>Kushal Munir</td></tr>
 +
<tr>
 +
 
 +
<tr><td rowspan=9>Martin Oberhuber<br/>(Wind River)</td>
 
<tr>
 
<tr>
 
<td>RSE ssh</td>
 
<td>RSE ssh</td>
Line 201: Line 261:
  
 
<tr>
 
<tr>
<tr><td rowspan=2>Javier Montalvo</td>
+
<tr><td rowspan=2>Javier Montalvo<br/>(Symbian)</td>
 
<td>Discovery</td>
 
<td>Discovery</td>
 
<td>(org.eclipse.tm.core) discovery/*</td>
 
<td>(org.eclipse.tm.core) discovery/*</td>
Line 217: Line 277:
 
</p></td></tr>
 
</p></td></tr>
  
<tr><td rowspan=1>Ted Williams</td>
+
<tr><td rowspan=1>Michael Scharf<br/>(Wind River)</td>
 
<td>Terminalview</td>
 
<td>Terminalview</td>
 
<td>(org.eclipse.tm.core) terminal/*</td>
 
<td>(org.eclipse.tm.core) terminal/*</td>
<td>&nbsp;</td></tr>
+
<td>Ted Williams</td></tr>
  
<tr><td rowspan=1>Ewa Matejska</td>
+
<tr><td rowspan=1>Ewa Matejska<br/>(ACCESS)</td>
 
<td>CDT Remote Launch</td>
 
<td>CDT Remote Launch</td>
 
<td>
 
<td>
Line 229: Line 289:
 
<td>Martin Oberhuber</td></tr>
 
<td>Martin Oberhuber</td></tr>
  
 +
<tr><td rowspan=1>Radoslav Gerganov<br/>(ProSyst)</td>
 +
<td>WinCE subsystems</td>
 +
<td>
 +
<p>org.eclipse.tm.core/wince/*
 +
</p></td>
 +
<td>Martin Oberhuber</td></tr>
  
 +
 +
<tr><td rowspan=1>Anna Dushistova<br/>(MontaVista)</td>
 +
<td>RSE terminal subsystems</td>
 +
<td>
 +
<p>org.eclipse.rse.terminal.*
 +
</p></td>
 +
<td>Martin Oberhuber</td></tr>
 
</table>
 
</table>

Latest revision as of 10:22, 14 December 2010

What do we want to achieve by explicit code ownership?

  • Integrity of the Design: The owner is responsible for a solid extensible design.
    • People other than the owner can make bug fixes, but please let the owner know.
    • Don't make design-breaking changes without letting the owner know.
    • Typically, there is a single owner for each functionality. Multiple "two-in-a-box" owners are only possible if they work very closely together.
    • There may be a backup person for an owner, in case the owner is out-of-office.
  • Timely Bug Triage: The owner is responsible for reviewing (and probably reassigning) bugs of his area in a timely fashion.
    • Helps dispatching new bugs to component owners first.
    • Ownership can be for functionality that spans multiple packages (if functionality is seen by user as a single entity).
  • Credit for Quality through Visibility.
    • Owners of a component should be publicly visible, so they can get the credit for good work.
  • Ownership of Copyright and Intellectual Property (IP) issues.
    • Component owners are responsible for keeping the IP of their component clean.

<p/>

Clarification of Ambiguities

  • RSE Team Support (Team View, Profiles, Docs, Persistence wrt team support) -- rse.ui.view.team belongs to dmcknigh
    • Teamview (better called Profiles View) is its own beast - DaveD to handle this (team is different than the rest) - to be improved by 2.0
  • Drag&Drop, Copy&Paste -- closely tied to the views, using view-dependent Eclipse Framework --> DaveM
  • Rse.core.filters --> DaveD (Filter creation, UI, change notification etc); filterreferences / view adapters --> DaveM
  • EFS - not yet assigned --> Kushal, Backup DaveM

Code Ownership Table

</tr>


Owner Area Plugin/Package Backup owner
Dave Dykstal
(IBM)
RSE Persistency

org.eclipse.rse.core/persistence
org.eclipse.rse.core/src/org.eclipse.rse.core.filters (persistence aspects)
org.eclipse.rse.core/src/org.eclipse.rse.core.model (persistence aspects)
org.eclipse.rse.core/src/org.eclipse.rse.core.persistance
org.eclipse.rse.core/src/org.eclipse.rse.core.references (persistence aspects)
org.eclipse.rse.core/src/org.eclipse.rse.internal.references (persistence aspects)
org.eclipse.rse.ui/filters (persistence aspects)
org.eclipse.rse.ui/model (persistence aspects)
org.eclipse.rse.ui/subsystems (persistence aspects)
org.eclipse.rse.ui/systems (persistence aspects)

Xuan Chen
RSE password prompt

org.eclipse.rse.core/src/org.eclipse.rse.core.subsystems (credential aspects)
org.eclipse.rse.ui/src/org.eclipse.rse.core.subsystems (credential aspects)
org.eclipse.rse.ui/UI/org.eclipse.rse.ui.dialogs (credential aspects)

 
RSE logging

org.eclipse.rse.logging - all packages

Xuan Chen
RSE message support

/org.eclipse.rse.services/clientserver/org.eclipse.rse.services.clientserver.messages
org.eclipse.rse.ui/UI/org.eclipse.rse.ui.messages

 
RSE filtering

org.eclipse.rse.core/src/org.eclipse.rse.core.filters
org.eclipse.rse.ui/filters
org.eclipse.rse.ui/UI/org.eclipse.rse.ui.propertypages - classes for filters

 
Dialog Accessibility / UI Controls

org.eclipse.rse.ui/UI/org.eclipse.rse.ui.Mnemonics
org.eclipse.rse.ui/UI/org.eclipse.rse.ui.widgets.InheritButton
org.eclipse.rse.ui/UI/org.eclipse.rse.ui.widgets.SystemHistoryCombo
org.eclipse.rse.ui - accessibility aspects

 
RSE Documentation

org.eclipse.dstore.doc.isv
org.eclipse.rse.doc.user
org.eclipse.rse.doc.isv

Martin O
RSE JUnit tests

org.eclipse.rse.tests
org.eclipse.rse.tests.framework
org.eclipse.rse.tests.framework.examples

Xuan Chen
Dave McKnight
(IBM)
RSE dstore

org.eclipse.dstore.core
org.eclipse.dstore.extra
org.eclipse.rse.connectorservice.dstore
org.eclipse.rse.dstore.security
org.eclipse.rse.services.dstore
org.eclipse.rse.subsystems.files.dstore
org.eclipse.rse.subsystems.processes.dstore
org.eclipse.rse.subsystems.shells.dstore

Xuan Chen
RSE services

org.eclipse.rse.services.files
org.eclipse.rse.services.processes
org.eclipse.rse.services.search
org.eclipse.rse.services.shells

Xuan Chen
RSE core model

org.eclipse.rse.core
org.eclipse.rse.core.filters
org.eclipse.rse.core.model
org.eclipse.rse.core.subsystems
org.eclipse.rse.subsystems.files.core
org.eclipse.rse.subsystems.processes.core
org.eclipse.rse.subsystems.shells.core

 
RSE views

org.eclipse.rse.ui.view
org.eclipse.rse.ui.view.monitor
org.eclipse.rse.ui.view.scratchpad
org.eclipse.rse.ui.view.search
org.eclipse.rse.ui.view.team
org.eclipse.rse.ui.widgets
org.eclipse.rse.ui.widgets.services

 
Kushal Munir, Xuan Chen
(IBM)
RSE Archive Handlers org.eclipse.rse.services.clientserver.archivehandlers  
RSE core comm org.eclipse.rse.core.comm  
RSE search

org.eclipse.rse.files.ui.search
org.eclipse.rse.ui.view.search

 
RSE file encodings (multiple)  
Uwe Stieber
(Wind River)
RSE New Connection Wizard org.eclipse.rse.ui/org.eclipse.rse.ui.wizards

org.eclipse.rse.ui/org.eclipse.rse.ui.wizards.newconnection
org.eclipse.rse.ui/org.eclipse.rse.ui.wizards.registries

Kushal Munir
Martin Oberhuber
(Wind River)
RSE ssh

org.eclipse.rse.connectorservice.ssh
org.eclipse.rse.services.ssh
org.eclipse.rse.ssh-feature
org.eclipse.rse.subsystems.files.ssh
org.eclipse.rse.subsystems.shells.ssh

 
RSE local

org.eclipse.rse.connectorservice.local
org.eclipse.rse.local-feature
org.eclipse.rse.services.local
org.eclipse.rse.subsystems.files.local
org.eclipse.rse.subsystems.processes.local
org.eclipse.rse.subsystems.shells.local

Kushal Munir
RSE examples

org.eclipse.rse.examples.daytime
org.eclipse.rse.examples.tutorial

Dave Dykstal
RSE content assist org.eclipse.rse.shells.ui/org.eclipse.rse.shells.ui.view Dave McKnight

RSE nightly builds,
Legal docs (about files, licenses),
Update Site,
build notes

org.eclipse.rse.build
org.eclipse.rse.core-feature
org.eclipse.rse.dstore-feature
org.eclipse.rse.efs-feature
org.eclipse.rse.examples-feature
org.eclipse.rse.remotecdt-feature
org.eclipse.rse.sdk
org.eclipse.rse.sdk-feature
org.eclipse.rse.releng.infocenter
org.eclipse.rse.updatesite

Ted Williams,
Dave Dykstal

Third Party Libs
(Jakarta Commons Net, ORO)

org.eclipse.tm.core/thirdparty/*

Dave Dykstal

RSE manual tests org.eclipse.rse.tests.manual  
Javier Montalvo
(Symbian)
Discovery (org.eclipse.tm.core) discovery/*  
RSE ftp

org.eclipse.rse.ftp-feature
org.eclipse.rse.services.files.ftp
org.eclipse.rse.subsystems.files.ftp

Dave McKnight,
Martin Oberhuber

Michael Scharf
(Wind River)
Terminalview (org.eclipse.tm.core) terminal/* Ted Williams
Ewa Matejska
(ACCESS)
CDT Remote Launch

org.eclipse.rse.remotecdt

Martin Oberhuber
Radoslav Gerganov
(ProSyst)
WinCE subsystems

org.eclipse.tm.core/wince/*

Martin Oberhuber
Anna Dushistova
(MontaVista)
RSE terminal subsystems

org.eclipse.rse.terminal.*

Martin Oberhuber