11
\$\begingroup\$

Why are the "professional" versions of console SDKs closed to the public? For example the Xbox Development Kit is available only to certain registered developers. The PS3 has some similar arrangement. Even the pricing is undisclosed.

What is the reason for this secrecy? Also, what additional features do these "professional" SDKs have, in comparison with the free SDKs (like XNA)?

\$\endgroup\$
2
  • \$\begingroup\$ -1: Unless anyone here actually is from Sony, Microsoft or Nintendo, or has actual information directly from them, this question cannot be answered with anything other than an outside perspective and personal preferences. In short, this question invites speculation and nothing more. \$\endgroup\$ May 10, 2012 at 19:14
  • 4
    \$\begingroup\$ @Nicol: Uh, except my answer has a quote from a Nintendo executive explaining why they implemented the first version of this system. What kind of quotes are you looking for? I'm sure I can dig up some modern ones from MS or Sony executives talking up the benefits of their closed systems for the same reasons. \$\endgroup\$
    – user744
    May 10, 2012 at 19:33

2 Answers 2

18
\$\begingroup\$

This scheme was started by Nintendo to counter the effects of the video game crash of 1983.

There were several reasons for the crash, but the main cause was supersaturation of the market with hundreds of mostly low-quality games which resulted in the loss of consumer confidence....

In 1986, Nintendo president Hiroshi Yamauchi noted that "Atari collapsed because they gave too much freedom to third-party developers and the market was swamped with rubbish games." In response, Nintendo limited the number of titles that third-party developers could release for their system each year.

It continues today because it's a lucrative deal for console manufacturers, allowing them to sell devices below-cost to customers, and make money licensing the SDK to developers, often taking a cut of revenue as well. The benefit to consumers today is highly questionable, especially compared to more-open-but-still-gated models like Apple's App Store.

The difference between the free and proprietary SDK varies by vendor. In all cases, the free option is more technologically limited - XNA limits you to C#, for example, where the full XDK allows you to write in any language that can target the Xbox 360's PPC-based architecture. The same is true of the hardware. The Xbox debugging units contain larger hard drives, can connect to SMB drive shares, and connect to a special version of Xbox Live. They usually also come with customer support contracts and access to other developer tools like better profilers or test harnesses.

\$\endgroup\$
8
  • 1
    \$\begingroup\$ +1 Isn't the Amiga also the proof needed by the industry to make sure that everything should be done to limit piracy? I think that's the other important part of the story. \$\endgroup\$
    – Klaim
    May 10, 2012 at 13:29
  • 4
    \$\begingroup\$ @Klaim: I don't know what part of the Amiga's history you're referencing, but the link between piracy and proprietary SDKs has always been tenuous, and IMO mostly propaganda from console makers. The closed console market is designed to make it hard to run unapproved code; that might marginally reduce piracy, but only as a side effect. Furthermore most piracy is of approved code. \$\endgroup\$
    – user744
    May 10, 2012 at 13:37
  • \$\begingroup\$ @Klaim doing "everything" always leads to horrible monsters. You have to do only a few things, but the correct ones. \$\endgroup\$
    – o0'.
    May 10, 2012 at 14:12
  • \$\begingroup\$ What I was refencing to is the fact that the Amiga lost steam power because of easy piracy of the medium, disks, but yeah it might be unrelated to the dev kit. \$\endgroup\$
    – Klaim
    May 10, 2012 at 14:18
  • \$\begingroup\$ @Lohoris I don't agree. Variety is the birth bed of quality. What is important is to have ways to sort that variety. After all, Sony did made a success of the Playstation because of the variety of it's games. But it was easy to learn what was or not good. \$\endgroup\$
    – Klaim
    May 10, 2012 at 14:19
4
\$\begingroup\$

Well for one thing these professional SDKs usually come with different hardware. For example this is how (the old) PS3 development station looks like (U2/U3 rack size): PS3 DK

And this is a Xbox 360 development kit: Xbox 360 DK

And even if the SDKs can run on normal 'consumer' consoles (which they can do but with limited functionality, usually just used for debugging) it still possesses a security risk since the SDKs gives you a lot lower level access.

There is one more thing: how broader you distribute the tools how more polished and easier to support it should be. Software like XNA is extremely polished and an amateur can easily make heads or tails of it without reading a lot of the documentation. Time till you first polygon on screen: 5 minutes. The SDKs are a lot less friendly beasts you'll be reading documentation for days or weeks before you can get anything going and special engineers are sometimes flown in to studios to help with quirks. The support cost per person is a lot higher so Microsoft and Sony try to limit the number of people who they have to support to the people they know can make a good profit for them. It's all about costs and benefits.

\$\endgroup\$
10
  • 6
    \$\begingroup\$ -1 for "it still possesses a security risk" - I really hate this false justification, and on a developer site it's inexcusable. Shitty coding creates a security risk. Full SDK access (maybe) creates a profit risk. \$\endgroup\$
    – user744
    May 10, 2012 at 13:21
  • 1
    \$\begingroup\$ And what Lohoris says is exactly what they actually do. MS might run developer support programs as a cost center for big publishers/developers like Activision or Epic where they're guaranteed to make it up in shipped volume of games or blockbuster hits, but for the majority of developers they're going to price stuff so it breaks even at worst. \$\endgroup\$
    – user744
    May 10, 2012 at 14:18
  • 2
    \$\begingroup\$ JoeWreschnig in that case leaving the keys to a fault is only a profit risk as well (which is fine by me but that doesn't get us anywhere). @Lohoris yes they could offer it without support for free but this would make for an awful PR mistake since you'll have a lot of disgruntled customers (free doesn't mean that people don't complain when they can't get it too work). This is the same reason why tools like level editors are never 'just released' in the state as they where internally. There is such a huge gap between internal tool polish and external tool polish, even for free tools! \$\endgroup\$
    – Roy T.
    May 10, 2012 at 14:27
  • 2
    \$\begingroup\$ @Roy: If a house is the metaphor you want to run with, having an SDK is like having the blueprints, not the keys. The blueprints to my apartment aren't secret - they're the same as all my neighbors, and they're in public records somewhere too I'm sure. But my apartment is not less secure because of it. It's useful information if someone does breach security since you can probably use it to figure out where I keep my TV - but it's not any less secure as long as my door's locked. \$\endgroup\$
    – user744
    May 10, 2012 at 15:13
  • 2
    \$\begingroup\$ Just having access to the SDK doesn't let you run any unsigned code. You still need to be issued a signing key from the publisher. Signing keys are tied to machine IDs so that you can only deploy it to designated machines. Keys are made to expire after a certain amount of time and publishers can revoke them, so there aren't really any major security risks in terms of piracy for having a public SDK. \$\endgroup\$
    – 5ound
    May 12, 2012 at 9:12

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .