From 4f49b16079b27d7ce633619e4cddfdf2bffbc952 Mon Sep 17 00:00:00 2001
From: cashmere
Date: Fri, 4 Sep 2026 09:05:24 +0200
Subject: initial commit
---
www/contribute.wiki | 128 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 128 insertions(+)
create mode 100644 www/contribute.wiki
(limited to 'www/contribute.wiki')
diff --git a/www/contribute.wiki b/www/contribute.wiki
new file mode 100644
index 0000000..9fe477b
--- /dev/null
+++ b/www/contribute.wiki
@@ -0,0 +1,128 @@
+Contributing To Fossil
+
+Fossil users are encouraged to contribute enhancements back to the
+project. This note outlines some of the procedures for making
+useful contributions.
+
+1.0 Contributor Agreement
+
+In order to accept non-trivial contributions, we must have a
+[./copyright-release.pdf | Contributor Agreement (PDF)]
+(or [./copyright-release.html | as HTML]) on file for you. We require
+this in order to maintain clear title to the Fossil code and prevent
+the introduction of code with incompatible licenses or other entanglements
+that might cause legal problems for Fossil users. Many
+lawyer-rich organizations require this as a precondition to using
+Fossil.
+
+If you do not wish to submit a Contributor Agreement, we would still
+welcome your suggestions and example code, but we will not use your code
+directly: we will be forced to re-implement your changes from scratch, which
+might take longer.
+
+We've made exceptions for "trivial" changes in the past, but the
+definition of that term is up to the project leader.
+
+2.0 Submitting Patches
+
+Suggested changes or bug fixes can be submitted by creating a patch
+against the current source tree:
+
+fossil diff -i > my-change.patch
+
+Alternatively, you can create a binary patch:
+
+fossil patch create my-change.db
+
+Post patches to
+[https://fossil-scm.org/forum | the forum] or email them to
+drh@sqlite.org. Be sure to
+describe in detail what the patch does and which version of Fossil
+it is written against. It's best to make patches against tip-of-trunk
+rather than against past releases.
+
+If your change is more complicated than a patch can properly encode, you
+may submit [/help/bundle | a Fossil bundle] instead. Unlike patches,
+bundles can contain multiple commits, check-in comments, file renames,
+file deletions, branching decisions, and more which patch(1)
+files cannot. It's best to make a bundle of a new branch so the change
+can be integrated, tested, enhanced, and merged down to trunk in a
+controlled fashion.
+
+A contributor agreement is not strictly necessary to submit a patch or bundle,
+but without a contributor agreement on file, your contribution will be
+used for reference only: it will not be applied to the code. This
+may delay acceptance of your contribution.
+
+Your contribution might not be accepted even if you do have
+a contributor agreement on file. Please do not take this personally
+or as an affront to your coding ability. Sometimes contributions are rejected
+because they seem to be taking the project in a direction that the
+architect does not want to go. In other cases, there might be an alternative
+implementation of the same feature being prepared separately.
+
+3.0 Check-in Privileges
+
+Check-in privileges are granted on a case-by-case basis. Your chances
+of getting check-in privileges are much improved if you have a history
+of submitting quality patches and/or making thoughtful posts on
+[https://fossil-scm.org/forum | the forum].
+A signed contributor agreement is, of course, a prerequisite for check-in
+privileges.
+
+Contributors are asked to make all non-trivial changes on a branch. The
+Fossil Architect (Richard Hipp) will merge changes onto the trunk.
+
+Contributors are required to follow the
+[./checkin.wiki | pre-checkin checklist] prior to every check-in to
+the Fossil self-hosting repository. This checklist is short and succinct
+and should only require a few seconds to follow. Contributors
+should print out a copy of the pre-checkin checklist and keep
+it on a note card beside their workstations for quick reference.
+
+Contributors should review the
+[./style.wiki | Coding Style Guidelines] and mimic the coding style
+used through the rest of the Fossil source code. Your code should
+blend in. A third-party reader should be unable to distinguish your
+code from any other code in the source corpus.
+
+4.0 Testing
+
+Fossil's [../test/release-checklist.wiki | release checklist] is of
+primary benefit to the project leader, followed by him at release time,
+but contributors are encouraged to run through its steps when making
+major changes, since if the change doesn't pass this checklist, it won't
+be included in the next release.
+
+5.0 UI and Documentation Language
+
+The Fossil project uses American English in its web interface and
+documentation. Until there is some provision for translating the UI and
+docs into other languages and dialects, we ask that you do not commit
+changes that conflict with this.
+
+We aren't opposed to such a project, but it would be a huge amount of
+work, which no one's stepped up to do yet. Not only is each individual
+translation a large ongoing job its own right, there is no
+infrastructure for it yet, so the first few translations will be harder
+than any future translation built on that infrastructure.
+
+More immediately, we're likely to reject, revert, or rework commits that
+use other English dialects. One example that comes up occasionally is
+"artefact" versus "artifact." The UI and docs use the American English
+spelling pervasively, so you have poor options if you insist on
+"artefact:"
+
+ * attempt to slip one-off changes by your peers
+ * attempt to change all American English usages to Commonwealth English
+ * make the Fossil UI and docs translatable, then contribute a
+ Commonwealth English translation
+
+Only the latter is likely to succeed.
+
+6.0 See Also
+
+ * [./build.wiki | How To Compile And Install Fossil]
+ * [./makefile.wiki | The Fossil Build Process]
+ * [./tech_overview.wiki | A Technical Overview of Fossil]
+ * [./adding_code.wiki | Adding Features To Fossil]
--
cgit v1.3.1