Fossil (software)

{{Short description|Software configuration management, bug tracking system and wiki server}}

{{distinguish|FOSSIL|Fossil (file system)}}

{{Infobox software

| name = Fossil

| title =

| logo = File:Fossil SCM logo.svg

| screenshot =

| caption =

| collapsible =

| author = D. Richard Hipp

| developer =

| released = {{Start date and age|2006}}

| discontinued =

| latest release version = {{wikidata|property|edit|reference|P548=Q2804309|P348}}

| latest release date = {{start date and age|{{wikidata|qualifier|P548=Q2804309|P348|P577}}}}

| latest preview version =

| latest preview date =

| programming language = C, SQL

| operating system = Cross-platform

| platform =

| size =

| language =

| status =

| genre = Software configuration management, bug tracking system, wiki software

| license = 2010: BSD-2-Clause{{efn|BSD-2-Clause since 2010-05-16.}}[http://www.fossil-scm.org/fossil/doc/tip/COPYRIGHT-BSD2.txt Fossil Copyright]
2007: GPL-2.0-only{{efn|GPL-2.0-only from 2007-07-21 until 2010-05-16.}}

}}

Fossil is a software configuration management, bug tracking system and wiki software server for use in software development created by D. Richard Hipp.

Features

File:Fossil-web-timeline.png source tree]]

Fossil is a cross-platform distributed version control system that runs on Linux, BSD derivatives, Mac and Windows. It is capable of performing distributed version control, bug tracking, wiki services, and documentation.{{Cite web |title=Fossil: A Coherent Software Configuration Management System |url=https://www.fossil-scm.org/home/doc/trunk/www/index.wiki |access-date=2025-04-21 |website=www.fossil-scm.org}}{{Cite web |last=Edge |first=Jake |date=March 16, 2011 |title=Version control with Fossil |url=https://lwn.net/Articles/432759/ |url-status=live |archive-url=https://web.archive.org/web/20240116193107/https://lwn.net/Articles/432759/ |archive-date=2024-01-16 |access-date=2025-04-22 |website=lwn.net}}

The software has a built-in web interface, which reduces project tracking complexity and promotes situational awareness. A user may simply type "fossil ui" from within any check-out and Fossil automatically opens the user's web browser to display a page giving detailed history and status information on that project. The fossil executable may be run as a standalone HTTP server, as a CGI application, accessed via SSH, or run interactively from the CLI.{{Cite web |title=Fossil: The Fossil Web Interface |url=https://www.fossil-scm.org/home/doc/trunk/www/webui.wiki |access-date=2025-04-21 |website=www.fossil-scm.org}}

To simplify centralized development, Fossil provides an "autosync" mode to automatically sync changes when commits are made, in a similar manner to centralized version control systems.{{Cite web |title=Fossil: Fossil Concepts: Workflow |url=https://www.fossil-scm.org/home/doc/trunk/www/concepts.wiki#workflow |access-date=2025-04-22 |website=www.fossil-scm.org}}

Content is stored using a SQLite database so that transactions are atomic even if interrupted by a power loss or system crash.{{cite web|url=http://www.slideshare.net/Ashberk/integrated-version-control-with-fossil-scm|title=Integrated version control with Fossil SCM|date=5 November 2009 }}, DLR Tech Talk presentation by Arne Bachmann, 2009-12-01

Fossil is free software released under a BSD license (relicensed from previously GPL).{{cite web|url=http://fossil-scm.org/index.html/artifact/c7dd1de9f9539a5a859c2b41fe4560604a774476|title=Fossil DSCM Relicensed with BSD License.|date=2010-05-16}}

Adoption

{{refimprove|section|date=May 2025}}

Fossil is used for version control by the SQLite project, which is itself a component of Fossil. SQLite transitioned to using Fossil for version control over CVS on 2009-08-12.{{cite web|url=http://www.fossil-scm.org/index.html/doc/tip/www/stats.wiki |title=Fossil: Fossil Performance |publisher=Fossil-scm.org |date=2009-08-23 |access-date=2009-09-12}}{{cite web|url=https://www.sqlite.org/src/timeline?c=2009-08-12+11:45:41 |title=SQLite: Timeline |publisher=sqlite.org}}

Some examples of other projects using Fossil are:

  • Tcl/Tk Project
  • Pikchr
  • MySQL++, a C++ wrapper for the MySQL and MariaDB C APIs
  • LuaSQLite3
  • libfossil
  • fnc, the ncurses-based Fossil UI experience in the terminal
  • Androwish, the Tcl implementation for Android
  • ObjFW, a cross-platform Objective-C runtime and framework

Source code hosting

The following websites provide free source code hosting for Fossil repositories:

  • Chisel. Original site owner James Turner announced that the site would cease operation on May 1, 2013.{{cite web|url=http://www.mail-archive.com/fossil-users@lists.fossil-scm.org/msg11540.html |title=Chiselapp.com shutting down |publisher=James Turner |date=2013-03-28 |access-date=2013-04-10}} After domain ownership was transferred on May 1, 2013, it continued operation.{{cite web|url=http://www.mail-archive.com/fossil-users@lists.fossil-scm.org/msg11672.html |title=ChiselApp ChangeOver Complete |publisher=Andreas Kupries|date=2013-04-30 |access-date=2013-05-01}}
  • SourceForge (unofficially through webpages hosting service{{cite web |url=http://fossilrepos.sourceforge.net |title=Example: Free Fossil-SCM Repository Hosting |access-date=2015-11-21}})

See also

Notes

{{Notelist}}

References

{{Reflist}}

Further reading

  • {{cite book |last1=Schimpf |first1=Jim | title=Fossil Version Control - A Users Guide|edition=2.0|date=March 2013 | url=http://www.fossil-scm.org/schimpf-book/doc/2ndEdition/fossilbook.pdf |access-date=11 November 2013}}