Ask OLPC a Question about Software

From OLPC
Revision as of 22:49, 13 January 2007 by Xavi (talk | contribs) (imported content from New Questions)
Jump to navigation Jump to search

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)

Dual-licensing of commercial software

I control a commercial software package that might be a good fit with OLPC: it is about 4MB in size, and (although of wide application) sufficiently specialised to make it inappropriate for inclusion in the basic OLPC system.

I would be interested in investigating a dual-licensing strategy. On any system other than OLPC, licensing would behave as it does now (in other words, whatever licensing strategy the software manufacturer currently operates). On OLPC, the software would be free to download, copy, distribute, install and use.

The reason for this dual-licensing strategy is that we want to do good without destroying our own business; also, some of the content we supply (the product is essentially a glorified e-book) belongs to other copyright holders whom we will have to reassure and placate.

I am sure that many other software manufacturers would find such a strategy appealing for their own products.

As far as I am concerned, the only thing that OLPC would need to do to enable this would be to define a means by which software can discover whether it is running on OLPC. It would also need to breach its open-source principles by saying that it is not permitted to program a non-OLPC system to pretend that it is OLPC. Speaking as a software manufacturer, I wouldn't expect OLPC to enforce this prohibition, but I do want commercial Linux distributors to be aware that if they include 'can run OLPC-only applications' in their feature lists, they are actually saying 'can illegally run OLPC-only applications'.

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?

See Upstream Free Software Projects
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)

But will they be used over LTSP? After all, even though this machine has the power of a scratch pad... over LTSP it will have the power of a Cray! More importantly, this project should be introduced to every school - every child. Pupils at home can carry out text and graphic exercises, and in class can make use of higher level software over WIFI and LTSP. It's even an option for homes with a Linux server and wireless conection. It's not as difficult or expensive to set up as some might think. These machines are even ideal for business use if they connect via LTSP.

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.

User:Dmunneke

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.

When will Linux be the most popular OS?

On what date will Linux become the most-used operating system in the world due to this project?

That is a question for other people to answer. For all we know, Linux may already be the most-used operating system in the world.

Cluster Potential

Imagine the potential of having 10,000 XO's running as one system (daisy-chained), why dont you guys donate that extra processing power to something good, similar to what the ps3's do by donating processing down-time to develop models of cells and then send them back to a server, kind of to help the server with the work, that is just a lot of power to not be using and with such a large amount of these latops (especially with their long wi-fi range) it seems that a program like the ps3's could actually accomplish something important (scientifically, because of course 10,000 laptops has tons of educational leverage also).--207.63.160.38 15:12, 27 November 2006 (EST)

We expect that teachers in some of the countries will indeed exploit the laptops in this way, however it does rely on cheap and readily available electricity to keep the machines running. In any case, this is not something that the OLPC will do. We leave that to users and application developers.

Documentation

How is documentation for the Laptop being written? How will it be delivered? It needs documentation for teachers, schoolchildren, systems administrators, developers, and localization workers. Linux in general has a misch-masch of man pages, info pages, Howtos, and other documents aimed at techies, and frequently not maintained, plus Help files for many but by no means all applications. --Mokurai 05:15, 26 November 2006 (EST)

The OLPC laptop is not Linux. First of all, the hardware and software is designed to be discoverable so that a user can figure things out by experimentation. Since the machines are being deployed into an educational environment we do not anticipate any serious training issues. That said, we are preparing teachers by extensively lecturing and writing about how the devices might be leveraged. The OLPC laptops will come with e-books documenting how to use them. The technical details needed by application developers are available on the web including this wiki.
These are fine questions. Much of the documentation will take shape on this wiki; see for instance the user interface guidelines. Sj talk 03:33, 26 December 2006 (EST)
It is true that OLPC is not Linux, but only in the sense of the Chinese philosopher who wrote the dialogue A White Horse is Not a Horse 白馬非馬. The Laptop will be delivered with a selection of Linux software, and we must assume that teachers and students will soon want the rest of Linux. Volunteers at The Linux Documentation Project to write HOWTOs and at specific software product sites to write Help files would be most welcome. But the question was about writing documentation specifically for software to be delivered with the Laptop.--Mokurai 15:24, 26 December 2006 (EST)
Making things discoverable is no substitute for reference manuals. In the context we are working in, we must have tutorials in discovery, at least for parents and teachers who have been trained out of their original childlike curiosity and eagerness to explore.--Mokurai 15:24, 26 December 2006 (EST)
You (whoever you are) may not anticipate trouble, but how are the rest of us to know?--Mokurai 15:24, 26 December 2006 (EST)
May we see these lectures and writings for preparing teachers? Or at least the plan for who will prepare and deliver them, and what they will contain? May we contribute?--Mokurai 15:24, 26 December 2006 (EST)
There is an air of secrecy about this and some other aspects of the OLPC project, at least in the minds of the naysayers who trash the project in the media at every opportunity. Do you mean to create that impression? Are there secrets?--Mokurai 15:24, 26 December 2006 (EST)

Can this laptop run on old DOS programs?

There are lots of free old DOS programs out there and DOS os takes very little RAM space. Is it possible to put DOS OS into this laptop? Is there any emulator under Linux to allow DOS to be used? If so, what kind of DOS? Freedos or msDOS

Contents will be an issue when this computer comes out.

Regards alanfoo

We can't boot DOS with the current LinuxBIOS/OFW ROM we use - it lacks the legacy support that DOS needs. DOSEMU (http://www.dosemu.org/ is a decent emulator that may offer some support - how well this would all integrate into sugar is unknown, though. - JordanCrouse (Talk to me!) 11:00, 9 January 2007 (EST)

--(JK, USA) Don't forget the OLPC is not another commercial laptop project. The goal should be to port old DOS programs to OLPC and not make OLPC compatible with DOS.

Programming

Does the os suport basic programming.

Short answer: yes.
A bit longer, assuming that by 'basic programming' you mean 'simple programming' (instead of the BASIC language), you have Etoys (Squeak), LOGO, Javascript, Csound, and most other things are in Python. You should also check the pages on software and our software. And since the project is based on an open-source philosophy, even the OS will be accessible to kids to fiddle with.--Xavi 16:49, 27 December 2006 (EST)