Ideas Page
Introduction
This is our ideas page for new developers.
Organization
You can find the organizers at our forum: http://board.kolibrios.org/
Name | Nickname | Role |
Ivan Baravy | dunkaist | Administrator, Mentor |
Dmitriy Smirnov | Pathoswithin | Mentor, (Administrator) |
Serhii Sakhno | Punk_Joker | Mentor |
Kiril Lipatov | Leency | C-- Mentor |
Konstantin Pakhtusov | KPG | Mentor (Forth) |
Ideas
Idea Name | Area | Programming Language | Mentors |
---|---|---|---|
OpenBios in Loader | Kernel/Application | Forth, FASM (Assembler), C | |
File system | Kernel/Application | FASM (Assembler) | Pathoswithin |
Widget toolkit | System wide | FASM (Assembler), C | dunkaist |
Port Mbed TLS | Library | C/FASM | Punk_Joker |
Port FLTK | Library | C++ | Punk_Joker |
Quark Code editor | Application | C-- | Leency |
Fasmg port | Application | FASM/FASMG (Assembler) | dunkaist |
Unicode library | Library/Application | FASM (Assembler) | dunkaist |
Virt-IO driver | Kernel | FASM (Assembler) | dunkaist |
Loop device driver | Kernel | FASM (Assembler) | dunkaist |
RSS/Atom news reader | Application | FASM (Assembler) | dunkaist |
OpenBios in Loader
OpenBIOS is a free, portable implementation of IEEE 1275-1994 (Open Firmware). Find detailed information about OpenBIOS OpenBIOS can replace your system firmware (BIOS) partly or completely. It can also be used as a bootloader to create an Open Firmware compatible interface between legacy firmware and an operating system. This is achieved by a modular concept that consists of a portable Forth kernel and three interfaces for user interaction, device initialization and client (operating system) control in command line like shell in Linux. OpenBios implentation Fcode [1] - Bytecode is small, hardware independent and efficient. And an evaluator (bytecode virtual machine) is almost trivial to implement or/and with possible an uses JIT technology.
- Primary goal: Add OpenBios ("Forth") support to the system bootloader.
- Additional goal: Create simple interactive more device drivers
- Language: Forth, FASM (Assembler), C
- Links: Openbios Firmware in Github
File system
- Primary goal: Add write support for ext4 file system (ext4 reading and ext2 writing are already supported).
- Additional goal: Improve write support for NTFS file system.
- Language: FASM (Assembler)
- Links: Ext4 Disk Layout
Widget toolkit
- Primary goal: Extend Box_lib (a set of separate widgets) to create a full-featured widget toolkit, design architecture and implement focus handling, callbacks and other core ideas.
- Additional goal: Integrate created box_lib widgets to the C-framework, extend framework with font handling, layout manager
- Language: FASM (Assembler), C (framework)
- Links: basic idea, list of toolkits
Port Mbed TLS
- Primary goal: Make a working port of Mbed TLS (previously PolarSSL) as native KolibriOS MS COFF library and add it to the automatic build-system.
- Additional goal: Update HTTP library (written in FASM) to support HTTPS.
- Language: C/FASM
- Links: Forum thread about polarSSL, HTTP library on WebSVN
Port FLTK
- Primary goal: Make a working port of FLTK (widget library) and add it to the automatic build-system.
- Additional goal: port Scintilla (minimum working version)
- Language: C++
- Links: Official site
Quark Code editor
Goals:
- text edit support
- syntax highlight support
- add tabs
Language: C--, Assembler/FASM
Fasmg port
Tomasz Grysztar (creator of FASM) introduced FASMG, a new assembler engine. It would be nice to support its new syntax in KolibriOS.
- Primary goal: Write FASMG application like FASM one. Port standard KolibriOS macros to FASMG syntax.
- Additional goal: Implement macros for compatibility with FASM.
- Language: Assembler/FASM/FASMG
- Links: FASMG overview, FASMG manual
Unicode library
Unicode is a huge and sophisticated standard. Nevertheless modern OS should provide libraries with Unicode related routines like NFC, NFD, sorting, comparing, etc.
- Primary goal: Write a tiny Unicode library with core Unicode algorithms and example application.
- Additional goal: Upgrade existing applications to use the new library.
- Language: Assembler/FASM
- Links: libutf
Virt-IO driver
Virtio is a virtualization standard for network and disk device drivers where just the guest's device driver "knows" it is running in a virtual environment, and cooperates with the hypervisor. This enables guests to get high performance network and disk operations, and gives most of the performance benefits of paravirtualization.
- Primary goal: Write kernel driver for, say, virt-io Ethernet card.
- Additional goal: Write more drivers.
- Language: Assembler/FASM
- Links: Virt-IO wiki
Loop device driver
- Primary goal: Write loop device driver and example application to manage loop devices.
- Additional goal: Prepare a set of disk images to be used in filesystem unit tests.
- Language: Assembler/FASM
- Links: loop device overview
RSS/Atom news reader
RSS and Atom are standards for web feeds. They are XML based and easily processed via AsmXml library. Corresponding user application would be a big plus to usability of KolibriOS.
- Primary goal: Write RSS news reader as a standalone KolibriOS application.
- Additional goal: Add Atom support to the app.
- Language: Assembler/FASM
- Links: AsmXml library, RSS, Atom
Most importantly...Have Fun!