Quellkompatibilität
Quellkompatibilität bezeichnet die Fähigkeit eines Compilers, einer Programmiersprache oder eines Toolchains, Quellcode, der für eine frühere Version erstellt wurde, mit einer neueren Version zu verarbeiten, ohne Änderungen am Code vornehmen zu müssen. Sie bezieht sich auf den Quelltext, nicht auf die resultierende Binärdatei. Ziel ist es, bestehende Programme auch nach Versionswechsel weiterhin lauffähig zu halten.
Quellkompatibilität unterscheidet sich von der Binärkompatibilität, die sicherstellt, dass ausführbare Dateien oder Bibliotheken mit neuen Versionen
Verantwortlich für Quellkompatibilität sind Sprachenentwickler, Compilerhersteller und Bibliotheken. Hohe Quellkompatibilität erleichtert Portierung, Wartung und Ökosystemstabilität, während
Herausforderungen ergeben sich durch geplante Sprach- oder API-Änderungen, Migrationen, Abhängigkeiten außerhalb der Kontrolle und plattformübergreifende Unterschiede
Typische Maßnahmen umfassen Deprecation-Warnungen, längere Supportzeiträume, klare Migrationsleitfäden, Build-Optionen, die Quellkompatibilität erzwingen, sowie semantische Versionierung, automatisierte
Beispiele: Java strebt langfristige Quellkompatibilität an und erlaubt in Major-Releases meist nur gut angekündigte Breaking Changes;