text:
FOSS A General Introduction/Localization and Internationalization

What is localization? What is internationalization?
According to the Localization Institute,

Localization is the process of creating or adapting a product to a specific locale, i.e., to the language, cultural context, conventions and market requirements of a specific target market. With a properly localized product, a user can interact with this product using his/her own language and cultural conventions. It also means that all user-visible messages and all user documentation (printed and electronic) use the language and cultural conventions of the user. Finally, the properly localized product meets all regulatory and other requirements of the user’s country/region.

Internationalization is a way of designing and producing products that can be easily adapted to different locales. This requires extracting all language, country/region and culturally dependent elements from a product. In other words, the process of developing an application whose feature design and code design do not make assumptions based on a single locale, and whose source code simplifies the creation of different local editions of a program, is called internationalization.

What is an example of localization and internationalization?
Localization and internationalization are often used interchangeably. The definitions provided above with reference to software development clearly show the distinction. In terms of FOSS development, an excellent example of both ‘internationalization’ and ‘localization’ is the Mozilla Project. Mozilla is the most well known and widely used of the FOSS web browsers available. Mozilla is internationalized because the community of developers behind the Mozilla Project have designed and developed their software to function in multiple locales. Mozilla is localized when local developers, using guidelines and localization toolkits provided by the Mozilla Project, modify or adapt the product to suit a particular locale. This modification often involves translating user interfaces, documentation and packaging, as well as changing and customizing features to match the usage patterns of that locale.

Internationalization and localization of Mozilla by anyone is possible because it is a FOSS project. The Mozilla source code is distributed under the Mozilla Public License (MPL), which is a license that is based on and approved by the Open Source Initiative. The Mozilla Project aims to serve the greater Internet community, which it recognizes as a global community made up of users belonging to a great array of language groups. One of the goals of the Mozilla Project is to “advocate the localization of mozilla.org products into any world language”.

Fully localized versions of Mozilla cover 34 different languages. Localization efforts are still continuing for most of the other languages.

What are the methods of localizing GNU/Linux?
Prof. Venkatesh Hariharan

"The localisation of Linux to Indian languages can spark off a revolution that reaches down to the grassroots levels of the country,"

For each different locale or country, the challenges involved in localizing GNU/Linux vary. Some locales may find that localization requires minimal effort. Other locales may find that localization requires extensive modification and customized programming. This depends largely on the similarity between the locale’s requirements and the requirements already localized in GNU/Linux.

