「オープンソースで、パッチを提出してください」と表現すると、わかりやすくなりますか?


18

「オープンソースです、パッチを提出してください」というレトルトと何ですか?、多くの人々は、パッチを提出するように単に求めることはsimply慢で失礼だという意見を表明しました。

しかし、私には、オープンソースプロジェクトの開発者として、あなたが実装できるよりも多くの機能要求をメーリングリストで見るように思われます。したがって、ユーザーが「機能Xを見たい」と言ったとき、問題の真実は、通常、パッチを自分で提出しない限り、実装される可能性はかなり低いということです。また、ユーザーをコントリビューターに変えるのに必要なのは、ちょっとした励ましだけでもよい場合もあります。

一方で、失礼として脱落することによって(潜在的な)貢献者を怖がらせたくありません。

では、「機能を要求する代わりにパッチを提出してください」と友好的な方法でどのように言いますか?

更新:すべての提案をありがとう!それらのほとんどはかなり長い説明が必要だと思います。しかし、私はむしろ(a)1日おきに同じことを説明する(時間がかかりすぎる)、または(b)メールに貼り付けるスニペットを使用する(非人称ですぐに取得する)のを避けたいので、私がリンクできるドキュメントにこれを書いた人はいますか?

(テストの作成方法、コードのコンパイル方法、パッチの提出方法などのプロジェクト固有の事項は、もちろん文書化する必要がありますが、これらの技術的な問題はCONTRIBUTING.txtに記載する必要があります。)


10
非常に重要です。パッチを受け入れるつもりがない場合は、パッチを要求しないでください。つまり、「パッチを提出する」と言うのであれば、きれいでよく書かれたパッチを喜んで受け入れる必要があります。
edA-qa mort-ora-y

1
@ edA-qa- すべてのきれいな、よく書かれたパッチである必要はありません-しかし、新しい機能を拒否する可能性が高い場合、おそらく多くの投資をする前におそらく/おそらく答えないために人々があなたにそれらの機能を提案できる方法があるはずですそれらを開発する時間。
Steve314

@Steve、私は未承諾パッチを意味するのではなく、それらは別の話です。あなたが誰かにパッチを提出するように言ったら、私は特に質問のように意味します。
edA-qa mort-ora-y

あなたが本当に「良いアイデアかもしれないし、そうでないかもしれない」と言ったとき、それはonly慢で失礼だ。あなたが正直にそれが悪い考えであることを意味するなら、そう言ってください。実装する時間がないというのが本当に良い考えだというなら、そう言ってください。また、その機能を実装したパッチを喜んで受け入れることを示します。(そうすれば、誰かが実際にパッチを提出するかもしれません。)「パッチを提出する」というだけの問題は、それが曖昧で退屈なことです。
デビッドシュワルツ

回答:


8

あなたはしません。

私がそれを経験している限りでは、候補者はいじくり回しであり、単にそれを要求するだけでは機能要求を送信しません。通常、彼らは既にある程度の参加でそれを要求します:

  • [...]なら甘いのではないでしょうか?A、B、Cを実行することも可能かもしれません。
  • パッチはここにあります/ここに修正があります[...]。
  • 私はパッチを書くことを考えています[...]フィードバックを使うことができます/手伝うことに興味がある人です。
  • 等。

機能リクエストを完全に送信するコーダーは、通常、何らかの理由でそうします。それらのいくつかが含まれます(そして、最後の2つが例えばWordPressで起こるという事実を知っています)。

  • 彼らは他のオープンソースプロジェクトに深く関わっている、つまり時間がない。
  • 彼らはフリーライダーであり、物事をそのように保つつもりです。
  • それは彼らのスキルレベルを超えた方法/彼らが何も知らない言語で書かれたものです。
  • 彼らはより良いオプションの欠如からソフトウェアを使用し、batsh * t ^ \ bコードの臭い山に対処したくない。
  • 以前のパッチが無視されたり拒否されたりしたため、彼らはもはや気にすることはできません。つまり、時間を無駄にしていると思います。

より一般的には、機能のリクエストは、たとえそれを望んでもパッチを提供できなかったエンドユーザーから来ます。特に、発券システムの外部で提出された場合。


あなたの最も重要な優先事項は、潜在的な/既存の貢献者を先送りしないことであり、積極的に新しい貢献者を募集することではないでしょう。これは非常に重要であり、これは経験から言います。新しいコードベースを取得する奇妙な方法があります。これは、コードを大まかに読んでそれをある程度理解し、チケットシステムに飛び込み、簡単に見えるバグを修正して内部を深く学ぶ(そしてファイリングする)私がテストするように新しいもの)。長年にわたって、私はいくつかのプロジェクトに数十のチケットとパッチを殺到させてきました。多くの場合、これらのチケットは、文書化された診断手順と単体テストが添付されている場合を含めて、タイムリーな注意をほとんどまたはまったく取得しません(謝辞でも、それを維持するなど)。


