Fossil SCM

Clarified the scale of the Linux vs SQLite projects in the same-named section of the Git vs Fossil doc, tightened up the discussion a bit, and added hard SLOC stats to ground it all. Most controversially, added the rattle wrench analogy.

wyoung 2019-07-12 13:24 trunk
Commit 69e7827d2636c1a01a56e5ab5d8b6b3a3f120b6683d9bbdddbfd1b0f2d314be5
1 file changed +20 -9
--- www/fossil-v-git.wiki
+++ www/fossil-v-git.wiki
@@ -152,25 +152,36 @@
152152
<h3>2.4 Linux vs. SQLite</h3>
153153
154154
Git was specifically designed to support the development of the Linux kernel.
155155
Fossil was specifically designed to support the development of SQLite.
156156
157
-Both SQLite and the Linux kernel are important pieces of software.
158
-SQLite is found on far more systems than Linux. Almost every Linux
159
-system uses SQLite, but there are many non-Linux systems such as
160
-iPhones, PlayStations, and Windows PCs that use SQLite. On the other
161
-hand, for those systems that do use Linux, Linux is a far more important
162
-component.
157
+SQLite is much more widely deployed than the Linux kernel, but for
158
+Linux-based systems, the kernel is the more fundamental component.
159
+Although both projects must rank high on any objective list of "most
160
+important FOSS projects," the two projects are almost entirely unlike
161
+one another, and this shows up in the design choices of the tools
162
+created to support them.
163163
164164
The Linux kernel uses a bazaar-style development model. There are thousands and
165165
thousands of contributors, most of whom do not know each others names.
166
-Git is designed for this scenario.
166
+These thousands are responsible for producing roughly 89⨉ more code than
167
+is in SQLite. (10.7
168
+[https://en.wikipedia.org/wiki/Source_lines_of_code|MLOC] vs 0.12 MLOC
169
+according to [https://dwheeler.com/sloccount/|SLOCCount].) Git is
170
+designed for this scenario.
167171
168172
SQLite uses cathedral-style development. 95% of the code in SQLite
169
-comes from just three programmers, 64% from just the lead developer.
170
-And all SQLite developers know each other well and interact daily.
173
+comes from just four programmers, and 64% of it is from the lead developer alone.
174
+The SQLite developers know each other well and interact daily.
171175
Fossil is designed for this development model.
176
+
177
+We think you should ask yourself whether you have
178
+[https://en.wikipedia.org/wiki/Linus_Torvalds|Linus Torvalds] scale
179
+software configuration management problems or
180
+[https://en.wikipedia.org/wiki/D._Richard_Hipp|D. Richard Hipp] scale
181
+problems when choosing your DVCS. You don't use a pneumatic ratchet
182
+wrench to hang a picture on the living room wall.
172183
173184
<h3>2.5 Individual Branches vs. The Entire Change History</h3>
174185
175186
Both Fossil and Git store history as a directed acyclic graph (DAG)
176187
of changes, but Git tends to focus more on individual branches of
177188
--- www/fossil-v-git.wiki
+++ www/fossil-v-git.wiki
@@ -152,25 +152,36 @@
152 <h3>2.4 Linux vs. SQLite</h3>
153
154 Git was specifically designed to support the development of the Linux kernel.
155 Fossil was specifically designed to support the development of SQLite.
156
157 Both SQLite and the Linux kernel are important pieces of software.
158 SQLite is found on far more systems than Linux. Almost every Linux
159 system uses SQLite, but there are many non-Linux systems such as
160 iPhones, PlayStations, and Windows PCs that use SQLite. On the other
161 hand, for those systems that do use Linux, Linux is a far more important
162 component.
163
164 The Linux kernel uses a bazaar-style development model. There are thousands and
165 thousands of contributors, most of whom do not know each others names.
166 Git is designed for this scenario.
 
 
 
 
167
168 SQLite uses cathedral-style development. 95% of the code in SQLite
169 comes from just three programmers, 64% from just the lead developer.
170 And all SQLite developers know each other well and interact daily.
171 Fossil is designed for this development model.
 
 
 
 
 
 
 
172
173 <h3>2.5 Individual Branches vs. The Entire Change History</h3>
174
175 Both Fossil and Git store history as a directed acyclic graph (DAG)
176 of changes, but Git tends to focus more on individual branches of
177
--- www/fossil-v-git.wiki
+++ www/fossil-v-git.wiki
@@ -152,25 +152,36 @@
152 <h3>2.4 Linux vs. SQLite</h3>
153
154 Git was specifically designed to support the development of the Linux kernel.
155 Fossil was specifically designed to support the development of SQLite.
156
157 SQLite is much more widely deployed than the Linux kernel, but for
158 Linux-based systems, the kernel is the more fundamental component.
159 Although both projects must rank high on any objective list of "most
160 important FOSS projects," the two projects are almost entirely unlike
161 one another, and this shows up in the design choices of the tools
162 created to support them.
163
164 The Linux kernel uses a bazaar-style development model. There are thousands and
165 thousands of contributors, most of whom do not know each others names.
166 These thousands are responsible for producing roughly 89⨉ more code than
167 is in SQLite. (10.7
168 [https://en.wikipedia.org/wiki/Source_lines_of_code|MLOC] vs 0.12 MLOC
169 according to [https://dwheeler.com/sloccount/|SLOCCount].) Git is
170 designed for this scenario.
171
172 SQLite uses cathedral-style development. 95% of the code in SQLite
173 comes from just four programmers, and 64% of it is from the lead developer alone.
174 The SQLite developers know each other well and interact daily.
175 Fossil is designed for this development model.
176
177 We think you should ask yourself whether you have
178 [https://en.wikipedia.org/wiki/Linus_Torvalds|Linus Torvalds] scale
179 software configuration management problems or
180 [https://en.wikipedia.org/wiki/D._Richard_Hipp|D. Richard Hipp] scale
181 problems when choosing your DVCS. You don't use a pneumatic ratchet
182 wrench to hang a picture on the living room wall.
183
184 <h3>2.5 Individual Branches vs. The Entire Change History</h3>
185
186 Both Fossil and Git store history as a directed acyclic graph (DAG)
187 of changes, but Git tends to focus more on individual branches of
188

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button