Browse Source

- note about copyright statements: contributors should

not only update AUTHORS, but also add their names to the                        copyright statements in individual source files
- paul and joq are now both mentioned as "official"                               reviewers for patches sent to jackit-devel
- added note concerning use of non-{POSIX,ANSI-C}
  interfaces: ""if use of other interfaces is
  absolutely needed, it should be made optional in the
  build process (via a configure switch for example).""
- formatted with restructured text


git-svn-id: svn+ssh://jackaudio.org/trunk/jack@925 0c269be4-1314-0410-8aa9-9f06e86f4224
tags/0.109.0
kaiv 17 years ago
parent
commit
d8a9b6db6d
1 changed files with 65 additions and 43 deletions
  1. +65
    -43
      README.developers

+ 65
- 43
README.developers View File

@@ -2,19 +2,19 @@
*** README.developers - JACK development practices ***
=======================================================================

Version: $Id$
:Version: $Id$
:Formatting: restructured text, http://docutils.sourceforge.net/rst.html

-----------------------------------------------------------------------
What is this?
What is this?
-----------------------------------------------------------------------

This file is a collection of practices and rules for JACK
development. If you have questions, or would like to make
changes, raise the issue on jackit-devel (see
http://jackit.sourceforge.net/lists ).
http://lists.sourceforge.net/lists/listinfo/jackit-devel ).

---------------------------------------------------------------------
Contents
Contents
-----------------------------------------------------------------------

- What is this?
@@ -24,41 +24,52 @@ http://jackit.sourceforge.net/lists ).
- CVS Access
- Decision Process

-----------------------------------------------------------------------
Important files for developers
Important files for developers
-----------------------------------------------------------------------

AUTHORS
List of contributors. If you have contributed code, mail Paul
Davis to get your name added to the list, or if you have
CVS-access, help yourself. :)
CVS-access, help yourself. :) Also remember to update the
per source file copyright statements when committing changes.

README.developers
This file.

TODO
A one file mini-bugzilla for JACK developers. Contains a list
of open and closed items. You can update this directly or
contact Kai Vehmanen if you don't have CVS access.
A one file mini-bugzilla for JACK developers. Note: this file
is no longer actively updated - please use the Mantis
bugtracker instead, see http://jackit.sourceforge.net/dev/ .

libjack/ChangeLog
A list of _all_ changes to the public interface!

-----------------------------------------------------------------------
Version numbers
Version numbers
-----------------------------------------------------------------------

1. JACK's package version
JACK's package version
~~~~~~~~~~~~~~~~~~~~~~

JACK's package version is set in configure.in, and consists of
major, minor and revision numbers. This version should be
updated whenever a non-trivial set of changes is committed
to CVS:
major version = ask on jackit-devel :)
minor version = incremented when any of the public or internal
interfaces are changed
revision = incremented when implementation-only
changes are made
major version
ask on jackit-devel :)

minor version
incremented when any of the public or internal
interfaces are changed

2. Client API versioning
revision
incremented when implementation-only
changes are made

Client API versioning
~~~~~~~~~~~~~~~~~~~~~

JACK clients are affected by two interfaces, the JACK Client API (libjack)
and the JACK Client Protocol API (interface between jackd and
@@ -67,10 +78,15 @@ versioniong (set in configure.in). This version should be updated
whenever a set of changes affecting the interface is committed
to CVS:

current = incremented whenever the public libjack API is changed
revision = incremented when the libjack implementation is changed
age = current libjack is both source and binary compatible with
libjack interfaces current,current-1,...,current-age
current
incremented whenever the public libjack API is changed
revision
incremented when the libjack implementation is changed
age
current libjack is both source and binary compatible with
libjack interfaces current,current-1,...,current-age

Note! It was decided in January 2003 that current interface number
will remain as zero until the first stable JACK version
@@ -82,50 +98,56 @@ Note! All changes that affect the libjack API must be documented
in jack/libjack/ChangeLog using the standard ChangeLog style
(see GNU developer docs).


Sending patches
---------------------------------------------------------------------
Sending patches
-----------------------------------------------------------------------

1. People without CVS-access
People without CVS-access
~~~~~~~~~~~~~~~~~~~~~~~~~

Send your patches to jackit-devel. Normally patches are accepted
by Paul Davis. He either applies the patch right away, or
sends an "ok to me" message, after which other developers with
CVS-access can commit the patch.
by Paul Davis and/or Jack O'Quin. Either the patch is applied right
away, or you get an "ok to me" message, after which other developers
with CVS-access can commit the patch.

2. People with CVS-access
People with CVS-access
~~~~~~~~~~~~~~~~~~~~~~

Trivial changes can be committed without review. For non-trivial
changes, you should first send a proposal to jackit-devel and
wait for comments. There are no strict approval rules so use of
common sense is recommended. ;)

3. Tips for making patches
Tips for making patches
~~~~~~~~~~~~~~~~~~~~~~~

- test your patch on a clean CVS-checkout
- remember to run cvs update before making commits

-----------------------------------------------------------------------
CVS Access
CVS Access
-----------------------------------------------------------------------

Contact Paul Davis.

---------------------------------------------------------------------
Uses of external libraries and other packages
Uses of external libraries and other packages
-----------------------------------------------------------------------

The main JACK components, jackd and libjack, should only use
standard POSIX and ANSI-C services. Other components like
example clients and drivers, may rely on other packages, but
these dependencies should not affect the main build process.
standard POSIX and ANSI-C services. If use of other interfaces is
absolutely needed, it should be made optional in the build process (via
a configure switch for example).

---------------------------------------------------------------------
Decision Process
Other components like example clients and drivers, may rely on other
packages, but these dependencies should not affect the main build
process.


Decision Process
-----------------------------------------------------------------------

All non-trivial changes should be discussed on the jackit-devel
mailing list. It has been agreed that Paul Davis will make
the final decisions based on these discussions.

=======================================================================

Loading…
Cancel
Save