Pourquoi les versions «professionnelles» des SDK de console sont-elles fermées au public?

11

Pourquoi les versions "professionnelles" des SDK de console sont-elles fermées au public? Par exemple, le kit de développement Xbox n'est disponible que pour certains développeurs enregistrés. La PS3 a un arrangement similaire. Même le prix n'est pas divulgué.

Quelle est la raison de ce secret? De plus, quelles sont les fonctionnalités supplémentaires de ces SDK "professionnels", par rapport aux SDK gratuits (comme XNA)?

ApoorvaJ
la source
-1: À moins que quiconque ici soit en fait de Sony, Microsoft ou Nintendo, ou qu'il ait des informations réelles directement de leur part, cette question ne peut être répondue avec autre chose qu'une perspective extérieure et des préférences personnelles. Bref, cette question invite à la spéculation et rien de plus.
Nicol Bolas
4
@Nicol: Euh, sauf que ma réponse contient une citation d'un cadre de Nintendo expliquant pourquoi ils ont implémenté la première version de ce système. Quel genre de devis recherchez-vous? Je suis sûr que je peux trouver des modèles modernes auprès de dirigeants de MS ou de Sony pour parler des avantages de leurs systèmes fermés pour les mêmes raisons.

Réponses:

18

Ce programme a été lancé par Nintendo pour contrer les effets du crash du jeu vidéo de 1983 .

Il y avait plusieurs raisons à l'accident, mais la cause principale était la sursaturation du marché avec des centaines de jeux pour la plupart de mauvaise qualité, ce qui a entraîné une perte de confiance des consommateurs ...

En 1986, le président de Nintendo, Hiroshi Yamauchi, a noté que "Atari s'est effondré parce qu'ils donnaient trop de liberté aux développeurs tiers et que le marché était submergé de jeux d'ordures". En réponse, Nintendo a limité le nombre de titres que les développeurs tiers pourraient publier pour leur système chaque année.

Cela continue aujourd'hui car c'est une affaire lucrative pour les fabricants de consoles, leur permettant de vendre des appareils à des prix inférieurs aux clients et de gagner de l'argent en octroyant des licences pour le SDK aux développeurs, ce qui représente souvent une baisse des revenus. L'avantage pour les consommateurs est aujourd'hui très discutable, en particulier par rapport aux modèles plus ouverts mais toujours fermés comme l'App Store d'Apple.

La différence entre le SDK gratuit et propriétaire varie selon le fournisseur. Dans tous les cas, l'option gratuite est plus limitée technologiquement - XNA vous limite au C #, par exemple, où le XDK complet vous permet d'écrire dans n'importe quel langage pouvant cibler l'architecture basée sur PPC de la Xbox 360. Il en va de même pour le matériel. Les unités de débogage Xbox contiennent des disques durs plus gros, peuvent se connecter à des partages de lecteur SMB et se connecter à une version spéciale de Xbox Live. Ils sont généralement accompagnés de contrats de support client et d'un accès à d'autres outils de développement tels que de meilleurs profileurs ou faisceaux de tests.


la source
1
+1 L'Amiga n'est-il pas également la preuve dont l'industrie a besoin pour s'assurer que tout doit être fait pour limiter le piratage? Je pense que c'est l'autre partie importante de l'histoire.
Klaim
4
@Klaim: Je ne sais pas à quelle partie de l'histoire d'Amiga vous faites référence, mais le lien entre le piratage et les SDK propriétaires a toujours été ténu, et l'OMI est principalement la propagande des fabricants de consoles. Le marché des consoles fermées est conçu pour rendre difficile l'exécution de code non approuvé; cela pourrait réduire légèrement le piratage, mais seulement comme effet secondaire. De plus, la plupart du piratage est de code approuvé.
@Klaim faire "tout" mène toujours à d'horribles monstres. Vous devez faire seulement quelques petites choses, mais les bonnes .
o0 '.
Ce à quoi je faisais référence, c'est le fait que l'Amiga a perdu de la puissance de vapeur à cause du piratage facile du support, des disques, mais oui, cela pourrait ne pas être lié au kit de développement.
Klaim
@ Lohoris Je ne suis pas d'accord. La variété est le lit de naissance de la qualité. Ce qui est important, c'est d'avoir des moyens de trier cette variété. Après tout, Sony a réussi la Playstation en raison de la variété de ses jeux. Mais il était facile d'apprendre ce qui était bon ou pas.
Klaim
4

