| ### Summer Projects for Google Summer of Code |
| |
| * Port the FlightGear flight simulator to Native Client. See |
| http://www.flightgear.org. |
| * Port the Frets on Fire music game to Native Client. See: |
| http://fretsonfire.sourceforge.net. |
| * Port the Freeciv game to Native Client. See http://freeciv.net. |
| * Port the MAME arcade game simulator to Native Client. See |
| http://mamedev.org. |
| * Port the GIMP image editor to Native Client. See http://www.gimp.org/source. |
| * Port SQLite to Native Client. See http://sqlite.org/ |
| * Implement deterministic execution for Native Client. Difficulty: Very Hard |
| * Create a test suite for Basic Platform Independent NPAPI. See |
| https://wiki.mozilla.org/Plugins:PlatformIndependentNPAPI Difficulty: Hard |
| * Create a tests suite for Platform Independent NPAPI. Subprojects: 2D, |
| Events. See https://wiki.mozilla.org/Plugins:PlatformIndependentNPAPI. |
| Difficulty: Hard |
| * Create a tests suite for media Platform Independent NPAPI. Subprojects: 2D, |
| Events. See https://wiki.mozilla.org/Plugins:PlatformIndependentNPAPI. |
| Difficulty: Very Hard |
| |
| ### General Project Areas |
| |
| ### Testing |
| |
| * Contribute tests. We always need more tests. |
| * Write fuzzing tests for Native Client module interfaces. |
| * Write fuzzing tests for the validator. |
| |
| ### Application Development |
| |
| Port a Linux open source game to Native Client. Here's a couple relevant lists: |
| * http://en.wikipedia.org/wiki/List_of_open-source_video_games * |
| http://en.wikipedia.org/wiki/List_of_video_game_console_emulators |
| |
| Start work on one of the obvious applications: * image editor * drawing program |
| (remember MacDraw?) * spreadsheet * speech recognition or synthesis |
| |
| ### Infrastructure |
| |
| Port a popular open source Linux library to Native Client. See |
| native\_client\_sdk for some libraries we've already ported. * Port SWIG to |
| generate Native Client stubs on top of the Native Client IMC. This could help us |
| allow languages like Python to make calls into the browser/JavaScript |
| environment * Port GTK to Native Client * Port something a lot easier than SWIG |
| or GTK |
| |
| Port your favorite language system to Native Client. Awk, Lua, Python, Ruby, |
| have been ported or are underway. * Port gcj or other interpreted Java system to |
| Native Client. * Port a new compiler/language to Native Client: ML, Lisp, |
| Scheme, Smalltalk, Prolog, Cobal, Fortran. * Develop a NPAPI/Pepper interface |
| for one of these languages. |