1
私はこれ以上同意できませんでした。F / OSSプロジェクトの間では、機能要求を送信する人はだれでも怠け者であり、本当にその機能が必要な場合は、パッチを送信したり、自分のインストールを変更できるという一般的な感情があるようです。プログラミングの方法がわからない場合や、他のプロジェクトに関与しているため時間がない場合は、非常に不快です。失礼なのは「パッチを提出する」という言葉ではなく、ユーザーが他に何も持っていないという仮定です。
シャウナ

9

要するに、無料で仕事をする時間に制限がないことを説明します。(「無料」のビットはスキップできます)、彼らは好きなときにいつでも貢献できること、それは「あなたの」プロジェクトではなく、その全員のプロジェクトです。

「本当にすみません、それは素晴らしいアイデアですが、他のすべての作業で忙しすぎているので、リストに追加しますが、本当にこれを取得したい場合は、プロジェクトに貢献することで私たちを助けてくれたら、それは素晴らしいことです。プロジェクトに変更を加えるのに役立つドキュメントがあります。彼らはここにいるので、スキルと時間があるならそして、私たちを助けたいと思ったら、変更を加えてパッチを送ってください。プロジェクトの標準に合うように、それを入手したときに、いくつかのmodを作成する必要があるかもしれませんが、少なくともこの作業の足がかりを提供してくれたことに大きな感謝を寄せています。

もちろん、パッチを要求し始めたら、それをチケットシステムに長時間置いたままにすることは決してできません。あなたはそれを好まないかもしれませんが、パッチが来続けたい場合は必要です。


私はこれが好き。おそらく、これは実際にドキュメントに入れるのが最善の方法なので、これを説明する必要があるたびにコピーアンドペーストする必要はありません。そして、あなただけ「でしょうが、あなたがパッチを貢献したいとのhttp://.../#contributing?」と言う
ジョー・リス

@JoLiss:あなたは非人称に聞こえるという私の答えに批判的でした。FAQへのハイパーリンクをコピーアンドペーストする方が良いとどう思いますか?缶詰の応答を使用する場合は、共感を示すか、プロフェッショナルなサウンド(またはその両方)を示す応答を使用します。このショートカットのアイデアはどちらでもありません。実際、元の質問に不満があったのはまさに失礼なことです。
アーロンノート

面白いね。あなたがリンクを投稿すると、人々が必然的に失礼だと思うことを私は知りませんでした。一方で、缶詰の回答は非常に非人格的なものとして出てきます。したがって、おそらく、これらの種類の説明が出てきたら、それらを入力するのが最善です。
ジョーリス

6

礼儀正しく、状況を明確に説明してください。次のようなものはどうですか:

ご意見ありがとうございます。お客様の機能は非常に興味深いと思いますが、当社の製品で最も要求された機能を実装する努力にもかかわらず、それらすべてを実装する十分な時間はありません。開発者の方は、プロジェクトがオープンソースであるため、プロジェクトに貢献して参加できます。

「なぜあなたがリクエストに私を悩ませているのですか?私はあなたのために無料で仕事をするためにここにいるのではありません。この機能が必要なら、自分で行って実装してください」と言うことはできません。その人は非開発者であるか、製品の開発に使用される言語を知らないなどです。

だから、失礼なのではなく、プロジェクトに参加することを提案し、自分で機能を実装できない理由を説明することもできます。


失礼にならないもう1つの方法は、何も言わないことです。アプリケーションのユーザーが新しい機能を提案し、バグを報告できるWebサイトがある場合、たとえば、機能が10000ユーザーによって要求され、別の機能が10 、最初のものが最初に実装される可能性があります。

そのようなウェブサイトでは、数日または数週間後に他のユーザーから十分な賛成票を受け取っていない機能について、「自分で実装する」という提案をいつでも行うことができます。


5

ご依頼ありがとうございます。これをプロジェクトのバックログに追加しました。まもなく確認します。

リクエストの量が多いため、すべてのリクエストが実装されることを保証することはできません。私たちはボランティアに頼っているので、あなたが開発者であるならば、あなたの時間のいくらかを寄付して、パッチ提出することを考慮してください。それ以外の場合は、バックログを取得するために全力で取り組んでおり、できるだけ早くリクエストに対応できることをご了承ください。

本当に、そんなに大変でしたか?


