Projects

From Kiwix
Jump to navigation Jump to search

The Kiwix volunteers program has for purpose to offer to motivated and talented people ways to work for Kiwix during a limited time.

Tasks

Kiwix for Android

Android logo

Always more people use smartophones as medium for their digital life. This is especially the case in emerging countries which are targeted by Kiwix. We think Android will be the most important mobile platform in the next years, especially for the cheapest devices. Android is in addition, to the opposite of the Apple app. store, open to free softwares. Consequently our next big step, is to port Kiwix to Android.

We do not want to start an other software which would generate a lot of additional code develop and to maintain. So, current Kiwix code base has to be reused and ported. Kiwix runs currently with the help of Xulrunner, but it can also runs perfectly using Firefox. Firefox can since version 3 is able to launch third party software, like Kiwix. Fennec, Firefox for mobiles, was launched a few month ago for Android, so we hope that Kiwix could be ported to Android using Fennec or something similar (see this example).

We need for this task someone with good knowledges in C++, compilation and with know-how in porting C++ softwares to Android. Someone with enough motivation to build a prototype of XUL (with custom C++ XPCOM components) application running on Android could also match the requirements.

New Web site

We need to replace the current web site by a more simple and sexy one. This new one should be based on mediawiki and we already have a design. The wiki part, like we know it, would be still accessible but not push on the front of the Web site. So we need someone we good PHP & Web languages knowledges to do that.

Compilation Platform

Kiwix is currently ported to 3 different platforms: MS Windows, Apple MacOSX and GNU/Linux. In addition, and this has to be kept in mind, they are many GNU/Linux distributions and also two architectures per platform. So we speak here of 10->20 files we have to prepare each time we release a new version of Kiwix.

We currently do that manually and because we do not have a lot of packagers, most of the work is done by developers... by hand. We support always more platforms, so this takes always more time and consequently brakes the whole release management. In addition, doing that manually is a big source of errors.

So we search someone to build a global software solution to fix that issue. This solution should allow to build all this files with only a few clicks or commands. This Solution should be fully documented and as cheap as possible. We think this should use virtual machines to avoid the need of a lot of expensive hardware. Our first researches were leading to Mozilla Tinderbox which seems to be the best alternative (but if you have a better idea, we are ready to discuss it):

But, maybe BuildBot could also do the job!

We search here someone with good knowledge in compilation, scripts languages like Perl and/or bash to setup and document this platform.

Bug fixing and new features

Mediawiki ZIM building solution

Fix Mediawiki DumpHTML extension

The Mediawiki DumpHTML extension is the solution to export hte dynamic generated HTML pages in a set of static HTML/Media files. This extension is the best way to get a good set of HTML pages from a Mediawiki (in comparison with a Web site mirroring tool for example).

Unfortunately, this extension is not correctly maintained and with the time many issues were discovered. Currently, the extension is not really usable without fixing/tweaking the code.

The purpose of this work package is to fix the most critical bugs that everyone having a Mediawiki would be able to simply get a HTML dumps of his content and consequently easily generate a ZIM file.

Sugar port

Kiwix plug

See Plug solution.

Open positions

6 months internship

We search a volunteer/intern for a duration of 6 months. This intern would help us to work on one or many of the task already listed on this page. Location is Bamako (Mali).

Profile:

  • Engineer student or junior
  • Experienced free software developer

Skills:

  • English speaking (French an advantage)
  • C++ / Perl / Php
  • Web languages
  • GNU Compilation tools