Getting involved in OLPC: Difference between revisions
(Get rid of random software references to software we don't use.) |
|||
(29 intermediate revisions by 22 users not shown) | |||
Line 1: | Line 1: | ||
{{Obsolete|link=[[Participate]]}} |
|||
{{OLPC}} |
|||
{{merge|Participate}} |
|||
<noinclude>{{Translations}}</noinclude> |
|||
There are a number of different places where users can contribute to OLPC. This list currently highlights software and text related contributions, though there is a need for active volunteers to help us connect with specific countries and organizations as well. |
|||
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. |
|||
== Software development == |
|||
=Places to Help = |
|||
==== OLPC core software ==== |
|||
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. |
|||
The OLPC core software includes the firmware ([[Open Firmware]]), operating system (Linux, Fedora 7), and various other large Open Source projects. Much of the core development work of the OLPC goes on within these "upstream" development projects, so contributing to them will often help the OLPC project. |
|||
==Upstream Free Software Projects== |
|||
We also write a lot of custom software, primarily the [[Sugar]] GUI shell and its services. You can monitor work taking place within our community by: |
|||
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: |
|||
* Watching our [[News]] and [[Main Page]] |
|||
* GNU/Linux system with Linux Kernel with [http://developer.axis.com/software/jffs/ JFFS] |
|||
* Joining to the #olpc, #olpc-content, and #sugar channels on [http://wikipedia.org/wiki/IRC irc.freenode.net] |
|||
* [http://www.firefox.com/ Mozilla Firefox] |
|||
* Sharing your own software on [http://dev.laptop.org our developer's site] by fixing bugs, working on enhancements, reporting bugs, etc. |
|||
* [[GECKO]] |
|||
* [[xulrunner]] |
|||
* [http://www.x.org/ X Window System] |
|||
* [http://www.abiword.com/ Abiword] and [http://www.gnome.org/projects/gnumeric/ Gnumeric] |
|||
* Many GNOME libraries (although not the entire gnome project) including: |
|||
** [http://www.gtk.org/ GTK+] |
|||
** [http://www.pango.org/ Pango] |
|||
* [http://www.gnome.org/projects/evince/ Evince] |
|||
* [[D-BUS]] |
|||
* [[Cairo]] |
|||
* [[Sugar]] |
|||
* Local [[keyboard layouts]], [[Unicode]] [[fonts]], [[dictionaries]], if available. |
|||
If you are interested in developing software specifically for the OLPC project the [[Developers|Developer's Manual]] provides guidance on how to get started and integrate your project into the community. |
|||
==Through Other Education GNU/Linux Projects== |
|||
See also the [[:Category:Developers]]. |
|||
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. |
|||
=== Fedora community and projects === |
|||
==Through OLPC Software Itself== |
|||
Skilled developers who have experience programming C or C++ and who are not afraid of getting involved with low-level details, should visit the [http://fedoraproject.org/wiki/OLPC/Projects OLPC Project Development Streams] at the Fedora Project Wiki. |
|||
===Upstream Free Software Projects=== |
|||
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: |
|||
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, most countries will include the following pieces of software which will be included in ongoing deployment base systems: |
|||
* Watching the [[One Laptop per Child]] page in the Pedia.Media Wiki,. |
|||
* Joining to the #olpc or #sugar channel on [http://wikipedia.org/wiki/IRC irc.freenode.net] |
|||
* Contributing to the development of the software on [http://dev.laptop.org our developer's site] by fixing bugs, working on enhancements, reporting bugs, etc. |
|||
* Watching the website at http://www.laptop.org for details. |
|||
* GNU/Linux system with Linux Kernel with [http://en.wikipedia.org/wiki/JFFS2 JFFS2] |
|||
==Through [[Fedora Core]]'s OLPC projects== |
|||
* the [[Gecko]] renderer, as used in [http://www.firefox.com/ Mozilla Firefox], embedded in [[xulrunner]]. |
|||
* [http://www.x.org/ X Window System], [[D-BUS]], and [[Cairo]] |
|||
* [http://www.abiword.com/ Abiword] and [http://www.gnome.org/projects/gnumeric/ Gnumeric] |
|||
* Many GNOME libraries including [http://www.gtk.org/ GTK+] and [http://www.pango.org/ Pango] |
|||
* Our own [[Sugar]] interface project |
|||
* Book reader projects, such as [http://www.gnome.org/projects/evince/ Evince] |
|||
* Local [[keyboard layouts]], [[Unicode]] [[fonts]], [[dictionaries]], if available. |
|||
For each deployment location, OLPC staff will also work with local administrators and volunteers to develop a consistent set of 'core bundled activities'. To be installed on all base-software laptops deployed in that area. For examples, see [[Peru bundled activities]] and [[G1G1 bundled activities]]. |
|||
Skilled developers who have experience programming C or C++ and who are not afraid of getting involved with low-level details, should visit the [http://fedoraproject.org/wiki/OLPC/Projects OLPC Project Development Streams] at the Fedora Project Wiki. |
|||
OLPC plans to build off the work of other projects. Aiming to bring the best of GNU/Linux and the free software world to the OLPC program. Work in these projects is a great way to get involved in making a real difference in education especially in developing country learning in environments. If you are planning to develop an application or course ware for the OLPC, then you should use the [[OLPC Python Environment]] to build it. |
|||
You can check the [[:Category:Developers]]. |
|||
== |
== Quality Assurance and Bug tracking == |
||
You are under 26 ? Team up with 2 other friends and we have an airplane ticket waiting for you to participate in the next international OLPC-Youth initiative. More info: |
|||
http://it4yi-wiki.skn.wsinf.edu.pl/YouthandtheOLPCinitiative |
|||
=Ways to Help= |
|||
Work on the software can fall into a number of types of work detailed below. |
|||
==Quality Assurance and Bugs== |
|||
[http://dev.laptop.org/ OLPC bug tracking system]: |
[http://dev.laptop.org/ OLPC bug tracking system]: |
||
Line 60: | Line 46: | ||
Please add OLPC bugs filed in other bug-tracking system to [http://dev.laptop.org our bug tracking system]. |
Please add OLPC bugs filed in other bug-tracking system to [http://dev.laptop.org our bug tracking system]. |
||
==Server |
== Server and classroom solutions == |
||
There are many different pieces of only learning or "courseware" software out there. |
There are many different pieces of only learning or "courseware" software out there. We are working on specific options for [[School server]] implementations with each country. You can help by writing reviews of different school tools, courseware systems, and specific courseware. Please add these to the [[OLPC Courseware Review]] page. |
||
You can contact [[user:Lauren|Lauren]] and [[User:Sj|Sj]] for ideas and details on classroom and library tools. |
|||
==Translation and Internationalization== |
|||
== Curriculum and content development == |
|||
If you know English and another 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. |
|||
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: |
|||
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. See also the [http://www.iosn.net/l10n/foss-localization-primer/ IOSN/UNDP FOSS Localization Primer], an introduction to localizing Linux. |
|||
* [[Benjamin Mako Hill]]'s [http://mako.cc/copyrighteous/projects/20061030-00.html Software Freedom Curriculum] which will (very soon) be available on [http://en.wikibooks.org Wikibooks], an open textbook project. |
|||
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 relevant wiki articles, including [[countries]], [[keyboard layouts]], [[writing systems]], and [[fonts]], and add information on what software and [[Unicode]] [[fonts]] are necessary or best for inputting and displaying text. |
|||
* [[OLPC Publications]] has links to proposed outlines of books for teacher training and developing XO software. |
|||
About 30 writing systems are used for at least one modern national language. Linux systems now routinely come with support for almost all of them, lacking only [[Mongolian]] alphabet, which is in development. There are free tools for making keyboard layouts for any language and writing system. |
|||
Windows XP lacks Mongolian, Ethiopian, Oriya, Laotian, Burmese, Cambodian, and Tibetan. |
|||
=== Translation and internationalization === |
|||
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. |
|||
If you know English and another language, you can help us by translating software interfaces and our core library. You can do some of this with your favorite PO file editor or through a piece of web-based software like our [http://dev.laptop.org/translate/ translation portal], where you can register and join any existing localization group. There is also a project to [[Localization|localize this Wiki]]. For updates, please sign up for the [http://lists.laptop.org/listinfo/localization Localization mailing list]. |
|||
A good resource for Unicode fonts is the [http://www.unifont.org/fontguide/ Unicode font guide]. There are large Unicode fonts such as [http://home.att.net/~jameskass/code2000_page.htm Code2000] with the characters for most writing systems. Windows and Macintosh also support many writing systems with fonts and keyboards. |
|||
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. |
|||
==Curriculum Work== |
|||
: See also the [http://www.iosn.net/l10n/foss-localization-primer/ IOSN/UNDP FOSS Localization Primer], an introduction to localizing Linux. |
|||
== Writing systems and input methods == |
|||
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: |
|||
We need as much information as possible on easily making this system work with different [[input methods]] and associated [[keyboard layouts]] and Input Method Editors (IMES), whether alphabetic, syllabic, or logographic. If you input a language other than English in a writing system other than Latin alphabet, please check the relevant wiki articles, including [[countries]], [[keyboard layouts]], [[writing systems]], and [[fonts]], and add information on what software and [[Unicode]] [[fonts]] are necessary for inputting and displaying text. |
|||
About 30 writing systems are used for at least one modern national language. Linux systems now routinely come with support for almost all of them, lacking only [[Mongolian]] alphabet, which is in development. There are free tools for making keyboard layouts for any language and writing system. |
|||
* [[Benjamin Mako Hill]]'s [http://mako.cc/copyrighteous/projects/20061030-00.html Software Freedom Curriculum] which will (very soon) be available on [http://en.wikibooks.org Wikibooks], an open textbook project. |
|||
Windows XP lacks Mongolian, Ethiopian, Oriya, Laotian, Burmese, Cambodian, and Tibetan. |
|||
==Programming== |
|||
[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. |
|||
If you can write code, you can focus either on fixing [http://dev.laptop.org/query 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. |
|||
A good resource for Unicode fonts is the [http://www.unifont.org/fontguide/ Unicode font guide]. There are large Unicode fonts such as [http://home.att.net/~jameskass/code2000_page.htm Code2000] with the characters for most writing systems. Windows and Macintrash also support many writing systems with fonts and keyboards. |
|||
(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.) |
|||
== More ways to help == |
|||
:Developers working on hardware can get Laptops. You don't need the hardware to develop applications, just the [[Sugar]] development environment.--[[User:Mokurai|Mokurai]] 20:41, 4 November 2006 (EST) |
|||
Work on the software can fall into a number of types of work detailed below. |
|||
==Non-OLPC Projects== |
|||
:Developers working on hardware and some softwware developers can get laptops, but you don't need the hardware to develop applications, just the [[Sugar]] development environment, which can be [[emulation|emulated]] on any other system. |
|||
See also [[Earth Treasury]], which proposes to link schools for educational and business opportunities. |
|||
* Buying laptops for a poorer country, or funding national Internets. |
|||
* Localizing Free Software. |
|||
===Satellite projects=== |
|||
''See also [[101 Things To Do]] and [[Earth Treasury]].'' |
|||
There are many related projects that also need help, and could be usefully connected to OLPC's efforts through active contributors. These include: |
|||
* Buying laptops for a poorer country, or funding national Internet connectivity. |
|||
* Creating more content on the Web in as many [[languages]] as possible. |
* Creating more content on the Web in as many [[languages]] as possible. |
||
* Localizing your favorite Free Software projects. |
|||
* Connecting emigrants and expatriates to their home [[countries]] and communities. |
* Connecting emigrants and expatriates to their home [[countries]] and communities. |
||
* Connecting schools in your country with schools in another country, including students, teachers, and communities. |
* Connecting schools in your country with schools in another country, including students, teachers, and communities. |
||
* Connecting all sorts of other organizations: Linux User Groups, churches (of any religion), service organizations, the PTA,...to developing country schools, hospitals, churches (of any religion), refugee camps, orphanages,... |
* Connecting all sorts of other organizations: OLPC User Groups, Linux User Groups, churches (of any religion), service organizations, the PTA,...to developing country schools, hospitals, churches (of any religion), refugee camps, orphanages,... |
||
* Creating a curriculum around global connections, using new resources to update coursework in all relevant subjects: languages, literature, history, geography, economics, art, music, biology, health, statistics, civics, home economics,... |
* Creating a curriculum around global connections, using new resources to update coursework in all relevant subjects: languages, literature, history, geography, economics, art, music, biology, health, statistics, civics, home economics,... |
||
* Working with organizations such as Junior Achievement on international business opportunities and business education for schoolchildren. |
* Working with organizations such as Junior Achievement on international business opportunities and business education for schoolchildren. |
||
Line 107: | Line 101: | ||
* Community health interventions along the lines of Partners in Health or Sarvodaya. |
* Community health interventions along the lines of Partners in Health or Sarvodaya. |
||
* Work on international relations, including your own country, any treaty organizations it belongs to, and more general legal frameworks for ecology, economic development, Intellectual Property, and human rights. |
* Work on international relations, including your own country, any treaty organizations it belongs to, and more general legal frameworks for ecology, economic development, Intellectual Property, and human rights. |
||
* Peace in Sudan, Somalia, Central African Republic, Iraq, Afghanistan, Israel and Palestinian territories, Northern Ireland, Sri Lanka... |
* Peace in Sudan, Somalia, [[Central African Republic]], Iraq, Afghanistan, Israel and Palestinian territories, Northern Ireland, Sri Lanka... |
||
* Freedom in North Korea, Burma, Zimbabwe,... |
|||
* Creating new human rights, to health, to information, and more. |
* Creating new human rights, to health, to information, and more. |
||
* Starting more microbanking institutions. |
* Starting more microbanking institutions. |
||
* |
* Get involved in [http://www.villagecomputing.org/ Village Computing] projects with organizations like Sarvodaya and Grameen Communications. |
||
See also [[101 Things To Do]]. |
|||
==Feedback and Ideas== |
==Feedback and Ideas== |
Latest revision as of 15:13, 4 September 2013
There are a number of different places where users can contribute to OLPC. This list currently highlights software and text related contributions, though there is a need for active volunteers to help us connect with specific countries and organizations as well.
Software development
OLPC core software
The OLPC core software includes the firmware (Open Firmware), operating system (Linux, Fedora 7), and various other large Open Source projects. Much of the core development work of the OLPC goes on within these "upstream" development projects, so contributing to them will often help the OLPC project.
We also write a lot of custom software, primarily the Sugar GUI shell and its services. You can monitor work taking place within our community by:
- Watching our News and Main Page
- Joining to the #olpc, #olpc-content, and #sugar channels on irc.freenode.net
- Sharing your own software on our developer's site by fixing bugs, working on enhancements, reporting bugs, etc.
If you are interested in developing software specifically for the OLPC project the Developer's Manual provides guidance on how to get started and integrate your project into the community.
See also the Category:Developers.
Fedora community and 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.
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, most countries will include the following pieces of software which will be included in ongoing deployment base systems:
- GNU/Linux system with Linux Kernel with JFFS2
- the Gecko renderer, as used in Mozilla Firefox, embedded in xulrunner.
- X Window System, D-BUS, and Cairo
- Abiword and Gnumeric
- Many GNOME libraries including GTK+ and Pango
- Our own Sugar interface project
- Book reader projects, such as Evince
- Local keyboard layouts, Unicode fonts, dictionaries, if available.
For each deployment location, OLPC staff will also work with local administrators and volunteers to develop a consistent set of 'core bundled activities'. To be installed on all base-software laptops deployed in that area. For examples, see Peru bundled activities and G1G1 bundled activities.
OLPC plans to build off the work of other projects. Aiming to bring the best of GNU/Linux and the free software world to the OLPC program. Work in these projects is a great way to get involved in making a real difference in education especially in developing country learning in environments. If you are planning to develop an application or course ware for the OLPC, then you should use the OLPC Python Environment to build it.
Quality Assurance and Bug tracking
OLPC bug tracking system: 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 our bug tracking system.
Server and classroom solutions
There are many different pieces of only learning or "courseware" software out there. We are working on specific options for School server implementations with each country. You can help by writing reviews of different school tools, courseware systems, and specific courseware. Please add these to the OLPC Courseware Review page.
You can contact Lauren and Sj for ideas and details on classroom and library tools.
Curriculum and content development
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:
- Benjamin Mako Hill's Software Freedom Curriculum which will (very soon) be available on Wikibooks, an open textbook project.
- OLPC Publications has links to proposed outlines of books for teacher training and developing XO software.
Translation and internationalization
If you know English and another language, you can help us by translating software interfaces and our core library. You can do some of this with your favorite PO file editor or through a piece of web-based software like our translation portal, where you can register and join any existing localization group. There is also a project to localize this Wiki. For updates, please sign up for the Localization mailing list.
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.
- See also the IOSN/UNDP FOSS Localization Primer, an introduction to localizing Linux.
Writing systems and input methods
We need as much information as possible on easily making this system work with different input methods and associated keyboard layouts and Input Method Editors (IMES), whether alphabetic, syllabic, or logographic. If you input a language other than English in a writing system other than Latin alphabet, please check the relevant wiki articles, including countries, keyboard layouts, writing systems, and fonts, and add information on what software and Unicode fonts are necessary for inputting and displaying text.
About 30 writing systems are used for at least one modern national language. Linux systems now routinely come with support for almost all of them, lacking only Mongolian alphabet, which is in development. There are free tools for making keyboard layouts for any language and writing system.
Windows XP lacks Mongolian, Ethiopian, Oriya, Laotian, Burmese, Cambodian, and Tibetan.
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.
A good resource for Unicode fonts is the Unicode font guide. There are large Unicode fonts such as Code2000 with the characters for most writing systems. Windows and Macintrash also support many writing systems with fonts and keyboards.
More ways to help
Work on the software can fall into a number of types of work detailed below.
- Developers working on hardware and some softwware developers can get laptops, but you don't need the hardware to develop applications, just the Sugar development environment, which can be emulated on any other system.
Satellite projects
See also 101 Things To Do and Earth Treasury.
There are many related projects that also need help, and could be usefully connected to OLPC's efforts through active contributors. These include:
- Buying laptops for a poorer country, or funding national Internet connectivity.
- Creating more content on the Web in as many languages as possible.
- Localizing your favorite Free Software projects.
- Connecting emigrants and expatriates to their home countries and communities.
- Connecting schools in your country with schools in another country, including students, teachers, and communities.
- Connecting all sorts of other organizations: OLPC User Groups, Linux User Groups, churches (of any religion), service organizations, the PTA,...to developing country schools, hospitals, churches (of any religion), refugee camps, orphanages,...
- Creating a curriculum around global connections, using new resources to update coursework in all relevant subjects: languages, literature, history, geography, economics, art, music, biology, health, statistics, civics, home economics,...
- Working with organizations such as Junior Achievement on international business opportunities and business education for schoolchildren.
- Field work in Green MBA programs, the Reuters Digital Vision program, and the like.
- Community health interventions along the lines of Partners in Health or Sarvodaya.
- Work on international relations, including your own country, any treaty organizations it belongs to, and more general legal frameworks for ecology, economic development, Intellectual Property, and human rights.
- Peace in Sudan, Somalia, Central African Republic, Iraq, Afghanistan, Israel and Palestinian territories, Northern Ireland, Sri Lanka...
- Creating new human rights, to health, to information, and more.
- Starting more microbanking institutions.
- Get involved in Village Computing projects with organizations like Sarvodaya and Grameen Communications.
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.