+1すばらしい; 素敵でプロフェッショナルな対応。@Jo Liss:ほとんどの人は自分の人生をソフトウェアに捧げるのではなく、単にソフトウェアを使いたいだけだということを心に留めておいてください。
スティーブンA.ロウ

私はそれの本質が好きですが、私は個人的に音が少し非人格的だと思います。あなたは通常、顧客サービスを行っている会社ではなく、単に仲間と話している開発者です。37signalsの人々でさえ、このタイプの言語を避けています
ジョーリス

@JoLiss 信じたいかどうかにかかわらず、あなたカスタマーサービス行っています。そして、あなたは「ピア」について何も言わなかった。あなたが話している人が開発者である可能性はありますが、あなたが事実を知っていない限り、私がそれを行うのは適切な仮定ではないと思います(開発者ツールで作業しているが、指定しなかった場合を除きます)質問でそれ)。最後に、37人の人々は、bullsh * tが何であるかについて話すシグナルを...控えめに言っても皮肉です。
アーロンノート

ふむ 私は顧客サービスを行っているという印象を与えたいと思うか分からない...ユーザーが必ずしもピアであるとは限らないというあなたの点はよく考えられている。37signals については、トーンについて語る別のブログ投稿があります-ポイントはあなたがでたらめであるべきではないが、顔の見えない企業のように外れてはならないということです。私の見解では、これは優れた戦略であり、オープンソースプロジェクトにとってはさらに真実です。
ジョーリス

2
@JoLiss:これよりももっと個人的になりたいなら、素晴らしい、すべての力を屋に-これは、私にとって、礼儀の面で満たすべき最低限の基準です。「パッチを提出する」とだけ言ってはいけません-あなたは忙しく、怠け者でも無関心でもないことを説明してください。彼らは実際にパッチを提出することができないかもしれないし、たとえそうであっても、彼らは義務を負うことであなたに好意を与えていることを認めます。
アーロンノート

4

「パッチを提出する」と言う代わりに、もう少し詳しく説明する必要があります。

  • 現時点または近い将来にそれを行う時間がないことを明確にしてください。他の人がすぐにそれを実装したい場合は、パッチを提供する以外に方法はありません。
  • 時間をかけて機能を評価してください。心からそれが好きなら、それを言っても害はありません。人々を励ます。または、機能が実際に悪いと思う場合は、それを説明する時間を取ってください。
  • 最初のヘルプを提供します。あなたのようなコードベースを誰も知らない。あなたはそれをする時間がありませんが、おそらくあなたはそれをどうやってやるのか、そしてどこから始めるのかを正確に知っているでしょう。5〜10分以内に、他の人が把握するのに何時間もかかるという知識を共有できます。また、これはあなたの全体像を広めるのに役立ちます。プロジェクトにエイリアンの機能を追加する代わりに、貢献者を素敵な整数化に導くことができます。

私はこれに同意しますが、パッチに期待することに関して非常に明確なガイドラインが必要であることを付け加えます。(例:コード標準への準拠、単体テスト、文書化)。この機能をサポートしなければならない可能性が非常に高いため、これは重要です。パッチの提出者がバグを修正したり、ライブラリの他のユーザーにサポートを提供したりすることはほとんどありません。
マークヒース

3

これが私がよく言うことです...

「これは興味深い提案であり、FooBarLibがそれを実現できれば素晴らしいと思います。残念ながら、FooBarLibは私にとって暇なプロジェクトに過ぎないため、近い将来にそれを行うことはありそうにありません。したがって、これを自分で実装できる場合は、お気軽にパッチを送信してください(最初に「FooBarLibに貢献する方法」のガイドラインを必ずお読みください)。


2

「パッチを提出する」という優れた方法に加えて、開発者向けのドキュメントも提供して、機能を本当に必要とする他の人がプロジェクトを簡単に理解できるようにします。多くのプロジェクトは開発者にとって使い勝手が悪く、少なくとも数千行のコードを読むのに数日、システムのさまざまな部分を突く小さなテストケースを何日もかけて必要とします。

可能性のある開発者に支援を提供する場合、彼らは支援を提供する用意があります。これは、優れたコードドキュメント、フローを説明する優れたWikiページ(または優れたUML /ホワイトボードダイアグラム)、およびパッチを受け入れる簡単な方法を意味します。


-2

githubがプロジェクトをフォークするように他の人を奨励する方法が大好きです。同じプロジェクトの複数のバージョンが異なるユーザーアカウントで存在する可能性があります。方向性が気に入らない場合は、フォークしてください。プルリクエストを簡単に送信できますが、私がそれを受け入れるのを待って立ち往生しています。

だから私の答えはしばしば、ただフォークするだけです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.