CSV書込み lineterminator の指定でハマる

import csv
csv.register_dialect("MyDialect", quoting=csv.QUOTE_ALL, lineterminator='\n')

と書いて、

with open("sample.csv", "w", encoding="utf-8") as f:
   w = csv.writer(f, "MyDialect")
   w.writerow(header_list)
   w.writerows(array_list)

と書いて実行したら、行区切りが、\r\n のままで、どうして?と困惑した。。

書込み先 OPEN で、newline="" の指定が抜けてる。
付けると期待どおりの 、行区切りが、\n になる。

with open("sample.csv", "w", encoding="utf-8", newline="") as f:
   w = csv.writer(f, "MyDialect")
   w.writerow(header_list)
   w.writerows(array_list)

でも、これは Windows PC で実行した時の話であって、

with open("sample.csv", "w") as f:

で、Linux では open は、newline や encoding の指定を書かない