blog

F-Spot and its new home

As some of you might have noticed I’ve created a repo on GitHub for F-Spot under the mono umbrella – F-Spot on GitHub!

I have left the repository on git.gnome.org/f-spot and will try to sync up changes in master regularly. I’d like to thank the awesome GNOME project for hosting F-Spot and want to be clear that I have absolutely no plans of dropping GNOME support in F-Spot nor diminish F-Spot’s GNOME integration in the future. On the contrary, as the .NET bindings for the GNOME  3  platform are improving I expect to be working on further GNOME integration for F-Spot.

The goal in moving F-Spot over to GitHub is purely for the benefit of its development technically as well as to breathe new life into the project through the wider GitHub community and feature set.  Github provides several really cool features, one of the features that I’m looking forward to taking advantages of is the pull request system.

Currently, contributors will typically clone a repository, create a patch that fixes some bug, file that bug in Bugzilla and attach the patch, which then sit and wait in the hope that the developers will notice the bug and accept the patch.  What seems to happen with projects, particularly F-Spot, is those bugs will sit there and bit rot.  Either someone will come alone, see the bug, and possibly rebase the patch against git master or it’ll be forgotten until it’s no longer valid.  The pull request interface isn’t some silver bullet, but I see it making the process much simpler and much more discoverable for both patch contributors and maintainers alike.

With the GitHub system, it’s really simpler for any user to come along and fork F-Spot.  Once forked they can fix a bug and do a pull request.  At this point there is a nice list of pull requests or shame list (a list of all the patches I haven’t addressed yet!).  There are some other features such as issue tracking and a built-in wiki that comes with GitHub which I’m not sure if it will get used, but time will tell.

Another goal I have for the project is to port it over to OS X and Windows.  GitHub has a nice client for both platforms as well as conveying the idea that F-Spot is intended to be cross-platform application with GNOME support more clearly than being on GNOME’s git does.

I hope everyone will appreciate this new workflow and will enjoy the improvements that are to come in F-Spot.  I’m excited to continue development on F-Spot and look forward to the future of such an awesome photo management.