KolibriOS Summer of Code 2013: Difference between revisions
Yogev ezra (talk | contribs) |
m (Protected "KolibriOS Summer of Code 2013": Remains here for historical purposes only ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))) |
||
(20 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
== Introduction == | == Introduction == | ||
KolibriOS | KolibriOS has applied as a mentoring organization for [http://www.google-melange.com/gsoc/homepage/google/gsoc2013 Google Summer of Code 2013], but got rejected by Google.<br> We did not rest our cases and took matter in own hands. Through Kickstarter we were able to collect the money required to organize our own summer of code. <br><br> | ||
This page contains our ideas list and some additional information for students and mentors. We will apply again in 2014 if Google runs the program next year.<br> | |||
== Organization == | == Organization == | ||
Line 12: | Line 13: | ||
|- | |- | ||
|Yogev Ezra | |Yogev Ezra | ||
|yogev_ezra | |[http://wiki.kolibrios.org/wiki/User:Yogev_ezra yogev_ezra] | ||
|Organization Administrator | |Organization Administrator | ||
|- | |- | ||
|Anton Kochkov | |Anton Kochkov | ||
| | |[http://wiki.kolibrios.org/wiki/User:XVilka XVilka] | ||
|Mentor, Backup Administrator | |Mentor, Backup Administrator | ||
|- | |- | ||
|Dmitry Pereverzev | |Dmitry Pereverzev | ||
|SoUrcerer | |[http://wiki.kolibrios.org/wiki/User:SoUrcerer SoUrcerer] | ||
|Mentor | |Mentor | ||
|- | |- | ||
|Jeffrey Amelynck | |Jeffrey Amelynck | ||
|hidnplayr | |[http://wiki.kolibrios.org/wiki/User:Hidnplayr hidnplayr] | ||
|Mentor | |Mentor | ||
|- | |- | ||
| | |Kirill Lipatov | ||
| | |[http://wiki.kolibrios.org/wiki/User:Leency Leency] | ||
|Mentor | |Mentor | ||
|- | |- | ||
| | |Serge Semenov | ||
| | |Serge | ||
|Mentor | |Mentor (only for Kernel Vulnerabilities task). | ||
|} | |} | ||
== Ideas == | == Ideas with appointed Mentor == | ||
=== Web browser === | === Kernel vulnerabilities === | ||
'''Summary:''' Find and fix as many kernel vulnerabilities as you can. | |||
'''Details:''' | |||
* Goal: Check the list of kernel API functions versus their actual implementation in KolibriOS kernel (for example, check that the function doesn't destroy register values if it declares in description that it doesn't). If you find a vulnerability, try to fix it so that it works according to API. If you cannot fix it yourself, document the vulnerability and describe the problem. | |||
* Language: Assembler/FASM | |||
* Skill level: Intermediate/Expert | |||
* Suggested by: Serge | |||
* Mentor: Serge '''(Is not always available to answer questions, so select this task only if you can work fairly independently.)''' | |||
=== Web browser (Option A) === | |||
'''Summary:''' Write a proper HTML web browser for KolibriOS | '''Summary:''' Write a proper HTML web browser for KolibriOS | ||
Line 48: | Line 59: | ||
* Secondary goal: Add certain elements of CSS, speed optimizations | * Secondary goal: Add certain elements of CSS, speed optimizations | ||
* Language: Assembler/FASM | * Language: Assembler/FASM | ||
* Skill level: Expert | |||
* Suggested by: Pretty much everyone in Kolibri | |||
* Mentor: SoUrcerer | |||
=== Web browser (Option B) === | |||
'''Summary:''' Complete porting of [http://www.netsurf-browser.org/ NetSurf] browser for KolibriOS | |||
'''Links:''' | |||
* [http://www.netsurf-browser.org/ NetSurf Website] | |||
* [http://board.kolibrios.org/viewtopic.php?f=40&t=2315 Work done so far on NetSurf port (in Russian)] | |||
'''Details:''' | |||
Our developer SoUrcerer started working on NetSurf browser port. Since he has no spare time, someone else needs to complete it. | |||
* Goal: Bring NetSurf browser port in KolibriOS to the point of 90-95% functionality, with all critical and major bugs fixed, and only minor or trivial bugs left | |||
* Language: C (may require writing a few lines in FASM assembly though, to port some libraries) | |||
* Skill level: intermediate/advanced | * Skill level: intermediate/advanced | ||
* Suggested by: Pretty much everyone in Kolibri | * Suggested by: Pretty much everyone in Kolibri | ||
* Mentor: SoUrcerer | |||
=== Font subsystem/Locales === | === Font subsystem/Locales === | ||
Line 59: | Line 86: | ||
* Skill level: intermediate/advanced | * Skill level: intermediate/advanced | ||
* Suggested by: XVilka/Wildwest | * Suggested by: XVilka/Wildwest | ||
* Mentor: XVilka | |||
=== | === Torrent client === | ||
'''Summary:''' | '''Summary:''' Write a (bit-)torrent client for KolibriOS | ||
'''Details:''' | '''Details:''' | ||
* | * Primary goal: Implement a torrent client similar to [http://www.utorrent.com/ µTorrent Free edition] | ||
* Language: Assembler/FASM | * Language: Assembler/FASM | ||
* Skill level: | * Skill level: intermediate/advanced | ||
* Suggested by: | * Suggested by: People on IRC | ||
* Mentor: hidnplayr | |||
=== Filesystem support === | === Filesystem support === | ||
Line 80: | Line 109: | ||
* Skill level: intermediate/advanced | * Skill level: intermediate/advanced | ||
* Suggested by: dunkaist | * Suggested by: dunkaist | ||
* Mentor: XVilka | |||
'''Notes:''' dunkaist wants to be a student for XFS support. | '''Notes:''' dunkaist wants to be a student for XFS support. | ||
Line 91: | Line 121: | ||
* Skill level: beginner/intermediate/advanced | * Skill level: beginner/intermediate/advanced | ||
* Suggested by: hidnplayr | * Suggested by: hidnplayr | ||
* Mentor: hidnplayr | |||
* | |||
=== USB drivers === | === USB drivers === | ||
Line 108: | Line 131: | ||
* Skill level: beginner/intermediate/advanced | * Skill level: beginner/intermediate/advanced | ||
* Suggested by: hidnplayr/Asper | * Suggested by: hidnplayr/Asper | ||
* Mentor: XVilka | |||
=== Improve Ethernet support === | === Improve Ethernet support === | ||
Line 118: | Line 142: | ||
* Skill level: beginner/intermediate/advanced | * Skill level: beginner/intermediate/advanced | ||
* Suggested by: hidnplayr | * Suggested by: hidnplayr | ||
* Mentor: hidnplayr | |||
* | |||
=== Printing/scanning API === | === Printing/scanning API === | ||
Line 137: | Line 153: | ||
* Skill level: intermediate/advanced | * Skill level: intermediate/advanced | ||
* Suggested by: hidnplayr | * Suggested by: hidnplayr | ||
* Mentor: SoUrcerer | |||
=== Music player === | |||
'''Summary:''' Improve the current music player in Kolibri. | |||
'''Details:''' | |||
* Primary goal: Rewrite the interface of the current music player, in assembler, and improve its functionality. | |||
* Secondary goal: Add more codec support (OGG/FLAC?) | |||
* Language: Assembler/FASM (C/C++ to port codec) | |||
* Skill level: beginner/intermediate/advanced | |||
* Suggested by: hidnplayr | |||
* Mentor: hidnplayr | |||
=== Installer === | |||
'''Summary:''' Add an installer to KolibriOS. | |||
'''Details:''' | |||
* Language: [http://c--sphinx.narod.ru/indexe.htm Sphinx C--] | |||
* Skill level: beginner/intermediate/advanced | |||
* Suggested by: asiekierka | |||
* Mentor: Leency | |||
== Open Ideas (without appointed mentor) == | |||
=== Widget toolkit === | === Widget toolkit === | ||
Line 145: | Line 184: | ||
* Skill level: beginner/intermediate/advanced | * Skill level: beginner/intermediate/advanced | ||
* Suggested by: XVilka | * Suggested by: XVilka | ||
* Mentor: ??? | |||
=== One core for graphics === | |||
'''Summary:''' On multi-core systems, dedicate one core for graphics rendering ONLY. | |||
=== | '''Details:''' | ||
'''Summary:''' | * Goal: Move graphics subsystem to a single, dedicated core if multicore machine detected. | ||
* Language: Assembler/FASM | |||
* Skill level: intermediate/advanced | |||
* Suggested by: Serge | |||
* Mentor: Serge(?) | |||
=== Partition editor === | |||
'''Summary:''' Add a partition/HDD editor utility. | |||
'''Details:''' | '''Details:''' | ||
* Language: Assembler/FASM | * Language: Assembler/FASM | ||
* Skill level: | * Skill level: intermediate/advanced | ||
* Suggested by: hidnplayr | * Suggested by: hidnplayr | ||
* Mentor: Mario(?) | |||
=== | === Rewrite "Table" in Assembler === | ||
'''Summary:''' | '''Summary:''' Rewrite a great Kolibri spreadsheet application [[Table]] from C++ to FASM | ||
'''Details:''' | '''Details:''' | ||
* Goal: Port Table (C++) to Assembler/FASM. | |||
* Language: Assembler/FASM | * Language: Assembler/FASM | ||
* Skill level: beginner/intermediate/advanced | * Skill level: beginner/intermediate/advanced | ||
* Suggested by: asiekierka | * Suggested by: Wildwest/asiekierka | ||
* Mentor: ??? |
Latest revision as of 16:55, 15 January 2016
Introduction
KolibriOS has applied as a mentoring organization for Google Summer of Code 2013, but got rejected by Google.
We did not rest our cases and took matter in own hands. Through Kickstarter we were able to collect the money required to organize our own summer of code.
This page contains our ideas list and some additional information for students and mentors. We will apply again in 2014 if Google runs the program next year.
Organization
You can find the organizers on the IRC channel (#kolibrios @ irc.freenode.net) or at our forum: http://board.kolibrios.org/
Name | Nickname | Role |
Yogev Ezra | yogev_ezra | Organization Administrator |
Anton Kochkov | XVilka | Mentor, Backup Administrator |
Dmitry Pereverzev | SoUrcerer | Mentor |
Jeffrey Amelynck | hidnplayr | Mentor |
Kirill Lipatov | Leency | Mentor |
Serge Semenov | Serge | Mentor (only for Kernel Vulnerabilities task). |
Ideas with appointed Mentor
Kernel vulnerabilities
Summary: Find and fix as many kernel vulnerabilities as you can.
Details:
- Goal: Check the list of kernel API functions versus their actual implementation in KolibriOS kernel (for example, check that the function doesn't destroy register values if it declares in description that it doesn't). If you find a vulnerability, try to fix it so that it works according to API. If you cannot fix it yourself, document the vulnerability and describe the problem.
- Language: Assembler/FASM
- Skill level: Intermediate/Expert
- Suggested by: Serge
- Mentor: Serge (Is not always available to answer questions, so select this task only if you can work fairly independently.)
Web browser (Option A)
Summary: Write a proper HTML web browser for KolibriOS
Links:
Details:
- Primary goal: Have mostly complete HTML4 support on a good enough level to read non-complex (mobile?) websites
- Secondary goal: Add certain elements of CSS, speed optimizations
- Language: Assembler/FASM
- Skill level: Expert
- Suggested by: Pretty much everyone in Kolibri
- Mentor: SoUrcerer
Web browser (Option B)
Summary: Complete porting of NetSurf browser for KolibriOS
Links:
Details: Our developer SoUrcerer started working on NetSurf browser port. Since he has no spare time, someone else needs to complete it.
- Goal: Bring NetSurf browser port in KolibriOS to the point of 90-95% functionality, with all critical and major bugs fixed, and only minor or trivial bugs left
- Language: C (may require writing a few lines in FASM assembly though, to port some libraries)
- Skill level: intermediate/advanced
- Suggested by: Pretty much everyone in Kolibri
- Mentor: SoUrcerer
Font subsystem/Locales
Summary: Add a font subsystem (with Unicode?) and locale support
Details:
- Primary goal: Add a font subsystem for multiple fonts, etc., standardize it and add keyboard layouts.
- Language: Assembler/FASM
- Skill level: intermediate/advanced
- Suggested by: XVilka/Wildwest
- Mentor: XVilka
Torrent client
Summary: Write a (bit-)torrent client for KolibriOS
Details:
- Primary goal: Implement a torrent client similar to µTorrent Free edition
- Language: Assembler/FASM
- Skill level: intermediate/advanced
- Suggested by: People on IRC
- Mentor: hidnplayr
Filesystem support
Summary: Improve filesystem support in KolibriOS
Details:
- Goals (you can do one or more of these, not all are necessary):
- * Add XFS read/write support
- * Add ext* writing support
- * Add NTFS writing support (if you really feel like it)
- Language: Assembler/FASM
- Skill level: intermediate/advanced
- Suggested by: dunkaist
- Mentor: XVilka
Notes: dunkaist wants to be a student for XFS support.
FTP client
Summary: Add an FTP client or FTP support to one of the file managers
Details:
- Goal: FTP access (download/upload/etc.)
- Language: Assembler/FASM
- Skill level: beginner/intermediate/advanced
- Suggested by: hidnplayr
- Mentor: hidnplayr
USB drivers
Summary: Add USB drivers for the new stack (gamepads, joysticks, tablets, etc.)
Details:
- Goal: USB drivers for the CleverMouse USB stack.
- Language: Assembler/FASM
- Skill level: beginner/intermediate/advanced
- Suggested by: hidnplayr/Asper
- Mentor: XVilka
Improve Ethernet support
Summary: Write more Ethernet drivers.
Details:
- Primary goal: Support for popular Broadcom, Atheros and Marvell Yukon cards.
- Secondary goal: Any Ethernet cards students and their mentors find.
- Language: Assembler/FASM
- Skill level: beginner/intermediate/advanced
- Suggested by: hidnplayr
- Mentor: hidnplayr
Printing/scanning API
Summary: Add a printing and scanning API and drivers.
Details:
- Primary goal: Design and code infrastructure for printing and scanning devices.
- Secondary goal: Write some USB drivers for it.
- Language: Assembler/FASM
- Skill level: intermediate/advanced
- Suggested by: hidnplayr
- Mentor: SoUrcerer
Music player
Summary: Improve the current music player in Kolibri.
Details:
- Primary goal: Rewrite the interface of the current music player, in assembler, and improve its functionality.
- Secondary goal: Add more codec support (OGG/FLAC?)
- Language: Assembler/FASM (C/C++ to port codec)
- Skill level: beginner/intermediate/advanced
- Suggested by: hidnplayr
- Mentor: hidnplayr
Installer
Summary: Add an installer to KolibriOS.
Details:
- Language: Sphinx C--
- Skill level: beginner/intermediate/advanced
- Suggested by: asiekierka
- Mentor: Leency
Open Ideas (without appointed mentor)
Widget toolkit
Summary: Extend Box_lib to create a widget toolkit for software.
Details:
- Language: Assembler/FASM
- Skill level: beginner/intermediate/advanced
- Suggested by: XVilka
- Mentor: ???
One core for graphics
Summary: On multi-core systems, dedicate one core for graphics rendering ONLY.
Details:
- Goal: Move graphics subsystem to a single, dedicated core if multicore machine detected.
- Language: Assembler/FASM
- Skill level: intermediate/advanced
- Suggested by: Serge
- Mentor: Serge(?)
Partition editor
Summary: Add a partition/HDD editor utility.
Details:
- Language: Assembler/FASM
- Skill level: intermediate/advanced
- Suggested by: hidnplayr
- Mentor: Mario(?)
Rewrite "Table" in Assembler
Summary: Rewrite a great Kolibri spreadsheet application Table from C++ to FASM
Details:
- Goal: Port Table (C++) to Assembler/FASM.
- Language: Assembler/FASM
- Skill level: beginner/intermediate/advanced
- Suggested by: Wildwest/asiekierka
- Mentor: ???