Difference between revisions of "Linux Packaging project"

From Kiwix
Jump to navigation Jump to search
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
The '''Linux Packaging project''' is a project to improve [https://en.wikipedia.org/wiki/GNU/Linux GNU/Linux] integration of Kiwix.
The '''[http://www.kiwix.org Kiwix] Linux Packaging project''' is a project to improve Kiwix availability on [https://en.wikipedia.org/wiki/GNU/Linux GNU/Linux] distributions.


== Properties ==
== Properties ==
* Legal name of organization or individual requesting this grant: Emmanuel Engelhart
* Legal name of organization or individual requesting this grant: Kiwix
* Project contact name: Emmanuel Engelhart
* Project contact name: Emmanuel Engelhart
* Project contact username or email: [[user:Kelson|Kelson]]
* Project contact username or email: [[user:Kelson|Kelson]]
Line 12: Line 12:
* Provisional target start date: 01-01-2013
* Provisional target start date: 01-01-2013
* Provisional completion date: 01-06-2013
* Provisional completion date: 01-06-2013
== Introduction ==
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 [https://en.wikipedia.org/wiki/GNU/Linux_distribution 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.


== Goals ==
== Goals ==
Kiwix is a software which works and although we still try to improve it, its big challenge is currently to be known by people. That why we need to bring Kiwix to people and organization as near as possible.
On Windows, most of the work we need to do is communication work, people are used to donwload software directly from the Web, so we still need to convince them to do it. But, with [https://en.wikipedia.org/wiki/GNU/Linux_distribution Linux distributions], this works differently: it's difficult to install softwares which are not in the internal software catalog (or called "official 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.


Here are the details:
* Package for [https://en.wikipedia.org/wiki/Ubuntu_%28operating_system%29 Ubuntu] + official repository
* Package for [https://en.wikipedia.org/wiki/Ubuntu_%28operating_system%29 Ubuntu] + official repository
* Package for [https://en.wikipedia.org/wiki/Fedora Fedora] + official repository
* Package for [https://en.wikipedia.org/wiki/Fedora Fedora] + official repository
Line 25: Line 26:
* Package for [https://en.wikipedia.org/wiki/FreeBSD FreeBSD] + official repository
* Package for [https://en.wikipedia.org/wiki/FreeBSD FreeBSD] + official repository
* Packages for [https://en.wikipedia.org/wiki/OpenWRT openWRT] and [https://en.wikipedia.org/wiki/Ddwrt DDWRT]
* Packages for [https://en.wikipedia.org/wiki/OpenWRT openWRT] and [https://en.wikipedia.org/wiki/Ddwrt DDWRT]
* Sign the application for all systems (MS/Windows & OSX included)


== Activities ==
== Activities ==


This project would be split in 3 work-packages:
This project would be split in many work-packages:


1 - Compilation (3000 CHF)
1 - Compilation (2500 CHF)
* Integrate Mozilla source code to Kiwix source code
* Integrate Mozilla source code to Kiwix source code
* Compile Kiwix against Mozilla source code (avoid using Xulrunner and Xulrunner SDK)
* Compile Kiwix against Mozilla source code (avoid using Xulrunner and Xulrunner SDK)
* Check that everything compile and run fine like that for what we already release and support (Sugar, WIN, OSX, static&dynaimc + debian package)
* 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
* Integrate the work in the compilation farm
* Everything should work as good like before


2 - Package creation (2500 CHF)
2 - Packages creation (2500 CHF)
* Create the packages for the recent version of the listed GNU/Linux distributions
* Create the packages for the recent version of the listed GNU/Linux distributions
* Create the packages with the compile farm
* Create the packages with the compile farm
* Check that everything works fine
* 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)
3 - Package integration in official distribution repositories (2500 CHF)
Line 47: Line 50:
* Post-project, do the necessary that everything run fine and that Kiwix finaly land to the current release repository
* 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)
4 - [Open&DD]-WRT Integration (2000 CHF)
* Create the packages (one click install using the router WEB UI) for those two WRT distributions
* Create the packages (one click install using the router WEB UI) for those two WRT distributions
* Muss work with the most common model using this distributions (mips architecture?)
* Must work with the most common model using this distributions (mips architecture?)
* Package must have an easy interface to chose/change the content to spread, configure the interface (local network/internet)) and other mandatory things
* 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
* 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


== Resources ==
== Resources ==
Line 57: Line 66:
* 80 hours of volunteer time for the project management
* 80 hours of volunteer time for the project management
* 5 months of time
* 5 months of time
* 10.000 CHF
* Budget
** 10.000 CHF for the development work
** ~500 CHF for the SSL certificate


== Fit strategy and user demand ==
== Fit strategy and user demand ==
Line 65: Line 76:
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.
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 20.000 people per month download Kiwix. This is a lot and this number is growing constantly. But we still things 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.
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.


== Wins ==
== Benefits ==


* Fully deployment of Kiwix in the most known and used GNU/Linux distributions
* 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 [https://en.wikipedia.org/wiki/Xulrunner Xulrunner] dependency which is an almost unmaintained piece of software
* Remove the [https://en.wikipedia.org/wiki/Xulrunner 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
* Improve the global quality of Kiwix compilation scripts with the feedbacks of new high skilled GNU/Linux users.
* Increase audience and quality of feedbacks
* 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 [http://www.wikimedia.fr/afripedia Afripedia] project solution.
* Create the packages to use [http://www.kiwix.org/index.php/Kiwix-serve kiwix-serve] for with routers (widely used and really cheap). This would be an improvement of the [http://www.wikimedia.fr/afripedia 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: [https://en.wikipedia.org/wiki/MIPS_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.


== People ==
== People ==
This project would be led by [[User:Kelson|Kelson]] and executed by the company [http://yeleman.com/ Yeleman] which has a long experience with Kiwix codebase.
This project would be led by [[User:Kelson|Kelson]] and executed by the company [http://yeleman.com/ 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 "[http://www.kiwix.org/index.php/Black%26White_Project Black&White project]" (Project granted by WMCH last year).


== See also ==
== See also ==

Revision as of 12:14, 4 October 2012

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

Properties

  • 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

Introduction

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.

Goals

  • 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)

Activities

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

Resources

  • 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.

Benefits

  • 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.

People

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).

See also