macOS 13 Ventura以降では数値計算コマンド「bc」がGNU bcからBSDライセンスのbcへ移行され、パフォーマンスが向上。

macOS 12.7.4 MontereyとmacOS 13.6.6 Venturaのbc macOS 13 Ventura
macOS 12.7.4 MontereyとmacOS 13.6.6 Venturaのbc
記事内に広告が含まれています。
スポンサーリンク
スポンサーリンク
スポンサーリンク

 AppleはmacOS 13 VenturaからbcコマンドをGNU bcからBSDライセンスのbcへ移行したようです。詳細は以下から。

ターミナルアイコン

 Appleが現地時間2024年03月07日にリリースしたmacOS 14.4 Sonomaでは、USBハブが利用できなくなる不具合やJavaプロセスが予期せず終了してしまう不具合、PACE/iLokで保護されたAUプラグインによりLogic ProなどのDAWアプリがクラッシュする不具合など複数の不具合が報告されたため、25日になってHotfixとなるmacOS 14.4.1 Sonomaがリリースされましたが、

macOS 14.4.1 Sonomaのリリースノート

macOS 14.4.1 Sonomaのリリースノート

このmacOS 14.4 Sonomaでは、不具合の他に、airportコマンドが非推奨となり、“fileproviderctl”コマンドから多くのオプションが削除されていたため、その他のコマンドも確認したところ、macOS 14.4では、任意精度の算術計算が可能なbcコマンド(Basic Calculator)が、バージョン4.0.2から6.5.0へアップデートされていました。

macOS 14.3.1 SonomaのbcとmacOS 14.4.1のbc

クリックで拡大

 bcのバージョン情報にクレジットされていたWebサイトをチェックしてみたところ、このbcはGavin D. Howardさんが、2018年から開発している新しいbc(以下、gh-bc)で、確認したところAppleは2022年にリリースしたmacOS 13 Venturaからこのgh-bcを採用していたそうです。

macOS 12.7.4 MontereyとmacOS 13.6.6 Venturaのbc

macOS 12.7.4 MontereyとmacOS 13.6.6 Venturaのbc

 Howardさんが昨年02月に公開したブログによると、Appleが更新したApple’s Open Sourceページを確認したところ、AppleはmacOS 12.x Montereyまで1991年にPhilip A. Nelsonさんが開発しメンテナンスが続けられていたGNU bcを採用していたものの、macOS 13.0 Venturaでは自身が開発しているBSDライセンスのgh-bcが採用されていたそうで、

macOS 12 MontereyとmacOS 13 Venturaのbc

My bc had previously been accepted into FreeBSD. It’s default or equal with the GNU bc in several small Linux distros and one major one (Gentoo).Getting shipped with Mac OSX is the next step toward conquering all platforms.This makes me so happy!

My Code Conquered Another OS! – Gavin D. Howard

はっきりとした理由はわかりませんが、Appleは2019年にリリースしたmacOS 10.15 Catalinaで、それまでデフォルトシェルとして採用してきたGPLv3ライセンスのBashをMITライセンスのZshへ移行し、その後もライセンス問題からいくつかのコマンドを削除/置き換えしているので、今回もライセンスの問題だと思われます。

zsh

Use zsh as the default shell on your Mac – Apple Support

AppleとGNUライセンス

おまけ

 なお、bcコマンドがGNU bcからgh-bcへ移行されたことで、MacではmacOS 13 Ventura以降bcコマンドのパフォーマンスが格段に改善されているので、これからmacOS 13 VenturaやmacOS 14 Sonomaへアップグレードされる方はチェックしてみてください。

echo "scale=5000; 4*a(1)" | bc -l -q

同じApple M1 Macでpi計算をbc 1.06とgh-bc 4.0.2で実行した結果。

コメント

タイトルとURLをコピーしました