あなたのアイデアはでたらめです

私は自分が望むものを達成したと思った。 私のオープンソースプロジェクトの1つは、GitHubでフォロワーの小さな視聴者を獲得し始めました。 約千人の星の観測者が私のプロジェクトを見ているので、もはや落ち着きのない自己疑念はありません-値を確認するために必要なのはこれだけです。 これは、不確実な瞬間に思い出すことができるものです。 私が本当に立っていることを本当に達成したことを思い出させてください。 星が私から背を向けることができるとは思っていませんでした。



* * *



それはすべて、私が熱心に意見を集めた同じ人々の一人が原因で起こりました。 私のプロジェクトを使用して、彼の会社のプラットフォームでバックエンドデータウェアハウスを管理している特定の人について話しています。 これは重要な機能であり、彼の会社のテクニカルディレクターとして、彼はその技術的実現可能性を担当していました。 彼は私の開発の方向に非常に専門的に投資しました。 彼のプロジェクトは、私のコードがサードパーティやアマチュアのタスクに通常使用されていた他のほとんどのプロジェクトとは大きく異なりました。



メンテナーとしての私からの彼の期待と、コードを共有したいという私の願いへの私自身の信仰-これらの2つの要因の組み合わせは、私が話す非常に素晴らしい一連の出来事につながりました。



あなたのアイデアはでたらめです



新機能のリクエストが嫌いです。 リクエストを拒否する合理的な理由を示す必要があります-既存のAPIを使用してタスクを完了する方法を説明するか、この機能を実装するための作業を行います(正直な場合)。 いずれにせよ、新機能のリクエストはあなたを働かせます。



ほとんどの場合、リクエストが拒否された場合、短い説明で十分です。これでトピックは終了します。 私はそのようなダイナミクスに慣れており、誰かが突然私の説明に異議を唱えた場合、このたわごとはすぐにファンに落ちました。



私が言及した男に戻ります。 以前、彼は2つのプルリクエストを行いました。1つはSQLテーブルのエイリアスから引用符を削除し、もう1つはエイリアスが生成されるスキームを変更しました。 両方のパッチに問題がありました。 最初の方法では、すべてのSQLキーワードのリストを維持し、エイリアスがキーワードと一致するかどうかを確認する必要がありました。この場合のみ引用符を使用しました。 2番目は純粋に表面的なもので、データベースへの要求の送信方法に影響します(これは常にユーザーからは見えず、ライブラリによって特別に抽象化されたレベルになります)。 パッチの問題を理解したので説明し、拒否しました。



彼からの次のバグ報告は良くなかった。 この場合、彼は同じテーブルに2回参加しようとしました。 単一のテーブルを二重参照するには、特定のAPIを使用する必要があることを説明しました。 私は怒り始めました。





残念ながら、編集する前にメッセージの元のテキストを保持しませんでしたが、あまり丁寧ではありませんでした。 まあ、一体、私たちはただの人間です。



数日後、開発用の新しいチケットが登場しました。 現在、彼は特定のAPIが異なる動作をするはずだと考えました。 APIの動作を明示的に説明しているドキュメント内の場所を彼に示しました。 彼は次のように答えました(強調)。



奇妙なAPIが文書化されているという事実だけでは、改善の余地がないという意味ではありません。 また、この特定のアーキテクチャソリューションが好きな理由のドキュメント/説明は見ていませんが、他の選択肢はありません。


私たちの関係は新しいレベルに達しました。そこでは、私のアーキテクチャの決定に異議が唱えられた(または公然と不正と呼ばれていました)だけでなく、それらを保護する責任がありました。 丁寧さではありません。



このレベルは期待についてでした。 彼は彼らが彼を借りていると感じ、私は義務からの自由を感じました。 私は彼にtoりとinりを表明した後、最後の最も破壊的な段階に入った。



極端な偏見で問題は解決しました



私は彼のチケットに応答しなくなりました。 ときどき削除しました(できなかった場合は、「編集」をクリックしてすべてのテキストを消去しました)。 ときどきinりながら、彼はトラッカーに来たときに自分が誰であるかを尋ね、彼が同意しない私のライブラリの側面について説明を求めます。 最終的に、私は彼のプロジェクトへの参加を禁止しました。



ある時点で、彼はウィキペディアのプロジェクトページを編集し、「 論争 」というセクションを追加しました。このセクションでは、プロジェクトユーザーを悪意で禁止し、技術的な問題の議論を拒否しました。 彼はまた、Twitter / HackerNews / Reddit / Wikipediaで泥だらけのキャンペーンを開始しました。 それは狂気の地獄でした。 ウィキペディアのスタッフに私のプロジェクトページを削除するよう依頼することになりました。 私はそれがいまいましい狂気だと言った?





