On Fri, Jul 11, 2025 at 5:09 PM Constantine A. Murenin <muren...@gmail.com>
wrote:

> I once did a thought experiment of why Fossil-SCM is not more popular.
>
> If the tool lets you self-host easily, why would anything like a
> GitHub spring up to solve the issue that's already been solved?
>

Long-time, greying-hair fossil contributor her, like Andy
Bradford up-thread, so my apologies in advance if this is a bit of an
unfocused rant. My intent here is simply to provide, as one of Fossil's
core developers, some historical insight and related musings.

Fossil was initially developed without the knowledge that git was a thing,
and its development was never widely publicized (i initially stumbled
across a mention of it in a comment in SQLite's prior ticket system in
December 2007 and it's been a central part of my toolbox since that day
(and we still don't go out of our way to publicize it)). Its spiritual
predecessor was CVSTrac, which had a similar core feature set of SCM +
wiki + ticket system, and it was the CGI self-hosting and wiki capability
which initially drew me to it. Git was nowhere at all on Richard's radar,
and i don't know for sure that i had heard about git until much later.

Had fossil come out a few years earlier, it might have caught on or might
have struggled for dominance alongside darcs and hg. Git caught on in
record time, probably (i strongly opine) because of the name behind it. Few
people can name "the SQLite guy" off the top of their head[^1], whereas
"Linus Torvalds" is a name known to many outside of the IT world. It took
SVN about 5 years to truly displace CVS, and it took git all of about 6
months to effectively displace SVN - practically overnight. Now git is
stuck there, like it or not, and it's not going to be displaced in any
foreseeable future. (Maybe, just maybe, if Linus were part of a scandal
like Hans Reiser, people would distance themselves from it, but that's a
genuine long shot!)

Had git come out a couple of years earlier, fossil might never have existed
- it's conceivable that using git would have been deemed the lesser evil
compared to starting one's own SCM from scratch. (That said, after 17+ of
working with Richard i would no longer bet good money on that outcome. He
has a strong philosophy of "freedom is being able to take care of
yourself," and that is readily visible in his tendency to eschew
third-party dependencies unless they're unavoidable. He will readily
"reinvent the wheel" if it means having one fewer external dependency, and
that's why Fossil exists.)

Even if git were to fall from first place, its replacement would need to be
able to scale in the same ways git can, and Fossil most definitively
cannot. Fossil's "never forget anything" approach is antithetical to
projects which get contributions from thousands of people a day, much
(most?) of which gets filtered out by the time it approaches the trunk.
Also, Fossil's manifest file format does not scale well to projects with
tens or hundreds of thousands of files, and that's baked into the
architecture - it cannot simply be optimized without breaking all old
clients. Fossil targets single-dev and small-team projects, which
realistically accounts for 99%+ of FOSS and offline personal projects. For
the outlier projects (any OS, LibreOffice, modern web browsers, and the
like), Fossil, in its current incarnation, would be a poor solution. i
opine that git is _also_ a poor solution, in that it's far too easy to
misuse and far too easy to break, but it inarguably scales well and it has
a strong following (largely by developers who will never in their lives
need that type of scalability (_sigh_)).

Nobody is _forced_ to use git, but practicality (and possibly one's
paycheck) calls for at least a basic proficiency with it. Aside from an
occasional clone and subsequent pulls, i've thankfully not had to use git
in 11+ years simply because most of my development happens in/around the
Fossil/SQLite ecosystem, where we don't _have_ to use git (so we don't).
The rest of y'all, however, probably can't get around [g]it :/.


[^1]: drh a.k.a. Richard Hipp

Reply via email to