Overview
SHA1 Hash: | cbc8983685d6ebb1b8abc6743112bfc42abbbd95 |
---|---|
Date: | 2008-10-06 00:31:23 |
User: | drh |
Comment: | Documentation update: Add the "Questions and Criticisms" document in response to recent comments on reddit.com. |
Timelines: | ancestors | descendants | both | trunk |
Other Links: | files | ZIP archive | manifest |
Tags And Properties
- branch=trunk inherited from [a28c83647d]
- sym-trunk inherited from [a28c83647d]
Changes
[hide diffs]Modified www/index.wiki from [0905cbc81c] to [fa56c2b6e2].
@@ -69,10 +69,11 @@ helps insure project integrity.</li> <li>Fossil contains a <a href="wikitheory.wiki">built-in wiki</a>.</li> <li>There is a <a href="http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users"> mailing list</a> available for discussing fossil issues.</li> +<li><a href="qandc.wiki">Questions & Criticisms</a> directed at fossil.</li> </ul> <p>Developer Links: </p> <ul>
Added www/qandc.wiki version [bd20a9934c]
@@ -1,1 +1,129 @@ +<nowiki> +<h1 align="center">Questions And Criticisms</h1> + +<p>This page is a collection of real questions and criticisms that have been +raised against fossil together with responses from the program's author.</p> + +<b>Fossil sounds like a lot of reinvention of the wheel. +Why create your own DVCS when you could have reused mercurial?</b> + +<blockquote> + I wrote it because none of the + other available DVCSes met my needs. If the other DVCSes do + meet your needs, then you probably do not need fossil. But they + don't meet mine, and so fossil is necessary for me. + + Feature provided by fossil that one does not get with other + DVCSes: + + <ol> + <li> Integrated <a href="wikitheory.wiki">wiki</a>. </li> + <li> Integrated <a href="bugtheory.wiki">bug tracking</a> </li> + <li> Immutable artifacts </li> + <li> self-contained, stand-alone executable </li> + <li> simple, well-defined, + <a href="fileformat.wiki">enduring file format</a> </li> + </ol> +</blockquote> + +<b>Why should I use this rather than Trac?</b> + +<blockquote> + <ol> + <li> Fossil is distributed. You can view and/or edit tickets, wiki, and + code while off network, then sync your changes later. With Trac, you + can only view and edit tickets and wiki while you are connected to + the server. </li> + <li> Fossil is lightweight and fully self-contained. It is very easy + to setup on a low-resource machine. Fossil does not require an + administator.</li> + <li> Fossil integrates code versioning into the same repository with + wiki and tickets. There is nothing extra to add or install. + Fossil is an all-in-one turnkey solution. </li> + </ol> +</blockquote> + +<b>Love the concept here. Anyone using this for real work yet?</b> + +<blockquote> +Fossil is <a href="http://www.fossil-scm.org/">self-hosting</a>. +In fact, this page was probably delivered +to your web-browser via a working fossil instance. The same virtual +machine that hosts http://www.fossil-scm.org/ +(a <a href="http://www.linode.com/">Linode 720</a>) +also hosts 24 other fossil repositories for various small projects. +The documentation files for +<a href="http://www.sqlite.org/">SQLite</a> are hosted in a +fossil repository <a href="http://www.sqlite.org/docsrc/">here</a>, +for example. +Other projects are also adopting fossil. But fossil does not yet have +the massive user base of git or mecurial. +</blockquote> + +<b>Fossil looks like the bug tracker that would be in your +Linksys Router's administration screen.</p> + +<blockquote> +<p>I take a pragmatic approach to software: form follows functions. +To me, it is more important to have a highly reliable, fast, efficient, +enduring, and simple DVCS than one that looks pretty.</p> + +<p>On the other hand, if you have patches that improve the apparance +of Fossil without seriously compromising its reliablity, performance, +an maintainability, I will be happy to accept them. Fossil is +self-hosting. Write to the maintainers for a password that will let +you push to the main fossil repository.</p> +</blockquote> + +<b>It would be useful to have a separate application that +keeps the bug-tracking database in a versioned filed. That file can +then be pushed and pulled along with the rest repository.</b> + +<blockquote> +<p>This addressed in the opening paragraphs of +the <a href="bugtheory.wiki">Bug-Tracking In Fossil</a> document. +</blockquote> + +<b>Fossil is already the name of a plan9 versioned +append-only filesystem.</b> + +<blockquote> +I did not know that. Perhaps they choose the name for the same reason that +I did: because a repository with immutable artifacts preserves +and excellent fossil record of a long-running project. +</blockquote> + +<b>The idea of storing a repository in a binary blob like an +SQLite database terrifies me.</b> + +<blockquote> +The use of SQLite to store the database is likely more stable and secure +than any other approach, due to the fact that SQLite is transactional. +Fossil also implements several internal +<a href="selfcheck.wiki">self-checks</a> to insure that no information +is every lost. And, indeed, in over a year of operation, there have been +no reports of data loss due to a Fossil malfunction. +</blockquote> + + +<b>I am dubious of the benefits of including wikis and bug trackers +directly in the VCS - either they are under-featured compared to full +software like Trac, or the VCS is massively bloated compared to +Subversion or Bazaar.</b> + +<blockquote> +<p>I have no doubt that Trac has many features that fossil lacks. But that +is not the point. Fossil has several key features that Trac lacks and that +the primary fossil author cannot live without: most notably the fact that +fossil supports disconnected operation.</p> + +<p>As for bloat: Fossil is a single fully self-contained executable. +You do not need any external packages in order to run fossil. You do not +need diff, patch, merge, cvs, svn, rcs, python, perl, tcl, sqlite, or anything +else in order to run fossil. Fossil runs just fine in a chroot jail all +by itself. And the self-contained executable is much less than 1MB in size. +Fossil is the very opposite of bloat.</p> +</blockquote> + +</nowiki>