As @GeekAndDad pointed out on Twitter the majority of the cocos2d source code has been updated with a Zynga Copyright. This is in reference to two commits (1) (2) on github in the develop branch of cocos2d-iphone.
The MIT License header now begins with:
* cocos2d for iPhone: http://www.cocos2d-iphone.org
* Copyright (c) 2008-2010 Ricardo Quesada
* Copyright (c) 2011 Zynga Inc.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the “Software”), to deal
This just means that changes made in 2011 to the cocos2d source code are copyright by Zynga. Which is to be expected, now that Ricardo is an employee of Zynga.
It doesn’t change anything regarding the MIT license. And it doesn’t imply a transfer of copyright. In fact, since Ricardo is still listed as copyright owner for the years 2008-2010 it is suggesting that there was no transfer of copyright.
Also note that some of the source code in the cocos2d-iphone project is copyright by other developers or companies, whose copyright has not been changed. This includes classes like CCActionEase, CCActionGrid, CCActionPageTurn3D, CCBlockSupport, CCGrabber, CCMotionStreak, CCTexture2D – just to name a few.
Azam and I thought that the recent news (Zynga hiring Cocos2D key contributors) justifies a Zynga-Special Cocos2D Podcast episode where we talk about Zynga and what this deal might bring for the future.
I have some background with large corporations and was in a startup trying to secure venture capital funding, so I find it specifically interesting to speculate on rationale and things to come.
We now have two almost opposite entities working closely together: Ricardo Quesada, a strong supporter of the open source idea and disapproving commercial exploitation of Cocos2D, and Zynga, one of the fastest growing games company with record revenues and huge venture capital investments going into them. How does this fit together?
Appears to have hand registered the domain names ZyngaCocos.com and ZyngaCocos2D.com
According to WhoIs the domain was registered by MarktMonitor, a company that protects brands and manages domains for large companies, effectively hiding who truly registered the domain. But it’s hard to imagine that anyone but Zynga would register such a domain name.
What does that tell us?
Not much at the moment. People and companies register domains all the time. However, if this domain was indeed registered by Zynga, it at least expresses intent to establish a website or even a brand labelled ZyngaCocos respectively ZyngaCocos2D.
Zynga acquired “certain assets of SapusMedia”, that could mean they also acquired the trademark. If so, that means they could exert control over all ports of Cocos2D – either the developers agree to certain terms in order to continue using the trademark, or they will have to remove all trademarks of Cocos2D and rebrand their engines. Which I don’t think they’ll do because a behavior like that would create lots of negative responses and bad PR.
Given the new domain registration, I believe it is more likely that they simply plan to re-brand Cocos2D (for iPhone) as their own: ZyngaCocos(2D).
I’m sure that some of you will immediately suspect this to become a commercial version of Cocos2D for iPhone but unless they get permission from all contributors, they can’t change the license or would have to remove the code from all contributors who don’t permit them to use their code under a new license. If they do plan to make a commercial version of Cocos2D they would have to essentially rewrite the engine. Or buy out the contributors as well. But it’s not very likely because it would be a difficult process and selling a game engine is not very lucrative – in relation to Zynga’s cash flow of course.
If it is going to be just a simple rebranding of the cocos2d-iphone engine, I’m a bit confused by what they said in the initial announcement after having hired Ricardo and Rolando. They ascertained that the cocos2d-iphone.org website and community will remain independent and administered by Ricardo as he’s done in the past. So that leads me to believe that if there’s a ZyngaCocos2D, it’ll be somehow different and independent from cocos2d-iphone. Unless that was only said to avoid a negative first reaction from the community, and to keep us in the dark.
But I find it hard to imagine that Ricardo would give up his baby only to see it slowly die or let go of it entirely. Now, if you consider Ricardo’s strong connection with cocos2d-iphone and the open source movement and his integrity, I don’t expect a commercial version but one that is open source. And I don’t expect a slowly rotting public version of the cocos2d-iphone engine either, unless ZyngaCocos2D is somehow different from cocos2d-iphone.
I’m really interested now what they’re planning to do. There’s been very little information (in fact: none) revealed about what the future of cocos2d-iphone will look like, and I don’t expect any answers (not even from Ricardo & Rolando) until Zynga make another press release. This leads me to believe there’s only two options:
- Something big will happen, and they want to make sure it’s going to be a big bang announcement. Eg Zynga indeed making a commitment to open source game engine development.
- We won’t like the news, or there really aren’t any, so they’d rather not stir up a fuzz or create false expectations.
I think I’m going with #1 for the time being while expecting the worst. What do you think is going to happen?
I did a little research to figure out more about Zynga’s involvements in open source projects. The research is not comprehensive nor conclusive but provides a little more insight. At least as much as is possible from a corporation with PR departments.
This article reports on Zynga’s involvement as follows:
Casual-game provider Zynga found that its efforts to manage the load of its database operations dovetailed with work being done at NorthScale and NHN and decided to contribute research findings and to the open-source community, as well as sponsoring continuing efforts to maintain and enhance the software.
Sponsoring efforts to maintain and enhance. Sponsoring means there’s money or manpower going into the project. Zynga looks forward to advancing Cocos2D. Notice the difference.
Another article on the same subject quotes Zynga’s CTO Cadir Lee:
“Zynga’s objective was simple: we needed a database that could keep up with the challenging demands of our games while minimizing our average, fully-loaded cost per database operation — including capital equipment, management costs and developer productivity. We evaluated many NoSQL database technologies but all fell short of our stringent requirements. Our membase development efforts dovetailed with work being done at NorthScale and NHN and we’re delighted to contribute our code to the open source community and to sponsor continuing efforts to maintain and enhance the software.”
All except one project on Zynga’s github repository are related to Membase: moxi (forked from membase), zstored, mcmux and pecl-memcached.
In an interview, the Zynga country manager for India Shan Kadavil, refers to Moxi:
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.
This statement did make me wonder what those other open source projects are that Zynga has been involved in? It’s hard to find anything because submitting a code change rarely causes a press release to be issued.
The FontLabel project was released as open source by Zynga. It enables you to render any truetype (ttf) font on the iPhone, not just the built-in fonts provided by Apple. It’s not to be confused with bitmap-font rendering, instead it behaves like UIFont but allows you to use non-system fonts.
FontLabel was added to cocos2d-iphone in September 2009.
To be honest, FontLabel is not the kind of project that would have stopped the world from spinning. But it’s a kind of project that benefits from many developers using, and thus testing it. So making it open source makes sense.
Others OS projects?
It’s hard to find references of Zynga contributing to open source projects, because usually there won’t be a press release issued when a coder submits a fix to a more or less obscure open source project.
I was only aware of one other OS project, that was FontLabel which was actually started by Zynga. If you know an open source project that Zynga contributed to and that I missed, please mention it in a comment, thank you!
But if that is the entire involvement Zynga has with Open Source, then it doesn’t give me the impression that they’re open-source friendly. They support it when it makes sense, for PR, for free beta-testing, or if they need open source technology and want to play nice. In that regard they are no different than any other big company.
Zynga’s view on Open Source
The interview with Zynga’s country manager for India published over a year ago provides some clues.
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.
Which means that without industry support (read: finances, manpower, marketing) open source projects can not be successful. At least not by their definition of success.
The next statement makes one hopeful:
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.
This is practically identical to hiring Ricardo and Rolando. However, I think this statement refers more to contracting agreements rather than employment.
I suspect that Ricardo and Rolando were already working as contractors for Zynga for the past months. From Ricardo’s commits to the cocos2d-iphone project over the past months I always wondered what kind of secret project he was working on. To me the commits looked like by-products of a different, bigger projects. Some commit phases included many smaller changes, not something that you’ll spend your entire day working on.
Before actually moving from continent to continent you almost certainly have to have worked together in some way or another, if only just to get to know each other. So I can imagine something already being developed in secret on a contract basis. The question is, if this is true, what it is and when or if we’ll be seeing it.
The statement following the last one:
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.
Ok, so that “model” is basically what any developer does at some point in time. Making code fixes is definitely the easiest way to get something contributed to an open source project, and we all share ideas and collaborate (speak: posting in forums). That sentence made me laugh. Because you can’t really call it a model – it’s what we all do.
How Zynga Germany came to be
By chance I came across another acquisition Zynga made in September 2010. They bought german startup Dextrose (at the time located less than 20 km from where I live) to get ahold of their Aves HTML5 engine and have them become Zynga Germany. Paul Bakaus is co-founder of Dextrose and a jQuery core team member (jQuery UI creator), and now CTO of Zynga Germany.
The interesting aspect here is the Aves engine. It was supposed to be licensed as middleware to other game developers and publishers. But after Zynga’s acquisition it became a proprietary engine and won’t be licensed. All websites of Dextrose and Aves as well as their social networking accounts have since been removed, and Zynga Germany relocated by 80 km to Frankfurt/Main: the city with one of Europe’s busiest airports and many direct flights to overseas. Obviously to make Zynga Germany more accessible for corporate.
Have a look what the engine is capable of and you’ll understand why Zynga had to have it. And why they wanted no one else to have it.
I don’t want to read too much into this, but I’m skeptical. For most corporations, doing good for the community is just not in their program – except of course their PR department. I haven’t found any indication that Zynga is any different. Although they like to be the “google of games”, they’re a far cry from google when it comes to open source projects it seems.
It’s clear that hiring Ricardo and Rolando is providing value for Zynga first and foremost. If it were any other way, the two would not be moving to San Francisco but would be working on a contract basis. Zynga could not possibly buy cocos2d-iphone, so they simply “acquired” the next best thing, which means hiring its key contributors. The cocos2d-iphone project remains untouched, but I worry the emphasis is on remains.
On the other hand, Zynga apparently registered the domain ZyngaCocos2D.com … so maybe there do have bigger plans for cocos2d-iphone?
I assume you’ve heard the news: Zynga hired the cocos2d-iphone lead developer, Ricardo Quesada.
I’d like to try and shed some lights on the open questions that arose. Of course this is my opinion and speculative, so take it with a grain of salt.
What does “acquisition of certain assets of Sapus Media” mean?
Sapus Media products have been bought by Zynga.
These products may be gone for good, or they may be released for free as a concession to the Cocos2D community.
Why did Zynga buy these products?
It’s the cash carrot of the deal. Generally you can expect to receive somewhere around 2 years worth of revenue from a software product as buyout price. Whether Zynga wants or uses the products is irrelevant. It’s the price they paid in order to hire Ricardo and Rolando.
It’s common to bring in new employees by acquiring their legal assets. This keeps the new employees focused on the company’s interests rather than their own, and they no longer have to spend time maintaining and supporting their products. After all, they should focus all their efforts on their new job.
It’s also insurance for the company. By removing in the buy-out what once provided the daily income, the new employees are less likely to leave and more loyal to the company.
Did Zynga also acquire cocos2d-iphone?
I don’t think so.
The cocos2d-iphone engine is a product of Sapus Media. It may be a free and open source project, but legally speaking it has always been an asset of Sapus Media. This means that the copyright of all the cocos2d-iphone.org source code originating from Ricardo or Rolando could have been transferred to Zynga if it was part of the acquisition.
But I think it’s more likely that cocos2d-iphone was merely separated (legally speaking) from SapusMedia, making it an independent project which is owned by those who contributed to it.
The fact that you can still donate to cocos2d-iphone seems to validate this. If cocos2d-iphone were entirely Zynga’s now, I’d expect the donate button to have been removed as well. It would be bad PR for Zynga to take donations from the community for a project that they own.
Why can we still donate to cocos2d-iphone?
Likely to cover running costs.
Zynga did not acquire the cocos2d-iphone.org website and its assets (eg the website design, technology and content). That means donations don’t go to Zynga, and may be used to cover the website’s running costs.
It might also mean that it’s an incentive to keep working on the cocos2d-iphone project, like so many other open source project’s donate buttons.
Whether donations are even necessary, and how much money is needed, we don’t know. Unless there’s more transparency regarding expenses I wouldn’t feel comfortable donating at this point.
This is hot off the press. According to Gamesbeat, Zynga has hired Ricardo Quesada (lead developer of cocos2d-iphone) and bought “certain assets of Sapus Media”. An official blog post by Zynga validates this news.
Apparently the deal includes a relocation of Ricardo from Argentina to San Francisco, according to Reuters: “Under the agreement, the developers, Ricardo Quesada from Argentina, and Rolando Abarca from Chile, will work at Zynga’s San Francisco office.”
The first response from Ricardo does not add anything to the news.
Cocos2D will remain free IMHO
I don’t expect a commercial version of cocos2d-iphone to appear considering that cocos2d-iphone grew mainly because it was free and open source, and also considering that Zynga is a game developer, not a game engine company. It does not make sense to assume Zynga wants to make money off the engine, that’s not the market they are active in.
I doubt that the “little money” you can make with game engines plays any role in the decision for Zynga, whose games are significantly more profitable than any commercial game engine, or possibly all of them combined.
The wording in Zynga’s official blog post leaves little doubt that cocos2d-iphone will see no change except that the developers are now being paid by Zynga to work on the engine. Whether we’ll see all of the future developments to be published with the open source version however is a valid question.
Hopefully we’ll see better support for 3rd party tools, or just as good: really awesome 1st party tools. I think that the latter is hinted at in the blog post, where it says “Ricardo and Rolando focused on developing professional tools for mobile game developers”.
I haven’t seen any of those professional tools yet, and the statement is not referring to the Cocos2D engine itself. If they mean the Sapus Media products however, then that could simply be a regular marketing overstatement. I don’t think they meant the Sapus Media products though, they’re not what developers would consider to be “tools” per se.
Ricardo said over half a year ago that the Mac OS X port will allow him to work on a “cocos2d world editor”. Although that’s the last we heard of it, I’m sure it has been in development, and could possibly have already been in use by Zynga or it’s development sponsored by Zynga. That is speculation but I wouldn’t be surprised if either or both of that were true.
However, in the Reuters report Zynga’s Chief Technology Officer Cadir Lee said that “We will be paying them to continue to develop the platform, as well as work on tools for Zynga, to make sure we can leverage the (platform) in the best way possible”.
This does raise the question whether the tools developed will remain Zynga’s in-house tools and won’t be released to the public. After all, it would be in Zynga’s interest not to give other competing game developers targeting the iOS mobile platform and using cocos2d, like ngmoco or Atari, the same tools for free.
Cocos2D is a registered trademark in the USA. Thus far, other developers have been allowed to create open source game engines based on Cocos2D’s design philosophy to use the Cocos2D name in their projects, but only if the project is and remains free and open source. The question here is if Zynga now owns the trademark and whether this policy will change.
Congratulations, I guess
I think Congratulations are in order for Ricardo’s personal and professional future. Working for a big company like Zynga will surely provide lots of new and positive experiences, and hopefully as little negative ones as is possible for someone who used to work on his own terms.
For the cocos2d engine and community as a whole, I’m not going to congratulate just yet. I first like to have an idea what this acquisition brings about for the Cocos2D users and supporters. I worry that future developments of Cocos2D will be geared towards Zynga’s requirements, which may not align with what the Cocos2D users want or need. Or a significant portion of the work might remain proprietary, leaving Cocos2D to be supported as a “after-work-hours” open-source project with correspondingly slow progress.
What about you?
What changes this move will bring remains to be seen. What do you expect, worry and hope?
This list is a collection of exemplary games and apps made with the Cocos2D for iPhone game engine. They should be seen as reference products in terms of what you can do with Cocos2D and simply the variety of games and apps developers have created with Cocos2D. This post is linked to from the Cocos2D book.
If you wish to add a game or app to this list, and you can provide prove or guarantee that it was made with Cocos2D, please leave a comment. From time to time I’ll move the notable mentions up to the actual blog post and delete it from the comments (to avoid duplication) but you can still grab some attention and a little traffic to your game by simply adding a comment to it here. And don’t forget that the official Cocos2D website has a games page, where you can also add yours.
Note: the order of the apps in this list is arbitrary, although I try to group similar apps together.
The “Great Apps Made With Cocos2D” List
The Elements (iPad) is a graphical representation of the periodic table of elements. The outstanding feature is the plentiful photographs and smooth 360 animations which invite you to explore the elements that make up you, me and the rest of the universe (excluding empty space, of which there’s a lot I’ve been told). It’s priced highly but worth every cent, and if you need an App to brag about your new iPad: this is it!
Note: iPad demo starts at 2:55
Bloomies is a colorful gardening game, full of bees. If that doesn’t sway you over, maybe the idea of fostering and nurturing your own garden does. The flowers need your constant attention and the gameplay is addictive just like any Tamagotchi-style game. Oh, and it happens to be made by two former colleagues of mine. It’s just a beautiful game, and so is their follow-up game Super Blast.
StickWars is a sort of Tower Defense game where you defend your castle from incoming stick figures by flicking them in the air or literally shaking them to the ground. The developer, John Hartzog, had never before worked with Objective-C or on mobile devices but he pulled it off. StickWars remains to this date within the Top 100 games and continues to be updated even a years after the initial release.
ZombieSmash is also a Castle Defense game, except that this time hordes of zombies are attacking and you get explosives, 16 ton weights, shotguns and other cool items that make a bloody mess to fend them off. Your castle is your barn and if you can defend it, you’ll be rewarded with a slow motion animation of the final zombie losings its, err, unlife. The outstanding feature of this game is certainly the ragdoll animation system that allows zombies to walk, crawl or otherwise try to move even if they lost some of their limbs.
Super Turbo Action Pig revives a simple gameplay concept of a scrolling level where your character always falls down except when you touch the screen to boost his jetpack. The extraordinary part here is that the game’s graphics are extremely well made and the overall presentation of the game, the trailer, the website and the humor are setting a great example.
Farmville, do I even have to explain what it’s about? It’s an incredibly successful Facebook game that has millions of players worldwide building their farms in an isometric landscape. It just goes to show how powerful Cocos2D is if a company like Zynga uses it to port it’s most successful game to the iPhone.
Zombie Farm came out on the iPhone even before Farmville, and it was also created with Cocos2D. It does have it’s own, unique edge and stands well on its own. If you have enjoyed Farmville, you haven’t played Zombie Farm yet! Visit the Zombie Farm forum thread.
Melvin Says There’s Monsters (iPad) is a beautifully animated cartoon kid story with professional quality voice overs. The story is cleverly constructed and has an insightful turning point. It’s a pleasure to watch even for an adult, and it also uses Cocos2D’s page flip animations very effectively. If you have an iPad and kids, it’s a must have!
Alice (iPad) is also a shining example of a kid’s book app for the iPad, made with Cocos2D and lots of Chipmunk physics mixed in for good measure. Visit the Alice forum thread.
Trainyard is an innovative puzzle game that was clearly engineered with the user in mind. It features a mode for the color blind, is optimized to use little battery power, saves and loads the game just as the user left it and even allows users to share puzzle solutions on the web, using a duplicate of the game engine written in Flash. This all besides being a really innovative puzzle game where you lay tracks and combine trains to match them with colored trainyards.
AbstractWar 2.0 is a dual-stick shooter featuring colorful and effectful geometric visuals like its role model game Geometry Wars on Xbox Live Arcade. It’s an intense space shooter with plenty of game modes. You can even play it in multiplayer via a Bluetooth connection and it allows you to use your own iPod music.
Fuji Leaves is an interesting music game, where dropping balls hit leaves and depending on speed and location of impact, a sound is played. With several balls on the screen bouncing around you can dynamically create musical scores. It’s intensely fascinating to play this game, trying to come up with interesting scores and just the right placement of leaves. Before you know it, an hour has passed.
Moonlights borrows the grid-building physics from another popular Indie game. If you wouldn’t know it, on first sight Moonlights looks and feels just like World of Goo, and that alone is no mean feat. Visit the Moonlights forum thread.
Checkmates Chess (iPad) is as gorgeous and elegant as chess can be. You can play against another human or the computer (well, against the iPad to be precise). Making use of the full size of the iPad, you can now leave your pieces at home. Visit the Checkmates Chess forum thread.