改善が欠点をはるかに上回る場合、下位互換性のない変更を導入する必要がある場合があります。古い動作に簡単に切り替えることができますが、ユーザーはそのような変更に注意する必要があります。
したがって問題は、FLOSS (オープンソース) プロジェクトへの将来の下位互換性のない変更をどのようにアナウンスして、ユーザーがそれらの変更に備え、使用を変更するか、古い動作を使用するようにプログラムを構成できるようにするかです。
OSS プロジェクトであるため、さまざまなディストリビューションによって個別にパッケージ化されており、ユーザーの介入なしに自動的にアップグレードされる場合があります。そして、下位互換性のない変更により、誰かのワークフローが混乱する可能性があります (たとえば、サードパーティのスクリプト)。
現在検討されている (および使用されている) アベニュー:
- プロジェクトメーリングリスト
- プロジェクトホームページ
- リリースノート (最初の警告、次に発表)
- メンテナのブログ
編集 1:この (下位互換性のない) 変更は、いくつかのメジャーリリースで発生します。
すべての変更は、セーフガードを追加するか (初心者ユーザーを完全に混乱させる可能性のあるコマンドを拒否する)、またはデフォルトをより適切な値に変更することに関するものです。
編集 2:移行期間では、デフォルトの構成 (デフォルトの reject/deny に変更されることを意図しています) がwarnに変更され、警告を無効にする方法が説明されています。これにより、デフォルトの動作の下位互換性のない変更からも保護されます。
しかし、それが自動化されたシステムであれば、役に立たないかもしれません...
問題のプロジェクトはGit、分散バージョン管理システムです。gitster のジャーナルでユーザーに早期警告を与える(Junio C Hamano ブログ)を
参照してください。