关于禅宗编程语言的声明

2020-09-16 22:18:09

下面提供英文原版。我们感谢株式会社HYPERIA和ZIG社区的所有成员,他们帮助我们完成了日语翻译。

ZIGソフトウェア財団は、Zigの開発者アンドリュー·ケリーによって創設された501(C)(3)非営利組織です.。本財団はZigプログラミング言語開発のサポートと優れたグローバルコミュニティの育成を目的としています.。

対してZenはコネクトフリー社によって保守されているZigのクローズドソースフォークです.。コネクトフリー社は最近Zenコンパイラのためのライセンスモデルを発表し、ソフトウェア開発者は自分で作成したコードのコンパイル済みリリースを配布する上で年間サブスクリプションの購読が必要になりました.。

Zigプロジェクトとコネクトフリー社の関係性についてコネクトフリー社は完全には明確にしていません.。そこで、本声明ではこの関係性について明確にしたいと考えています.。日本の皆様がZenコンパイラへの年間ライセンス料を支払う前に、zigとZenが分岐した背景を知っていただきたいと考えています.。

“Zigからの発展”ページにおいて、コネクトフリー社はZenはZigバージョン0.3.0から独立して進化してきたとしており、またZigの貢献者である“No.5”とNo.2“はコネクトフリー社の従業員であり、。“5号”はコネクトフリー社創設者のクリストファー·テイト氏であると述べています。この他に、このページではZenがZigと比較してどのような点で優れているかというバリュー·プロポジションと、開発チームのある種の正統性--彼らが信頼に値する存在だということを示そうとしているようです.。

Zenが独立的に進化してきたという主張については、私どもはクローズドソースであるコンパイラの内部実装についてはコメントできないものの、Zen標準ライブラリのソースコードはZenリリースの度にまだ入手可能です.。このソースコードを読むと、コネクトフリー社がZigプロジェクトからいまだに多くのコードを借用していることが簡単に分かります.。ほとんどの場合、彼らの命名規則に合わせるために非常に小さな変化を適用しているに過ぎません.。この一例として“异步/等待”機能があります。この機能はZigバージョン0.6.0(バージョン0.3.0の約1年半後)で導入されましたが、コネクトフリー社によってZenに実質的に全く変更なくコピーされました.。もう一つの例として、こちらのリンクから二つのイベントループ実装の比較をご覧いただけます.。

開発チームについてのお話をしましょう.。“No.5”(すなわちクリストファー·テイト氏)はZigプロジェクトの公共の場であるGitHubとircで繰り返し問題のある行動を行ったため、プロジェクトから追放されなければならなくなりました.。こうした経緯があることをコネクトフリー社は明らかにしていません.。その後、テイト氏は“No.2”をZenコンパイラに取り組ませるために雇いましたが、この契約にあたってプライベートな時間で作られたものも含め“No.2”が書いた全てのコードの所有権がコネクトフリー社にも帰属するという契約内容について適切に明確化することを怠りました.。その時以来“No.2”はコネクトフリー社の職を辞めましたが、契約の中に示されている“競業避止義務”条項のために、Zigプロジェクトにしばらくのあいだ貢献することもできません.。さらに、テイト氏はいくつかのZigコミュニティで宣伝活動を行い、複数のZigコントリビュータをメール経由でスカウトしようとしていたことが知られています.。おそらく“No.2”と同じ契約条件で雇おうとしていたものと考えられます.。

以下内容は私どもの公式ウェブサイトからの引用で、Zigソフトウェア財団の使命です.

ZIGソフトウェア財団の使命は、Zigプログラミング言語を促進·保護·発展させること、Zigプログラマーの多様で国際的なコミュニティの成長を支えること、また学生に教育と指導を提供し、次世代のプログラマーを有能かつ倫理的に高い水準を持つ人材へと育成することです.。

コネクトフリー社の創設者であるテイト氏は、不完全な技術論により彼自身の行動を正当化しようとすると同時に、契約条項を利用してZigの貢献者がこのオープンソースプロジェクトに更に貢献する事を阻止しています.。また、コネクトフリー社のZenはZigを表面的にリブランディングしたものに過ぎません.。このようなテイト氏の過去と現在の振舞いから、日本の専門家や会社がこうしたクローズドソース製品に頼り生計をたてようとするのは、私どもの良識としてはお勧めできません.。

