Linux Packaging project

From Kiwix
Revision as of 12:13, 4 October 2012 by Kelson (talk | contribs)
Jump to navigation Jump to search

The Kiwix Linux Packaging project is a project to improve Kiwix availability on GNU/Linux distributions.


  • Legal name of organization or individual requesting this grant: Kiwix
  • Project contact name: Emmanuel Engelhart
  • Project contact username or email: Kelson
  • Project contact title (position): Project manager
  • Project leader name: Emmanuel Engelhart
  • Project leader username or email: Kelson
  • Project leader title (position), if any: Project manager
  • Full project name: Kiwix Linux Package Project
  • Provisional target start date: 01-01-2013
  • Provisional completion date: 01-06-2013


Kiwix is a software which works and it is still improved on a daily basis. But one of the biggest problem we have is that too much potential customer ignore that a good solution like Kiwix exists. That why we need to make an effort to advert and bring Kiwix to people and organizations.

On Windows, most of the work we need to do is communication work, people are used to download software directly from the Web, so we still need to convince them to do it. With Linux distributions, the situation is not the same because it works differently: it's difficult to install softwares which are not in the internal software catalog (or called "official package repository"). That's why is really important to have Kiwix in those software catalogs for the most used Linux distributions, and this is the main purpose of this project.


  • Package for Ubuntu + official repository
  • Package for Fedora + official repository
  • Package for OpenSuse + official repository
  • Package for Archlinux + official repository
  • Package for FreeBSD + official repository
  • Packages for openWRT and DDWRT
  • Sign the application for all systems (MS/Windows & OSX included)


This project would be split in many work-packages:

1 - Compilation (2500 CHF)

  • Integrate Mozilla source code to Kiwix source code
  • Compile Kiwix against Mozilla source code (avoid using Xulrunner and Xulrunner SDK)
  • Check that everything compiles and runs fine: Everything should work as good as before (Sugar, WIN, OSX, static&dynaimc + debian package)
  • Integrate the work in the compilation farm

2 - Packages creation (2500 CHF)

  • Create the packages for the recent version of the listed GNU/Linux distributions
  • Create the packages with the compile farm
  • Check that everything works fine
  • Everything should be done with the Makefile
  • Document the package creation processes

3 - Package integration in official distribution repositories (2500 CHF)

  • Take contact with packagers, find an official packager or do it yourself
  • Do the necessary to integrate Kiwix to the distribution, at least in the testing version (experimental/testing for Debian)
  • Post-project, do the necessary that everything run fine and that Kiwix finaly land to the current release repository

4 - [Open&DD]-WRT Integration (2000 CHF)

  • Create the packages (one click install using the router WEB UI) for those two WRT distributions
  • Must work with the most common model using this distributions (mips architecture?)
  • Packages must have an easy interface to chose/change the content to spread, configure the interface (local network/internet)) and other mandatory things
  • Take care that this package will be integrated in official catalogs of thus distributions
  • Document the whole creation an usage process

5 - SSL Signature (500 CHF)

  • Buy a SSL signature for 3 years
  • Sign everything also the other packages for Sugar, Windows and OSX
  • Document the whole process


  • 680 hours of professional development
  • 80 hours of volunteer time for the project management
  • 5 months of time
  • Budget
    • 10.000 CHF for the development work
    • ~500 CHF for the SSL certificate

Fit strategy and user demand

Increase reach is currently the first Wikimedia strategic goal. Offline is an essential part of the Wikimedia strategy and Kiwix, as official Wikimedia offline reader, is a master piece of this strategy.

GNU/Linux represents only a small part of our audience, but this is the audience we want to push. We think that free software is the best solution to access to free content. This is also the best solution for economically poor people who are our most targeted audience. At the same time, this part of the audience is used to collaborate, and so on often make more and better feedbacks about the software - something essential to improve it.

Around 25.000 people per month download Kiwix. This is a lot and this number is growing constantly. But we still think that millions of people need Kiwix ; this number represents only a small fraction of our potential audience. That's why this project is essential to push Kiwix and Wikipedia to those users.


  • Fully deployment of Kiwix in the most known and used GNU/Linux distributions. Most of GNU/Linux users will be able in a few clicks (really handful and without going to the Web) to install Kiwix with Wikipedia.
  • Remove the Xulrunner dependency which is an almost unmaintained piece of software. This is mandatory to package Kiwix for Ubuntu - have both good and bad technical consequences.
  • Improve the global quality of Kiwix compilation scripts with the feedbacks of new high skilled GNU/Linux users.
  • Increase audience and quality of feedbacks from GNU/Linux users who otherwise would not really have the chance to install Wikipedia offline.
  • Create the packages to use kiwix-serve for with routers (widely used and really cheap). This would be an improvement of the Afripedia project solution. Instead of having kiwix-plug for 250CHF, will would be able to provide the same service for 100CHF.
  • Support of a new architecture: MIPS which is good to increase the hardware support of our code.
  • Most secure and handful software using the SSL signature. This will allow to seriously authentify the binary code. For example, on MS/Windows, this avoid the popup secure dialog box appearing at each start of Kiwix, Kiwix installer or Kiwix launcher.


This project would be led by Kelson and executed by the company Yeleman which has a long experience with Kiwix code base:

  • Kelson is the creator ans still lead developer of Kiwix. Working in Zurich, Switzerland, he has been developing offline solution since 7 years.
  • Yeleman is a Malian software company based in Bamako. Yeleman at the beginning has created Moulinwiki an offline solution to spread Wikipedia, pretty similar to Kiwix. Yeleman works now on Kiwix. As a particular achievement, Yeleman has for example successfully done the Kiwix "Black&White project" (Project granted by WMCH last year).