How to contribute
This page describes the different fields we are active in and where and how you can contribute and help us to make copyleft hardware a success. It is categorized by these areas, each section containing a table explaining the current efforts, a description and the person coordinating the effort.
Contents |
[edit] Areas
[edit] Software
The following projects, issues and ideas related to the software part are currently (heavily) understaffed and need your help! For sure this list is not complete - feel free add your thoughts, ideas, (wanted) projects related to qi!
You're more than welcome to participate in every possible manner, e.g.:
- sending patches to the mailing list or - even better, to not lose track of them - via the issue tracker[1] - becoming a maintainer/developer of a certain project and getting commit access - finding and filing bugs bugs in the issue tracker[1] - join the mailing list and/or IRC, help your mates with problems and note down ideas how to improve things
[edit] dedicated pieces of software
| Name | category | Description | Toolkit | Language | Source | Owner | Status |
|---|---|---|---|---|---|---|---|
| Vido | Offline Wiki reader | OpenZim reader | gtk+ | c++ | Projects Page | Vegyraupe | discontinued (in image) |
| QVido | Offline Wiki reader | OpenZim reader | qt | c++ | Projects Page | Vegyraupe | discontinued |
| Stardict | dictionary | StarDict adaptation | gtk+ | c++ | Source Patches | Xiangfu | in image |
| Gmenu2x | app launcher | Gmenu2x adaptation | SDL | c++ | Project Page | Volunteers? | in image |
| TBD | app launcher | launcher based on the fluid-launcher qt4-demo: Video | Qt | c++ | TBD | Volunteers? | idea |
| qi-bootloader | bootloader | very lightweight bootloader | - | c++ | Wiki page | Volunteers? | idea |
| Iris | kernel/OS | capability-based microkernel | - | c++ with preprocessor | Projects page | Bas Wijnen | booting |
[edit] other software projects which need your help
[edit] Uboot : porting over jz47xx-cdc-ethernet support to uboot
There is a working implementation of cdc-ethernet support in U-Boot[2] which is quite similar to the linux cdc-ethernet stack. cdc-ethernet support for the jz4740 is available and used within the linux kernel already, so it shouldn't be hard to port the cdc-ethernet driver over to uboot-cdc-ethernet. As well there is working code for a TCP-stack and webserver in uboot.
The idea:
Flashing your NanoNote via your WebBrowser while your NanoNote is in uboot, running a webserver on-top of a tcp-stack on-top of the cdc-ethernet stack.
[edit] Documentation
[edit] Testing
| Name | Description | Coordinator | Status |
|---|---|---|---|
| Software testplan | Create a testplan for the OpenWrt Images | Wolfgang Spraul | not started |
| Testing Software | Create testing software for the NanoNotes (and derivatives) | Wolfgang Spraul | not started |
The 本NanoNote build system is very informal. The build is sometimes performed by different people, who have different testing procedures. There is no automated test environment. We need to document and formalize our build system, and in doing so also improve our testing procedures. Success here will be measured by the number of packages we have on the default image, as well as how many packages in our repository are not marked as broken.
[edit] Data Transfer
| Name | Description | Coordinator | Status |
|---|---|---|---|
| Upgrade Software Image | Upgrading the software image should preserve the user's settings and data. | Alan Post | too difficult |
| Backup and Restore | We need a system to backup and restore a 本NanoNote. | Alan Post | not started |
| Synchronize Data | A user should have a mechanism for modifying a file/project on the 本NanoNote and a host computer an synchronize the changes. | Alan Post | not started |
It is difficult to move data between the 本NanoNote and a host computer. It should be easier to update the software on the 本NanoNote, and sync (backup) data from the 本NanoNote. This is both a documentation and software problem.
Sync Data Suggestion: Someone could put together a combination of rsync, ssh, and cron. This would work for syncing the Ben Nanonote between MacOSX, Windows (using cygwin), and Linux. The article located http://lifehacker.com/196122/geek-to-live--mirror-files-across-systems-with-rsync could help along with this process
[edit] Hardware modding
| Name | Description | Coordinator | Status |
|---|---|---|---|
| Ben+Arduino | This project is focused on connecting the Ben NanoNote to Arduino boards. | Tuxbrain | started |
[edit] Other
[1] http://projects.qi-hardware.com/index.php/p/ben-nanonote/issues/
[2] http://git.denx.de/?p=u-boot/u-boot-usb.git