There are many different methods used to localize GNU/Linux, using different encoding, input and display systems. At present, the most technically effective method is localization via the Linux-Unicode-OpenType model. A brief explanation of the different technologies follows.

 * Unicode ( http://www.unicode.org )
 * The Unicode encoding system, the latest version being Unicode 4.0, is an industry standard for encoding characters and symbols. It is closely related to the ISO Universal Character Set standard 10646. Additions to either standard are coordinated between the ISO and the Unicode Consortium. The Unicode Consortium, co-founded by Apple and Xerox in 1991, now has more than 100 members, including Adobe, IBM, Microsoft, Sybase, Compaq, Hewlett Packard, Oracle, Sun Microsystems, Netscape and Ericsson.

 * The aim of Unicode and ISO 10646 is to encompass all of the languages of the world, with each character code corresponding to a ‘glyph’. Combinations of character codes produce combined glyphs for complex characters (particularly in the Asian languages). The initial Unicode standard specified an encoding for 16-bit characters, which allows for a total of 65,535 possible characters/symbols. Later versions of the standard have expanded the encoding to a 32-bit range, allowing over one million different characters and symbols to be encoded.

 * The Unicode standard is more and more relevant in light of accelerated globalization. It is the most relevant encoding system for the Internet. As Internet penetration continues to increase in both developing and developed countries, the benefits of integrating Unicode in software and content development cannot be ignored.

 * OpenType ( http://www.adobe.com/type/opentype/main.html )
 * Fonts are at the ‘front end’ of localization and often receive the most attention from non-technical observers. Thus, font development is very often seen as the be-all and end-all of localization. However, font development is only one crucial component of the entire localization process, although it is the most visible.

 * Just as we are advocating the Unicode encoding system, we are advocating OpenType font file formats as the appropriate standard for font development in localization efforts.

 * OpenType is a cross-platform font file format jointly developed by Microsoft and Adobe. It is based on the Unicode encoding standard and offers multiple language character sets in one font file. Whereas traditional Western Postscript fonts are limited to 256 glyphs, an OpenType font may contain more than 65,000 glyphs, allowing multiple languages to be displayed using a single font.

Using the Linux-Unicode-OpenType model, most localization efforts involve the following steps:
 * Unicode standard corrections/enhancements
 * Font development
 * Input methods
 * Modifying applications to handle local language characteristics
 * Translating application messages
 * Ensuring that changes are accepted by the global FOSS community

Unicode standard corrections/enhancements
Creating encoding that adequately handles the needs of the countless languages throughout the world is highly complex. The immensity of this task has resulted in errors and inadequacies in the specification of certain languages, particularly languages from countries that have low levels of ICT development. Additionally, while Unicode may have included encoding for all of the major languages in the world, encoding for the other languages and dialects (India alone has over 1,000 languages and dialects) is either incomplete or non-existent. In countries where the existing Unicode standard is lacking, a review of the existing Unicode standard and recommendation of changes to the Unicode Consortium will be necessary.

Font development
Once a satisfactory Unicode standard has been developed, the next challenge is ensuring that there is a freely available, cross-platform font. Without fonts, it is impossible to display, use and manipulate any language electronically. Modern fonts, particularly OpenType fonts, are more than just the visual representation of a language. OpenType fonts contain the logic behind the display of the words, how glyphs interact with and change surrounding glyphs. Languages that differ greatly from the western alphabet (Arabic, Laotian, Dzongkha, etc.) often do not have a commonly available, non-proprietary font.

Font development is no small task. A high-quality, professional font can take several years to develop.

Input methods
The next step involves standardizing and implementing a system for input in that language. The most common input method in computing is via the keyboard and many countries have created mappings between the standard keys to characters in their local language. These are often ad hoc adoptions and several are used within a country. For example, there are several keyboard layouts in use regularly in Bangladesh. The lack of a single standard is a result of and contributes further to incompatible implementations of character sets/encoding, keyboard mappings, fonts, and the like. Addressing and standardizing input methods from the outset provides developers with a common starting point.

Once an input method has been standardized, software has to be written to implement the standard under GNU/Linux. If the number of characters is less than the possible key combinations, this becomes a simple task of remapping the keys on a keyboard. It is when the number of characters far outnumber the keys on a keyboard (e.g., Chinese with its 30,000 characters) that more advanced techniques become necessary.

Modify applications to handle local language characteristics
While most major FOSS applications have been internationalized, some modification may still be necessary to adapt to local language characteristics. For example, most word processors break words on a space but in languages that do not use spaces, special rules must be created to specify breaking order. Similar problems exist with word sorting, text flow and other issues. Most languages will require minimal modification but certain languages may require extensive modification to applications.

Additionally, locale-specific information such as date format, currency symbols and other issues has to be specified. This is normally a simple task involving editing text files.

Translating application messages
The next step in localizing GNU/Linux involves the translation of messages that the application passes to the user. Messages such as “File Not Found” or “Operation Complete” have to be translated to the local language. This task involves very little technical skill as the messages are normally stored in text files for easy viewing and editing. However, translating the thousands of messages and help files is an undertaking that can take several years to complete and is often the slowest part of the localization process. Even if the task is limited to the most commonly used applications (web browser, office productivity suite), significant effort has to be expended.

Ensuring that changes are accepted by the global FOSS community
One of the major advantages of the FOSS development method is that maintenance costs are often shared among the various users of the software. However, this is possible only if the changes made are accepted by the global community. Localization may involve changes in many different software components, each maintained by different project teams. Therefore, there should be a focused effort to ensure that all changes made are accepted by each of the teams, often by ensuring that the changes are made in a manner compatible with the future direction of the project team. In essence, one must be a player in the global team effort from the very start or risk being the only one left maintaining an isolated version of GNU/Linux.


text:
FOSS A General Introduction/Case Studies

Introduction
The city of Largo is one of the earliest high-profile cases of a government administration migrating over to Linux. The IT system of this small city in the state of Florida, USA, supports 800 city workers, including local safety and health services. Implementation began in 2000 and their experience with Linux in the years since then have been nothing but positive.

Motivation for migrating to Linux
In 2000, the IT department of Largo was evaluating upgrade options as problems were being encountered with existing OpenServer and UnixWare products from the Santa Cruz Operation. Various options were evaluated, including Microsoft Windows on personal computers. However, since they were already on a Unix-based thin-client infrastructure, the combination of hardware and software costs involved in such a migration was deemed prohibitively expensive. Additionally, the IT team did not want to be locked into a 2-3-year upgrade cycle, where they would be forced to pay upgrade costs even when upgrades were not necessary.

Ultimately, the decision was made to keep the existing thin-client infrastructure but migrate systems to a Linux system based on Red Hat's distribution.

Implementation approach
A solution was tested and implemented starting in 2000 and completed by mid-2001. Two powerful (for that time) dual-processor Compaq servers delivered the services needed by most users. A variety of FOSS and non-FOSS applications were combined, including Netscape (web browser), Evolution (email client) and WordPerfect 8 (word processor). Heavy-duty database needs were run on a proprietary Oracle database while Microsoft's Excel and PowerPoint were made available to Linux users via a combination of Windows NT and the Citrix Metaframe server. In total, there were about 20 different servers working together, running a mix of Linux, Windows and Unix operating systems.

On the desktop side, things were simpler. The thin-client model requires only the barest minimum from desktop units. Hence, desktop units could be obtained at a relatively low cost. In some cases, the IT team managed to obtain desktop systems for as little as US$5 per unit. With 10-year lifespans and few moving parts, these desktop units rarely broke down and had a longer useful lifespan than normal PC desktops.

Results
The migration to Linux was estimated to have saved the city as much as US$1 million in the first year alone. Largo currently has an IT budget that is only about 40 percent the size of comparable cities. Where cities of a comparable size normally spend 3-4 percent of their city budget on IT, the Largo team gets along quite comfortably with only 1.3 percent of the city budget. The efficiency with which Linux uses hardware has also reaped enormous savings. The IT team estimates that they will not need to upgrade their desktops until 2007.

The reduction in number of personnel required is also significant. The end-user help desk requires only two to three people to support a user base of 800 workers. This low ratio is attributed to the reliability, stability and predictability of the system. The remaining staff members of the city's 10-member IT department are then freed for other tasks, including making additional improvements to the IT infrastructure.

For further reading

 * Haber, Lynn, “City saves with Linux, thin clients”, 10 April 2002, ZDNet; available from http://techupdate.zdnet.com/techupdate/stories/main/0,14179,2860180,00.html; Internet; accessed on November 7, 2003.
 * Harris, Stephen E., “City of Largo Completes Desktop Transition”, 27 August 2001, ConsultingTimes; available from http://www.consultingtimes.com/articles/desktop/largo.html; Internet; accessed on November 7, 2003.
 * Miller, Robin, “Largo loves Linux more than ever”, 9 December 2002, Newsforge.com; available from http://www.newsforge.com/article.pl?sid=02/12/04/2346215; Internet; accessed on November 7, 2003.
 * The Dravis Group, “Open Source Software: Case Studies Examining Its Use”, April 2003; available from http://www.dravis.net/reports.html; Internet; accessed on November 7, 2003.

Introduction
The Goa Schools Computer Project (GSCP) was launched in the Indian state of Goa to provide affordable computer labs to secondary and higher secondary schools in the state. The first pilot projects were launched in 2000 and after evaluation a second, larger project was launched in 2002.

The GSCP is a collaboration involving public, private and NGO organizations. The Goa Department of Education, Red Hat Linux, the Goa Computers in Schools Project NGO and the Goa Sudharop Community Development Charity all contributed to making this project a success. Using recycled computers and the FOSS GNU/Linux system, a total of 125 schools received computers that otherwise would not have been available to them.

Motivation
Cost was a primary motive for using the GNU/Linux system, particularly the licensing cost of proprietary software. Because the project decided from the start to recycle computers (also for cost reasons), finding software to place on these systems became a major issue. These systems were typically received with blank hard drives, due to concerns over security of the organizations donating the computers. Purchasing software to run on these systems would have multiplied the costs of using these computers manyfold.

By going with the recycled computer/GNU/Linux combination, the GSCP was able to install systems for as little as US$35 per system, with full computer labs, including networking, costing less than US$500. Proprietary software for a single computer would have cost at least US$400–500, many times the cost of the computer itself.

A comprehensive costing was performed for this project. Based on data from previous projects in other Indian states (Andhra Pradesh, Karnataka, Tamil Nadu and Kerala), it was estimated that the GNU/Linux/recycled hardware model would save as much as 77 percent of a traditional solution (proprietary software, new hardware). Combining GNU/Linux with new hardware would have saved 64 percent of the costs of the proprietary software/new hardware model.

Implementation approach
The GSCP used refurbished computers imported from wealthier, more developed nations. These computers were typically outdated models, replaced in regular corporate upgrade cycles. After testing and refitting as necessary, the computers were installed with the GNU/Linux operating system. The larger installations (labs with more than four computers) used GNU/Linux in a thin-client configuration.

Each computer lab was typically a cooperative effort between GSCP and the local school. GSCP would supply the equipment and teacher training while the school would supply the UPS, wiring and furniture for the computer lab. Once set up, the computer lab would be used by the schools during school hours and by the community at large after hours.

Results
A survey carried out one year after the computers were shipped found that 90 percent of the PCs had been installed and 79 percent of the PCs were operational. Schools using the thin-client model, which were also the schools that received four or more PCs, fared best. Urban schools fared better than rural schools for a variety of reasons, including better support and a larger number of available computers (due to larger student populations).

The schools are now charging 20 cents per student to pay for maintenance and Internet access costs. Pilot experiments are also underway to test the sustainability of charging the community for after-hours access to the computing facilities and the Internet. Experiences from projects in other countries have shown this to be feasible and it is hoped that it will be just as successful in Goa.

For further reading

 * The Goa Schools Computer Project website; available from http://www.gscp.org/; Internet; accessed on November 7, 2003.
 * Martyris, Daryl, ‘Community – Government partnerships and open source technology for low cost IT access in India – A case study’, July 2003; available from http://www.developmentgateway.com/node/133831/sdm/blob?pid=5474; Internet; accessed on November 7, 2003.
 * Noronha, Frederick, ‘Linux provides cheaper alternatives for schools in India’, 9 January 2002, Newsforge.com; available from http://www.newsforge.com/article.pl?sid=02/01/09/1252220; Internet; accessed on November 7, 2003.

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
FOSS A General Introduction/Annex II: Software Licenses

The following is a listing of common software licenses, in comparison to GPL:

Table derived from: http://www.fsf.org/licensing/licenses/license-list.html


text:
Neuroscience/Cellular Neurobiology/Cells of the Brain

The cellular basis for the nervous system lies in two classes of cells, neurons and glia. Neuronal cells function as the information processing and transfer cells, while glial cells are generally considered support cells (though this is not a rigid statement.)

Neuron Morphology
The neuron has a body and projections that reach out of the cell resembling a tree growing out of the ground.

Cell Membrane
The cell membrane is a phospholipid bilayer that denotes the boundary between the cell and the extracellular solution. It is responsible for the regulation of the flow of the substances inside and outside of the cell, and the bilayer has numerous proteins on it that perform various functions. Specific proteins allow for the passage of small soluble molecules through the membrane giving it a selective permeability.

The Body
The body (soma) of a neuron contains all the organelles necessary for cellular function: the nucleus, endoplasmic reticulum(smooth and rough), ribosomes, Golgi apparatus, and mitochondria all lie inside a neuron's soma.

Axon
The axon is a projection that grows out of the soma. It is one part of the cell designed specifically for the transfer of information between neurons. The axon begins with the axon hillock which leads to the beginning of the axon which continues until it reaches the synapse (a site of communication between two cells.) The cytosol of an axon is different from that of the cell body in that no protein synthesis is carried out, so all proteins to be used in the synapse will be carried down the axon to the synapse. Axons vary in length ( 1m) and diameter, and when the axon branches, the branch is called an axon collateral.

Axoplasmic Transport
This transport accounts for the movement of materials that sustain the axon and provide for the neurotransmitters in the synapse. There are three types of transport: fast axoplasmic transport, slow and retrograde. Because slow transport occurs at a rate of 1-10 mm a day, it is suitable not for active synapses at the axon terminal but for moving receptors and other membrane proteins. Neurotransmitters are brought to the terminal by fast transport that moves proteins down the axon at rates near 1000mm a day. These speeds are achieved by the protein kinesin, a biped, which, fueled by ATP, follows microtubule tracks down the axon. Essentially, kinesins carrying vesicles containing neurotransmitters, for example, "walk" towards the plus end of the microtubule, leading to the axon terminal.

Axon Terminal
The axon (and its collaterals) will eventually terminate as an axon terminal at a synapse. At the synapse, the axon terminal interfaces with the dendrite (or soma) of another cell. Axons that terminate on other cells are said to 'innervate' those cells. The area of the cell membrane that lies in the synapse of the axon terminal has a higher concentration of proteins.

Synapse
There will be more on the synapse later, but the synapse is the site of transfer of information between cells, in the form of neurotransmitters (proteins) that are spat out of one cell of the synapse (a synapse is the connection between two cells) and recognized by the other. The direction of information determines the label given to the sides. The side of the synapse releasing the ntr (neurotransmitter) will presynaptic and the side receiving postsynaptic.

Dendrites
Neurons project dendrites that branch out of the soma in a shape resembling a tree. Like the axon, the dendrites' function is the transfer of information but rather than transmitting it, they receive it. Dendrites' membrane typically has many (thousands) synapses, indicating the reception of information from many other cells. Whereas the axon is presynaptic in the synapse, the dendritic membrane is said to be postsynaptic. On this postsynaptic membrane, there are many proteins that act as receptors for neurotransmitters (think of the lock on a door as the receptor and the neurotransmitter as the key.)

Neuron Types
Cells are usually classified by the feature most relevant to the topic being discussed.

By Poles
Cells may be distinguished by the number of projections: unipolar and bipolar cells have one and two projections respectively, and multipolar cells have many projections. Polarity may be determined by looking at a Golgi stain (a slice of the brain stained so that individual cells stand out).

By Shape
In the cerebral cortex, most cells can be classified as stellate or pyramidal because their dendrite structure is reminiscent of a star (stellate) or a pyramid.

By Connections
Neurons may also be classified by the connections they make in the nervous system. Neurons that deliver sensory information from the rest of the body to the brain are primary sensory neurons, and neurons that synapse on muscles are motor neurons. Interneurons connect one neuron to another.

By Neurotransmitter Used In Function
Another significant classification is based on the neurotransmitters used by a particular neuron or system of neurons. For example, motor neurons use acetylcholine to transfer motor impulses, and these neurons are said to be cholinergic neurons.

Glial Cells
Glia are thought to be the cells that provide an environment in which neurons can function. There are various types of glial cells, each filling a highly specialized role in the nervous system.

Astrocytes:This star-shaped cell occupies most of the volume of the brain not taken up by blood vessels or neurons. An important function of the astrocyte is the regulation of the extracullular concentration of various ions.

Schwann cells: Schwann cells are the cells that provide myelination to the axons of neurons in the PNS. Their CNS equivalents are the oligodendrocytes. Schwann cells cover the myelin sheaths much like a marshmallow on a stick, secreting spiraling layers of myelin directly onto the axon surface. Schwann cells have a thin, protective outer covering called a neurolemma. The spaces between myelin sheaths and their covering Schwann cells are called Nodes of Ranvier. Schwann cells are only found in the PNS.

Oligodendrocytes: Oligodendrocytes are the cells that provide myelination to the axons of neurons in the CNS. Their PNS equivalents are the Schwann cells. The main difference in Schwann cells and oligodendrocytes is that one Schwann cell can only myelinate one small portion of an axon, whereas an oligodenrocyte can myelinate many sections of an axon, or even multiple axons.

Ependymal cells: Ependymal cells are small, ciliated epethelial cells that line the cavities of the CNS neural organs, and help to move CSF by the movements of their cilia.

Microglia: Small, spiky looking cells of the CNS that support neurons much like astrocytes, but can morph in phagocytic cells to help clean up the CNS, as immune system cells are not granted entry into the CNS.

Satellite cells: Very small cells that provide outer coverings to the somas of neurons. Their function(s) is/are largely unknown.

Resources
Glossary


text:
FOSS A General Introduction/Annex I: Glossary

A

 * Application
 * Applications are software written to supply functionality to the user. Functionality can range from end-user functions such as word processing and email reading, to server functions like databases and web servers.

B

 * Bug
 * An error in software that causes the program to malfunction, fail or not meet specifications. Modern bugs are usually introduced by programmer error and almost all major applications have some bugs in the system.

F

 * FTP
 * File Transfer Protocol – the protocol used to transfer files, both text and data. The standard dates back to the early years of the Internet and is still one of the more commonly used methods for transferring data between computer systems.

H

 * HTML
 * HyperText Markup Language – the language in which all web pages on the World Wide Web are encoded. HTML contains both data and instructions on how to format the data properly in a web browser. It also contains instructions on accessing related data.

 * HTTP
 * HyperText Transfer Protocol – a protocol for controlling the transfer of data between different machines. HTTP is the most commonly used transfer method between web servers and web browsers, although it has been used to transfer other types of data and traffic. It has support for encryption and compression.

L

 * LAN
 * Local Area Network – a data network of computers, typically covering a small geographic region, such as an office building or house. A LAN may be connected to the Internet or be a separate, distinct network that communicates only within itself. Common uses for LANs include sharing printing resources and data between computers.

O

 * Operating System
 * The Operating System (OS) is the collection of software that controls the hardware (disk drives, displays, keyboard, mouse, etc.) and software applications on a computer. The OS manages and allocates the physical resources (CPU processing time, hard disk space, inputs from the keyboard, etc.) among the different applications that run within it. The OS supplies minimal user functionality. User functionality is typically supplied by applications, while the OS serves as an intermediary between hardware and application. Examples of an OS are Microsoft Windows, GNU/Linux, Sun Microsystem’s Solaris and Mac OS X.

P

 * Proprietary Software
 * Typically refers to software produced by commercial companies and licensed to users under very restrictive licenses. Any software released under licenses other than the FSF and/or OSI approved licenses are considered proprietary software for the purpose of this primer. Most proprietary software typically cannot be redistributed by the user; nor is access provided to the source code, though there are exceptions. Public domain software is not considered proprietary software.

 * Public Domain Software
 * Software that is not owned by anyone and is available to all, with no restrictions.

S

 * Sourcecode
 * Source code represents the human readable instructions that form the heart of any program, be they operating systems such as Linux or Microsoft Windows, or accounting, database and graphical applications such as Oracle, MS SQL Server and Photoshop. Although it is not easily readable to lay people, software engineers can easily understand, correct and modify programs using the original source code. For example, a portion of code may look like this

Float distance (p0, p1) struct point p0, p1; {    float xdist = p1.x - p0.x;     float ydist = p1.y - p0.y;     return sqrt (xdist * xdist + ydist * ydist); }

Once software engineers are finished with source code, it is converted to machine-readable code that looks like this:

1314258944     -232267772      -231844864      1634862 1411907592      -231844736      2159150         1420296208 -234880989      -234879837      -234879966      -232295424 1644167167      -3214848        1090581031      1962942495 572518958       -803143692      1314803317

Few engineers are able to understand, much less modify, a program once it has been converted to a machine-readable format. Because of this, most proprietary software is distributed in machine-readable form only and the source code is a jealously guarded secret.

T

 * TCP/IP
 * Transmission Control Protocol over Internet Protocol – the protocol that underlies most of the Internet today, as well as most Ethernet LANs. TCP/IP was developed by the US agency DARPA. It supplies a reliable communication protocol at a very low level. Most Internet protocols (HTTP, FTP, telnet) are built on top of the TCP/IP protocol.

 * Thin Client
 * A thin-client infrastructure is one where most of the computational and data storage tasks are done on powerful server systems. The end-user system sitting on desktops are low-powered, displaying only the data returned by the servers. Standard desktop systems today running Microsoft Windows are fat-client systems, where most of the processing and data storage work is done by the desktop system and only a limited amount of work is done by the server.
 * Various advantages can be gained from using a thin-client infrastructure, mostly centering around lower maintenance and hardware costs. Because all data is stored on the server, including the applications, it is easier for administrators to manage and update the systems. A single change on the main server will immediately be reflected on all user systems. Likewise, the minimal data storage and processing requirements result in cheap desktop systems that do not need to be updated as regularly as today's fat-client desktops.


text:
FOSS Localization/Foreword

Free software means software that respects the user’s freedom. It means that users are free to run the programs as they wish, free to study and change the software (or hire others to do it for them), free to redistribute copies to others, and free to publish modified versions. As a consequence, users are free to share, and form communities to exercise effective control over the software they use. Free software may also be gratis, zero price, but this is not always the case.

Some users refer to this as open source. That term focuses on the technical benefits that result when software can be reviewed by large numbers of developers and users, the business advantages of using it, and the business models that support its development and use. The term free software refers to the social and ethical importance of freedom, as well as to the practical benefits it brings.

The social and practical imperatives for sharing and changing useful works such as software create a revolution in what it means to publish. The technology of the printing press taught readers to think of written works as fixed – written once, for readers to use passively thereafter. This technology did not make it easy for readers, who generally did not have presses of their own, to adapt, improve, and share copies of books, and they became accustomed to these limitations. So when citizens in large numbers began to use personal computers, many did not question the legal and business systems that placed similar limitations on using software. But this time, the limitation was not a natural consequence of the technology. It was imposed by software developers, who found it profitable to keep users under their control. The developers forbid users to share the software, and by denying users the source code, prevent them from changing it.

Today, however, there is an alternative: free software, the product of a community built by a million willing developers – some volunteers, some paid to contribute. Free software allows users to take full advantage of what their computers can do. It is our door to escape from the limitations of the printing press, into a world where useful works, such as software, are developed among the users, by the users, for the users.

Where software is not made artificially scarce by misguided incentive systems that encourage development of software by locking up its users.

Where the users can collaborate as they see fit in making the software do what they want it to do. Where the users of software are free to run it, share it, and adapt it together or individually. This is the world of Free and Open Source Software (FOSS).

Non-free software keeps users divided and helpless. When a nation increases the use of non-free software, it is not development, it is permanent dependency. Only the use of FOSS permits sustainable development – it is technology that local people are free to learn about, maintain, adapt, and reapply.

How can governments move their countries towards FOSS? In two ways. First, switching to Free Software in schools will teach children the spirit of community cooperation, while producing graduates that are skilled in using and maintaining Free Software. Second, mandating migration to Free Software in government agencies will create demand for these graduates’ skills, and build a local economy of Free Software support.

The International Open Source Network (IOSN) is an initiative of UNDP’s Asia-Pacific Development Information Programme (APDIP), and operates under the principle of “Software Freedom for All” (SFA). Its work includes provision of support and assistance, a centre of excellence, and an information clearing-house for Free and Open Source Software in the Asia-Pacific region.

Through the IOSN/SFA initiative, UNDP provides policy support and advisory services to government bodies, non-profit organizations, donor agencies and others. It publishes practical tools and materials, including simple “how to” primers and guidebooks, training materials, and live CDs of the GNU/Linux operating system for FOSS practitioners and end-users. It also supports FOSS R&D activities in localization and in other areas, and organizes conferences and training programmes to network stakeholders and strengthen local capacities. It welcomes both those interested in benefiting from these services and those who would like to collaborate in extending them.

I’m pleased to cooperate with the work of IOSN/SFA, APDIP and UNDP in taking the message of software freedom to the public and the development sector. Together we can help overcome the digital divide, and replace dependency with development.

Richard M. Stallman

title: FOSS Localization/Foreword


text:
FOSS Localization/Acknowledgements

The authors would like to acknowledge their debt of gratitude to the following:

Phet Sayo, the Programme Specialist for Building Capacities and Partnerships at UNDP-APDIP, for getting us started; Kenneth Wong, the Programme Consultant for the International Open Source Network, UNDP-APDIP; Tan Wooi Tong, the Programme Specialist for the International Open Source Network, UNDP-APDIP, for their patience and hard work. Managing and working on this large-scale project with them as our colleagues has made our lives less complicated. The team not only facilitated the project but also provided the feedback and input that makes this primer unique.

Sarmad Hussain, M Sasikumar and Javier Solá, the coordinator of KhmerOS, the Khmer (Cambodia) Software Initiative, for reviewing this primer and providing invaluable input. We want to specially thank Javier for his contribution on pages 12–15 on free/open source software and its benefits and the case study of Khmer localization.

Vorasone Dengkayaphichith, Vincent Berment, Alberto Escudero-Pascual, Pramod Raghavendra and Guntapalli Karunakar, who read and critiqued this primer.

Arthit-Thai OpenOffice team member, Indian and Vietnamese participants for their responses to the surveys.

Fred Williams, for his invaluable input, advice and suggestions.

PAN Localization Project ( http://www.panl10n.net ), PAN programme of IDRC and Center for Research in Urdu Language Processing (CRULP, http://www.crulp.org ) at National University of Computer and Emerging Sciences ( http://www.nu.edu.pk ), for providing information from the survey during the "Fundamentals of Local Language Computing" training used in the second section.

Anousak dedicates this work to his family and his late parents.

title: FOSS Localization/Acknowledgements


text:
FOSS Localization/Introduction

This primer provides a broad perspective on the localization of Free/Open Source Software (FOSS) for the benefit of policy- and decision-makers in developing countries. It highlights the benefits and strategies of FOSS localization, along with case studies from various countries that are on the road to software freedom.

The primer begins with an introduction to localization and the benefits of choosing FOSS over proprietary software. The next section provides a survey of initiatives and efforts in localization of FOSS within the Asia-Pacific region, including best practices and lessons learned specifically in countries such as Viet Nam, Thailand, Cambodia, India and Malaysia. The primer also provides three case studies of localization efforts in Thailand, Lao PDR and Cambodia, as well as recommendations on technical issues, resource allocation, skills and tools, implementation, costs and language considerations.

To help localizers get started, two annexes regarding key concepts and the technical aspects of localization are provided. These are intended for project managers and implementers who are planning software localization projects.

Computers, English, and Local Users
It is almost impossible to use a computer if you cannot read the instructions, buttons and menus. Thus it is not surprising that many countries in Asia lag behind Europe and America in the adoption and use of modern computer technologies at work, in schools, and in the home.

Computers don't have to display everything in English. In fact, the computer "doesn't care" what language is displayed, since everything is ultimately converted into ones and zeros. Even if the display is translated into another language, the computer continues to operate as before.

Translating software is nothing new. This process, which is known as 'localization', is not technically difficult. However, it requires professional management, a team of translators, and financial resources, especially for the initial translations.

Commercial companies have localized software for specific markets. Typically, they recoup their costs by charging license fees for the localized versions of their software. In countries where the average citizen cannot afford to pay the fees, they either do without localized software or resort to illegal copying.

All countries want the benefits of localized software, but some cannot afford the expensive licenses. With FOSS, this problem is solved. A combination of policies that encourage software localization/translation into different languages and the ready availability of FOSS, presents an ideal means for expanding computer use worldwide.

Now is the time for developing countries to embrace the FOSS movement, and accelerate their adoption of computing technology by localizing FOSS.

Localization
Localization is the process of adapting, translating and customizing a product (software) for a specific market (for a specific locale or cultural conventions; the locale usually determines conventions such as sort order, keyboard layout, date, time, number and currency formats). In terms of software localization, this means the production of interfaces that are meaningful and comprehensible to local users.

The Localization Industry Standards Association (LISA) defines localization as: "Localization involves taking a product and making it linguistically and culturally appropriate to the target locale (country/region and language) where it will be used and sold." Typically, this involves the translation of the user interface (the messages a program presents to users) to enable them to create documents and data, modify them, print them, send them by e-mail, etc.

Technically localizing FOSS is no different from localizing commercial software. Fonts must be changed, keyboard layouts devised, and standards adopted. The difference is price and licensing. With FOSS, the price is lower and the license open to all. For saving money and time, nurturing local innovation, and combating illegal copying of software, FOSS localization is a better alternative.

The Importance of Localization
Currently, people who want to use computers must first learn English. In a country with low literacy rates, this blocks access to information and communications technologies (ICTs), especially for the rural poor and women who do not have equal access to education. Even after having learnt English, users must pay hundreds of dollars to license foreign software, or resort to widespread illegal copying of software, in order to gain access to ICTs. In short, access to information technology is one of the keys to development, and localized FOSS applications remain a crucial missing link in communications infrastructure.

Localization brings the following benefits:

 * 1) Significantly reduces the amount of training necessary to empower end-users to use a computer system.
 * 2) Facilitates the introduction of computer technology in Small and Medium Enterprises (SMEs).
 * 3) Opens the way for the development of computer systems for a country's national, provincial and district level administration that will allow civil servants to work entirely in the local language and manage databases of local language names and data.
 * 4) Facilitates the decentralization of data at provincial and district levels. The same applies to utility companies (electricity, water, telephone), who will develop local language databases, thereby reducing costs and giving better service to citizens.
 * 5) Allows citizens to communicate through e-mail in their own language.
 * 6) Empowers local software development companies to work for the administration, the public sector and private companies.
 * 7) Provides the local design industry with good fonts.
 * 8) Helps universities train more software engineers.

