SINGAPORE--Software makers are coming under pressure to lean toward open source, says a Google engineer.
Greg Stein, an engineering manager at Google and the chairman of the Apache Software Foundation, said competition from the open-source community has already compelled proprietary vendors to loosen their grip on restrictive software licenses.
For instance, Gnome, a desktop interface software used in Linux and Unix operating systems, was created in response to the K Desktop Environment (KDE), which had a restrictive license, Stein noted.
"A graphics toolkit in KDE was not open source, and that meant KDE could not be open-sourced. There were a lot of restrictions on who you could give it to, or [whether you could] sell it as part of a larger package," he said during a conference on open-source trends held here this week.
"The Gnome guys started Gnome in response, and they created a desktop [interface] that was free. The KDE folks felt the pressure to relax their license. They changed to an open-source license, because otherwise, their market share would diminish," Stein added.
The SSH (Secure Shell) protocol was another proprietary product that faced competition from open-source developers, Stein said. Developed by Finland-based SSH Communications Security, the protocol is commonly used to establish secure channels between local and remote machines.
While SSH was also available as open-source software released under a GPL, it was discontinued later. This deprived SSH users of product and security updates, Stein said.
"A group of developers then went back to the GPL version of SSH, and started enhancing it by copying features and security fixes [of newer but proprietary SSH software]. Since then, OpenSSH has gone beyond what the company that did SSH could do," he explained.
The Apache Geronimo project also started because there was no freely available J2EE (Java 2 Enterprise Edition) application server that was industry-certified. This again reflects the pressure on software to move down the licensing stack, from proprietary to open source, Stein said.
Stein acknowledged, however, that not all software will be made available as open source. These include games and tax software that require domain expertise in the development process.
Games, for instance, are developed by large pools of design artists, while creating tax software requires lawyers. There is little incentive to engage expertise in those areas and to make the final product available for open-source development, he explained.
Backbone of Google's success
Stein's confidence in the open-source movement was clear in his overview of how open-source software is used at the search giant. "Google owes much of its success to open source," he said.
With thousands of Google's servers in data centers located around the world, Stein said, it would be costly to use proprietary software to provide 450 million unique visitors a month with reliable online services.
According to Stein, Google needs lots of horsepower to run its massive operations. The company decided to use commodity "white-box" servers running Linux, rather than a few large enterprise-class machines.
That approach helps to eliminate reliability problems, because if one data center goes offline, another one can quickly take over, he said.
Besides Linux, Google's infrastructure is largely powered by open-source software such as Java libraries from the Apache Foundation, Python, PHP and MySQL, though managing multiple versions of different open-source software is often painful, Stein noted.
"There was very little organization, and we ended up with a large mess of different [development] teams doing their own things," he said.
It was only two years ago that Google started an Open Source Program Office to manage its open-source software, developer tools and accompanying licenses, Stein said. The office also ensures that changes made to Google's open-source software are channeled to the developer community.
In addition to all of the benefits, Stein noted that "open source allows us to control our own destiny".
He explained: "We can take a copy of the Linux kernel and do what we need to do. There isn't anyone imposing rules in order to deploy Linux.
"If we need to find a solution, we can go into [the Linux kernel] and do it ourselves without having to tell our vendor to build us a driver for, say, a custom chip," he said.
Another conference speaker, Ian Holsman, the founder of Zilbo.com, an open-source consultancy in Australia, noted that the ability to view source codes in open-source software means bugs can be nailed down easily.
"Your technical staff can fix a problem by looking at the source codes. But if you try talking to a support engineer over the phone, it's usually hard to reproduce the problem," Holsman said.