Getting involved in OLPC: Difference between revisions

From OLPC
Jump to navigation Jump to search
Line 59: Line 59:
If you know English and one other language, you can ensure that software works in your non-English language by translating strings. You can currently do that either by using your favorite PO file editor or through a piece of web-based software like [https://launchpad.net/rosetta Rosetta] or other systems you may be familiar with that will also get upstream.
If you know English and one other language, you can ensure that software works in your non-English language by translating strings. You can currently do that either by using your favorite PO file editor or through a piece of web-based software like [https://launchpad.net/rosetta Rosetta] or other systems you may be familiar with that will also get upstream.


There are numerous projects in Asia and Africa to localize Linux into one or more of the languages of the country. Check with the Linux User Groups and other such organizations in the countries concerned, such as [http://www.indlinux.org/ IndLinux] in India and [http://www.translate.org.za translate.org.za] in South Africa. If there isn't a project for your language, you can start one, even if you aren't a programmer.
There are numerous projects in Asia and Africa to localize Linux into one or more of the languages of the country. Check with the Linux User Groups and other such organizations in the countries concerned, such as [http://www.indlinux.org/ IndLinux] in India and [http://www.translate.org.za translate.org.za] in South Africa. If there isn't a project for your language, you can start one, even if you aren't a programmer. A good resource for Unicode fonts is the [[http://www.unifont.org/fontguide/ Unicode font guide]].


Additionally, we need as much information as possible on easily making this system work with different [[input methods]] for different languages. If you input a language other than English please create a new wiki page with information on what software and fonts are necessary or best for inputting and displaying text in a language of your choice.
We need as much information as possible on easily making this system work with different [[input methods]] and their associated keyboard layouts and Input Method Editors (IMES) for different [[languages]] and [[writing systems]], whether alphabetic, syllabic, or logographic. If you input a language other than English in a writing system other than Latin alphabet, please check the wiki page for the language and the writing system, and add information on what software and [[Unicode]] [[fonts]] are necessary or best for inputting and displaying text.


Note that [http://www.unicode.org/charts/ Unicode code charts] for all of these [[writing systems]] are available online in PDF format, so you can see the characters even if you don't have a matching font installed on your computer.
Note that [http://www.unicode.org/charts/ Unicode code charts] for all of these writing systems are available online in PDF format, so you can see the characters even if you don't have a matching font installed on your computer.


About 30 writing systems are used for at least one modern national language. Linux systems now routinely come with support for more than 20 of them, lacking mainly Mongolian, Khmer, Myanmar, Thaana, Lao, and Sinhala, all of which are in development. There are free tools for making keyboard layouts for any language and writing system. There are also large Unicode fonts such as [http://home.att.net/~jameskass/code2000_page.htm Code2000] with the characters for these and even more writing systems.
Please create the page to match one of these links:

[[Extended Latin]]

[[Arabic]]

[[Hebrew]] -- Yiddish, Ladino, etc.

[[Cyrillic]] (Кирилица) -- Russian, Bulgarian, Serbian, Macedonian, Ukrainian, Kazakh and other Turkic languages, etc.

[[Greek]] -- and [[Coptic]]

[[Armenian]]

[[Georgian]]

[[Farsi]] -- Dari, Urdu, etc.

[[Syriac]] -- Liturgical language

[[Ethiopic]] -- For Languages of Ethiopia using Ethiopic alphabet. Amharic, Tigrigna, Oromo, Gurage...etc

[[Thaana]] -- for the Dhivehi language of the Republic of Maldives

[[Devanagari]] -- Hindi, Marathi, Nepali etc.

[[Bengali]]

[[Gujarati]]

[[Gurmukhi]] -- for Punjabi

[[Kannada]]

[[Malayalam]]

[[Oriya]]

[[Tamil]]

[[Telugu]]

[[Urdu]]

[[Sinhala]] -- (Sri Lanka)

[[Myanmar]]

[[Thai]]

Lao [[ພາສາລາວ]]

[[Khmer]] (Cambodia)

[[Tibetan]] -- Tibetan, Dzongkha (Bhutan)

[[Mongolian]]

[[Traditional Chinese]]

[[Simplified Chinese]]

[[Japanese]]

[[Korean]]

[[Cherokee]]

[[Canadian Aboriginal Syllabics]]

[[Yi]]

[[Braille]]

[[Limbu]]

[[Tai Le]]

[[Philippine Scripts]]

[[Osmanya]]

[[Math]]

[[APL]]

[[Dead and Artificial Scripts]]

and any others you might know.

Linux systems now routinely come with support for 20 or more of these writing systems, and there are free tools for making keyboard layouts for any language and writing system. There are also large Unicode fonts such as [http://home.att.net/~jameskass/code2000_page.htm Code2000] with the characters for even more writing systems.


Windows and Macintosh also support many writing systems with fonts and keyboards.
Windows and Macintosh also support many writing systems with fonts and keyboards.

Revision as of 22:19, 31 July 2006

  This page is monitored by the OLPC team.

There are many ways to get involved in OLPC. At the moment, the project is still getting off of the ground so the ways to get involved are more limited. With time, the ways to get involved will be more numerous and better documented.

Places to Help

There a number of different places where users can contribute to OLPC. This list currently only reflects the software related contributions although, with time, will also include many ideas for people to contribute in non-software ways as well.

Upstream Free Software Projects

Countries that adopt the OLPC hardware platform will be using a variety of different pieces of existing free and open source software. While the final list has not yet been determined, we feel reasonably comfortable that most countries will include the following pieces of software which will be included in the proof-of-concept base system:

Through Other Education GNU/Linux Projects

We aim to build off the work of other projects aiming to bring the best of GNU/Linux to the free software world. Work in these projects is a great way to get involved in making a real difference in free software for education that will be easily importable to the work on the OLPC project. If you are planning to develop an application or courseware for the OLPC, then you should use the OLPC Python Environment to build it.

Through OLPC Software Itself

At the moment, most of *our* work is being done in the upstream system. However, with time, more and more work will be pushed into our community. You can monitor this work by:

Through Fedora Core's OLPC projects

Skilled developers who have experience programming C or C++ and who are not afraid of getting involved with low-level details, should visit the OLPC Project Development Streams at the Fedora Project Wiki.

Ways to Help

Work on the software can fall into a number of types of work detailed below.

Quality Assurance and Bugs

You should use the software that we will use and you report bugs. In addition to simple functionality and usability bugs, you can also look for performance and optimization related bugs. Due to our memory and disk constraints, we need to be much pickier about certain types of inefficiency in software than many other users of free and open source software.

Please add OLPC bugs filed in other bug-tracking system to this wikipage.

Server Side Solutions

There are many different pieces of only learning or "courseware" software out there. Writing a detailed review of the strength and weakness of different courseware systems is one great way to help contribute to the knowledge base around the project. Please add such reviews to the OLPC Courseware Review page.

Translation and Internationalization

If you know English and one other language, you can ensure that software works in your non-English language by translating strings. You can currently do that either by using your favorite PO file editor or through a piece of web-based software like Rosetta or other systems you may be familiar with that will also get upstream.

There are numerous projects in Asia and Africa to localize Linux into one or more of the languages of the country. Check with the Linux User Groups and other such organizations in the countries concerned, such as IndLinux in India and translate.org.za in South Africa. If there isn't a project for your language, you can start one, even if you aren't a programmer. A good resource for Unicode fonts is the [Unicode font guide].

We need as much information as possible on easily making this system work with different input methods and their associated keyboard layouts and Input Method Editors (IMES) for different languages and writing systems, whether alphabetic, syllabic, or logographic. If you input a language other than English in a writing system other than Latin alphabet, please check the wiki page for the language and the writing system, and add information on what software and Unicode fonts are necessary or best for inputting and displaying text.

Note that Unicode code charts for all of these writing systems are available online in PDF format, so you can see the characters even if you don't have a matching font installed on your computer.

About 30 writing systems are used for at least one modern national language. Linux systems now routinely come with support for more than 20 of them, lacking mainly Mongolian, Khmer, Myanmar, Thaana, Lao, and Sinhala, all of which are in development. There are free tools for making keyboard layouts for any language and writing system. There are also large Unicode fonts such as Code2000 with the characters for these and even more writing systems.

Windows and Macintosh also support many writing systems with fonts and keyboards.

Curriculum Work

While ultimately, the work on curricula will be done by the ministries of education who buy this, there are several efforts underway to explore some of the education potential from this project. These projects include:

Programming

If you can write code, you can focus either on fixing our bugs or by building up or creating new types of education applications. There is no guarantee that anything will be on every or any machines but a compelling system stands to make a real difference.

(It would be really cool if the devices were made available to developers. Say at twice the current going rate. This way each developer that bought one would not only be contributing code that made the devices more valuable, but would be making another device available to someone in need at the same time.)

Feedback and Ideas

The best way to get things done in this project or to push it in a good direction is to get involved and help push it yourself. That said, feedback is still welcome. You can add ideas to the OLPC Idea Pool.