The beneficiaries of this multi-stakeholder project are:
 * 1) Directly, all local computer users, who will have easier access to the use of computers as they will not have to learn English first.
 * 2) Indirectly, through improvements in governance using native computer systems, all local citizens in the quality of their dealings with the administration.
 * 3) The local government who will have the opportunity to develop databases and applications in the local language. Sufficient technology and empowered local development companies will be available. The government will also have the tool to coordinate applications among similar administrations (e.g., provinces), so that IT-based improvements in governance can be made at the lowest possible cost.
 * 4) The software industry. The government's use of standards-compliant computer technology encourages software companies to start developing compatible computer systems that will be used by the different bodies of the administration, thereby creating a stable software industry in the country. Once this expertise is developed (using FOSS), these companies will be empowered to undertake similar projects for foreign companies at extremely competitive prices, facilitating sales beyond the local market.

What is Free/Open Source Software?
The last decade witnessed a phenomenon which in the preceding one would have been thought of as impossible. A community of volunteer computer scientists has developed computer operating systems, advanced user interfaces (desktops), and a number of applications that compete in quality, appearance and robustness with some of the most advanced proprietary software (such as Microsoft Windows).

The term "free" in Free/Open Source Software refers to freedom to use, study, modify and share the software. The freedom to share FOSS implies that it can be used and translated by people without their having to pay any fees. However, some software that can be used without having to pay user fees, such as 'shareware' or 'freeware', cannot be studied, modified or shared, which means that they are not FOSS.