これらのコメントで、彼は禁止された後の状況に言及し、同僚の一人が同じ口調でコメントをし始めました。



伝えられるところでは、自分のユーザーを失礼にし、非難するに値する。 彼の勤勉さのために、彼が誰のためにレイアウトした結果ですか? 一体何だと思った。 いいえ、まあまあです!



誰が誰を踏んでいますか?



彼が責任を負うのは私だと絶対に確信していた。 プロジェクト自体とGitHubでホストされているトラッカーは、議論のための共通の正直なプラットフォームでした。 彼のコメントのいくつかを削除したとき、私は彼の言論の自由を厳しく侵害しました。 私は自分の本当の顔も見せました。小さなコード王国のささいな暴君です。彼は高貴な行為を行い、他の人にそれについて警告しました。



もちろん、私の意見は反対でした。 他の人を助け、ライブラリを改善するために、コードを書いてパブリックドメインに入れました。 GitHubで公開されているという事実は、トラッカーを備えたホスティングおよびコード分析のための便利なプラットフォームであることを除いて、プロジェクトに特別なステータスを与えるものではありません。 最終的に、プロジェクトは私のものです。 私は誰もコードを取得してあなたの好みに合わせて変更することを禁じられないような方法でそれをライセンスしました(それは彼が最後にしたことです)。



実際、私たちはどちらもより礼儀正しくすることができます。 彼は問題の説明を含むチケットの準備に時間を浪費していたことに腹を立てていたに違いない。 私は、彼らがそれに対して権利を持っているような口調で私と議論するのは不愉快でした-私はそう言います、その時、私は図書館が私の財産に完全にあると思ったからです。



クイボノ



状況を確認するもう1つの方法は、オープンソースプロジェクトを公開することで誰が恩恵を受けるかを確認することです。 理想的には、これはエンドユーザーとメンテナーの両方に等しく有益です。 エンドユーザー(メンテナー自身)は継続的に改善する製品を受け取り、メンテナープラスは履歴書(または外部からの温かいサポートの気持ち)に別の良い点を追加できます。 私は、多分私は正しい意図からではなくすべてをやっているのだろうかと思い始めました。



私は次のように書いたベン・フランクリンの精神で行動していると思うのが好きです。



私たちが他の人の発明の大きな利点を喜んで利用する場合、私たちは時々他の発明として役立つことを喜んでいるはずであり、私たちはこれを無関心かつ寛大に行わなければなりません。


しかし、私の意図はとても純粋でしたか? まさか。 前にも言ったように、このプロジェクトは一種の中間段階になりました。 開発者として、そしてそこから-人として自分自身を理解する方法。 結局、それはアマチュアのプロジェクトでした。 創造的な表現。 その形が人としての私について何かを言い、私が何を支持するか、私が正しいと思うこと。



そして、ここに彼が嫌いなものや彼が奇妙だと思うものを私に守らせてくれる男がやってきます。 結局、彼は私がその時に認める準備ができていたよりも正しかったと思います。 彼は自分のアイデアを彼らのメリットに従って議論することを期待していましたが、プロジェクトはこれが私の趣味であることを明確に示していなかったので、テーブルの場所を平等に求めることができました。 彼はそれを受け取らなかったので、その瞬間、私は状況をより明確に見なかったことを後悔しています。



プロジェクトに多額の投資をしたが、実装について独自のアイデアを持っている別の人が来て、変更を開始した場合、このようなことが早く起こると確信しています。



この全体の状況により、オープンソースプロジェクトに取り組むときのモチベーションをより注意深く監視することができました。 私は、あなたのメンテナーとしてのあなたのユーザーの信頼のバランスを見つけることがいかに重要であるかをはっきりと認識しました(あなたがあなたのライブラリのために作成するすべてのステートメントに対して)、そして彼らが変更を要求するときにプロジェクトの概念的な整合性を危険にさらさないために。



この経験は、オープンソースでは所有権を維持することが難しいことも示しています。 プロジェクトコードが無料ライセンスで公開されている場合、その作成者のものですか? それとも、彼は自分が作成者を遮断することを意味するとしても、ユーザーが私が出会ったように彼を守るべき自分の人生を手に入れたのでしょうか? それが許容ライセンスとフォークボタンを持っている理由ではありませんか?



All Articles