Software compatibility can refer to the compatibility that a particular software has running on a particular [[CPU architecture]] such as Intel or [[PowerPC]].<ref name=":0">{{Cite web |title=What is compatibility? {{!}} Definition from TechTarget |url=https://www.techtarget.com/whatis/definition/compatibility |access-date=2024-02-08 |website=WhatIs |language=en}}</ref>. Software compatibility can also refer to ability for the software to run on a particular [[operating system]]. Very rarely is a [[Object file|compiled software]] compatible with multiple different CPU architectures. Normally, an application is compiled for different CPU architectures and operating systems to allow it to be compatible with the different system. [[Interpreter (computing)|Interpreted software]], on the other hand, can normally run on many different CPU architectures and operating systems if the interpreter is available for the architecture or operating system. [[Software incompatibility]] occurs many times for new software released for a newer version of an operating system which is incompatible with the older version of the operating system because it may miss some of the features and functionality that the software depends on.
== {{anchor|Hardware}}Hardware compatibility ==
Hardware compatibility can refer to the compatibility of computer hardware components with a particular [[CPU architecture]], bus, [[motherboard]] or [[operating system]].<ref name=":0" />. Hardware that is compatible may not always run at its highest stated performance, but it can nevertheless work with [[Legacy system|legacy components]]. An example is [[random-access memory|RAM]] chips, some of which can run at a lower (or sometimes higher) [[clock rate]] than rated.<ref>{{Cite web |last=Glawion |first=Alex |date=2022-05-02 |title=Why Is My RAM Not Running at Full Speed? [5 Reasons and How To Fix] |url=https://www.cgdirector.com/ram-not-running-at-full-speed/ |access-date=2024-02-08 |website=CGDirector |language=en-US}}</ref>. Hardware that was designed for one operating system may not work for another, if device or kernel drivers are unavailable. As an example, Android is not able to be ranrun on a phone with iOS.<ref>{{Cite web |title=Can I install a custom OS on iPhone 5s? |url=https://apple.stackexchange.com/questions/378036/can-i-install-a-custom-os-on-iphone-5s |access-date=2024-02-08 |website=Ask Different |language=en}}</ref>.
== Free and open-source software ==
Line 13:
{{#section-h:Free and open-source software|Hardware and software compatibility}}