At one time, FOSS was exclusively developed by volunteer enthusiasts. Today, however, even large computer companies such as IBM and Sun Microsystems support and develop FOSS.

A growing number of European national and local administrations have developed or are developing policies to promote the use of FOSS instead of proprietary systems and tools. This not only gives them independence from commercial vendors, but also nurtures their own software development industries.

There is little doubt now that FOSS is viable and of high quality. Therefore, many governments are choosing FOSS for localization.

What is GNU/Linux?
GNU/Linux is a free Unix-type operating system originally created by Linus Torvalds and the GNU Project with the assistance of thousands of volunteer developers around the world. It is the most popular FOSS. Developed under the GNU General Public License, the source code for GNU/Linux is freely available to everyone. And one does not have to pay a licensing fee to download and use it. It is robust and secure, and it has no "hidden" features, because the source code is publicly available. Unlike proprietary operating systems, thousands of developers across the globe can inspect the code, identify vulnerabilities, provide security patches, contribute improvements and therefore historically GNU/Linux systems cannot be easily compromised by attackers.

Why Localize FOSS?
It is an acknowledged fact that the near-monopoly of English language software, controlled by English speaking companies, does not serve the long-term needs of any country. Microsoft and a few other large US corporations dominate the international software market, earning large profits and wielding enormous power. For those with limited funds, the burden of paying for proprietary software means less money for other programmes of vital importance, as well as giving up linguistic freedom.