Zigのオープンな設計プロセスは協調の精神に基づいており、オープンソース開発を通じてのみ達成可能なレベルの技術的な卓越性と圧倒的な改善スピードの実現を目指しています.。ZIGをユニークで革新的な言語たらしめる多くの特徴(压缩时间、异步/等待、前哨終端ポインタ型,エラー型等々)は、こうした設計プロセスを進めた結果生まれたものです。

以上より、堅固かつ最適で再利用可能なコードの作成に興味のある日本の開発者の皆様を世界的なZigコミュニティにお招きしご参加頂く事で、限られた人たちの特権に1円も払う事なく、本物のコードに触れて楽しんで頂きたいと考えております.。

この度は本声明をお読み頂き、誠に有難うございました.。

[追伸]私どもは、教材や説明書を日本語含む様々な言語で伝える事にご協力いただける方を探しています.。もしご興味がおありでしたら、こちらまでご連絡ください!邮箱:[email protected]

Zig软件基金会是由Zig的创建者Andrew Kelley创建的501(C)(3)非营利性组织,其目标是支持Zig编程语言的开发,并在其周围培育一个同样优秀的全球社区。

Zen是由connectFree维护的Zig的一个封闭源码分支,该公司最近宣布了一种Zen编译器的许可模式,要求软件开发人员每年购买订阅才能分发其代码的编译版本。

在这份声明中,我们想向日本公众澄清Zig项目和connectFree之间的关系,因为后者在这个问题上并没有完全坦诚,我们认为潜在客户在花钱之前应该知道全部情况。

在“从Zig进化”页面中,connectFree称Zen从0.3.0版本开始独立于Zig进化,Zig的贡献者“2号”和“5号”是connectFree的员工,其中“5号”是connectFree的创始人克里斯托弗·泰特(Kristopher Tate)。该页面应该提供Zen胜过Zig的价值主张,并为开发团队提供某种“血统”。

关于独立性的争论,虽然我们不能评论封闭源码编译器本身,但是Zen标准库的源文件仍然可以在每个Zen版本中获得。通过阅读这些源文件,可以很容易地看到connectFree仍然大量借用Zig项目,通常只应用非常小的更改来适应它们的命名约定。这方面的一个例子是完整的“异步/等待”功能,该功能在Zig版本0.6.0中首次引入(大约在0.3.0版本之后的1.5年后),并由connectFree复制,几乎没有任何更改。作为另一个示例,您可以在这里看到两个事件循环实现之间的比较。

至于开发团队,connectFree省略了“5号”(即Kristopher Tate)在GitHub和IRC上多次在公共场合行为不端后,如何被禁止参与Zig项目。在那次事件之后,泰特雇佣了“2号”来研究禅宗编译器,但没有足够清楚地表明,合同还授予了“2号”编写的所有代码的connectFree所有权,即使在私人时间也是如此。自那以后,“2号人物”辞去了他们在connectFree的职位,但由于合同中存在“竞业禁止”条款,他们将在一段时间内无法为Zig项目做出贡献。泰特还试图在一些Zig社区做广告,并给多名Zig撰稿人发了冷冰冰的电子邮件,告诉他们有关为ConnectFree工作的事情,大概是按照与“2号人物”相同的合同义务。

Zig软件基金会的使命是促进、保护和推进Zig编程语言,支持和促进多元化和国际化的Zig程序员社区的发展,并向学生提供教育和指导,教导下一代程序员要有能力、有道德,并相互保持高标准。

鉴于泰特过去和现在的行为,我们不能凭良心向日本专业人士和企业建议,让他们的生计依赖于Zig的封闭来源、表面上的重新命名。Zig是由一家公司出售的,该公司的创始人利用有缺陷的技术论点为自己的行为辩护,同时利用合同条款阻止Zig的贡献者进一步为开源项目做出贡献。

使Zig成为一种独特而创新的语言的许多特性(comptime、异步/等待、以定点结尾的指针类型、错误联合、…)。是以开放的、协作的精神进行设计过程的结果,最终目标是达到只有在开放源码软件开发中才能真正实现的技术卓越水平和改进速度。

有鉴于此,我们邀请所有对编写健壮、优化和可重用的代码感兴趣的日本开发人员加入全球Zig社区,享受真正的交易,而不需要为这一特权支付一分钱。

附注:我们正在寻找贡献者,以帮助用包括日语在内的其他语言编写学习材料和文档。如果您有兴趣,请联系[email protected]