We are pleased to announce the launch of KeymanWeb 2.0 as an open source software product, under the Apache License, Version 2.0.

What is KeymanWeb?

What is KeymanWeb? It’s an open source input method framework for the web, supporting desktop and touch keyboard layouts, which works in all modern browsers. This means that visitors to your web site can type in their language without needing to make configuration changes to the computer they are using.

Three devices with KeymanWeb, vertical

Anyone can create keyboard layouts for KeymanWeb using the free Keyman Developer 9 tool (in beta right now), and today we have online around 500 keyboard layouts for over 1,000 different languages, contributed by hundreds of developers over the last twenty years. The same keyboard layout files can be used also in Keyman Desktop for Windows, and in the native Keyman for iPhone and iPad and Keyman for Android apps.

Touch Editor - Amharic

Version 2.0 is a complete rewrite of much of KeymanWeb, and importantly adds comprehensive support for smartphones and tablets. KeymanWeb is the only comprehensively multi-platform web input tool!

You can try out KeymanWeb on the KeymanWeb Live site, and download the source from the KeymanWeb Developer home page.

What is Open Source?

Okay, so what is open source software and why is this announcement important? The opensource.com website explains this better than we could:

Open source software is software whose source code is available for modification or enhancement by anyone.

"Source code" is the part of software that most computer users don't ever see; it's the code computer programmers can manipulate to change how a piece of software—a "program" or "application"—works. Programmers who have access to a computer program's source code can improve that program by adding features to it or fixing parts that don't always work correctly.

Is open source software only important to computer programmers?

Open source software benefits programmers and non-programmers alike. In fact, because much of the Internet itself is built on many open source technologies—like the Linux operating system and the Apache Web server application—anyone using the Internet benefits from open source software. Every time computer users view webpages, check email, chat with friends, stream music online, or play multiplayer video games, their computers, mobile phones, or gaming consoles connect to a global network of computers that routes and transmits their data to the "local" devices they have in front of them.

— quoted from http://opensource.com/resources/what-open-source — learn more at that link.

So yes, you can now download the source code to KeymanWeb and use it on your website at no cost.

The whole story

About two weeks ago, I arrived in San Francisco to attend the 38th Unicode Conference. I would be presenting there on our research into touch layouts for a variety of languages — the presentation is online here. On the Saturday before the conference, Twitter were hosting a “Language Hackathon” where any person interested in furthering language support on computers could join with other like-minded people and share code and ideas. I found out about the hackathon just a couple of days after I had booked my plane ticket, and found to my disappointment that I would arrive half way through the event — if my flight landed on time! But I would probably be more than a little jet-lagged, because I was flying from Tasmania to California, a total in-the-air time of about 19 hours, not to speak of airport time.

My flight did land on time, and I made it to the hackathon, and I’m glad I did. It was an incredible opportunity to meet and share and learn. And during the hackathon, I released KeymanWeb 2.0 – as an open source product. While sitting in the conference room, I uploaded the source code from my laptop to Github and went public, appropriately enough, on Twitter:

Then, with the encouragement of Alolita Sharma from Wikipedia, I announced my fateful move, jet-lagged and half-asleep, in a lightning talk.

Twitter Lightning Talk - KeymanWeb Announcement

Now version 1.0 of KeymanWeb was a closed source product. We’d minified and obfuscated the code, and added rudimentary license protection, but it was still pure JavaScript, so it really would not have been hard to copy it. Any technological measures to prevent copying were sure to fail against a determined attempt. We’d done reasonably well with version 1.0, with licensees all around the world, but I’d always been uncomfortable with the closed-source nature of the solution, because the web is an open place. JavaScript code is made to be shared, and read, not protected and obfuscated. Obfuscating the code also made support and integration more complicated for our customers, and of course made it impossible for them to tailor the solution to their needs.

So we decided to stop fighting the inevitable, and instead embrace it. By open sourcing KeymanWeb, we could stop wasting energy on protecting the code, and instead focus on delivering better quality code, and hopefully build a community of developers who would also contribute. This is of course a big and scary step: how can we make a living with the code now that it is open? The basic answer is that we are well setup to provide support and particularly integration services around KeymanWeb, and my hope is that our users and customers will both find this service valuable. We would of course welcome support from organisations that find our contribution valuable.

We’re new to the open source development world – we’ve contributed to a number of projects, but we’ve never really hosted a big project before. So we’ll be learning a lot in this process!

Where to now?

1 thought on “Announcing the Launch of KeymanWeb 2.0 – Open Source”

Maung Sein Pru · November 14, 2014 at 5:56 pm

For the Burmese keyboard, my suggestion is as follows: Ka and Kha, Ga and Gha, etc could be made to type with each key and key + shift key. By making the soft sounding and hard sounding alphabets type with and without the shift key, typing will be made much easier. The f key used as a dead key is fine, yet for compound alphabets and words other less used keys could be chosen for typing. This idea if used throughout a new keyboard will make typing much more easier as in the Bijoy or National keyboard used in Bengali (Bangladesh).

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Posts

Developing Keyboards

Introducing the Keyman Open Source Keyboard Repository

We have many hundreds of keyboard layouts online at keyman.com that cover well over a thousand  languages. These keyboard layouts work on Windows, the web, iPhones, iPads and Android phones and tablets. However, most of Read more…


Using Keyman Engine for Android to create a system keyboard

In part 1 of this series, we looked at the steps involved in creating a basic Android app which included a Keyman in-app keyboard. In this post, we’ll work with the second sample included in Read more…

Developing Keyboards

Using Keyman Engine for Android to create a custom keyboard app

Note: You must have a license for Keyman Engine for Android in order to access the resources documented in this blog. (Purchase a license) Keyman Engine for Android allows you to use any Keyman touch Read more…