While proprietary software is often of the highest quality, policy-makers worldwide know that it carries a high risk of dependence on commercial corporations. If a corporation decides to no longer support software in another language, only those who are fluent in English would be able to operate computers effectively. And when local ICT professionals become proficient in both computers and English, they are quickly lured away from home, leading to a "brain-drain" that can damage a developing country for generations to come.

Key Advantages of FOSS Localization

 * 1) Reduced reliance on imports.
 * 2) No need for local users to learn English first.
 * 3) Local programmers gain expertise and experience.
 * 4) Local control over software appearance and functionality.
 * 5) New local technical standards and educational opportunities.
 * 6) Establishment of a local software industry. It is difficult for foreigners to do localization as they do not normally have an intuitive feel for the local language and therefore the language is compromised in most cases.
 * 7) National policy on local content would not be dependent on the availability of proprietary software or hardware.
 * 8) Localization of applications can be prioritized according to the national needs.
 * 9) Languages that are nationally important but financially unfeasible can be used.

Disadvantages of Proprietary Software

 * 1) Expensive to license and maintain.
 * 2) Dominated by the English language.
 * 3) Controlled by foreign corporations.
 * 4) Dependent on proprietary or closed standards.
 * 5) Has little or no local support.
 * 6) The high cost of the software leads to illegal copying of the software.
 * 7) The local software industry is not developed.
 * 8) Software cannot be localized or modified.

FOSS is generally much more secure than proprietary or closed source software. In the words of Peruvian Congressman Villanueva, "To guarantee national security, the State must be able to rely on systems without elements controlled from a distance. Systems with open source code allow the State and citizens to inspect the code themselves and check for back doors and spyware."

Certainly, in an uncertain and sometimes dangerous world, few governments can afford to risk their information infrastructure security by relying on the goodwill of a secretive organization (such as a commercial software company) that they cannot control.

title: FOSS Localization/Introduction


text:
FOSS Localization/Localization Efforts in the Asia-Pacific

A Survey
In the winter of 2003, a survey was done on FOSS localization efforts in several Asian countries. Progress in localization varies considerably from place to place. Governmental sponsorship of the project appears to be the single most important factor in achieving rapid success in localization. Without exception, the developers surveyed cited "Freedom to Develop" as their primary reason for choosing to localize FOSS instead of using proprietary software.

The CJK Initiative
China, Japan and Korea are officially cooperating in FOSS localization. The well-funded and extensively promoted "CJK" programmes encouraging use of localized FOSS are at par with that of the wealthiest nations.

With educational and technological infrastructure and a large pool of skilled technology and language specialists, these three countries have the potential to dominate East Asian FOSS development in the next decade.

As donors and advisors, all three countries have a track record of supporting FOSS initiatives worldwide. Others should emulate the technical and organizational competence of the CJK FOSS and localization initiative, which is being led by the Chinese Software Industry Association (CSIA), Japanese IT Services Industry Association (JISA), and the Federation of Korean Information Industries (KFII).

This primer is too short to fully detail the impressive work of the CJK initiative. However, a number of references to CJK as well as contact information for the key leaders of the movement are provided.

Indian Languages
There are already multiple localized Indian language versions of GNU/Linux, Mozilla and OpenOffice.org available online. The depth of technical experience of Indian programmers in localization should enable them to provide assistance to other Asian countries in their localization efforts.

India has world-class IT infrastructure and skills. It also has a multiplicity of languages. Currently, the Indian Ministry of Information Technology is localizing to Hindi, Marathi, Kannada, Malayalam, Tamil, Telugu and Sanskrit.

At least two independent groups as well as the Ministry of Information Technology are currently localizing to Tamil.

An initiative to localize GNU/Linux to around 10 Indian languages, called Indix, is being spearheaded by the Centre for Development of Advanced Computing (CDAC), a scientific society of the Ministry of Communications and Information Technology, Mumbai. There is also a Hindi GNU/Linux and a Bangla version in progress.

English is widely used in India. Therefore, the underlying programming languages are easily understood, making the work much easier. For English language FOSS development, South Asia can realistically compete with Europe and the United States today.

Thai
Localization of FOSS in the Thai language was started in 1993 by Thai students in Japan in an effort to use Thai in Unix environments. Later, a similar movement commenced in Thailand. These two movements merged and LinuxTLE and the Thai Linux Working Group were launched in 1999. However, the movement was limited to a small community until mid-2001 when the Thai version of OpenOffice.org, dubbed Pladao and sponsored by Sun Microsystems (Thailand), was announced to the public. Documentation is being carried out by private publishers who, in exchange, will retain the copyright on their work for later sale to the public in the form of books and manuals.

Only 10 individuals are actively involved in the project at this time, with development resources provided by a combination of private companies and government.

Thai developers are using GNU Compiler and Tools for modifying GNU/Linux, Mozilla's "Bugzilla" for defect tracking, and CVS for version and source control. In addition, OpenOffice.org, a productivity suite, is being localized for Thai users.

The primary difficulties the Thais are experiencing include lack of feedback from users, lack of documentation, and conflicts with other Thai localization projects because of a lack of coordination and standards.

The Thais intend to roll out the software for both the private sector and public institutions, but are still in the planning stage at this time. The team has not yet seen a high-profile effort to promote the use of FOSS in Thailand. This may change in the near future, depending on government and private funding. In comparison to the CJK efforts, Thailand has fewer developers, less money, and less outside interest due to the size of its market. Other Thai localization projects are discussed on pages 7–10.

Vietnamese
FOSS localization to the Vietnamese language began in 1998, primarily as an individual effort by an enthusiast. Today, there are between 20-50 people working on the project. They are volunteers, providing their resources and time for free, and all are using FOSS tools for the work. But even with the number of individuals currently involved, there are not enough people to perform all of the necessary work.

Vietnamese localizations of GNU/Linux, Gnome, KDE, XFCE, Fluxbox, OpenOffice.org, Mozilla, XMMS, GnuCash, Gaim and Knoppix are in progress.

Plans for introducing the software to the Vietnamese people include the publication of books, formation of user groups in major cities, and provision of the software to private and public institutions. Already, there has been some effort to promote the use of FOSS in secondary schools, universities and government offices. Recently the government adopted a FOSS policy.

Malay
The Malaysian Institute of Microelectronic Systems (MIMOS) has launched a Web site to document projects in FOSS within Asia with links to key resources. MIMOS's goal is to localize key applications into the national language, Bahasa Melayu. MIMOS has already developed a local language GNU/Linux GUI and open source applications for the government. Two other localization projects are GNOME, led by Hasbullah Bin Pit, and  OpenOffice.org, spearheaded by MIMOS.

Khmer
The Khmer Software Initiative has an ambitious though under-funded plan to localize FOSS for Khmer speakers in Cambodia and elsewhere. In addition to a localized version of the GNU/Linux user interface and some applications, they intend to create a development library, complete documentation both online and in print, and specialized training materials for developers and end users. It is not known how many individuals are working on the project currently.

As elsewhere, the Khmer team envisions providing the software to both private and government users. A publicity campaign is planned and the developers expect significant support from the international development community to complete much of the work.

The quality of the planning for Khmer, a crucial first step, is very high. As with other developing countries, funding and personnel to complete the work are the main hurdles. For more information on this area, please read Khmer Case Studies on pages 12–15.

Thai Localization
Fortunately for localizers, Thai language support has been stabilized by means of standardization achieved in the preceding years. The only limitation is the readiness of the internationalization frameworks within Gnome, KDE, Mozilla and Open Office.

FOSS communities of Thailand contribute a lot to both software development and user support. Governmental organizations also play important roles in FOSS reaching the masses.

Thai Language
The official language of Thailand is Thai. Spoken by almost the entire population, with several dialects in different regions, Thai is a tonal, uninflected and predominantly monosyllabic language. Most polysyllabic words in the vocabulary have been borrowed, mainly from Khmer, Pali and Sanskrit.

