Google Summer of Code 2014: Difference between revisions
Yogev ezra (talk | contribs) |
Yogev ezra (talk | contribs) No edit summary |
||
Line 22: | Line 22: | ||
|Ivan Baravy | |Ivan Baravy | ||
|[[User:dunkaist|dunkaist]] | |[[User:dunkaist|dunkaist]] | ||
|Mentor | |||
|- | |||
|Sergey Sakhno | |||
|[[User:Punk Joker|punk_joker]] | |||
|Mentor | |Mentor | ||
|- | |- | ||
Line 93: | Line 97: | ||
* Skill level: intermediate/advanced | * Skill level: intermediate/advanced | ||
* Suggested by: hidnplayr | * Suggested by: hidnplayr | ||
* | * Mentors: hidnplayr / dunkaist | ||
=== Web browser: Netsurf === | |||
'''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)]. If you don't know Russian, you can read [http://translate.google.com/translate?hl=en&sl=ru&tl=en&u=http%3A%2F%2Fboard.kolibrios.org%2Fviewtopic.php%3Ff%3D40%26t%3D2315 English translation using Google-Translate] | |||
'''Details:''' | |||
Our developer [[User:SoUrcerer|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. First job would be fixing/enhancing the build system. | |||
* 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 | |||
* Mentors: punk_joker / hidnplayr | |||
=== Web browser: HTMLv === | |||
'''Summary:''' Improve existing text-only web browser HTMLv - add more functionality and compatibility. | |||
'''Links:''' | |||
* [http://www.w3.org/TR/REC-html40/ HTML 4.01 Specification] | |||
* [http://board.kolibrios.org/viewtopic.php?f=40&t=1075 Work done so far on HTMLv (mostly in Russian)]. If you don't know Russian, you can read [http://translate.google.com/translate?hl=en&sl=ru&tl=en&u=http%3A%2F%2Fboard.kolibrios.org%2Fviewtopic.php%3Ff%3D40%26t%3D1075 English translation using Google-Translate] | |||
'''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: [http://c--sphinx.narod.ru/indexe.htm Sphinx C--]. May require writing a few lines in FASM though. | |||
* Skill level: intermediate/advanced | |||
* Suggested by: Leency / hidnplayr | |||
* Mentors: punk_joker / hidnplayr | |||
== Open Ideas (without appointed mentor) == | == Open Ideas (without appointed mentor) == | ||
Line 156: | Line 191: | ||
* Language: Assembler/FASM | * Language: Assembler/FASM | ||
* Skill level: Expert | * Skill level: Expert | ||
* Suggested by: Pretty much everyone in Kolibri | * Suggested by: Pretty much everyone in Kolibri | ||
* Mentor: SoUrcerer | * Mentor: SoUrcerer | ||
Line 203: | Line 223: | ||
* Suggested by: hidnplayr | * Suggested by: hidnplayr | ||
* Mentor: SoUrcerer | * Mentor: SoUrcerer | ||
Revision as of 16:31, 6 February 2014
Introduction
KolibriOS is going to apply as a mentoring organization for Google Summer of Code 2014. This page contains our ideas list and some additional information for students and mentors.
Last year, we have run an independent Summer of Code using money we collected with Kickstarter. Two students have worked on KolibriOS, and the results of 2013 Summer of Code were: adding write support for EXT2 filesystem, and adding (read-only) support for XFS filesystem.
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 |
Jeffrey Amelynck | hidnplayr | Mentor, Backup Administrator |
Ivan Baravy | dunkaist | Mentor |
Sergey Sakhno | punk_joker | Mentor |
Ideas with appointed Mentor
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:
- Primary goal: Add Read-only support for the UDF filesystem.
- Additional goal #1: Add Write support for the UDF filesystem
- Additional goal #2: Add Write support for the NTFS filesystem (read-only support already exists)
- Language: Assembler/FASM
- Skill level: intermediate/advanced
- Suggested by: dunkaist
- Mentor: dunkaist
FTP client
Summary: Create a GUI based FTP client or add FTP support to one of the existing file managers
Details:
- Primary goal: FTP access (download/upload/etc.)
- Additional goal: Create an FTP client library.
- Language: Assembler/FASM
- Skill level: beginner/intermediate
- Suggested by: hidnplayr
- Mentor: hidnplayr
Improve Ethernet support
Summary: Write more Ethernet drivers.
Details:
- Primary goal: Support for popular Broadcom, Atheros and/or Marvell Yukon cards. (pick 2)
- Additional goals: Any Ethernet cards students and their mentors find.
- Language: Assembler/FASM
- Skill level: intermediate/advanced
- Suggested by: hidnplayr
- Mentor: hidnplayr
Music player
Summary: Improve the current music player in Kolibri.
Details:
- Primary goal: Rewrite the current music player (ac97snd), in FASM, and improve its functionality.
- * Support for file formats wav, mp3 an xm (using available external libraries).
- * Support for playlists (m3u).
- * A time display.
- Additional goals:
- * Use of system wide hotkeys to control player
- * Support for metadata (ID3, ...)
- * More codecs (flac, vorbis, ...)
- * Audio indication (oscillograph, bar graph, ...)
- * Show cover art from files or album folder
- * Fade in/out and/or crossover
- * Streaming radio (at least mp3 over http stream)
- * Skins
- * Media library
- Language: Assembler/FASM (C/C++ to port codec)
- Skill level: intermediate/advanced
- Suggested by: hidnplayr
- Mentors: hidnplayr / dunkaist
Web browser: Netsurf
Summary: Complete porting of NetSurf browser for KolibriOS
Links:
- NetSurf Website
- Work done so far on NetSurf port (in Russian). If you don't know Russian, you can read English translation using Google-Translate
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. First job would be fixing/enhancing the build system.
- 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
- Mentors: punk_joker / hidnplayr
Web browser: HTMLv
Summary: Improve existing text-only web browser HTMLv - add more functionality and compatibility.
Links:
- HTML 4.01 Specification
- Work done so far on HTMLv (mostly in Russian). If you don't know Russian, you can read English translation using Google-Translate
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: Sphinx C--. May require writing a few lines in FASM though.
- Skill level: intermediate/advanced
- Suggested by: Leency / hidnplayr
- Mentors: punk_joker / hidnplayr
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: ???
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 in FASM
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
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
USB drivers
Summary: Add USB drivers for the new USB stack (gamepads, joysticks, tablets, etc.)
Details:
- Goal: USB driver(s) for currently unsupported devices.
- Language: Assembler/FASM
- Skill level: beginner/intermediate/advanced
- Suggested by: hidnplayr/Asper
- Mentor: XVilka
Printing/scanning API
Summary: Add a printing and scanning API and drivers.
Details:
- Primary goal: Design and code infrastructure for printing and scanning devices.
- Language: Assembler/FASM
- Skill level: intermediate/advanced
- Suggested by: hidnplayr
- Mentor: SoUrcerer