Ask OLPC a Question about Software
Software Contributions
How can I submit software for possible distribution with the computers? I have a browser based "flash card" javascript program which I would be willing to license to the project if there is any interest in it. Please rely to my account's email address (user: MarkCarson).
If it only has 512 mb flash memory the following is not possible, but you might find it a good idea anyway: Why don't you include one copy of Wikipedia. Then each child/student has access to almost all available data. Math, physics, science, geographical information, religious information and just about anything. You might want to include a wiki cd that comes with the laptop. I mean a copy of all of wikipedia is freely available, you might want to talk with wikipedia of giving some free cd's away for the project.
- This is discussed under the concept of school servers elsewhere on this site.--Mokurai 02:23, 13 October 2006 (EDT)
Programming languages
Python is being used for the SDK but will the laptop come with Python or any other programming language? --OMouse
- The laptop has bash, i.e. shell scripting language and Javascript in xulrunner. It looks like the Etoys environment will be part of the initial bundle and that has Squeak Smalltalk and the Etoys scripting language. There is a special language called csound which is used for programming music generation.
- Any other language which runs on Linux could be added on if a country desires it, or the teachers want to use it. LOGO is likely to be used by some schools.
GNUPLOT
Will OLPC be able to run Gnuplot?
- AFAIK there is no reason it cannot run Gnuplot. It won't be included software, but there's nothing preventing someone installing their own copy. --SamatJain 13:51, 8 August 2006 (EDT)
- Since the OLPC has Python installed it can run far superior plotting tools such as MATPLOTLIB and PyPlot. There is another page on the wiki discussing this. Use the Search button on the left
Communities of practice
Will olpc be creating the software and/or services to support online (either on the internet, or within the local mesh networks) communities of practice for the users of these tools? Areas where faculty can exchange and share successful strategies for learning and teaching? Areas where students can interact and communicate? The analog of myspace or facebook w/in these environments? Mrenoch 05:53, 9 August 2006 (EDT)
- Excellent idea. Did you put your hand up? (That's how things are done in Free Software. If you want a program, don't wait for someone else to write it. Do it yourself, or organize some friends to do it.--Mokurai 02:23, 13 October 2006 (EDT)
CAD tools?
Are computer-aided engineering tools such as modeling, simulation, visualization, optimization, artificial intelligence and advanced design, documentation, manufacturing and information management being used in the one laptop per child project?
- Some of each, depending what fits. There is Free Software in each of those categories, available for download to any computer that is big enough to hold it. CAE is certainly in line with the philosophy of Constructivism promoted in OLPC. But remember, we are starting with elementary school children. --Mokurai 06:29, 7 November 2006 (EST)
- I think Blender is the only F/OSS CAD/CAE related tool that has a small enough disk footprint and memory footprint and processor usage that it could be reasonably used on an OLPC. We have investigated a little bit the possibility and there is already a port of Blender that works well on hand held computers - also a moderate amount of our current users use Blender on specs that are lower than the OLPC and the original Blender worked on specs about half as powerful as an OLPC. Biggest current negative is that its UI is a bit complex and it has a high learning curve - both of those should be solved in 3 to 4 months though. Blender needs OpenGL which isn't a problem since software OpenGL should be fast enough (that is what is being used for the handheld ports).
Recipients programming them?
Will recipients (and those involved in the program in-country) be able to program them? Will there be development environments set up on them? -Bnardone 10:34, 12 August 2006 (EDT)
- These are full linux machines. If you can get to a shell, you can do a myriad of things! Getting to a shell is a trivial affair (unless security precautions are taken otherwise). I sincerely hope that students can "play around" with python, c, and other languages! -PatrickTou 17:46, 15 August 2006 (EDT)
- Probably more trivial to those with a fair amount of previous experience with computers and running water. Might not be practical or advisable for a number of reasons to set up most recipients with a facilitated environment in which to bootstrap programmers in-country, but I wonder if something in that direction, perhaps for a subset of recipients, might be worthwhile. -Bnardone 09:39, 23 August 2006 (EDT)
- As trivial as selecting a program called shell or console from a menu.
/////////
kudos for the Linux os as base system ! .
Re programming language how about including LOGO or BASIC both of which are easy to learn by kids
//////////.
- Children aren't stupid, just ignorant. Give them real languages, or work out the path from the introductory languages to the higher levels. As the joke goes, all children in China are geniuses; they can all speak Chinese!
- LOGO leads naturally to Scheme or LISP and Functional Programming, and other possibilities; BASIC leads only to more BASIC. Elementary school children have successfully used LISP, APL, and other supposedly grown-up languages when introduced to them properly. The real problem is going to be teachers who have been taught all their lives that there are subjects they can't learn, math and programming among them. We need the computer equivalent of karaoke-style Bollywood movie captioning, which has had an astounding effect on literacy in India. Ed Cherlin
- That means a visual debugger that steps through code, highlighting each line or even each operation being executed, with a view of the variables being created or altered.--Mokurai 02:23, 13 October 2006 (EDT)
VoIP and communication generally
Will VoIP software be included or will users be able to add VoIP software (such as Skype)? Are e-mailing, text messaging and phoning capabilities available and important for OLPC computer users?
- It is doubtful that commercial software like Skype will be supported and it is contrary to open software principles to do this. However, there is no reason why VoIP software based on SIP standards could not be installed and used. To try a SIP-based application go to Gizmo Project and download it for your OS. Note that Gizmo itself is not open source but because it does use the open source SIP and Jabber protocols, it will interoperate with other SIP applications. An open source SIP client that might be ported to the OLPC is SFLPhone. Note that SIP clients are not only capable of VoIP. The SIP protocol also supports instant messaging and any other sort of application that requires "call setup" type of functionality.
What are the software applications?
What are the software applications? AbiWord? Gnumeric? OpenOffice? Gimp? Will Java Runtime Environment be installed?
- Try some of the links in your question ;-)
What about creating a interface guideline to Sugar like Apple's one?
Apple Human Interface Guidelines
I think that a Guideline would help developers to create child-like applications.
- This is now underway OLPC Human Interface Guidelines
Submitting Presentation Software
I saw a request for Presentation Software, and would like to contribute this. I have created many presentation software applications geared toward K-12 users that do exactly what was requested: Create/broadcast/view presentations synchronized audio and visuals.
I've found the SDK and would just like to know how to get my team submitting work to the project. Is there a specific section where we can post trials and updates for this portion of the system?
If possible, please reply to my account's email address (user: SeanH).
Thanks!
- There's a project called Agnubis that was abandoned or is just progressing very slowly. It was gonna be part of GNOME Office and AFAIK AbiWord is in use for word processing. Get Agnubis moving again and base it around the OpenDocument Format and I will personally be happy. --Bluefoxicy 16:12, 23 September 2006 (EDT)
International / Language Support
Localization
I can see that some attention has been given to supporting additional languages besides English. It would be helpful to see some additional information on how languages using extended character sets are supported.
- See pages on languages, Unicode, keyboard layouts, and input methods.--Mokurai 02:23, 13 October 2006 (EDT)
Also, has there been any attention to dealing with countries that use a different Calendar from the Gregorian one that is used in the US. I am thinking of Ethiopia - where there are 12 30 day months, and an additional montht that has 5 or 6 days depending on whether it is a leap year. In addition, the new year takes place during our month of September. Note, calendar issues are critical for date processing.
- There is some support in Linux software for multiple calendars, but it is sporadic and uneven. Hijri (Muslim calendar) is supported by itools, which also has libraries that can be integrated with other applications. There are programs for Jewish, Chinese, and some other calendars. Bill Hall has written about how to do it, but his version is for .NET.
- Many of the Wiki pages here on specific languages have information on writing systems, fonts, keyboard layouts, and other localization issues. Pages for specific countries list their official languages and discuss the level of support for them in more general terms. The character set for our work is Unicode, which is a superset of national character set standards. Linux supports a variety of calendars, and work is ongoing to support more. Ed Cherlin
Greek Translation
Where can I help with the translation of the software in greek?
- Mandriva Linux Greek Localization (In Greek). Mandriva is the distribution most focused on localization to as many languages as possible.
- A search for Greek at savannah.gnu.org shows items for Greek translations of Gnu Web pages and textbooks.
- Hellenic-HOWTO: Updated: Aug 1997. Addresses Linux localization issues specific to Greek users (written in Hellenic). Sadly in need of updating.
- Firefox: Greek (el-GR) Papadimas <PKst@netscape.net> Kostas Papadimass Greek Localization website
- debian-l10n-greek Discussion on Greek localization issues, mainly translating Debian docs and programs to Greek. Moderated: No Subscription: open
- btw Did you know that all of classical Greek literature is available on the Internet for free use? My personal favorite is the Public Domain pdf of Euclid's Στοιχεῖα (Elements) in Greek on Wikipedia. You can see the rest at the Perseus Project.
- PS Google is your friend.--Mokurai 02:23, 13 October 2006 (EDT)
Khmer language support
Can you please let me know if this laptop is also compatible with the language KHMER (Cambodia) as we are connected with schooling in Sihanoukville. Thank you.
- --J.van Grinsven email echtjan@hotmail.com / echtjan@gmail.com
- A quick google of KHMER and Pango suggests that there is at least some existing language support. Walter 16:53, 17 July 2006 (EDT)
- The Khmer page on this wiki points out that [Khmer OS], a project of Khmer Software Initiative, is working on a Khmer Linux distribution. Ed Cherlin 2006/7/28 14:55 (PDT, GMT - 07:00)
- Mandriva Linux, at least, includes a Khmer keyboard layout and font.
The Operating System & Platform
Patching Software or OS
What would the core operating system be for all of the laptops (Just Fedora or other *NIX flavors)? Im curious as to the delivery mechanism for any updates regarding OS or incumbent software. [nicksquireuk@yahoo.co.uk]
- I'm interested in this as well. Minix3 is claiming that support of the hardware of this project is one of its aims, is that just Minix3 spiel or is OLPC really interested? 121.44.124.90 10:30, 29 September 2006 (EDT) [moskvax at gmail dot com]
- There is just one core OS and that is a specially stripped down and enhanced version of Fedora. Period. However, since OLPC is an open source project, anyone, anywhere can develop any OS to run on the device. In fact, there are enough specs now released that the average undergrad electronics student could build their own compatible hardware. It won't look as pretty and it will only be 99.44% compatible, but that is good enough for someone whose goal is porting an educational OS like Minix. Eventually, an OLPC derivative design is sure to end up in university environments although it is unlikely that OLPC itself will be directly involved in that. This is part of the power of open source.
Fedora-5 image
Where i can get ISO Fedora-5 image for OLPC ?
-S.David Samuel Azariya /Sona College of Technology,Salem. /david1977@gmail.com
Is this the system that the laptop will incorporate ?
- You can download images from: http://olpc.download.redhat.com/olpc/
OLPC & LTSP
couldn't these things be used for a Linux Terminal Server thin client?
- Yes, but a terminal server is only useful when you are with in range of the server. We expect many stand-alone uses of the laptop. Walter 09:48, 1 August 2006 (EDT)
Freenet
Will there be anything in the vein of a Freenet sort of implementation? If I'm understanding the project correctly, there will be very little onboard drive, but they will have shared access to the internet provided there is something serving that access. How will personal files be stored? Network drive? N/A? Will there be something like a file server that houses files and is connected to the mesh? -Bnardone 10:34, 12 August 2006 (EDT)
- I agree: A distributed storage system (like Freenet) looks like a very good idea.
- The plan is to have a server at each school. Presumably the children can store copies of their work there.
Installing on a Normal PC
Hello, I am a programmer and developer and I would like to know if it is possible to install the operating system on a normal computer and then develop and experience applications in the actual environment. Is it possible that an emulator could be built to run on windows? Since I would rather not use the actual device I am wondering what the possibilites for development on a platform other than the default are. Zeeman48
- At some point, but for now, it is best to contribute to Linux in general. See Upstream Free Software Projects.
Installing on a Normal PC (2)
Hello, I'm curious about the interface of the OLPC. I don't use Windows, I don't need an emulator, I'd just like to install the system on a dedicated partition/hard disk on a normal 386 intel-like normal PC, and use it. Is it possible ?
Java on the OLPC
I have not found any discussion on the use or support of Java on this wiki.
The device profile for the OLPC laptop is very similar to the target platform for CDC/PP; the system requirments of the Personal Java Profile of CDC:
- i686-compatible, 200 MHz
- Linux 2.2 kernel, or greater (tested on Redhat Linux 7.2)
- 4 MB available RAM
- 4 MB free disk or flash file system
The advantages of Java on OLPC includes:
- large developer base
- security model to allow portable code in the mesh network
- Support for RMI Optional Package would enable a framework for Grid computing applications
Also, work in JavaSE may be an option with the Java SE for Embedded project
The open sourcing of Java by SUN may now enable some of these options that was previously limited by licence.
- You can download OLPC flash images and add/subtract software any way that you wish. If you want to develop a build around Java, please do. Note that Python is available in a version, Jython, that runs in the Java VM, so it should be possible to use most of the Python software that is being developed. You can find systems based around AMD Geode chips that are very close in spec to the 2B1 such as this one so timing tests are possible too.
Partial RAM disk
Will or could some of the operating system be loaded onto the DRAM chip for faster operation?
- Waste of time. Page cache will cache access to the flash, and loading to DRAM will just be a way of forced caching that takes away from the smooth operation of other applications when the kernel realizes it's time to trade those files back in for other files that are being accessed a lot more now. Indirect solution, much more generalized. --Bluefoxicy 16:17, 23 September 2006 (EDT)
Dual Boot?
I am interested in a possibility of having a dual OS on these machines. Freedom for children might also mean that they want to have both Linux and Windows on their machines, for specific applications or ease of use. Would that be possible?
- If and when there is a Windows boot for the machine, it should be possible to make it dual boot. This would undoubtedly involve utilization of an SD card, and some BIOS changes.
I am interested about whether other operating systems will be allowed on $100 laptops. I believe I have found a sentence stating that Linux distributions could be added on top of the built-in core, but I wanted to ask whether there would be possibilities of including a Windows OS as well (or putting it instead of Linux). Thank you. --vkotor@gmail.com
- We've not worked out the details of how this would work. Our current efforts are to focus on getting the Fedora release optimized. --Walter 16:18, 13 November 2006 (EST)
Include Flash Player?
Many websites, free educational tools, and now video (YouTube, Google video) utlitze the Adobe Flash Player, which is free. It has a very small footprint and has a linux version. Have you considered including Flash on the laptop?
- Flash has two major disadvantages for OLPC. First, Flash applications do lots of extraneous graphical activity that does not contribute to education and does eat up battery time. Third world kids are using the sweat of their brows to make their 2B1's go and will not stand for such shenanigans. The second major disadvantage is that the content being developed is from a consumerist point of view, not constructivist so it doesn't fit in with the OLPC philosophy. The OLPC does support SVG so that useful graphics can be represented compactly and animated if that does provide some educational advantage. But the core SVG support is in the messaging activity of Sugar where kids sketch their own diagrams to send to their friends. Develop a record and playback capability for the messaging activity and you have something better than Flash because the kids create the content.
- The software image can be customized and it seems signed packages can be loaded afterwards. However remember CPU power is scarce on these devices, running Flash fully featured is asking for trouble, older programs would work, but the latest greatest (including playing FLV's) seems to be pushing the limit of CPU on it and atleast usable battery life. Also, the idea is not to require or even suggest a internet connection, the OLPC is a learning enviroment on its own (and in groups in class rooms)
Beta-version: The OS Enviroment
What kind of applications will be found on board -for the end users to explore- before the "deployment content" (electronic versions of school books) is added in due course? --Ahmad 03:13, 2 November 2006 (EST)
An answer is available at: http://wiki.laptop.org/go/Our_software
License Issues with Microsoft
Is OPLC looking at other options now, since Microsoft thinks that GNU/Linux infringes some of Microsoft's copyrights? Chirag 15:04, 17 November 2006 (EST)
- Allegations of infringements need to be decided in the courts first.
- In any case, OLPC does have a working relationship with Microsoft. We are not mandating that Linux be used on every OLPC laptop. We are simply using Linux as our first choice of OS to develop and prove the laptop concept. We expect others to develop their own OSes for our hardware. As an open-source project, we are making the laptops far more flexible than a typical commercial laptop.
strategy change: Microsoft (win XP) instead of Linux ?
The official austrian television news company ORF write an article on their webpage at http://futurezone.orf.at/produkte/stories/155581/ on 5 Dec 2006, describing that the one-laptop-per child project is cooperating with Microsoft and hinting that the one-laptop-per child project will maybe go away from using Linux /Open-Source-Software and instead use Microsoft Software / OS. Can someone please deny / verify this story ?
- There is no strategy change. The OLPC is continuing to develop a Linux-based software set for the laptop in conjunction with RedHat. But since the OLPC project is OPEN we cannot stop other people from developing and supplying alternate software packages.
Who is developing 'Sugar'?
Why, is there no URL bar in Sugar? I know that every part of the operating system is an abstraction of what is going on with the physical hardware, but the project seems mostly unbranded up to the point where Google is presented as The Internet. --adrigen
- You should read this page OLPC Human Interface Guidelines/The Laptop Experience/The Frame and probably all of the rest of the Human Interface Guidelines pages for the answer. The OLPC does not merely mimic the GUI from a PC operating system, it has an innovative GUI to go with the innovative hardware and innovative software.
Have you tought on use Damn Small Linux (DSL) instead Fedora/Ututo/Tuquito?
DSL is useful too, includes a variety of necessary applications, and it's only 50 mb. DSL provides functionality with minimum requirements (like the laptop's features), and with 128 mb of RAM it's very fast. It's opensource, so you can take it as a base for the XO software. You can write code for WiFi support and optimizations for the XOs intercommunication, create a coolest graphic interface (of course it will increase the size of the OS, but it will still be so smaller than Fedora/Ututo/Tuquito), and add/remove/change the software that you want. It will save money, because will need a less-capacity ROM device (that's cheaper), and maybe these saved money can be used to implement a 1 gb flash storage device instead the 512 mb one (something that is so useful and necessary!).
- The OLPC project does not use any Linux distro therefore a feature comparison between distros is irrelevant. Instead, we developed our own custom distro using Fedora as a starting point with the help of Redhat employees. Whenever some part of Fedora did not meet the OLPC goals it was removed or replaced. The storage capacities in the first run of laptops is not a hard and fast design requirement. It is based on a tradeoff of currently available chips. We do expect to improve the storage as newer reliable chips become available at the right price.