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.
Commit
69e7827d2636c1a01a56e5ab5d8b6b3a3f120b6683d9bbdddbfd1b0f2d314be5
Parent
9b51c42a8b208cd…
1 file changed
+20
-9
+20
-9
| --- www/fossil-v-git.wiki | ||
| +++ www/fossil-v-git.wiki | ||
| @@ -152,25 +152,36 @@ | ||
| 152 | 152 | <h3>2.4 Linux vs. SQLite</h3> |
| 153 | 153 | |
| 154 | 154 | Git was specifically designed to support the development of the Linux kernel. |
| 155 | 155 | Fossil was specifically designed to support the development of SQLite. |
| 156 | 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. | |
| 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 | 163 | |
| 164 | 164 | The Linux kernel uses a bazaar-style development model. There are thousands and |
| 165 | 165 | 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. | |
| 167 | 171 | |
| 168 | 172 | 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. | |
| 171 | 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. | |
| 172 | 183 | |
| 173 | 184 | <h3>2.5 Individual Branches vs. The Entire Change History</h3> |
| 174 | 185 | |
| 175 | 186 | Both Fossil and Git store history as a directed acyclic graph (DAG) |
| 176 | 187 | of changes, but Git tends to focus more on individual branches of |
| 177 | 188 |
| --- 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 |