Thai belongs to the Tai language family, which includes languages spoken in Assam, northern Myanmar, Thailand, Lao PDR, northern Viet Nam, and the Chinese provinces of Yunnan, Guizhou and Guanxi.

Thai script belongs to the Bhrami family. The oldest evidence of Thai script dates back over 700 years to the Sukhothai Age. Over the years, Thai script has gradually changed. Contemporary Thai script is composed of 44 consonants, 21 vowel symbols (32 sounds when combined), four tone marks, two diacritic marks and 10 decimal digits. Tone marks, diacritic marks and some vowel signs are stacked over or below the base consonants. The stacking is a shared characteristic among many South-East Asian scripts, especially those that are derived from Bhrami like Lao, Khmer and Myanmar languages. However, there are no complex precombined conjuncts in Thai, unlike most Indic scripts (Devanagari, for example). Only stacking is required. Lao is the script closest to Thai.

Standardization
Standardization is the key to the success of Thai language support in computers. It allows interoperability and resolves many localization issues. Important standards include character set, keyboard layout and input/output method specifications.

The standardization of IT in Thailand has been recognized since 1984, when there were many efforts to use the Thai language in computers. More than 26 sets of code pages were defined by different vendors resulting in incompatibility. As a solution they were all unified as TIS 620-2529/1986 as the national standard by the Thai Industrial Standard Institute (TISI). A prominent legacy was the code table defined by Kasetsart University (KU) in a successful R&D effort to enable the Thai system in MS-DOS. It was the most widely adopted standard. Therefore, computer programs were obliged to support both encodings until TIS-620 became more popular and KU became obsolete.

Therefore, when Microsoft released Windows into the Thai market, TIS-620 was the only encoding adopted. The same was true for Macintosh. Thus, the character encoding issue was firmly settled.

In 1990, TIS-620 was amended to conform to ISO standards, but the code table was left completely unchanged. This new version was called TIS 620-2533/1990. The amendment enabled TISI to actively join many international standardization activities. For example, it submitted the character set to the European Computing Manufacturers' Association (ECMA) for registration in the ISO 2375 repertoire, and was assigned as ISO-IR-166 so that it could be used with ISO/IEC 2022 mixed code page encoding. An example of such implementation is GNU Emacs. Around 1996, a TISI technical committee drafted a proposal for the Latin/Thai part (part 11) of ISO/IEC 8859, based on TIS-620. However, it was suspended due to the prohibition of combining characters. It was reactivated in 1999, and endorsed as an international standard in 2000.

The TIS-620 code table was pushed for inclusion in the Unicode table. Although the influence of the ISCII encoding scheme (which forced all vowels, including the leading vowels, to always be encoded after consonants) had made the Unicode consortium force Thai to change its encoding scheme, TISI defended the TIS-620 practice, as Thai script did not need such complications. Although this made Thai (and Lao) different from other Indic scripts, it saved Thai (and possibly Lao) implementations from the big hindrance of lacking supporting technology for ISCII practice at that time, as well as from the burdens of migration from the well-settled and widely-adopted practice. So all Thai language-processing codes for TIS-620 and Unicode, apart from the necessary code conversion, are fully compatible.

In addition to the character set, the Thai keyboard layout was standardized as TIS 820-2531 in 1988, and later amended by adding keys for special symbols and published again as TIS 820-2538 in 1995. Another keyboard variant designed after research on character frequencies, called Pattajoti, is also available. But it is not as popular and is not a national standard.

Thai input/output methods were also standardized through the efforts of the Thai API Consortium (TAPIC), which was formed by a group of vendors and academies and sponsored by the National Electronics and Computer Technology Center (NECTEC). The specification, called WTT 2.0 (from its Thai abbreviation 'Wor Tor Tor', which stands for "Wing Took Tee" or "runs everywhere"), was published in 1991. Its contents were composed of three parts, describing character set and encoding scheme, input/output methods, and printer identification numbers.

Although not endorsed by TISI as a national standard, WTT 2.0 was adopted by virtually all the major vendors who participated in the draft, including DEC, Sun, Microsoft, MacIntosh and IBM. WTT 2.0 had enjoyed being the de facto national standard for seven years, until it was dubbed TIS 1566-2541 by TISI in 1998.

There are other activities with international standards bodies that promote understanding of Thai language requirements among vendors. For example, in 1998 the "tis-620" MIME character set was registered with the Internet Assigned Number Authority (IANA) for information interchange on the Internet. Another example is an annex of ISO/IEC 14651, International String Ordering, describing how the predefined sorting order for Unicode can be tailored to match the requirements of Thai string ordering.

With these established standards, specifications for Thai implementations are clear and interoperability is guaranteed. The standards have played an important role in several developments in the Thai computer industry, including FOSS localization.

Localization
Thai localization of FOSS was started in 1993 by Thai students in Japan with the ThaiTeX project initiated by Manop Wongsaisuwan as a first effort to use Thai in the versatile typesetting program. Subsequently, the project was maintained by the Thai Linux Working Group (TLWG) which was formed in 1999.

Apart from Thai LaTeX, other surrounding UNIX environments have been modified by the same group of people to support Thai. Their work may be summarized as follows:

 * Manop Wongsaisuwan
 * ThaiTeX (ttex), X bit-map fonts.

 * Thai Project (by Vuthichai Ampornaramveth)
 * cttex (C version of ttex), xiterm+thai (Thai X terminal), likit (Thai text editor for X).

 * ZzzThai project (led by Poonlap Veerathanabutr)
 * thailatex-component, X bit-map fonts, Thai support in xfig, Thai-HOWTO and Thai RPMs.

At the same time, other Thai support projects were developed by researchers of the NECTEC in Thailand, including:
 * Virach Sornlertlamvanich
 * Thai support in Omega (Unicode-based TeX kernel), Thai in GNU. Emacs, machine translation, and many other NLP projects.

 * Surapant Meknavin
 * thailatex (babel-based), Thai search engine.

 * Phaisarn Charoenpornsawat
 * swath (Thai word break utility).

 * Theppitak Karoonboonyanan
 * Thai string collation, Thai Locale.

 * The National Fonts Project
 * Standardized font design specification, three public domain vector fonts (Kinnari, Garuda and Norasi).

Another project worth mentioning is Linux SIS (School Internet Server), which was initiated by NECTEC for use in the SchoolNet project. Although it is a server-centric distribution, it was during this project that another main task force for Thai FOSS localization was constituted. Through a mailing list for supporting its users, the volunteers agreed that another distribution for desktops was needed, and was feasible to develop, as almost all of the specialists mentioned above were there. This task was undertaken by the Thai Linux Working Group. A Web site ( http://linux.thai.net ) was created for general user support. A new GNU/Linux distribution called Linux TLE (Thai Language Extension) was created to collect, as comprehensively as possible, the existing works of Thai developers and package them for users.

Apart from being a tool for boosting the use of FOSS by Thai users, Linux TLE also provided a platform for development, and a test cycle where users could participate through bug reports. The ultimate goal was to improve Thai support for FOSS from the source. Therefore, getting patches checked-in to upstream projects was the final success indicator.

So far, lots of source code from TLWG and Linux TLE have been incorporated in upstream projects, including:
 * 1) Thai locale definition in GNU C library.
 * 2) Thai keyboard maps in  XFree86.
 * 3) Thai XIM in  XFree86.
 * 4) Thai fonts in  XFree86.
 * 5) Thai Pango modules.
 * 6) Thai string ordering in MySQL.
 * 7) GTK+, GLib, Qt, KDE, Mozilla,  Xpdf, etc.

In 2000, Linux TLE was handed over to NECTEC for maintenance. Three versions (3.0, 4.0 and 4.1) were released and gained a lot of recognition from users in all parts of the country. A dedicated Web site was created for it at http://opentle.org in 2003. TLWG continued to build its user and developer communities.

Some of the TLWG projects that are hosted and maintained by the community are:
 * libthai
 * a library of Thai basic support routines, including character sets conversion, input/output methods, word break, string collation, etc. Some plug-ins for Pango GTK+ IM are also provided.

 * thaifonts-scalable
 * a collection of scalable fonts available to the public, plus some fonts developed in-house. All fonts are maintained and improved based on standard technical specifications.

 * thailatex
 * Babel-based Thai support for LaTeX document preparation, based on Surapant Meknavin's work.

Other significant development efforts to boost the Thai environment in FOSS are Pladao and  OfficeTLE. Both projects aim to develop Thai support in OpenOffice.org. Pladao was initiated by Sun Microsystems (Thailand) and was subsidized by Algorithms Co. OfficeTLE was initiated and operated by NECTEC. Both of these projects are working in parallel, emphasizing different aspects. Pladao is feature-rich, while OfficeTLE emphasizes Thai language processing quality. Many hope that they will merge, possibly through upstream projects.

