This is a preliminary etiquette doc for phpGroupWare. Please check it from time to
time for updates:

phpGroupWare is a large project, with possibly over 50 developers at the time
of this writing. In its current location, it is impossible to restrict access
for each developer to a particular module or application. As such, it is
important that some basic rules be followed when developing in CVS:

1.  Many of the developers, and all of the core developers, frequent the IRC
	channel #phpgroupware on irc.freenode.net. Please take the time to
	drop by and introduce yourself.

2.  Please see the coding_standard.txt document in this folder for some basic
	guidelines for code formatting. PHP can be interpreted in many forms,
	and this document outlines our preference to ensure readability and
	compatibility.

3.  If you want to begin some work on an existing module, please consult the
	primary developer for that application first. The authors contact information
	can be found in the head of each file.
	Note: ANY commits [i.e. bugfixes] to applications | files which you don't
	maintain need the agreement of the primary developer BEFORE committing.
	If the primary developer of an application did not grant general rights to
	you for committing to his applications | files, you have to ask him for
	every single commit or submit your changes to the patch manager
	[http://savannah.nongnu.org/patch/?group=fmsystem].

4.  If you are unable to contact the author, please write to the developer list
	[fmsystem-developers@nongnu.org].

5.  If you have just joined the project, or have always kept to your own
	application, etc., then please exercise caution when committing changes
	in the phpgwapi [the API], admin, and preferences modules. These can
	affect the operation of all applications. In particular, work done in
	the API is typically allowed only with prior consent from one of the
	project leads. In other words, work done here without some notification
	and authorization is very risky to your continued involvement with this
	project ;)

6.  If you are working in the API, or on some other application which could
	affect the usability for users and developers, please be sure to fully
	test your changes. It is recommended that you visit a large sampling of
	applications to ensure that they still work as expected after your
	changes. This could include the functioning of one application or the
	API against mysql AND pgsql, at least. It could also affect the function
	of an application that uses LDAP instead of SQL for storage and
	retrieval.

7.  Do not write table update scripts that alter content or structure of the
	API or of another application's tables.

8.  Before importing a new application, or adding many files | directories to
	existing modules, write to the developer list [fmsystem-developers@nongnu.org].

9.  Please do not import a new application that does not have some basic
	functionality in place or at least a description and basic documentation.

10. If you do not have an original icon for your app, please do not import a
	copy from another application icon. The API should insert a default
	until a new one is created.

11. Basically, all template files are located in the app_name/templates/base/
	directory. Please do only commit template files to other app_name/templates/
	_layout_/directories if they _differ_ from the base version. The same is
	valid for images. All application images are located in the app_name/templates/
	base/images directory. Please do only commit images to other than the base
	directory if they _differ_ from the base version.
	Please avoid to have files twice in your application directory.

	Thanks
