American Megatrends Inc (AMI) is a leading global player in the storage and embedded space. It sees open source as both the present and the future of the embedded arena. Sridharan Mani, director and CEO, American Megatrends India, spoke to Vanisha Joseph of LF Y about the intense relationship developing between open source and embedded systems, and the vast opportunities it holds for the developer community.
What are the opportunities for FOSS and Linux experts in the IT industry? Which segments look promising?
Open source is becoming a hotbed of opportunity for FOSS and Linux experts. The embedded market is a growing segment in the IT industry, with Linux dominating this space. This has resulted in most embedded players like us looking for more Linux related resources (professionals).
Further, if you deviate from the desktop and PC world and start looking at the mobile world, you can see the huge role played by open source today. Most mobile devices do not have enough processing power, memory, etc; so they cannot run on a fat operating system or a flat client. The operating kernel needs to be lean and mean, and that is easily achievable using open source. Linux, for instance, allows you to have the kernel as small as possible, apart from making adaptability so much easier. Thus, Android, a software stack for mobile devices that uses a modified version of the Linux kernel, is fast picking up, especially in the smartphone segment. This, in turn, is driving demand for FOSS and Linux experts in the embedded and mobile devices segment.
Does the use of Linux/FOSS platforms and tools give one an edge in project development?
We work extensively on embedded and mobile applications. Solutions providers like us do not go to the market and ask customers to choose between Linux (open source) and Windows (proprietary). Typically, we have noticed that in the market, customers prefer Windows’ rich graphical user interface (GUI) for commercial desktop applications, but for mobile or embedded GUIs, it takes a back seat. What is more important is how quickly and efficiently can one have the porting done to the hardware. Most mobiles have ARM-based hardware on which porting Linux is easier, making the development cycle faster. Further, for some projects involving our defence customers, who create their own architecture, Linux is the only option as Windows doesn’t support all architectures.
What is the cost advantage of using open source for project development? Does it offset the high maintenance costs that are associated with open source?
Open source has cost benefits at two levels—the cost of development and runtime costs. By using open source, one can easily port to the hardware as the source code is available. This helps to identify problems in a shorter period of time and provide solutions faster. In our business, time is money and thus a faster development cycle translates into savings in development costs. However, the bigger impact is on runtime costs. If you build an application using Linux, no associated costs are involved when you ship the embedded hardware. But, if the application is built on proprietary software, apart from a one-time investment in the software, the upgrade cost needs to be paid on mobile devices too. Thus Linux is a one-time investment for development, with no royalty or runtime licence costs associated with it.
Talking about the maintenance cost, it is more relevant to the desktop and PC world than the mobile space we are in. Typically, in the mobile segment, we see people changing their phones once every two-three years. Further, most people don’t go and load new applications to their devices, so the chances of mobiles crashing are low. Thus maintenance isn’t really an issue.
Which open source tools do you use?
We use GCC native and cross compilers, graphical libraries like GTK+ and QT for UI designs, the Linux kernel for X86, ARM and Power PC in our embedded designs. We use MySQL and Postgres for database management and Fedora/Ubuntu as our desktop operating systems.
What are the products that AMI has developed using open source?
Some of our major products use open source components. For example, our remote server management cards are based on embedded Linux and so are some of our storage products. We have also ported versions of Linux to custom architectures and are involved in GCC compiler development. Further, one of our recent products, called Power Manager, is based on open source. We also have our own testing tool for embedded applications for which we have used open source. In a nutshell, about 70 per cent of the applications and products developed by us are based on open source.
How do your developers contribute back to the community?
Our developers have been involved in kernel development and fixes in ACPI and x86 HPET; in Intel i915 Display Driver/Linux Direct Rendering Manager (DRM), Kernel PCI and SMP code bases.
What challenges do you face when using open source for project development?
The main challenge for us is version mismatches. Very often, we develop an application using the current version of the open source software, but by the time development is completed the versions get upgraded. So we have to go back to the old set-up and make the changes. This process is time consuming, but with ample help available from the online community, we usually overcome the issue. Talent is another challenge. The applications that we develop are in the embedded area and thus we need professionals with knowledge about Linux, ‘C,’ hardware and microcontrollers. We impart internal training to overcome this shortcoming.
Can you elaborate on the training imparted to your professionals? Do you offer upgradation programmes?
We give a thorough training spread over three months to finetune the developers’ skill-set. This covers microcontrollers,
hardware, GUI and open source programming languages. Further, we ensure that the learning process is on thereafter. For instance, whenever a new distribution is released, we download it and allow the developers to experiment with it. We strongly believe hands-on training in open source technologies is the best way to upgrade one’s skill-set.
Do you have a dedicated team developing embedded solutions using open source technology?
AMI works on next-generation technologies and has multiple teams (covering storage, hardware related diagnostics, embedded systems, mobile apps involving porting Android/ open source OS for netbooks and cell phones, and remote management) involved in such development. A majority of the solutions we are developing will be available in the
market six-eight months from now and most of them are built using open source. All our teams are well equipped with open source skills. In India alone, we have about 200 people developing applications using open source.
What are your hiring plans for 2010-11? What kinds of skills are you looking for?
We had hired 60-70 people last year and this year too, we plan to hire another 70-80 people, well-equipped with open source and embedded system skills. We are looking for professionals with a good engineering background, either in electronics or computer science, and a good understanding of microcontrollers, ‘C’ and Assembly.
In the future, which projects would you pursue?
We are going strong on Android and mobile application development. Thus we are looking for more projects in the mobile applications space. We are also looking for projects involving embedded systems and Linux, as embedded systems will remain our prime focus.
What advice would you give to IT companies and developers looking to enter the open source world?
Actually, for any player in the embedded market today, Linux is the first choice. The only thing one needs to learn is how to use one’s resources effectively. Developers looking at a career in embedded systems using open source should focus on fundamentals. It is important to understand the hardware architecture and the operating system that you want to port to a particular hardware. The ‘one size fits all’ methodology doesn’t work in the embedded space. So don’t design one software solution and force it upon customers. First understand which solution is required and then decide on the hardware, OS and the applications.