Zynga, the US-based company creating ripples in the gaming industry with FarmVille, Mafia Wars, etc, is a game changer in the gaming world. Recently they decided to explore new soil by opening an office in India and are betting big on open source technology to meet their future aspirations. Shan Kadavil, country manager, Zynga (India), talks to Vanisha Joseph about open source technology as a tremendous opportunity for developers.
What kind of opportunities exists for FOSS and Linux experts in the IT industry? Is the scenario poised to change for better? If yes, what, according to you could be the key factors fostering this trend?
We feel the open source community will be the ground for action in the coming years, especially with the FOSS community becoming mainstream. There were days when open source was considered only for the geeks. However, with industry leaders heavily using open source technologies, it is now mainstream and the benefits of community-driven development are hard to ignore. Apart from passion of the individual developers, there is also a huge movement of the industry to foster this community, which has contributed to the growth of open source and the demand for FOSS experts.
This is especially in the areas which require intense computational functionality or where you have to deal with large scale volume of data such as in the Cloud computing environments. In these areas, proprietary software is much harder to scale from a cost or data perspective–the modification/turn-around time is much higher than open source software community-based projects. In the mature FOSS projects, you have a passionate community that is responsive 24×7 thanks to the world-wide presence and plus you have the liberty of directly modifying the source code to address an issue or add a feature without waiting for the vendor to get back to you.
Speaking from our own experience, we needed software that would scale to manage the high amount of data volume we deal with. We also move very fast in our development lifecycles since our business dynamics change pretty rapidly and we needed a solution that was easy to modify and customise to our needs. FOSS was thus a perfect choice for us.
To summarise, all of the above, especially the movement of open source from experimental to mainstream stage, is driving the demand for FOSS experts. For example, MySQL has crossed the early stage fixing the teething issues and reached a maturity level that most enterprises can easily adopt it. This in turn drives the demand for MySQL trained professionals.
Do you feel Linux and FOSS can add value to the process of project/product development? If so, please state a few advantages.
Yes, the use of Linux and FOSS adds tremendous value to the process of product development. The biggest advantage of open source is accelerating the time to market of products/projects as one need not build the stack from scratch and you are working on platform already built and more importantly tested with millions of users. Zynga, for instance, has used a tuned version LAMP stack as the platform for developing Farmville and our other games, which in turn saved us time and put the launch of our games on a fast track. We now have over 235 million monthly active users playing our games and this sort of scalability would not have been possible in a fast time frame, without getting help from the FOSS community.
Good development, source code control and project management tools are also critical to getting products out quickly. We have a large developer community and have found the open source development tools especially around source code control, project management and bug management to be very valuable.
You mentioned open source technology can cut down the cost of a project significantly. Could you please explain?
The cost reduction element of open source technology depends on where you are in your lifecycle as a company and the nature of the product you are trying to build. It can sometimes be not as drastic as people imagine it to be since there are outside costs to open source in terms of support, additional R&D and deployment. Thank fully there are many paid alternatives to support for open source projects and a recommended option for the companies which do not have in-house staff to help in the process.
In general, if you are using a mature open source platform with tried and tested tools then the cost reduction can be drastic, but for an adopter of bleeding edge, open source projects like us, there are associated R&D costs for building on the platform and helping it mature. Nevertheless, when compared to proprietary software the cost of project development is bound to be lower.
What are the key tools that your company is using for project development?
We use a LAMP stack with custom modifications as our base platform with Apache as our Web server and a mixture of a homegrown storage system and MySQL for our databases, and PHP as our application engine. We also use a number of programming languages from the open source domain including GCC, Perl, Ruby and Python.
Could you elaborate on the contribution made by developers at Zynga towards open source.
Our developers have been involved in various open source projects, including development of open source tools to bug fixes. An example is the Moxi project–when we were looking at scaling our infrastructure, we needed a technology that could help us scale horizontally, add new Web servers as when needed without being bottlenecked at the storage layer. Having examined and scrutinised all the proprietary options, we looked towards open source and found the Moxi project, which worked like a load balancer for the caching layer. We helped scale the Moxi project specifically by adding modifications to handle large cloud computing environments.
Further, our developers are also working on a number of large volume data handling projects some of which we will be announcing as open source projects in the near future.
Do you involve developers from the community, or take any help from them, during project development?
We think of open source as a movement and not as a particular project. The success of the projects using open source is possible only when multiple people contribute and when the industry endorses them.
We have multiple models to involve the community. We have had members from the open source projects work commercially for us to build a platform or tool for us. To that end, we gave the entire output back to the community. Second model is the non-commercial model that involves us getting into open source threads, sharing ideas and work collaboratively with the community with our code fixes. Last, but not least, we also provide an environment for various events that involve the open source community.
What kind of upgradation/training programmes do you offer to your developers for sharpening their skillsets?
We offer two kinds of internal training programmes to our developers. The first involves our internal FOSS/Linux experts conducting formal training programmes, mentoring and code reviews. We have a very strong tech culture at Zynga and give a lot of importance to design and code quality. We have a buddy system where new engineers are paired up with experts in the area and also have an environment that fosters code and design innovations. We also promote using FOSS projects as opposed to building from scratch where ever possible.
The second model involves worldwide open source experts like founders of large open source projects come in and talk to the developers. We also conduct code jams, hackathons, barcamps and other events. In India, starting from Q2 2010, we will be conducting similar events out of Bangalore to nurture open source talent.
Do you have any team involved in R&D for any of your open source projects?
Our India R&D team started out in February of this year, and will be focusing on the large cloud computing and data intense infrastructure related projects that involve open source components. This team of technology scientists and computer engineers will work towards building and enhancing the large volume infrastructure required to power the ever growing Zynga user base. We have roughly 2 petabytes of data that flows across our games daily and thus the scale of the projects to handle this load needs really high end R&D and innovative solutions.
What is the process of your intake for FOSS experts? Is good quality talent available?
There is tremendous potential in terms of good quality talent in India which is a key reason on why we came to India. Our initial focus will be in looking at the more seasoned talent after which we will move on to more junior profiles. We are also looking at working together with the research talent from the academic circles.
We are looking at a number of sources for hiring including lateral hires, university, various open source-focused groups and events.
How many Linux/FOSS developers are working at present in your company? On an average, how many of open source experts do you plan to hire in India?
Currently we have about 20 people on board in Zynga India of which 15 are from the FOSS background. Over the next year, we will be hiring over 100 people in India and 80-90 per cent of that requirement will be for open source skillsets.