40 comments

[ 3.3 ms ] story [ 87.3 ms ] thread
Git is already open source. What does this do differently than Git?
fossil doesn't only version control the source code. other project-meta like wiki and issues are also replicated when you clone a fossil repo.
Why would I want that?
git is decentralised. github issues & merge-requests are not.

Say you have a project hosted on github, pretend github has been purchased by a scary-company, you might imagine you could move your repository elsewhere. You can, but suddenly your issues need to be imported/migrated too.

If you had a fossil-host instead? You could migrate your repository and your issues all at once, and nobody would care.

(Disclaimer: I use github for public projects, and self-hosted gitbucket for private stuff. I don't care that github has changed ownership.)

I don't use fossil, but I have fantasized about keeping docs and issues in version control alongside the code.

My organization has churned through several different issue trackers in the last few years. And a lot of that old data is just gone; project owners never bothered pulling Fogbugz tickets into Phabricator or never pulled Phabricator tasks into JIRA. If we had issue tracking that lived alongside the source code in version control, then the underlying data would last as long as the code did.

Issues are tricky, but docs are easy to store in git. In fact, I thought that was standard practice for most folks. What documentation tools do you use that prevent using git?
Why shouldn't this be built on top of git?
Shouldn't? Hasn't been.
OP is confusing Git with Github.
Note that not long after writing that, he moved his projects to github because a (since-fixed) bug in fossil caused data-loss.
If you actually read through the discussion on the mailing list, what Zed did (as I recall it from when this was news years ago) was screw up an operation, run into a bug, panic and start hammering on the repo to try to undo the problem that arose, and basically destroy the repo's ability to roll back what he did.
That sounds right to me, though to be fair, I was the one who screwed up the operation, not Zed. It was my very first time using Fossil.
But git has always has been, and still is open source. Of course, Fossil has some advantages but claiming the OS high ground shouldn't be one.
OP is obviously editorializing, that isn't the title of the linked document.
... which also happens to match the style of the fossil readme where they are comparing it against git. Instead of presenting factual differences and their dis-/advatages in practical application, it reads like an ego piece and, at least for me, does not win fossil any sympathy.

https://www.fossil-scm.org/xfer/doc/trunk/www/fossil-v-git.w...

Just to spell it out - https://github.com/git/git:

Git is an Open Source project covered by the GNU General Public License version 2 (some parts of it are under different licenses, compatible with the GPLv2). It was originally written by Linus Torvalds with help of a group of hackers around the net.

The name "git" was given by Linus Torvalds when he wrote the very first version. He described the tool as "the stupid content tracker" and the name as (depending on your mood):

I even believe Git has the open source high ground since it’s released under the GPL-2 license, providing freedom. Whereas Fossil uses BSD-2, which does not bring the same freedom.
Who could be in danger of being mislead by the title, by not knowing Git is open source? They just wanted to say Fossil is also OS.
Is this supposed to be a response to the github acquisition? github != git.
The front page doesn't really make me think, oh I want to use this instead of Git.

On the other-hand, this project looks interesting: https://pijul.org/

Pijul is claiming a number of features that make me think it might be worth checking out.

edit, removed this first sentence: The title is misleading as Git is open-source.

Fossil is interesting and cool (written by the same guy as SQLite to facilitate SQLite development, but it's disingenuous to describe is as "an open source alternative to Git" when Git is open source, GPL licensed, and originally created by Linus Torvalds to facilitate the development of the (also GPL) Linux kernel.
It's open source, and it's an alternative to git (or at least claims to be, I haven't tried it myself). It's not inaccurate, though it could be misleading if one doesn't already know that Git is open source itself.
As a response to the GH acquisition: this is like suggesting dvorak because Microsoft made a qwerty keyboard.
No, not really. If you're unwilling to use a Microsoft code hosting platform, and are unwilling to screw around with hosting your own ticket system, wiki, and DVCS all at the same time, but need all three of those things and would be willing to host a CGI script, you get ticket system, wiki, and DVCS "for free" with Fossil by basically just dropping a single binary into cgi-bin.

Self-hosting Git with ticketing system, wiki, and web front-end can be a giant pain, depending on what you need and how you do it. Fossil is stupidly easy, by contrast. Sure, there are some tools out there to make self-hosting Git with all the trimmings easier, but so far I haven't dealt with one that is actually as easy to host as Fossil.

Basic shared hosting with the ability to store repository files and run CGI is enough to self-host Fossil with all the trimmings. Thus, this isn't about replacing Git, per se. It's about replacing GitHub, for at least some people's use cases.

Well, that seems to be a negative reaction to someone posting a link to fossil. I think it's pretty relevant since fossil takes the approach of storing everything you'd need to host the repository within a checkout. That includes the project's web presence, the issues, a wiki, etc.

I think fossil is pretty darn neat in that regard, however some of the implementation choices come off as esoteric after dealing with the git ecosystem for a while. Other than that fossil feels like it has some nice ideas which haven't been effectively explored by other SCM offerings, though unfortunately they haven't been totally explored by fossil devs either (IMO). Stuff like working with issues in the repository is nice, but the command line interface that fossil presents to work with them is very clunky.

If fossil had gotten to the point of critical mass before git then I'm sure these sorts of issues would have been handled, but since it didn't we're somewhat stuck with what's currently available.

Those features sound like something the developers of Git should consider adding to the feature set of Git... So that everything goes with the repo instead of staying in the webapp.
The challenge with respect to that is that there are pretty notable trade offs with design choices for implementing a bug tracker, wiki, etc at this stage of git's development. Any one choice by the official git project core would be met with serious push back. The best outcome for git in my opinion would be some work put into in-repo issue tracking, but not as a part of git's core distribution.

There have been a number of independent efforts to tackle all of these problems but they've lost steam for the past 5 years or so. It's too bad since it's a pretty neat problem space to see solutions built in and to discuss them, but that seems to be the current state of things.

The negative reactions seem to center on the phrasing of the title -- "an open source alternative to Git". This seems to imply that Fossil is open source where git is not, which is clearly incorrect.

There's no term for "git + issue tracker + wiki + pull request manager + web presence + access controls + organizational tools" that GitHub represents at the moment. Fossil checks a couple more boxes in that list than Git does, and represents an open-source alternative to GitHub in that sense. That's hard to express in the title, but the title as it stands is misleading at best.

"Fossil - a SQL database based alternative to Git" would be more accurate, but a little less sexy.

It's too bad the 'open source' in the title triggered a wave a resentment in the discussion. I agree it sounds argumentative, considering the licensing of Git itself is more 'Free' than that of Fossil.

But the underlying point here is an interesting one: if I'm a GitHub user and I'm not happy with the idea of Microsoft acquiring the company, what alternatives exist if I want to move away from GitHub?

There are tons of them, but it the realm of simple, self-hosted solutions that offer code hosting, issue tracking, and a wiki, Fossil stacks up quite well. It's a single executable that's lightweight enough that it can be called via CGI in shared hosting environment to replicate much of what GitHub offers. In that context, I think Fossil is worth looking at.

If moving away from Git isn't an option, I'm a big fan of Gitea[0], though I haven't hosted it on the internet before (unlike Fossil, which I do use to host my side-projects). Gitea is a community-driven fork of Gogs. Both are single-executable Go applications that offer much of the same functionality GitHub offers.

[0]: https://gitea.io/en-US/

For what it's worth, I've been using Gogs for several months with no problems.
Maybe it is because I am not a native English speaker but I had a different understanding of the headline than some people here. I read it as "an alternative to Git, which is also open source" and not an implied argument that Git is not open source...

Also I've been wanting to dive deeper into Fossil for a while. Will try it now...

> I read it as "an alternative to Git, which is also open source"

As a native English speaker I'd say that's a perfectly reasonable interpretation. And I think most would have assumed that interpretation had it not been for the MS/Github news.

I read it as "an alternative to Git, which is also open source" and not an implied argument that Git is not open source...

I posted the link (and accompanying title or headline) and your interpretation of the title (now changed) is exactly what I intended to convey.