「プロジェクトを終了して、作業を中止する必要があると思います。それまでに条件を満たしていない場合は、月曜日に弁護士に連絡します。 [...] あなたがインターンをしていたとき、私たちは小さな会社でした [...] 幸いなことに、今では私たちははるかに大きくなり、非常に重要なことに、これを行う必要がある場合、最高の弁護士に支払う多くのお金があります仕方。 "
- CEO Replit とのやり取りから
UPD: Replit から正式な回答を得ました。私のオープン ソース プロジェクトは間もなく再開されます。更新については、投稿の下部を参照してください。残りのコンテンツは、歴史的なアーティファクトとしてここに残ります。
はじめまして、ラドンと申します。私は昨年大学を卒業し、現在 DevOps / インフラストラクチャ プログラマーとして働いています。余暇には、多くのオープン ソース プロジェクトも維持してい ます。
大学時代、Replitというスタートアップでインターンをしていました。これは、Replit がどのように法的な脅迫とそのベンチャー 資金を利用して、彼らが好まないオープン ソース プロジェクトを終了させるかについての話です。
リプリットについて
Replit は、さまざまなプログラミング言語でインターネット上でコードを実行するために使用できる Web アプリケーションを作成します。これは新しいことではありません (証明のために Google が「Python をオンラインで実行」)、Replit の価値提案は、コラボレーション、サードパーティ パッケージのインストール、Web アプリケーションのホスティングなどの追加機能です。
私は 2019 年の夏に Replit で働いていましたが、そこで Replit のパッケージ管理スタックをやり直して、それをオープンソースにするように頼まれました。技術的なことについて読むのが好きな人は、Replit ブログの 私の投稿とGitHubの コードを参照してください。
2020年の夏、私は別の場所で仕事をしましたが、リプリットが開発したクールな何かについて私に連絡をとったときに、時々彼らにメールを送りました.
私のオープンソース プロジェクトについて
Replit では、さまざまなプログラミング言語がサポートされていることがとても気に入りました。 (彼らがどのようにそれを行うかについて、私はReplitブログに別の投稿を書き ました。)そして私は疑問に思いました:1つのWebサイトにいくつのプログラミング言語を詰め込むことができますか?
この質問を調査するために、インターネット上でコードを実行できる独自の小さな Web アプリケーションを作成しました。約1日後、私はうまくいったものを手に入れました. (なぜそんなに速いのか疑問に思っているなら、Web アプリケーションで Python を実行するために必要なコードは30 行だけである ことがわかりました! これが、インターネット上で Python を実行する Web サイトが非常に多い理由かもしれません. 。)
これが機能した後、私は見つけられる限り多くの異なるプログラミング言語を追加し始めました。私のプロジェクトのバージョン履歴のこのスニペットからわかるように、私は少し興奮しました:
2020-06-05 df9ba38 Initial commit — 0 ( )
2020-06-05 5e3a4a4 Install some packages into a Docker image — 0
2020-06-05 e937c8f Simple Express server with «Hello world» — 0
2020-06-06 0961498 Embed terminal on frontend app — 0
2020-06-06 c66cf63 Embed Monaco editor on frontend — 0
2020-06-06 27ab1f7 Add «run» button — 0
2020-06-06 f417858 You can run Python code now — 1
2020-06-07 d543081 You can run many languages now — 8
2020-06-07 e2a3e71 All languages 17 working now — 17
2020-06-07 473c50c ALL THE LANGUAGES — 25
2020-06-08 3718315 even more languages — 33
2020-06-08 548c1c1 repl.it superiority!!! — 38
2020-06-08 1ae424f More languages, we need all the languages — 48
2020-06-09 c34ccf2 A lot more languages — 77
2020-06-09 846caf2 At this point the number of languages is absurd — 79
最後に、私はすべてを含め、216個の言語を追加しました Replitから38の言語、 祐介遠藤さんクワインリレーからのすべての100個の言語、およびより。あなたは疑問に思うかもしれません: なぜ私は、誰も使用する予定のない Web アプリケーションにあいまいなプログラミング言語を追加するのに多くの時間を費やしたのですか? さて、私はこのように言います.これはあなたが見た2020年の最も奇妙な趣味ですか?
自分のプロジェクトについてReplitに話したらどうなりましたか
私はかつて彼らから、彼らがリリースした新機能を知らせるメールを受け取りました。私のオープンソース プロジェクトを彼らと共有するのに最適な時期であると判断しました。彼らが私の仕事からインスピレーションを得たい場合に備えて、
私は最初に肯定的な反応を受け取りました。しかし、それから 30 分後、どこからともなく、Replit は私を非倫理的な行動と彼らのデザインを盗んだと非難しました。
オープンソース プロジェクトで使用したアイデアはいずれも「内部設計の決定」ではありませんでした。それらはすべて Replit ブログに公開されていました (インターンシップ中にこれらのブログ投稿のいくつかを書くように頼まれたので、私はこれを知っていました)。そして、私のプロジェクトは Replit クローンのように見え、「Python をオンラインで実行」するための最初のいくつかの Google SERP の他のどの Web サイトよりも多くはなく、そのほとんどはまったく同じに見えます:
しかし、 何かが足りないと思ったので、詳細を尋ねました:
(このメールの残りの部分は、基本的にこの記事の前の段落を繰り返していますが、技術的な詳細については、Imgur で全文を読むことができます 。 またはオンラインアーカイブ)。
残念ながら、彼らは私が間違っていたと述べたことについて、特定の詳細を提供することを拒否し、その前の文を改めて表明し、法的措置で私を脅した:
そして、上に桜、Replitは、彼らはちょうどことを私に思い出させてくれ、別のメールを送りました先月、投資家から 2,000 万ドルを調達しましたが、彼らはそれを私に対して使うことを恐れていませんでした。問題の「あなた」は、1 年前に大学を卒業したばかりで、商業活動にはまったく関与していない以前のインターンの 1 人です。
この手紙について、私は 2 つのことを指摘したいと思います。
- «commits like this» — . , Replit, , , , 38 , Replit, 178 , .
- , «demanding» — , , , Replit (. ). , .
, Replit
当然、私はすぐにプロジェクトを隠し、気持ちが落ち着くのを待って、Replitに謝罪を送った. メールで何かが失われたのではないかと思ったので、電話するように頼みました:
ああ、Replit はこのメールを無視したので、別のメールを送りました。これに対して、私は答えを得ましたが、私が望んでいたものではありませんでした:
私が状況に満足していることにレプリットが気付かなかった場合に備えて、私はその後数週間にわたって、説明を含む 3 通のフォローアップ メールを送信しました。無視されました。
言い換えれば、Replit の立場は同じです。私がオープン ソース プロジェクトを再公開すると、彼らは「一流の弁護士」で私を訴えます。
繰り返しは正しいか
Replit は、私のオープン ソース プロジェクトは次のとおりであると主張しました。
- 複製の複製
- 企業秘密に基づく(内部設計決定)
- 非倫理的な
これらのステートメントを 1 つずつ分析してみましょう。
- プロジェクトの開発中に、Replit クローンを作成しましたか?
- プロジェクトの開発中に、Replit の企業秘密を使用しましたか?
- Replit のようなオープン ソース プロジェクトに取り組んだ後に開発するのは非倫理的でしたか?
質問 1 と 2 には技術的な詳細が非常に多く含まれているので 、別の投稿に入れました。これらの問題に関する TL; DR は次のとおりです。
- 私のプロジェクトは、「Python をオンラインで実行」または「オンライン プログラミング環境」と入力することで Google で見つけることができる他の 15 の (商用!) プロジェクトよりも Replit のようなものではありません。
- 私のプロジェクトと Replit の類似点は、Replit 自身がオンラインで投稿した GitHub リポジトリとブログ投稿だけを見ることで説明できます。
ここで質問 3 に答えましょう。
質問: Replit に取り組んだ後に、Replit に似たオープン ソース プロジェクトを開発することは非倫理的でしたか?
私の意見では、多くの理由から、この質問に対する答えは「いいえ」です。
- Riju は完全な非営利団体です。レプリットとは異なり、私は資金源、広告、寄付、募金、購読などを探していません。私はビジネスを経営することに興味がありませんし、サーバー代を払っていたので、Riju が人気を博すことを望んでもいませんでした。
- Riju Replit. , Riju 38 . ( , , .) , Replit 7 . , Riju Replit.
- Riju Replit. , , fork bomb — , , . ( .) , Replit, , , , .
- Replit — ( ). — , . Riju , : , , , -, , , GitHub .
- Replit, Riju, . , GitHub. , Replit , , .
- Riju . , . , , Hexagony SNOBOL, , (!).
私はビジネスパーソンではありません。私はただのオープンソース開発者で、面白いものを作るのが大好きです。 (あなたがお金を稼ぐことはありません事を作るの私の経験についての疑問があれば、ちょうどチェック 私のウェブサイト上のリストを、これまでの収入のパーセントをしたことは何の目立つないことに注意してください。)
私は、誰かのを盗もうとすることはありません彼らと一緒に仕事をした後、リジュに取り組んでいる間、リプリットに危害を加えることは私の意図ではなく、特に明確な質問を1つもせず、議論を行うためのすべての提案を拒否せずに反対を非難することは、私の意見では、リプリットの側の非常に悪意を示しています.
誰が正しいかを自分で判断したい場合は、喜んですべての証拠を公開します (コードを除いて、Replit は引き続き私を訴えると約束しているので)。繰り返し ますが、技術的な詳細をすべて記載した別の投稿があります。また、私と Replit の間のすべての通信を、完全かつ要約された形式で、Imgur ( インターネット アーカイブのミラー) で読むことができます )。(Replit に関する技術的な詳細、およびそのような詳細を暗黙的に開示する可能性のあるステートメントは編集されています。)
なぜレプリットはこれをしたのですか?
リプリットは次の理想を述べています。
- (, , GitHub Replit; CEO Replit: "I owe my entire career to open-source")
- ( Replit, : « [… ], »; « . -- GitHub»)
- 共有への簡単かつ例えば(あなたの作品をリミックス、Replitの最高経営責任者(CEO)は、プログラムへの学習について書いている:「私は私がビルド[...]、変更、および彼らといじくり回すとインスピレーションを得るために欲しかったものに関連したプロジェクトをアップロードするだろう」、と彼は助言します他にもフォークやリミックスがあり、その哲学を Replit の際立った特徴として売り込んでいます)
ただし、この場合のレプリットの行動は偽善を示しています。
- 彼らはオープンソース開発を奨励していると言いますが、私のオープンソース プロジェクトが彼らを怒らせると、彼らはそれをシャットダウンし、偏見に陥ります
- 彼らはオープンソース コミュニティを支援したと主張し、ブログ投稿を投稿しましたが、コミュニティ プロジェクトでこれらのアイデアを使用しようとすると、訴えると脅されました。
- 彼らは私の作品を配布、リサイクル、修正するのが簡単だと言っていますが、自分のためにレプリットをリミックスしようとしたとき、私はペルソナ・ノン・グラタになりました
レプリットが私に宛てた手紙の中で、彼らの脅迫は、私が過去に彼らのために働いていたという事実に基づいていました。しかし、私はこの推論はスクリーンであると信じています。その理由を理解するために、Replit の CEO、Amjad がメールで私を脅した直後に投稿したいくつかのツイートを見てみましょう。
Amjad は、矛盾することが判明したため、これらのツイートを後で削除しました。
これらのツイートで、Amjad は Athens Research が明らかに別の会社に触発されていることを指摘しており、したがって、彼らは「ridridrid笑」され、資金提供を受けることを禁止されるべきだと主張しています。さらに、彼は、「私は一般的に模倣品について私が言ったことに固執します 」.つまり、彼の意見では、彼のツイートの特定の会社だけでなく、既存のプロジェクトを「模倣する」すべての人々を軽蔑します .
Athens Research に関する Amjad のコメントと、私自身のプロジェクトに対する彼の法的脅迫には明らかな類似点があります。彼は両方の場合で同じ単語を使用しました - 「copycat」... Athens Research の場合、Amjad は Twitter で彼らを中傷する以外に、自分の軽蔑を表現することはできませんでした。しかし、私の場合、私は以前レプリットで働いていたので、アムジャドは私を非難する理由があった.
また、Replitが「より良い弁護士」と「大金」と脅している人物は、会社も資金も商業的な野心も ない、生まれたての卒業生であることを繰り返しておき たい. もし本物の営利企業の誰かがレプリットを怒らせたら、彼らがどんな反応をするだろうと考えて身震いする.
Replit が私の HackerNews 投稿にどのように反応したか
午前中に記事を公開した後、Hacker News で多くの議論を巻き起こしました。午後 5 時頃、アムジャドは Hacker News に謝罪を投稿しました。
彼はまた、電話の予定
を立てるように頼みましたが、私は当然のことながらそれに同意しました. 電話中、アムジャドは法的な脅迫について謝罪しましたが、彼の意見では、私はレプリットのクローンを作成し、非倫理的に行動したと繰り返しました. 最終的に、私たちは同意しないことに同意し、彼は私がプロジェクトを元に戻しても構わないと書面で約束しました.
この状況を友好的な方法で解決できたことを嬉しく思います.そして私の人生を続けることを楽しみにしています. - 回復リジュも含めて、また何かを建てられるようになったら :)
平和。