Eh bien, pour une chose, ces SDK professionnels sont généralement livrés avec un matériel différent. Par exemple, voici à quoi ressemble (l'ancienne) station de développement PS3 (taille de rack U2 / U3): PS3 DK

Et ceci est un kit de développement Xbox 360: Xbox 360 DK

Et même si les SDK peuvent fonctionner sur des consoles `` grand public '' normales (ce qu'ils peuvent faire mais avec des fonctionnalités limitées, généralement utilisées uniquement pour le débogage), ils présentent toujours un risque de sécurité car les SDK vous offrent un accès de niveau beaucoup plus bas.

Il y a encore une chose: à quel point vous distribuez les outils plus largement, à quel point ils devraient être plus soignés et plus faciles à gérer. Un logiciel comme XNA est extrêmement raffiné et un amateur peut facilement en faire des têtes ou des queues sans lire une grande partie de la documentation. Temps jusqu'au premier polygone à l'écran: 5 minutes. Les SDK sont des bêtes beaucoup moins conviviales que vous lirez la documentation pendant des jours ou des semaines avant de pouvoir tout faire fonctionner et des ingénieurs spéciaux sont parfois envoyés par avion dans les studios pour aider avec les bizarreries. Le coût du support par personne est beaucoup plus élevé, donc Microsoft et Sony essaient de limiter le nombre de personnes qu'ils doivent soutenir aux personnes qu'ils connaissent peuvent faire un bon profit pour eux. Il s'agit de coûts et d'avantages.

Roy T.
la source
6
-1 pour "il comporte toujours un risque de sécurité" - je déteste vraiment cette fausse justification, et sur un site de développeur c'est inexcusable. Le codage de merde crée un risque pour la sécurité. Un accès complet au SDK (peut-être) crée un risque de profit .
1
Et ce que Lohoris dit, c'est exactement ce qu'ils font réellement. MS peut exécuter des programmes d'assistance aux développeurs en tant que centre de coûts pour les grands éditeurs / développeurs comme Activision ou Epic, où ils sont garantis de compenser le volume de jeux ou de succès de superproductions, mais pour la majorité des développeurs, ils vont tarifer des trucs donc ça casse même au pire.
2
JoeWreschnig dans ce cas, laisser les clés d'une faute n'est qu'un risque de profit également (ce qui me convient, mais cela ne nous mène nulle part). @Lohoris oui, ils pourraient l'offrir sans assistance gratuitement, mais cela ferait une terrible erreur de relations publiques car vous aurez beaucoup de clients mécontents (gratuit ne signifie pas que les gens ne se plaignent pas lorsqu'ils ne peuvent pas l'obtenir aussi travail). C'est la même raison pour laquelle des outils tels que les éditeurs de niveau ne sont jamais «juste sortis» dans l'état comme ils l'étaient en interne. Il y a un énorme écart entre le poli à outils interne et le poli à outils externe, même pour les outils gratuits!
Roy T.
2
@Roy: Si une maison est la métaphore avec laquelle vous voulez courir, avoir un SDK, c'est comme avoir les plans, pas les clés. Les plans de mon appartement ne sont pas secrets - ils sont les mêmes que tous mes voisins, et ils sont aussi quelque part dans les archives publiques, j'en suis sûr. Mais mon appartement n'est pas moins sécurisé à cause de cela. Ce sont des informations utiles si quelqu'un viole la sécurité, car vous pouvez probablement l'utiliser pour savoir où je garde mon téléviseur - mais ce n'est pas moins sûr tant que ma porte est verrouillée.
2
Le simple fait d'avoir accès au SDK ne vous permet pas d'exécuter du code non signé. Vous devez toujours recevoir une clé de signature de l'éditeur. Les clés de signature sont liées aux ID d'ordinateur afin que vous ne puissiez les déployer que sur les ordinateurs désignés. Les clés expirent après un certain temps et les éditeurs peuvent les révoquer, il n'y a donc pas vraiment de risques de sécurité majeurs en termes de piratage pour avoir un SDK public.
5