Xebia, an IT company working extensively on enterprise Java technology and Agile software development, has been betting big on open source technology like JBoss in recent times. Anurag Shrivastava, head of Xebia India operations, talks to Vanisha Joseph about open source being the next big thing to watch out for by any developer/IT company.
How do you perceive the maturity of the Indian IT market for FOSS and Linux experts? What are the key factors fostering this trend?
India is fast becoming a hot bed of opportunities for open source technologies. Across sectors, open source technology is being adopted for greater efficiency and lower cost pressure it brings to the business. Secondly, open source brings a huge opportunity for improvement of the software development process that has resulted in the IT sector embracing it with open arms.Open source technology is helping IT industry develop software faster and better, hereby reducing the time-to-market of products. These developments are milestones for the increasing demand for FOSS and Linux creating immense career opportunities for developers today.
Just a glimpse at the past would testify the maturity of open source market in India and throw light on the potential it has. Ten years ago, open source was not a credible alternative to commercial software, but look around today, we see increasing adoption of open source technology at all levels and sectors. The presence of open source offerings in product listings of many IT companies in India reiterates the growing market for FOSS and Linux experts.
What are the advantages of using FOSS platforms or tools in project development?
A big advantage of using FOSS in project development is that it helps save on cost especially the license cost. Open source gives good quality infrastructure at a low price and also provides new methods of software development like agile software development. Further, it improves the pace of results. Earlier projects that took three to four months can now be completed in a few days/hours as you don’t need to start from scratch.
Talking about the costs advantage, a lot of critics claim that the maintenance costs dilutes this advantage. What’s your opinion on this?
Yes there is maintenance/support cost associated with open source. Different open source products are at different stages of maturity. If one opts for Linux or Java-based open source products like JBoss, the maintenance costs are not high as the product has been in the market for 10 years or so and there is a huge community available to support you if there are any hitches. However, if you pick a nascent platform/tool there can be high maintenance costs as the platform/tool has to be built–which would involve manpower costs, support costs, R&D costs, etc.
What are the key tools used by you’ll for project development?
We develop software infrastructure with the help of open source technologies. The most common things we use are JBoss application server, Hibernate [object-relational mapping (ORM) library for Java] and Spring [a layered Java/J2EE application framework]. For programming language and tools, we use Java, PHP, Grails and Ruby. We use MySQL, Postgres for database management. Alongside, we rely on Ubuntu Linux.
What has been the contribution so far by your developers to the open source community?
Xebians have contributed to various project such as Apache Shindig for social networking, Spring Source for enterprise Java applications development. Apart from these projects, Xebians have worked upon Geoserver and OpenLayers. These are projects for building Geographical Information Systems. We have been a contributor to GIMP with many bugfixes, feature enhancements and a plug-in to create clickable imagemaps for Web pages. Another Xebia consultant has worked on a generic pagination framework called “theotherpages“.
Do you involve, or take any help from, developers from the community during project development?
Open source is driven by the community and we involve the community at different levels during project development. The first is the level of sharing ideas/bottlenecks with them for solutions. Thereafter, the community plays a great role in checking the commercial viability of the open source platform/tool to prove the robustness of the project. Lastly, the community plays a huge role in the support or maintenance where in they bail you out if you run into issues while using a certain tool/platform. We have consulted the community at almost all levels.
What kind of upgradation/training programmes do you offer to your developers for sharpening their skillsets? What is the usual frequency of these programmes?
Most of the professionals working on open source projects in our organisation have no certification. We believe a lot on on-job training which is the most common training method we follow. We allow interested employees to work on projects and learn from seniors (experienced in open source). They learn by experimenting and playing with open source. We encourage employees to start their own projects for self learning. And ask them to share the developments to enable others to know and learn from their experience. Alongside, our employees attend conferences and events related to open source to enhance their knowledge about the latest developments. Lastly, if really needed, employees are sent for formal training programmes.
Do you have any team involved in R&D for any of your open source projects?
We don’t have a dedicated team for open source projects. However, we are planning to set up one to work on mobile computing solutions using open source platforms like Android, etc. Over the next year or so, we will be supporting and encouraging R&D in open source technologies. We would require talent with specialisation in certain open source technologies and we can assure them sponsorship, time and every encouragement needed to work on such solutions.
As an adopter of open source technology to make your solutions, what are the challenges you’ll face? How are you’ll resolving it?
The typical challenges we face are the lack of community support and technical documentation for all platforms/tools. Also customers are sometimes reluctant to use open source because of security or IP-related concerns. Customers also worry about liability issues–that is, what if use of open source leads to some damage or business disruption arising out of faulty software design.
The route we take to solve such issues is only suggesting open source solutions with activity community participation. Open source needs to be tested by a large group of users to reduce risks due to undiscovered bugs and thus, we follow such an approach.
What is the process of your intake for FOSS experts? Is good quality talent available?
We never search for highly trained people but want talented individuals who are interested to learn. The routine process we follow is going to the market and searching for skilled IT professionals with an interest towards open source technologies. Thereafter, we provide them an environment to foster there interest.
However, having said that, I must state that we still see a problem with respect to quality. Most professionals don’t have in-depth knowledge of open source technologies, so actually there is little or no expertise available. This is a challenge faced by the entire IT industry.
How many FOSS developers are working at present in your company? On an average, how many of these experts are hired by your company in India every year?
Currently we have about 60 professionals in India and 180 globally, of which 90 per cent work on open source technologies. Looking ahead, we want professionals with all-around open source expertise–right from application side to operating system side–and sufficient exposure in the industry. This year, we are looking for 15-20 people for our Indian operations.
What advice will you give operation heads of other technology firms planning to try and use open source tools for software development?
Our advice would be to not only become mere users of open source but encourage contribution by your technical people involved in the open source projects. That is an excellent way to develop a good understanding of open source technologies.