|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Searching XEmacs
Quick Links
About XEmacs
|
XEmacs JobsCurrent version: 22 February 2008
|
Position | Primary | Secondary |
---|---|---|
Lisp Reference Manual | ||
XEmacs User Manual | ||
Internals Manual | ||
Coding Standards | ||
PROBLEMS | ||
FAQ | ||
NEWS | ||
README | ||
sample.init.el and TUTORIAL |
Position | Primary | Secondary |
---|---|---|
General design issues | ||
Mule | ||
GUI support | ||
Redisplay | ||
Windows support | ||
GTK support | ||
Portable Dumper | ||
New Garbage Collector (KKCC) | ||
The package system | ||
Loadable modules | ||
Customize | ||
Configure support | ||
Cygwin support | ||
Bignum support | ||
Database support | ||
LDAP support | ||
PostgreSQL support |
The technical lead will generally be the active developer most broadly knowledgeable about the architecture of XEmacs, and the core C and Lisp code that makes up XEmacs. His duties include maintaining an overall vision for future development work on XEmacs, and either implementing this vision himself (this is frequently the case, as the technical lead may be the only developer with enough broad-based experience with XEmacs to make such changes) or finding others to do so. A traditional technical lead would have a great deal of personal control over shaping the actual form of the product. Since XEmacs is a looser, more democratic effort, working mostly by consensus, much of the technical lead's role is advisatory -- he provides advice to other developers concerning how to implement a feature, whether a prospective feature is reasonable or not, what other changes a particular modification would entail, etc. He is also expected to review a significant fraction of the patches coming in and supply input, particularly for those patches which no one else is competent to understand. In general, he serves as the "fallback guy", expected (in theory) to be able to handle any technical issue or question related to the core of XEmacs that eludes the other developers.
If and when XEmacs grows beyond a handful of primary developers, it may be useful to split up the jobs of technical lead and architect. The technical lead would then do more actual development and patch review, while the architect would be in charge of the overall future vision of XEmacs and act in a primarily advisory role.
The beta release maintainer is the primary maintainer for XEmacs, and serves as the de-facto spokesman. His responsibilities are (a) to put out new beta releases on a regular basis, i.e. at least every one to two weeks (depending on activity), (b) to go out of his way to be responsive to e-mail sent to him and communicative about and interested in important issues in all major aspects of XEmacs, and (c) to decide when it's time to do an external release. At this point, he is responsible for initiating a code freeze and assuming quasi-dictatorial power over the development process, doing whatever it takes to ensure that a relatively stable, bug-free release gets put out in a timely fashion. If some important job is not getting done during the critical pre-release period, it is ultimately the duty of the beta release maintainer (in conjunction with the meta-maintainer) to ensure that this gets done, for example, by finding somebody else who is willing to take over this position, or (last resort) doing the job himself. During periods when an external release is not happening, the beta release maintainer goes back to being a relatively low-key position, responsible primarily just for putting out regular beta releases. It is imperative, however, that the beta release maintainer continue to be as responsive as possible to e-mail sent to him, because he is the de-facto spokesman and is looked up to as the one providing overall guidance for the project. If he fails to respond to email, he will create the impression that the entire project is in disarray.
The stable release maintainer is responsible for putting out `stable' releases of the code. These are generally small updates to previous external releases. Once a major external release happens, the development tree is forked, with one branch becoming the stable branch, the other the development branch. It is from this stable branch that stable updates happen and it is the stable release maintainer's responsibility to oversee this branch, decide which patches belong in this branch, and do whatever else is necessary to put out a stable update.
The meta-maintainer is responsible for defining and managing the separation of XEmacs duties into spheres of responsibility or "jobs". He maintains the list of jobs, which lists the jobs, their descriptions, and the current primary and secondary jobholder(s) for each of these jobs. (Generally, the primary actually does the work of the job, but if the primary becomes derelict in his duties, for example by simply disappearing and becoming unresponsive to email contact, the secondary steps in as the "acting jobholder", until the primary returns (along with assurances that he will not just disappear again) or another primary is found.) The meta-maintainer is also responsible, along with the beta release maintainer, for filling empty positions and for noticing when a job is not getting done. During pre-release cycles, the beta release maintainer may take the most active role in filling positions; during other periods, the meta-maintainer primarily assumes these duties.
The webmaster is responsible for maintaining the www.xemacs.org web site.
The core patch tender's responsibility is to make sure that no patch to the core of XEmacs falls through the cracks. Every core patch posted to XEmacs either needs to be approved and then applied, or vetoed with a suggestion for how to modify the patch so that it is acceptable. The core patch tender is responsible for making sure that this happens. If a patch is posted and is neither approved nor vetoed within a two-week period, the core patch tender needs to step up and make inquiries to determine what should be done with the patch. If a patch is posted and then vetoed with suggestions for improvements, but no improved patch is submitted within a week or so, the core patch tender needs to make inquiries to the patch submitter to see if he can finish up getting the patch up to snuff, and if not, the reviewers need to be contacted again.
The package patch tender's job is analogous to the core patch tender's, except that it applies to the Lisp packages that are, in some sense, external to XEmacs itself. His job may be complicated by the fact that packages may have active maintainers who may not be directly involved in XEmacs development. In that case, he may need to track down the active maintainer and try to get him to accept the patch. The package patch tender also needs to create and maintain a list of all the packages that are part of the full XEmacs development tree. For each package, this list should specify the package's home page (if any), the maintainer and his contact address, any mailing lists devoted to the package, the number of the latest release and where to get it, the corresponding XEmacs package release number, and (if the information is available) a subjective judgment as to how well the package is currently being maintained, from 0 (package is obsolete, no one has maintained it in years) to 5 (package contains an active, well-organized development effort with regular releases, mailing lists, a web site, etc.).
The bug tracker is responsible for keeping track of all the bugs that have been posted anywhere, either to xemacs-beta, comp.emacs.xemacs, or similar sources. Properly speaking, they need to be kept in a database, assigned priorities, severities and owners, and managed in the standard way that bugs are managed. Unfortunately, we don't currently have such an infrastructure, so it's the current responsibility of the bug tracker to keep track of the bugs in any way possible (e.g. just a simple list), with the number one cardinal rule being: NO BUG MAY FALL THROUGH THE CRACKS. Every bug that gets reported through any standard means needs to end up on the list, along with as much information as possible from the bug report: The name of the person reporting the bug, the version number of XEmacs being run, the circumstances and behavior of the bug, etc. etc. etc. The secondary responsibility of the bug tracker is to investigate a workable bug-tracking system for XEmacs. I know that the Samba project has such a system in place, so we should just be able to use theirs, for example.
The CVS manager is responsible for all CVS issues related to XEmacs.This includes, for example, the CVS trees for the core and thepackages, and the CVS web interface. This includes the important but thankless task of doing backups.
The mailing list manager is responsible for maintaining the XEmacs mailing lists.
The binary-kit coordinator is responsible for organizing the preparation, release, and distribution of pre-compiled XEmacs software based on the stable branch.
The I18N Liaison is responsible for synchronizing maintenance and development of language environments with Mule development. "Language environment" includes features like input methods, standardization issues, language defaults and user setup, etc.
Language skills, for both feature specification and coordinating communication, are a plus. (With the current user and developer, Japanese is most useful, but developers with skill in R2L BIDI languages, eg Hebrew, are eagerly sought. Any language character sets other than ISO-8859-1 is very helpful.)
Site content repository: Primary mirrors: |
This page is part of the XEmacs website
<http://www.xemacs.org>
Contents copyright © 2000 -- 2002; all rights reserved. Missing links, inquiries about implementation, kudos to: webmaster@xemacs.org Discussion of XEmacs features, installation, problems: XEmacs mailing lists This page last modified Tue Dec 22 11:17:28 2009 UTC. |
Conform with <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Automatically validated by PSGML