Angry Birds & Box2D: An Open Source Holiday Wish

I have been spending far too much of my time over the last week or so playing Angry Birds. It’s a simple, clever, and addictive game which seems to have captivated large part of the human population (just yesterday, I heard a woman on the subway exclaim: “Take that, you %$!# pigs!”). Along with immense popularity, the game has also brought in millions upon millions of dollars for Rovio, the Finnish game company who created the concept and built the game. Though exact figures are unclear, the game has had upwards of 50M downloads, and brings in $1M per month in ad revenue alone. It’s likely that Angry Birds has made upwards of 100 million dollars.

For those that haven’t played, the gameplay is straight-forward: you launch birds out of a slingshot, in an attempt to collapse structures that are protecting egg-thieving pigs (it’s more fun that it sounds). A large part of the effectiveness of the game comes from the fact that these structures – built from blocks, triangles, and cylinders of various materials, react with realistic physics; the blocks knock each other over, the cylinders roll down hills, and the triangles act as convenient ramps.

I can’t say this for sure, but it’s very very likely that Angry Birds is built on top of Erin Catto’s excellent Box2D physics engine. Box2D is a set of libraries for C++ which makes it easy to build rigid body physics simulations – which is, essentially, what Angry Birds is. [EDIT: It has been confirmed that Angry Birds does in fact use Box2D]

Box2D is released with a very liberal open source license – it can basically be used by anyone, for anything. The only requirement is that, if and when source is released, the code has to be attributed to Erin, and can’t be claimed as original. There is absolutely no legal requirement for anyone using Box2D to pay for it in any way.

But is there an ethical requirement? The founders of Rovio are very, very, very rich men – thanks to Angry Birds. If, indeed, Angry Birds relies as heavily on Box2D as I suspect, they are also very, very, very rich men thanks to Erin and Box2D.

I’ve often thought of open source as a gratitude economy – people maintain and distribute projects largely because they are fueled by the thanks that they receive. By releasing Box2D with such a generous license, Erin Catto was clearly aware that he wouldn’t be profiting from its use. Likely, he’s been happy seeing his project used in so many interesting ways. I can’t imagine that he ever expected someone to make such a ridiculous fortune from his code, on the scale of Rovio and Angry Birds.

Of course, Rovio may have built their own physics engine for Angry Birds. And, even if they didn’t, they are perfectly within their rights to keep every penny, and not say a word about Erin or about Box2D.

With Christmas just around the corner, though, I can’t help but imagine an ideal world – in which Erin Catto receives some kind of an unexpected bonus. An open source holiday wish?

27 thoughts on “Angry Birds & Box2D: An Open Source Holiday Wish

  1. Glad to see you bringing this up. Too often I feel like people publicize and recognize their use of open-source projects when it's to their advantage (i.e. to get attention/coverage/ask questions) and not when it's not (i.e when there's money involved). If they did use Box2D, if nothing else it'd be nice for them to acknowledge that so perhaps just a few of the people playing the game would recognize Erin and his work, as well as understanding more about how games get made.

  2. So what about this then from Rovios webpage? "Angry Birds, the best-selling mobile game, is developed and published by Rovio Mobile Ltd. – all intellectual property rights are owned by the developer." DO they credit Erin Catto somewhere?

    1. There is no mention of Erin or Box2D anywhere that I can see.

      They have no legal obligation whatsoever to attribute or to pay. But it's pretty clear that the game is heavily built on top of Box2D, so it would at least seem fair to have a thank-you somewhere.

  3. On a similar note, the OpenSSH project calls out vendors who use it with little contributions: http://www.openssh.com/ (read last paragraph). This was discussed on reddit.com a bit ago <a href="http://(http://www.reddit.com/r/programming/comments/e6d1w/none_of_the_major_unix_vendors_including_apple/” target=”_blank”>(http://www.reddit.com/r/programming/comments/e6d1w/none_of_the_major_unix_vendors_including_apple/ with no real conclusion as is typical there)
    While I agree with your overall sentiment, if Erin had wanted to be making money out of this, perhaps he would’ve used a different license for Box2D.

    In a similar vein consider this hypothetical:
    I run website that serves pictures of music and pop culture graphs (ie graphjam)
    I currently make $x million a month from sales of “premium accounts” and ad revenue.
    All the images displayed on my site are PNGs.
    Should I be obligated to donate to the libpng project (released under the same zlib license as Box2D)?

    1. It's worth re-iterating that Rovio is not in the wrong in any way for not crediting or compensating Erin. Like you say, if Erin had been looking to profit, he would have used another license. My guess would be that at the time when the project was built, the idea that someone would make *any* money from it, let alone hundreds of millions, wouldn't have crossed his mind.

      I just think it would be a nice gesture for Rovio to extend some kind of a thank-you. Not only would it be a warm-and-fuzzy thing to do, it would perhaps convince other would-be open source developers that that route might be a good one to follow.

      1. A parallel thought I just had….
        Sometime I see people from various areas of game development talk trash about projects as if Open Source is a bad word or something. It would be nice if there were greater exposure and respect from people leveraging these libraries such that it may help dissipate some of that inexplicable bad blood.

  4. Kudos to the box2d maker, and to the angry birds maker. If it's not illegal then it's fair. I'm just glad to know that such a great project was made with something that I can get for free legally. Thanks Erin. I hope he gets some compensation, but in the mean time I'm gonna play around with his engine guilt free. If i make something with it and market it I will definitely credit him.

  5. there is a donate button on the box2d homepage. i wouldn't mind slipping them a million when I would be making 12 million a year. i am guessing that box2d is a large part of the code/success factor/time to market, much bigger than 1/12 .

    1. Hi! It's simple, you need:
      -Angry Birds game (I used the version 1.4.0)
      -A system Linux (or not!)
      Let's to work:
      1) open the terminal.
      2) change the file game extension .ipa to .zip
      3) extract the game:
      $ unzip Angry_Birds-1.4.0.zip
      4) finding the "evidence" of Box2D on the binary:
      $ strings ./Payload/AngryBirds.app | grep b2Circle

  6. Just wondering if there has been any update Jer

    would love to hear a good "digital karma" story and that Roxio did the right thing

    something "nice" for Erin by way of thanks for the source

    hopefully that could include a tip of the hat, a donation perhaps even a trip to their office

  7. This is similar to Microsoft using OpenBSD for Hotmail, although projects like OpenBSD also get a lot government or non-profit funding. Microsoft (and the people who originally made Hotmail) made a TON of money off of it.

    That said, I don't think that obligations should be tied too closely to the exact open source product you use. I think it would be better if Rovio made a commitment to open source projects in general.

  8. No update from Rovio to the mail sent by DieTapete yet (ever?) I gather.

    Is Erin Catto a wealthy person? That shouldn't really matter. Similarly, the terms of the box2d license also means that my perception of a person wronged (open source software developer Erin Catto) doesn't matter either. It isn't even remotely justifiable on any rational or legal level. Yet…. Rovio made so much money from Angry Birds. It would cost them nothing to acknowledge box2d and Erin Catto on their site, or in some other publicly visible way.

    I thought about Kevin's comment, that Microsoft made a lot of money from Hotmail, which was based on OpenBSD. But this is what's different here:
    apparently it is well-known that OpenBSD was used for Hotmail whereas it is unlikely that box2d will be widely associated with Rovio's products. Even people in this comment thread are uncertain!
    OpenBSD is a funded project with numerous participants, while box2d appears to be the work of one developer receiving no funding for creating it
    Here's some wishful thinking. Perhaps Rovio has compensated Erin Catto but on conditions of non-disclosure? Or maybe they have put aside some of their profits from the Angry Birds game and sponsored an open source project after consulting with Erin (similar to what Kevin suggested regarding a commitment to other open source projects, which sounds like an appropriate thing to do).

    I hope so.

    1. Ellie,

      I can tell you with some certainty that Erin C. has not been compensated by Roxio, or even acknowledged.

      Which is too bad. I think there'd be a real chance for some 'feel good' press for Roxio if they were to do something nice in this situation.

      1. Hello @blprnt, I saw an article in the Guardian UK, and wanted to leave the link for you. I think you'll find it ironic: Angry Birds boss: 'Piracy may not be a bad thing: it can get us more business'.

        Yes, I understand that CC 0 = No attribution required. Rovio isn't obligated to do anything. Rovio is NOT breaking any laws! I'm just saying that given the magnitude of the success of Angry Birds, it would be good karma, call it what you will, to do something that involved Erin Catto. It might even be helpful to Rovio! That is, Rovio might benefit when the time comes for new development or follow-on products, to have arranged a productive business agreement with Erin Catto.

    1. Thanks for leaving that link. (Very cute photo: I really like Angry Birds so, so much). I wonder what the eventual outcome was? I hope it was good for both Erin Catto and Peter Vesterbacka of Rovio!

  9. "Box2D uses the zlib license and can be used free of charge. The zlib license does not require attribution, however you should give credit to Box2D when possible." (s: https://code.google.com/p/box2d/wiki/FAQ)
    Wow! Does not require attribution. That's so CC0!….
    Erin and related FLOSS community did great. Angry Birds exposed Box2D(I found it by finding this page), and Box2D 'exposed' Angry Birds(a proprietary game which I hope I will find an open source clone of in the future!)

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>