Obstacles
These are the obstacles to the localization of FOSS in Thailand:
 * 1) Too few developers. With the growth of the user base, the lack of FOSS developers to serve the growing requirements and expectations is a big problem. The premature growth of FOSS adoption in Thailand has unbalanced the community, both in terms of the ratio between users and developers, and in terms of unrealistic expectations with regard to price and freedom. Worse, the community existing developers have been fragmented because they are often employed by competing businesses. Proprietary competition has reduced the traditional cooperation responsible for the progress of FOSS in Thailand.
 * 2) Misconception. If one wishes a movement to be initiated by the government, it is necessary for the government to have a good understanding of all of the concerns. The government must realize the benefits of FOSS as a means for developing technologies, as well as for improving the technical skills of the developers. Otherwise, it just becomes exploitative. According to some, even though the Thai government has popularized FOSS through the recent campaign for affordable PCs, they have also damaged public opinion of FOSS by their failure to provide proper support. Premature promotion of FOSS to uninitiated users when it is not ready would only create a bad impression. On the other hand, claiming that Microsoft's decision to lower the price of proprietary software is actually a success for FOSS, can be seen as exploiting FOSS as a negotiation tool. Moreover, "localization" tends to be perceived by the government as an activity that is about development of local GNU/Linux distributions, which is not true. Thus, many government policies simply miss the point and sometimes make things worse.

Lao Localization
"Laonux" is the name of the Lao language version of GNU/Linux. This section deals with Laonux implementation. An overview of its success and obstacles to its development is also provided.

Traditionally, the Lao language and its literature have been written in two scripts, Lao and Tham. The Tham script is derived from the Lanna script (of present-day Chiang Mai and northern Thailand), which in turn originates from ancient Mon. The Lao language belongs to the Tai language family, which includes languages spoken in Assam, northern Myanmar, Thailand, Lao PDR, northern Viet Nam, and the Chinese provinces of Yunnan, Guizhou, and Guanxi. Lao script is believed to have originated from the Khmer writing system. It originated in the Grantha script, which was the southern form of the ancient Indian Brahmi writing system.

Lao script shares characteristics with other South-East Asian writing systems. It follows complex rules of layout involving consonants, vowels, special symbols, conjuncts and ligatures. Spaces are not used to separate words, and vowels appear before and after, under and over consonants.

Obstacles and Successes
In localizing FOSS for the Lao script, the following tasks must be completed:
 * 1) Identifying the technical obstacles to be overcome.
 * 2) Creating the world's first English/Lao technical dictionary.
 * 3) Finding and coordinating technical volunteers.
 * 4) Establishing de facto technical standards.
 * 5) Performing and testing the work.
 * 6) User training and education.
 * 7) Identifying the sources of funding.

The work of investigating how GNU/Linux can be localized for Lao began in the summer of 1999 and proceeded slowly at first. Months of research and experimentation identified the technical difficulties and tools available to resolve them. Anousak Souphavanh, working from Rochester, New York, eventually formed a team of volunteers, teachers and students from the National University of Lao PDR to focus on translating KDE into Lao. The KDE desktop in Lao allows the end user to access the basic functionalities of a computer, including email, Web browser and office applications.

Until 2002, the work progressed slowly but steadily, aided largely by helpful and frequent advice from fellow FOSS enthusiasts worldwide. The community regularly provides invaluable information and assistance in tracking down documentation of technical issues, relating experiences in solving similar problems, or simply encouraging the volunteers in their efforts.

In 2002, the Jhai Foundation provided a small stipend to support the development of Laonux. As before, research had to be performed on the technical issues and tools, and more volunteers had to be found for the required translation and programming. The programming work was completed in 2003. However, the bulk of the translating remains undone. The major obstacle is the lack of an English/Lao technical dictionary. Without this, any translation will be inconsistent and confusing to users.

Upon completion of the dictionary, it is relatively simple to translate the remaining message strings and integrate them into the desktop environment. This work can be performed by either professional or student translators at a relatively low cost. But until the dictionary is completed, the work will continue at a snail's pace.

Funding for the dictionary and translators is now being sought from international development agencies. In addition, funding for professional documentation, training and user education is required.

Standardization
The lack of technical standards for the Lao script and its implementation in software remains a difficult challenge. The following standards must be completed and accepted officially:
 * 1) Character set.
 * 2) Keyboard layout.
 * 3) Unicode fonts.
 * 4) Input methods.
 * 5) Output methods.

To date this project has yielded some very useful de facto technical standards. Lao officials now recognize the vital importance of these standards and have adopted the goal as their own. These standards and the technical dictionary could dramatically speed up the ensuing. Until the majority of Lao developers agree to follow standards, further development will be hampered.

Localization
Team members have resolved the following issues. These solutions follow ISO standards and should be adopted by future localization efforts to avoid duplication of effort and incompatibility between systems.

First, Unicode fonts were used instead of the existing fonts that override glyphs of English letters as per keyboard layout because these fonts are not standards compliant. Unicode is now the worldwide standard for FOSS developers. Also, development tools such as Kbabel and KDE require Unicode compatibility.

Laonux is a KDE localization, which is why the rendering of fonts is handled by the Qt libraries (as opposed to Pango or X Window). The Qt library file "Qt-qfont_X11.cpp" was modified slightly to point to the appropriate range for Lao. Initially Lao fonts were not rendered properly while stacking combined characters (i.e., consonant and a vowel). With the help of Theppitak Karoonboonyanan, patches were submitted to fix the rendering. Resolving these issues was a major breakthrough for Laonux development.

Inputs are handled by XKB, the keyboard map for X. It is used in converting key-strokes to key symbols defined in "X11/keysymdefs.h", with language switching capability. XKB Lao keys were created with the appropriate Lao Unicode range. Finally, the GNU C library definition for Lao was created. This is mainly UTF-8 locale settings for date/time and related issues.

Future Plans

 * 1) Continue work on  Laonux.
 * 2) Begin work on localizing OpenOffice.org.
 * 3) Continue translation work for PHP Web portal tools.
 * 4) Begin work on localizing  Mozilla and other Web tools.
 * 5) Train users and technical staff for localization projects.

The first priority is to create the English/Lao technical dictionary. Whether this will be funded by governmental sources, grants or international aid is unclear. Without this dictionary, translating and localizing the software cannot be completed. Another priority is to continue cooperating with other regional software localization efforts, especially where they have already addressed similar issues.

Additional modifications and updates to ISO and Lao government IT standards are required for the long term. These include Input/Output methods, keyboard layout, collation, locales, and additional Lao OpenType Unicode fonts standards.

Cooperation with universities for localization is ongoing. With most of the technical issues resolved, localization is now primarily a language issue. To avoid unnecessary anglicisms, professional linguists are needed. If technical professionals are involved in this process, they are likely to impose what they already know, which is English. It is far better for the future to adopt native language terms wherever practical. However, without funding, it is likely that a hodge-podge of anglicisms will prevail.

On the technical level, support for Lao script in IBM's ICU library is needed. ICU is the script support base for OpenOffice.org and for Java (released by IBM and Sun Microsystems). It is a complete library, including script rendering, layout, collation (sorting of words), line breaking, spell-checking, etc.

Some difficult and important technical work has been done. However, full integration in ICU will force us to define all of these issues very clearly, and this will pave the way for the developers to create Lao applications in Java and C++. Without this, professional Lao software development can be difficult.

Khmer Language
As in the case of Thai and Lao, Khmer script originates from the Grantha script, the south Indian form of the ancient Indian Brahmi writing system

Khmer script follows complex rules of layout in which consonants may take two different forms (e.g., the small form is placed on a lower line if it immediately follows another consonant). Space is used not to separate words but to indicate a pause in reading (very much like a comma in English). Vowels pronounced after a consonant may appear before, after, above, below; before and after (formed by two glyphs); before and above; below and above; or under and after the consonant.

At present, the definition of the language is so poor that even the number of vowels in the language is not clear. The number of vowels in the official reference (the only available dictionary) is different from the number of vowels taught in schools. The reference dictionary is sorted phonetically, making a systematic collation algorithm that will follow the same order impossible. Words starting with the same consonant may be ordered under different listings depending on how that consonant is pronounced in that word. As in the Lao localization project, an English/Khmer technical dictionary is not available, and the lack of it severely hampers the efforts to translate software into the local language.

Obstacles and Successes
When the KhmerOS project was first being considered, the technical situation was as follows:
 * 1) Khmer had already been included in Unicode. Fixed in 1996 by a team of people who had no contact with the Cambodian government, the definition in Unicode was later disputed, but to no avail. The Unicode Consortium refused to change anything, including the addition of necessary Khmer vowels, on the basis that these could be formed by combining other existing Khmer characters. The Consortium only permitted adding comments to the existing standard. The standard is now considered fixed by the Khmer government (in its 4.0).
 * 2) Microsoft had published OpenType specifications for Khmer, and included the language in its Uniscribe complex text layout engine. MS Publisher worked very well in Khmer, but MS still did not handle either line-breaking or sorting. MS Word crashed quite often while using Khmer.
 * 3) Some OpenType Khmer fonts already existed, though none in the public domain.
 * 4) No FOSS programs were implemented in Khmer in the GNU/Linux environment, but some FOSS (such as  Mozilla) worked well in Khmer under Windows, using the Microsoft Uniscribe engine.
 * 5) Some people had been considering FOSS in Khmer, but the idea had not gone beyond mailing list discussions.
 * 6) There has been an amazing proliferation of legacy (non-Unicode) fonts. Up to 26 different font encodings had been defined. They worked well enough under MS Word by modifying " normal.dot".

