Kiwix is an interesting project-of-the-month on SF - however, it shows one extraordinary weekness, that every developer can learn from - they are using a file format for distribution of content, that does not know how to update itself. read the comments to the SF article.
Git is here and shows us, how we can solve problems like "distribute and update" - how can git be used "as a file format" for applications?