This could be a boon to devs wanting to shift to tools entirely on SAFE network, avoiding problems like the recent censorship of github in India (access since restored) or to collaborate on projects that would otherwise be DDoS’d or censored, and of course to avoid the old ad driven privacy destroying web.
Written by the inventor of MySQL, Fossil could give SAFE an almost instant replacement for github, with developers using a local Fossil instance (loaded from SAFE storage if they want) and syncing changes with each other. Its useful out of the box, but with some tweaking it could serve as a github style system entirely on SAFE, including your apps own Wiki, documentation and bug tracking). Fossil is a single executable that runs on pretty much anything with a C compiler, so easy to provide downloads for different platforms, and its networking support is simple so could be easy to port to SAFE to allow collaborative working directly from within Fossil - but even without this I think it will allow a significant degree of server-repo style collaboration (although I’ve literally only read the landing page so far! Extract below.)
Run it, and you have a web like front end with:
- Integrated Bug Tracking, Wiki, and Technotes - In addition to doing distributed version control
like Git and Mercurial, Fossil also supports bug tracking, wiki, and technotes.
- Built-in Web Interface - Fossil has a built-in and intuitive web interface with a rich assortment of information pages (examples) designed to promote situational awareness. This entire website is just a running instance of Fossil. The pages you see here are all wiki or embedded documentation. When you clone Fossil from one of its self-hosting repositories, you get more than just source code - you get this entire website. (¹except the download page)
- Self-Contained - Fossil is a single self-contained stand-alone executable. To install, simply download a precompiled binary for Linux, Mac, OpenBSD, or Windows and put it on your $PATH. Easy-to-compile source code is also available.
- Simple Networking - No custom protocols or TCP ports. Fossil uses ordinary HTTP (or HTTPS or SSH) for network communications, so it works fine from behind restrictive firewalls, including proxies. The protocol is bandwidth efficient to the point that Fossil can be used comfortably over dial-up.
CGI/SCGI Enabled - No server is required, but if you want to set one up, Fossil supports four easy server configurations.
- Autosync - Fossil supports “autosync” mode which helps to keep projects moving forward by reducing the amount of needless forking and merging often associated with distributed projects.
- Robust & Reliable - Fossil stores content using an enduring file format in an SQLite database so that transactions are atomic even if interrupted by a power loss or system crash. Automatic self-checks verify that all aspects of the repository are consistent prior to each commit.
- Free and Open-Source - Uses the 2-clause BSD license.