Draft Technology Charter - Helix DNA

Contents

Draft Technology Charter - Helix DNA

Charter Status: Draft Technology Charter Expert Group Status: Iteration Date: 29-Oct-2002 This version: http://hcp.helixcommunity.org/2002/public/drafts/helixdna/charter2002-10-29 Latest version: http://hcp.helixcommunity.org/2002/public/drafts/helixdna/charter

This document defines the technology and the operational guidelines governing the Helix DNA group of technologies. This document is intended to become a Helix Technology Charter. (Ed note: This will likely be referred to as "Helix Technology Charter 1" or "HTC1")

Table of Contents

Governance of the Expert Group

Operational Guidelines for maintenance of Helix DNA

Standardizing Development ProcessesSchedule and MilestonesLicensing Policy

1 Scope of the Expert Group

The scope of this Expert Group is to define and implement the core Helix DNA Technology. This consists of:

  • The Helix DNA Producer - the core technology specifying and implementing the creation of compressed digital media
  • The Helix DNA server - the core technology specifying and implementing the delivery of compressed digital media
  • The Helix DNA client - the core technology specifying and iimplementing the playback of compressed digital media

1.1 Technology Specification

The technology contained in the following list of projects is covered under this technology charter:

  • common (Common files used by all Helix DNA projects)
  • client (Client core)
  • server (Server core)
  • producersdk (Producer core)
  • datatype (Datatypes: e.g. MP3, H.263, .ram)
  • filesystem (Filesystem plugins, e.g. localfilesys)
  • clientapp (Client applications, e.g. Helix DNA Client GUI)
  • producerapp (Producer applications)
  • serverapp (Server applications)
  • protocol (Protocol parser code)
  • video (video infrastructure, e.g. surface handling, alphablending, etc)
  • audio (audio infrastructure, e.g. mixer, resampler)
  • ribosome (Build system)

Further details on this can be found in the Helix DNA Specifications, located here:

  • TBD

2 Governance of the Expert Group

2.1 Roles within Helix DNA set of projects

2.1.1 Committers

Committers are developers who have been given write access to a project in the Helix community repository, allowing them to modify source code.

Giving a developer commit access for a project is a joint decision between the Project the Helix Coordinator, and is contingent upon signing a Helix Community Contributor Agreement. To get Helix repository commit access, one needs to have done demonstrated good work, then find somebody with existing repository commit access who will vouch for said developer. Additionally, three super-reviewers must endorse the person as well. Note that after an initial bootstrapping period, this process will be used for RealNetworks employees -- nobody gets repository commit access because of RealNetworks affiliation.

Committers have the following rights:

  • Have CVS write permission within project (may be full or partial, e.g., XMLDeveloper)
  • Implement code changes to Helix DNA for their own work and apply approved contributed patches

2.1.2 Project Owners

Project owners are the leaders for specific projects in the Helix DNA. They are selected by Expert Group to lead the projects that they are on.

  • Triages posted bugs, patches, enhancements; forwards feature requests to Expert Group
  • Assigns approved patches to a Committer for integration
  • Responsible for project-level release timelines and allocating required tasks to Developers
  • Responsible (possibly delegated) for maintaining project Web content, news pages, and announce@ list postings, to keep community informed on the progress of the project

2.1.3 Expert Group

  • Final recommendations on major changes to Helix DNA
  • Recommends release schedule for new major releases of Helix DNA
  • Directly receives and dispatches all security bug reports to the appropriate project
  • Committee made up of 7 members, initially appointed by RealNetworks

2.2 Operational Guidelines for maintenance of Helix DNA

2.2.1 Projects

Projects are where the Helix DNA software actually gets developed. Projects roughly line up with subsystems and represent individual areas of work, with several projects combining to form a product (e.g., Helix DNA client). Each project also represents a workspace inside of http://www.HelixCommunity.org.

2.2.2 Collaboration

  • Projects will use the CVS to house the source code for the software they are developing. Development will proceed "live" in CVS.
  • Projects will track their issues in the project's issue tracking system, so all participants can see and be assigned issues.
  • Project owners will update the project News tool at least once a week with a status report of what happened in the project the preceding week. The community manager will create a summary progress report for the entire Helix site based on these project-level news postings.
  • Projects can customize which mailing lists they wish to have but should by and large follow the standard conventions (e.g., dev@ mailing list for developer discussions).

2.2.3 Decision-Making Process

While Helix patches can be reviewed in the project issue tracker by the overall community, the act of reviewing is done by the Project Owner or their designee. Also, in most cases an additional level of review known as 'super-review' is required, where such a super-review is handled by the Technical Operating Committee (or their designees). Once a patch has passed regular and super-review, it is up to the patch creator to find somebody with CVS write access to commit the change -- that does not happen automatically.

Project Owners have final say over the technical soundness of their project. This does not mean Project Owners may operate autocratically, as this will defeat the collaborative development process. The community managers and Expert Group will be watching for appropriate collaboration, and may take steps to relieve the Project Owner from their post.

2.3 Standardizing Development Processes

This Helix Community will strive to standardize development processes, and create a generalized development process that will be used in future Technology Charters. This Expert Group will revisit this charter when such a process is developed.

3 Schedule and Milestones

This is the list of Milestones for the Helix DNA Client:

October, 2002 First Public Draft Specification, first Reference Implementation, first Technical Compatibility Kit January, 2003 Release Candidate Specification March, 2003 Certified Specification

This is the list of Milestones for the Helix DNA Producer:

December, 2002 First Public Draft Specification, first Reference Implementation, first Technical Compatibility Kit March, 2003 Release Candidate Specification May, 2003 Certified Specification

This is the list of Milestones for the Helix DNA Server:

December, 2002 First Public Draft Specification, first Reference Implementation, first Technical Compatibility Kit March, 2003 Release Candidate Specification May, 2003 Certified Specification

4 Licensing Policy

The following licensing policy applies for Helix DNA technology:

  • Helix DNA Producer - Dually-licensed under RealNetworks Public Source License (RPSL) and the RealNetworks Community Source License (RCSL). RealNetworks shall be the sole licensor of Helix DNA Producer technology. May contain 3rd party licensed code solely at the discretion of RealNetworks.
  • Helix DNA Server-Licensed under RealNetworks Community Source License (RCSL). RealNetworks shall be the sole licensor of Helix DNA Server technology. May contain 3rd party licensed code solely at the discretion of RealNetworks.
  • Helix DNA Client - Dually-licensed under RealNetworks Public Source License (RPSL) and the RealNetworks Community Source License (RCSL). RealNetworks shall be the sole licensor of Helix DNA Client technology. May contain 3rd party licensed code solely at the discretion of RealNetworks.