It seems like we all use Git for source control. I know that since around 2012, everyone at Don’t Panic Labs has been using Git, and it has been amazing. Compared to what was there before, the difference Git made was like night and day.
With Git, branching and merging are pleasant and super easy. Git could do things previous source control systems could even think of. With those other systems branching and merging was super scary. It truly changed software development.
But are there other options we should consider? It isn’t a question I ask very often. I am usually in pursuit of better development techniques. And besides, source control seems stable.
But the other day, I bumped into Fossil. It happens to be the source control system used by SQLite’s developers and is built on top of SQLite.
Why would someone choose a different SCM? Fossil offers many of the same features as Git but has a different take on many items.
Git was so good compared to other options when it came out. It leaped the industry ahead. This leap was so significant that it doesn’t feel like we need anything else. But when I look at Fossil, I begin to wonder.
While the Fossil command line isn’t necessarily simple, it appears simpler and easier to train developers. Git feels like an interface built for people who want to know how things are working.
Git is also just source control. Other development aspects, such as project and document management, are separate features implemented by other solutions. Fossil is an all-in-one solution. It has project and document management built in—no need to layer in any additional tools.
I haven’t tried Fossil, and I probably won’t. I’m comfortable with Git, and it is hard to imagine switching. But Fossil got me to ask, “Is there a better way?”.
That’s a good question to ask now and then.