It is also important to understand the social situation, as follows:
 * 1) The lack of computers in the Khmer language increases the digital divide. Only people who speak English have access to jobs that require the use of computers.
 * 2) Because computer interfaces are in English, the words used for computer-related work are also in English, introducing many anglicisms that could have been easily avoided if the software had been translated.
 * 3) As people have to memorize new English words (in the menus), training for computer use takes a long time and it is soon forgotten if it is not used.
 * 4) There is no English/Khmer technical dictionary.
 * 5) The development of databases for governmental purposes is not possible, as no database management systems that handle either legacy or Unicode Khmer encodings have been developed.
 * 6) In order to join the World Trade Organization, Cambodia has passed an intellectual property law that, when in force will, in theory, compel people to pay for proprietary software. FOSS allows developing countries to comply with the requirements of WTO without having to spend large amounts of money.

Spanish computer scientist Javier Solá, who lives in Cambodia and has more experience with computers and strategy than with FOSS, has decided to see what can be done in this situation. He has started writing an ambitious project with the following deliverables:
 * 1) A full computer operating system, office suite and entertainment applications needed by an average computer user - entirely in the Khmer language. A user will see only the Khmer language script on his/her screen. The system will include full documentation in Khmer, in electronic and paper formats.
 * 2) A "development library" (a set of programs) to be used by software developers to include support for the Khmer language in their applications; documentation of the development library.
 * 3) A set of up to 50 computer fonts (Unicode OpenType fonts) to be used in the application menus, for word-processing or for computer design.
 * 4) A keyboard layout, supporting drivers and 5,000 physical keyboards that support the abovementioned Unicode fonts.
 * 5,000 copies of an installation disk that would be easy to use and would include all of the above software and documentation; with 1,000 of them accompanied by a full printed documentation.
 * 1) Training materials addressed to end-users, including the use of the system and the applications, and a training course for typing with the new keyboard.
 * 2) Computer end-user trainers trained to teach the new system using the above-mentioned materials: University professors, students and software development company personnel trained in advanced GNU/Linux and FOSS and application development using the Khmer script support tools provided by the project; computer vendor personnel trained in the installation of the system.
 * 3) FOSS expertise centres in universities, including trained professors, students and computers with Internet connectivity.
 * 4) Software development companies empowered to develop applications based on FOSS that require support for the Khmer language script.
 * 5) Government personnel trained to use the system.
 * 6) Personnel expertise on software purchasing, coordination of applications between similar administrations, and analysis of priority applications for improved governance.
 * 7) Marketing materials for deployment of the system.
 * 8) Widespread publicity of the system directly or through computer and software vendors.

The project not only considers the final goal but also the order in which the programs will be translated. First Mozilla, an email client, and then OpenOffice.org, an office suite, will be released under MS Windows. Finally these will be included in a fully Khmer GNU/Linux release when the user interface is translated.

After considering and later rejecting (for lack of real industry interest) the creation of an Industry Consortium, the project soon found a home in the local Open Forum of Cambodia, an NGO with a long history of supporting technologies for social purposes in Cambodia.

Sharing the idea of the project with anybody who would listen, setting up a Web site ( http://www.khmeros.info ), and initiating contact with various people interested in Khmer and computers, brought in the first volunteers.

Typographer Danh Hong put into the public domain one of his Khmer OpenType fonts. This was an important preliminary step to get the FOSS community interested in this language.

Lin Chear, a Canadian engineer of Khmer origin, started looking at Pango and in a few days created the necessary programs to support Khmer in Gnome and its family of products. Khmer will be supported by version 1.6 of Pango. KDE followed soon after.

With the help of Lin Chear, the European maintainer of Qt, developed the routines needed for supporting Khmer in KDE and programs that use Qt for language support. Lin Chear applied a Pango patch to Mozilla and got a version of Mozilla working in Khmer on GNU/Linux.

Back in Phnom Penh, the KhmerOS project established itself in a small office at the Open Forum facilities. Using USD1,500 from the first small donations, they hired two computer scientists and with a couple of old donated computers, started creating a glossary of Khmer computer terms as preliminary work before starting the translation. A donation from a Hong Kong businessman would later permit the purchase of new computers.

Meanwhile, work and discussion regarding keyboards and collation algorithms are ongoing. Implementations in the Thai language show that dictionary based line-breaking can be done in languages that do not separate their words. Work on conversion of texts in legacy fonts to Unicode encoding has also started.

"Evangelization" for Unicode is a necessary part of the project's work. Large amounts of money are donated to Cambodia or used by NGOs for computer-related projects, such as creating a database of all Cambodian laws. If these projects are not done in Unicode, the databases will be useless in a few years.

Future plans include increasing the project team to five translators with at least one of them a professional translator, and releasing email, browsing, word processing and spreadsheet programs in Khmer ( Thunderbird and Firefox from Mozilla and OpenOffice.org Writer and Calc).

These programs will all be released on MS Windows (2000 and XP), and will have full documentation in Khmer, as well as basic training modules in Khmer to be used by computer training professionals. Training materials are important in order to fix the language and terminology used by teachers, assuring standardization and avoiding use of too many anglicisms.

The translation of Gnome or KDE (or both) began in 2004, as well as a series of minor applications that will allow the release of a complete GNU/Linux-based system in Khmer in the second half of 2005.

Funding is still a major concern. Project speed is adjusted to suit funding, which comes either through grants or through contracts with corporations or other NGOs that need translated programs or services related to Khmer Unicode that can be provided by the project itself.

On the technical level, support is still required for Khmer script in IBM's ICU library. Full integration in ICU will compel the project to define all such issues clearly, as well as open the way for developing Khmer applications in Java.

Another concern is being able to use low-priced computers. In the Microsoft environment, Khmer Unicode will work only in Windows 2000 and XP, which require modern computers with a fair amount of memory and large hard disks. The way to low-priced (i.e., secondhand) Khmer computers will definitely have to be either through GNU/Linux or by getting Khmer script support in earlier versions of Windows such as Windows 98.

The project's distribution strategy is to try to have the software pre-installed by computer vendors and distributed by "two-dollars-a-CD" software vendors. This is to allow easy copying and wide distribution, thereby saving the project the cost of making copies.

The government, under an IDRC grant, is pushing for the localization of Windows and MS Office. They have neither plans nor resources to get involved in FOSS localization, but are said to be interested in coordinating efforts so as not to duplicate work and to ensure that the Khmer language (collation, etc.) is implemented consistently in both platforms.

The project aims not to be sectarian about FOSS. It is better to have people using email in Khmer on Windows in the short run than to try to make them change to a completely new system abruptly. There are still two or three years before the intellectual property law is expected to be strongly enforced. This period can be used as transition time, assuring a gradual success rate, rather than trying to force an overnight change and thereby failing.

Status of Localization Projects
A survey of the status of localization projects was conducted by the PAN Localization Project during the training on "Fundamentals of Local Language Computing" in Lahore, Pakistan in January 2004. Participants from 13 Asian countries were asked to provide information about the status of localization tasks in their countries. The survey revealed the status of standardization, localization and national policy for local language computing of the participants' countries. Please note that the informal survey technique employed gives only a rough picture of the actual situation.

Table 1 summarizes the survey on standardization for character set, keyboard layout, key-pad layout (e.g., for mobile phones), collation sequence, terminology translation and locale definition.

From the table, character set and keyboard layout seems to be well defined for most countries, while other issues need more work.

Table 2 summarizes the current status of localization of applications on the GNU/Linux platform, namely, keyboard input, fonts, sorting and find/replace utilities, natural language processing, spell checker, and thesaurus. It also shows whether any GNU/Linux distribution has been released in the country.

The survey shows that FOSS localization activities are taking place in many countries. Sharing expertise and resources among countries can boost progress in this area.

For message translation, a number of Asian language localization projects are underway. All of these projects are tracked in real time on the Internet. The following links provide the current status of some of these projects.

 * 1) http://i18n.kde.org/stats/gui/HEAD/fullinfo.php
 * 2) http://www.mandrakelinux.com/l10n/status.php3
 * 3) http://l10n-status.gnome.org/gnome-2.6/index.html

As of June 2004, Japanese and Korean translators have already completed most of their initial work in FOSS localization. China is close behind, followed by India and the South-East Asian nations. The situation is highly fluid, however, and the above sites should be checked for detailed and updated information on the current status.