DRAFT STATUS Proposed Software Libre Development Best Practices

This is a document which outlines best practices for establishing and maintaining a healthy and thriving Software Libre Project. Mostly it describes a set of criteria for the hosting and communication infrastructure which are most likely to result in good communication, teamwork and mutual respect between developers themselves and also developers and users. However also included are a series of guidelines for personal interactions.

The initial version is based on the GNU Project's Software Development Services that they offer to GNU Projects, but generalised.

https://www.gnu.org/software/devel.en.html

Also the Maintainer's Guide : https://www.gnu.org/prep/maintain/maintain.txt

This contains important details such as a record of contributors and their contributions (typically covered by a signed-off git commit but better is "significant contributors" at the top of the file). Reason: many distros simply will not package software that has legally dubious origin. A verifiable chain of copyright declarations is important.

Also under consideration is the recommendation to take a "Hippocratic Oath for Software Engineers":

http://bryce.vc/post/22780107231/a-hippocratic-oath-for-software-engineers

The primary draft which seems to well follow the original Medical Oath is here:

http://farmerandfarmer.org/medicine/ethics.html

Also under consideration is for a project to have a Charter (such as the Apache Software Foundation Charter)

Also some Coding Standards, e.g.

https://www.gnu.org/prep/standards/standards.txt

Draft to generalize the GNU Project's Software Development Services offered to GNU Projects (https://www.gnu.org/software/devel.en.html):

Table of well-known software libre projects

Please ensure that things are filled in only from "official" channels as indicated from the web site (if there is one). For example samba has an official page https://www.samba.org/samba/irc.html which outlines their IRC channels. If however there is something that is really very well-known but is "unofficial" please do include it but mark it as such. The linux kernel for example has well-known places that it is developed, and the Distros in particular will have extremely well-known but "unofficial" support channels that will be relevant.

Interoperability Projects

Project Name (linking website) Samba Wine
Chatroom IRC - freenode
Mailing Lists yes
Foundation no
Forums no
Charter no
Code of Conduct lacking
Copyright Assignment Required no
Libre License GPLv3+
Libre Server Code no, but ok w/o scripts
VCS - Libre-hosted? git - yes
Bug Tracker - Libre-hosted bugzilla - yes

Audio-Visual Projects

Project Name (linking website) Apertus
Chatroom IRC - freenode - #apertus
Mailing Lists Google "Group" - considering savannah
Forums no
Foundation Austrian-registered "Association"
Charter Bylaws
Code of Conduct none
Copyright Assignment Required no
Libre License GPLv3
Libre Server Code no, but ok w/o scripts
VCS / Libre Hosted? github - not libre
Bug Tracker / Libre Hosted? phabricator - yes

2D and 3D editing Projects (Image, PCB, CAD)

Project Name (linking website) Inkscape GIMP Blender KiCAD
Chatroom
Mailing Lists
Forums
Foundation
Charter
Code of Conduct
Copyright Assignment Required
Libre License
Libre Server Code
VCS - Libre hosted?
Bug Tracker - Libre Hosted?

Web Browser Projects

Project Name (linking website) Firefox Webkit Blink (Chromium) Netsurf
Chatroom
Mailing Lists
Forums
Foundation
Charter
Code of Conduct
Copyright Assignment Required
Libre License
Libre Server Code
VCS - Libre hosted?
Bug Tracker - Libre Hosted?

Distros

Project Name (linking website) Arch Debian Ubuntu Slackware Gentoo FreeBSD
Chatroom
Mailing Lists
Forums
Foundation
Charter
Code of Conduct
Copyright Assignment Required
Libre License
Libre Server Code
VCS - Libre hosted?
Bug Tracker - Libre Hosted?

Desktop Environments

Project Name (linking website) Gnome 3 Gnome 2 KDE TDE EWM fvwm2
Chatroom
Mailing Lists
Forums
Foundation
Charter
Code of Conduct
Copyright Assignment Required
Libre License
Libre Server Code
VCS - Libre hosted?
Bug Tracker - Libre Hosted?

Kernels

Project Name (linking website) Linux FreeBSD
Chatroom
Mailing Lists
Forums
Foundation
Charter
Code of Conduct
Copyright Assignment Required
Libre License
Libre Server Code
VCS - Libre hosted?
Bug Tracker - Libre Hosted?

TBD

| Urbit | | | | | | | | | | Cygwin | | | | | | | | | | GNU gcc | | | | | | | | | | ReactOS | | | | | | | | | | Python | | | | | | | | | | Perl | | | | | | | | | | Exim4 | | | | | | | | | | sendmail | | | | | | | | | | postfix | | | | | | | | |

| systemd | | | | | | | | | | openrc | | | | | | | | | | mysqldb | | | | | | | | | | mariadb | | | | | | | | | | openoffice | | | | | | | | | | libreoffice | | | | | | | | | | X11 | | | | | | | | | | xorg | | | | | | | | | | Kerberos | | | | | | | | | | Heimdal | | | | | | | | | | OpenLDAP | | | | | | | | | | Misc. | | | | | | | | |

Template

Project Name (linking website)
Established Date
Chatroom
Mailing Lists / ML etiquette
Forums
Foundation
Charter
Code of Conduct
Copyright Assignment Required
Libre Licensed source
Libre Licensed web site source
Libre Licensed documentation source
Libre Web Browser compliant (librejs or no js)
VCS - Libre hosted?
Bug Tracker - Libre Hosted?