[[File:Intel-core-i7-sandy-bridge.png|thumb|[[Processore]] [[Core i7|Intel Core i7]], esempio di piattaforma [[hardware]]]]
[[File:Gnome-2.20-screenshot.png|thumb|[[Linux]], esempio di piattaforma operativa]]
===Piattaforma basata sul codice sorgente===
Oltre al concetto di piattaforma basato sulla compatibilità binaria, che consente la continua eseguibilità del software una volta creato, esiste anche il concetto di compatibilità attraverso la [[portabilità]] del [[codice sorgente]] di un programma applicativo. Questo non garantisce l'eseguibilità a lungo termine né un'ampia eseguibilità delle compilazioni dei programmi applicativi,<ref>{{citecita web |url=http://blog.linuxgamepublishing.com/2009/08/18/handling-misbehaving-libraries-in-binary-products/ |firstnome=Michael |lastcognome=Simms |datedata=18 agosto 2009-08-18 |accessdateaccesso=2012-01-15 gennaio 2012 |languagelingua=en |titletitolo=Handling misbehaving libraries in binary products |quotecitazione=It is a bit of an arcane artform, making a game that runs on all Linux versions. […] [libraries] will load their own dependencies in a way we cannot control.The biggest problem is that OpenAL and SDL try to dlopen libasound, and on some machines, libasound doesn’t work with our binaries. On others, it can actually crash the whole game due to incompatibilities. This is a common issue when dealing with unknown system configurations when sending out a binary-only product into the world. |publishereditore=[[Linux Game Publishing]] |archiveurlurlarchivio=https://web.archive.org/web/20140222145251/http://blog.linuxgamepublishing.com/2009/08/18/handling-misbehaving-libraries-in-binary-products/ |archivedate=2014-02-22}}</ref>, quanto piuttosto il loro essere compilabili con un'ampia gamma di hardware, librerie di programmi e API software sottostanti, nota anche come indipendenza dalla piattaforma. Gli svantaggi sono che il processo di compilazione deve essere eseguito più frequentemente e soprattutto dall'utente o dallo sviluppatore dell'applicazione, un processo talvolta complesso e soggetto ad errori. Anche la creazione di software portabile per tale piattaforma rappresenta un problema.<ref>{{citecita web|archiveurlurlarchivio=https://web.archive.org/web/20071013034536/http://www.gamedev.net/reference/programming/features/linuxprogramming2/page2.asp|url=http://www.gamedev.net/reference/programming/features/linuxprogramming2/page2.asp |titletitolo=Linux Game Development Part 2 – Distributable Binaries|firstnome=Troy |lastcognome=Hepfner |datedata=1º ottobre 2007-10-01|accessdateaccesso=19 dicembre 2011-12-19|archivedate=2007-10-13|languagelingua=en |quotecitazione=''Creating an executable that works on almost all Linux distributions is a challenge. There are a number of factors that contribute to the problem […]''|publishereditore=gamedev.net}}</ref> Inoltre, la necessità di rendere disponibile il codice sorgente all'utente può rappresentare un ostacolo, poiché è insolito che un software proprietario non sia anche [[closed source|chiuso]]. Per questo motivo, il concetto di compatibilità basata sul codice sorgente è particolarmente dominante nel settore open source e nei sistemi operativi di tipo Unix, mentre la compatibilità binaria è dominante nei sistemi operativi Windows<ref>{{citecita web |authorautore=[[Ian Murdock]] |titletitolo=On the importance of backward compatibility |languagelingua=en |datedata=2007-01-17 gennaio 2007 |url=http://ianmurdock.com/platforms/on-the-importance-of-backward-compatibility/ |archiveurlurlarchivio=https://web.archive.org/web/20120114153717/http://ianmurdock.com/platforms/on-the-importance-of-backward-compatibility/ |archivedateurlmorto=2012-01-14si |offlineaccesso=yes4 gennaio |accessdate=2012-01-04 |archivebot=}}</ref><ref>{{citecita web|url=http://weblogs.asp.net/oldnewthing/archive/2003/10/15/55296.aspx|archiveurlurlarchivio=https://web.archive.org/web/20040703024414/http://weblogs.asp.net/oldnewthing/archive/2003/10/15/55296.aspx|titletitolo=What about BOZOSLIVEHERE and TABTHETEXTOUTFORWIMPS?|authorautore=[[Raymond Chen]]|publishereditore=|datedata=2003-10-15 ottobre 2003 |accessdateaccesso=4 gennaio 2012-01-04|archivedate=2004-07-03 |workopera=The Old New Thing|languagelingua=en}}</ref> o [[Mac OS]], ad esempio.<ref>{{citecita web |lastcognome=Peter |firstnome=Simon |titletitolo=AppImageKit Documentation 1.0 |languagelingua=en |datedata=2010 |publishereditore=PortableLinuxApps.org |url=http://portablelinuxapps.org/docs/1.0/AppImageKit.pdf |archiveurlurlarchivio=https://web.archive.org/web/20101129031656/http://portablelinuxapps.org/docs/1.0/AppImageKit.pdf |archivedateurlmorto=2010-11-29si |offline=yes |formatformato=PDF|accessdateaccesso=2011-07-29 |archivebot=luglio 2011 |pagespp=2–3 |quotecitazione=''A critical distinction between the approach known from Windows and the Mac and the one known from UNIX and Linux is the „platform“: While Windows and the Mac are seen as platforms to run software on, most Linux distributions see themselves as the system that includes the applications.''}}</ref>
===Sistema operativo come piattaforma===
A fini pubblicitari, i nomi dei marchi sono spesso riassunti in modo semplificato come piattaforme che in realtà sono tecnicamente differenziate. Un esempio ben noto è la “piattaforma Macintosh”, le cui piattaforme tecniche possono differire in modo sostanziale a seconda della generazione. Questa visione semplicistica è diventata in qualche modo parte del linguaggio e del [[senso comune]].
Ad esempio, l'azienda [[Apple]] si pubblicizza con la piattaforma “Macintosh” o “Mac”, anche se praticamente tutte le piattaforme che compongono Macintosh sono state sostituite (talora ripetutamente) nel corso dell'intero periodo della sua esistenza. Da un punto di vista tecnico, Macintosh è costituito e consisteva in piattaforme hardware e software molto diverse e talvolta incompatibili tra loro.
Infatti, nel corso della sua storia, il “Macintosh” ha utilizzato o utilizza [[680x0]], [[PowerPC]], [[IA-32]] o [[x64]] e [[ARM64]] dal punto di vista dell'architettura del processore. Le [[interfaccia (informaticca)|interfacce]] software e gli standard utilizzati dai sistemi operativi Apple sono o sono stati [[Carbon (API)|Carbon]], [[Cocoa (software)|Cocoa]], [[POSIX]], [[Single UNIX Specification|SUS]], ambiente software [[GNU]], [[Java Runtime Environment|JRE]], ecc.). Per garantire agli utenti una transizione agevole tra queste architetture, Apple ha utilizzato approcci transitori come i [[fat binary|fat binaries]] o i [[universal binary|universal binaries]] e gli [[emulatore di terminale|emulatori]] (trasparenti). Di conseguenza, l'intera famiglia di prodotti ha continuato a essere percepita dal pubblico come una piattaforma standardizzata.
===Apertura===
{{MainVedi anche|Giardino recintato}}
I produttori di piattaforme hanno approcci diversi per quanto riguarda l'apertura o la chiusura delle loro piattaforme. Ciò riguarda, ad esempio, il modello di sviluppo, il modello di [[contabilità interna]] o il grado di apertura o libertà concesso all'uso ai diversi livelli.
|