「オープンソースであり、パッチを提出する」ことに対する標準的なレトルトは何ですか?[閉まっている]


215

製品、特にオープンソースの機能を提案することの危険性は、「なぜそうしないのか」という応答が得られることです。

それは有効であり、自分で変更を加えることができるのは素晴らしいことです。しかし、プログラマーが他のプログラマーであっても、プログラマーがユーザーの声に耳を傾けると、製品が改善されることがよくあることを実際に知っています。そして、これらの変更を行う効率的な方法には、アイデアを取り上げて実装するプロジェクトに既に取り組んでいる人が含まれます。

ソフトウェア開発の問題を指す一般的な用語がいくつかあります。例:バイクシェッド。「はい、私は世界中のあらゆるものを変更できることを知っています-クローズドソースです。採用され、そのコードを書くことができます。しかし、この場合、私はただ実際にその変更を簡単に行うのにすでに適している別のコーダーに役立つかもしれない、または単に一般的な可能性を議論する観察。

[ps(数日後)-「パッチを提出する」というのは、ひどいユーモアでよく言われ、適切な機知に富んだ対応を求めていることを指摘すべきでした。]


16
これに何度も賛成できたらいいのに!(そして、それは誰かから来ていました。さまざまなプロジェクトの一握りにパッチを提出し、それらを受け入れ得てあなたが記述それ態度は単なる迷惑です!)
メイソンウィーラー

62
「失業中のコードモンキーのように見えますが、私には命があります!」レトルトは受け入れられません;
スティーブンA.ロウ

12
私の経験では、「パッチを提出する」という答えは通常、開発者が機能の追加が実用的ではない理由をすでに説明した後に来ます。
-user16764

7
@Steven、あなたはただあなたがtop辱に打ち勝ちたいか、実際に彼らにあなたが必要とすることをさせたいかに依存しています。後者が必要な場合、それは最適な戦略ではないと思います。

12
@orokusaki:またはD)彼らは、その機能は他の機能よりも価値が低いと考えており、リソースが限られています。
デヴィッドソーンリー

回答:


115

難しい点です。ユーザーは製品に対して直接または間接的に料金を支払わないため、実装する機能を要求することはできません。製品を注文した利害関係者や直接顧客であるかのようではなく、市販製品のエンドユーザーでさえありません。

これは、「パッチを提出する」というのは有効な答えではありません。丁寧ではありません。それは正しくありません。オープンソース製品でも。「パッチを提出する」は、次の短縮版です。

「当社の製品が好きかどうかは気にしません。必要に応じて変更してください。しかし、顧客のリクエストに煩わされることはありません。」

パッチの提出はどうですか?

まあ、それはそう簡単ではありません。それをするために:

  • オープンソースプロジェクトで使用されている言語を知っている必要があります。

  • 変更するには、バージョン管理からソースコードをロードできる必要があります。

  • ビルド依存関係のすべての正しいバージョンがインストールされている必要があります(ランタイムライブラリとビルドツールの両方を含む)。

  • このソースコードをコンパイルできる必要がありますが、これは場合によってはあまり明確ではありません。特に、巨大なプロジェクトがコンパイルに数時間かかり、482個のエラーと数千個の警告が表示される場合、それらのエラーの原因を探すのは勇気があるかもしれません。

  • プロジェクトの実行方法、使用するコーディングスタイル(存在する場合)、単体テストの実行方法などをよく理解する必要があります。プロジェクトにまともなドキュメントがない場合(多くの場合、オープンソースプロジェクトの場合) )、それは本当に難しいかもしれません。

  • プロジェクトおよびプロジェクトに積極的に参加している開発者の習慣に適応する必要があります。たとえば、.NET Framework 4を毎日使用しているが、プロジェクトが.NET Framework 2.0を使用している場合、LINQ、コードコントラクト、およびフレームワークの最新バージョンの他の何千もの新機能は使用できません。

  • パッチを受け入れる必要があります(コミュニティと共有する意図なしに、自分自身だけで変更を行わない限り)。

プロジェクトに積極的に参加することを目的とする場合は、それらすべてを実行して、時間を投資することができます。一方、迷惑なマイナーバグや単純な機能が欠落しているだけで、数日、数週間、または数か月かけてプロジェクトを勉強している場合は、好きでない限り、数分で作業自体を行うのは無理です。

「オープンソースで、パッチを提出する」という正規のレトルトはありますか?そうは思いません。彼女に失礼だと説明するか、彼女と話すのをやめるだけです。


9
これは、オープンソースプロジェクトを管理した経験のない人によって書かれたようです。
ラインヘンリヒズ

46
@Rein:オープンソースプロジェクトの維持は、他のプロジェクトの維持と変わりません。 お客様がいます。 それらの顧客を無視すると、貴重なフィードバックを提供するのをやめ、彼らは解決策を求めて他の場所に行きます。たぶんそれはオープンソースの人には問題ないかもしれませんが、私はオープンソースソフトウェアの一部にバグ修正を行う責任があるのか​​どうかを知りたいと思います。
ロバートハーヴェイ

17
@Rein:これまでのところ、私たちが何を話しているのかわからない、と二度言うと聞きました。たぶん、あなたは私たちを啓発することができますね?
ロバートハーヴェイ

8
@Rein Henrichs:あなたの最初の2つのコメントは '' ad hominem ''攻撃です。2つの間に違いがある場合は、他の人は何も知らないと言うのではなく、それらが何であるかを言ってください。
アンドリューグリム

13
「オープンソースプロジェクトを維持することは、顧客からのフィードバックを聞き、彼らの善意を維持することに関して、他のプロジェクトを維持することと同じです」と私は思う。もしそうなら、私はそれを完全に落とすつもりですが、ほんの一握りから何百人の貢献者と一緒にいくつかのFOSSプロジェクトを維持している誰かとして、私はオリジナルのブランケットステートメントが「間違っている」と思います。
ラインヘンリヒス

79

標準的なレトルトは、パッチを提出することです。


47
または、「6か月前に既にやったことがあります。いつレビューとコミットに取り掛かるのですか?」
ボブマーフィー

14
私は通常、短い答えは好きではありませんが、これは真剣に答える唯一の方法であり、あなたが探している結果で終わることが保証されています。彼らはあなたの目標を達成するための最善の方法を明確に述べました。なぜより小さなソリューションをいじるのですか?

19
-1オープンソースの嫌いな答え。役に立たない。(申し訳ありません。)標準的な「レトルト」はありません。最適な応答(OPがパッチを送信することはできないと仮定します。この場合、これは合理的な仮定だと思います)は、(1)「パッチを生成する機能やリソースがないこの質問へのリンク]]、(2)アイロール、応答なし、現在の状態でのツールの使用、または(3)より良いツールの検索。
JohnL4

1
必ずしもパッチである必要はありません。詳細で洗練されたフィードバックを提供することも価値があります。これが言っているのは、あなたが見返りとして何も提供しない場合、あなたの特定のニーズをカバーするために私の時間を費やすことを期待しないでください。
エヴァンプライス

67

これは、開発者が合理的な時間枠内で何かを行うことを考えていない場合の標準的な答えですが、繰り返し育てられています。

繰り返し育てられるのはもっとも不公平ですが、最近言及した人はそれを知らず、ただ「すぐにそのためのパッチを取っています」と言うだけです。この場合、メンテナーはディスカッションにうんざりしていますが、ユーザーはそれが新しいトピックだと考えています。とにかく、「パッチの取得」をすぐに受けた場合、個人的にそれを受け取るべきではありませんが、アーカイブとバグトラッカーを読んで問題の詳細を確認することができます。

自分で繰り返しリクエストを出している場合、「パッチの取得」は、比較的丁寧な代替手段と比較して、比較的丁寧なブラシオフを目的とする可能性があります...

そしてもちろん、誰にも説明することなく「パッチを取得する」と言う失礼なメンテナがいますが、それは少数派だと思います。

多くのユーザーでオープンソースプロジェクトを保守したことがある場合、メンテナーが到達できる要求の100倍以上の要求があることがわかります。これらの要求の多くは要求者にとって重要ですが、とてつもなく難しいでしょう。または、他の多くのユーザーを混乱させたり、プロジェクトとコードベースをグローバルに理解した場合にのみ目に見えるその他の欠陥を抱えることになります。または、判断の呼び出しがあり、すべての人が何度も議論するのに時間がかかりすぎることがあります。

ほとんどの非オープンソース企業は、開発者へのアクセスを一切許可せず、顧客サポートから静かな扱いを受けるか、丁寧で偽の話を聞くだけです。そのため、少なくともオープンソースにはいくつかのオプションがあり(機能のコーディングなどを行う)、開発者は失礼かもしれませんが、少なくとも彼らはまっすぐに答えます。私はむしろ「ロードマップ上にある... [2年後] ...まだロードマップ上にある」というよりも、多くのベンダーから得たような「いいえ」を望んでいます...

ですから、レトルトはないと思います。たぶん、オープンソースのメンテナーは本当に忙しくて、多分彼らはジャークかもしれませんが、どちらにしても、彼らはおそらく難しい仕事をしていて、最後の言葉の議論に参加することはどこにも行っていません。あなたができる最善のことは、何らかの形で貢献し、建設的であることを試みることです。

コードではないかもしれませんが、可能性のある多くの分析とドキュメント化ユーザーシナリオがあります。私がGNOMEウィンドウマネージャーを保守していたとき、多くの場合、すべてのユーザーを考慮してグローバルに問題を分析し、実際に問題と長所と短所、およびグローバルな観点から何をすべきかを人々が書き留めておくと役に立ちました。

(代わりに、通常のことは、彼らが重要な唯一のユーザーであり、トレードオフがないかのように燃え上がることでした。そして、それは素晴らしく、データポイントでしたが、私はしばしば丁寧にとどまるか、結局彼らの問題を解決することさえできました。炎は何もより速く起こさせません。それは感情を問題に混乱させるだけで、みんなの時間を無駄にします。)


4
@Aaronaught私は何百ものオープンソースプロジェクトを行ってきましたが、デフォルトの応答としてDIYに気付いていません。これは、特定の種類の要求に対する応答です。
ハボックP

2
私が言っているのは、多くの場合、メンテナーが「パッチを取得する」と言う前に少なくともトピック(または人)に少しうんざりしている何らかの理由があるということです。その返事を得た。それは私の経験です。ここでの質問が、トピックや人にうんざりする理由がない場合についてであるなら、メンテナーにとって「パッチを取得する」ことはおそらく素晴らしいことではないでしょう。人々は間違いを犯します。私はまだ、レトルト(またはこのようなメタ議論)が役立つとは思いませんが、建設的に関与することもあるかもしれません。
ハボックP

5
また、メンテナは自分の心の中での作業のバックログを持っている場合、それは、多かれ少なかれ丁寧に言うこともできますが、彼らはおそらく、彼らは自分自身に得ることができる1つのものを持っている、すべての100件の事のために、彼らは考え、彼らがしたいと思うので用のパッチを取ります特徴; そして、他の誰かが作業を行ったとしても、彼らが拒否する変更のさらに別のカテゴリーがあります。ですから、「私はその変更を受け入れますが、自分でそれを行う計画はありません」と伝える方法が必要です。ここの一部の人々は、「確かに、上に来る」だけが受け入れられる答えだと感じているようです。しかし、「それにパッチを当てる」ことは本当のカテゴリーです。
ハボックP

2
@Aaronaughtはそれらが良いフレージングのように聞こえます。多くの場合、「パッチを適用する」ことを意図した攻撃/無礼はありませんが、プログラマーは原則として最も感情的に敏感なタイプではなく、電子メールを急いでいる可能性があり、トーンはテキストをあまりうまく伝えません、そのため、簡単に出くわすことができます。
ハボックP

2
実際には、「そのためのパッチを取得する」は、2つの微妙ではあるが重要な点で異なります。(1)ユーザーに直接責任を負わせないこと、および(2)実装されました。最終的な結果は本質的に同じですが、それははるかに人道的な答えです。(それでも、暗黙的に明示的に追加しても問題はありません...しかし、私たちは今それを完了するためのリソースを持っていません。
アーロンノート

43

この応答を受け取る理由は、メンテナーが不意打ちだということではなく、あなたの機能取り組んでいる彼らの価値提案をあなたが十分に納得させていないからです

最善の対応は、コミュニティ全体に対するあなたの機能の価値についての対話を開始し、あなたが彼らの考えを変えるよう説得できるかどうかを確認することです。彼らは正しいかもしれませんし、彼らはあなたよりも自分のコミュニティのニーズをよく知っていますが、それでもそうではないかもしれません。

この機能があなたにとってのみ価値があり、コミュニティにとってほとんど価値がない場合、お金は優れた動機付けであり、彼らの態度について不平を言うことはありません。


15
もちろん、おそらく彼らはジャークです。この応答だけでは、質問者がジャークであるときにジャークでない人によっても使用されるため、あまり正確な指標ではありません。
ラインヘンリヒズ

4
また、お金がなくても、仕事と交換することができます:忙しい問題キューのトリアージを支援したり、IRCチャンネルに参加したり、サポートを提供したり、パッチをテストしたり、ドキュメントを書いたりできます。オープンソースプロジェクトのリソースは限られているため、最大限に活用する必要があります。機能を追加することは、それが十分な人にとって重要である場合、または十分なことをする/与える人にとって重要である場合に実行可能です。ケースが前者でない場合は、後者にします。
HedgeMage

2
正直なところ、開発者を説得する最良の方法は、ユーザーベースのどの程度が機能を望んでいるかを見せることです。投票、フォーラムスレッドなどを備えたバグトラッカーはすべてこれに非常に適していて、多くのオープンソースプロジェクトで使用されています。
ProdigySim

4
同様に、人々は答えとしてRTFMまたはDAFSを得るとき、または質問者が適切に答えるの価値提案の回答確信していないため、-1 SEに、それは彼らの質問を彼らのために。皆さんの多くがこの気持ちに関係していると思います。
ラインヘンリヒス

1
@Walter Yep。だからこそ、「コミュニティ全体に対するあなたの機能の価値」を人に納得させることを提案しました。
ラインヘンリヒス

31

「オープンソースであり、パッチを提出する」ことに対する標準的なレトルトは何ですか?

違いを生む可能性のある合理的なレトルトはありません。ボランティアがやるつもりのないことをするようにボランティアを説得しようとすることは、あなたの時間の無駄です...またはもっと悪いことです。

オプションは次のとおりです。

  • 応答が示唆することを実行します。すなわち、機能を実装し、パッチとして提出します。「何かを返す」と呼ばれます。

  • 本当のお金であなたのためにこの機能を実装してくれる人を見つけてください。プロジェクト自体(例:スポンサーシップの見返り)、プロジェクトに関連する誰か、またはランダムな「雇用者のコーダー」などです。

  • 代替製品を見つけます。


「役に立つ」提案をしたときにこの応答を受け取った場合は、彼の立場にあった場合の応答方法を検討してください。たとえば、提案が価値のない/よく考えられた/わかりやすい/などではないが、長引く議論に参加する時間や忍耐がなかったと思ったら、あなたはどのように対応しますか?


私は長い間実行されているオープンソースOSプロジェクトに関与してきましたが、最も厄介なことの1つは、「ピーナッツギャラリー」に座って、「より良い」ことを行うための一連の提案をあなたに投げかけている人々です。

  • 不完全、理解不能、またはまったく無意味である、
  • 成功する可能性が客観的に低い未検証のアイデア、
  • 実装するために多大な努力を必要とする、および/または
  • プロジェクトの記載された目標に反している。

多くの場合、最良の対応は、プロジェクトに参加するように人に鋭く挑戦することです...そして、彼らがヒントをとることを願っています...「置くか黙らせる」。残念ながら、最も迷惑なものはヒントさえも取りません。

もちろん、そのような人々に対する他の反応は、まったく反応しないか、完全に無視することです。


7
「提案が価値のない/よく考えられた/わかりやすい/などではないと思ったら、どのように対応します -他のすべての専門家が正確にどのように対応するか。「あなたが何を求めているのか説明してくれますか?」または「この機能が必要だと思う理由を教えてください」または「代わりにこの他のことをした場合、それはあなたのために働くでしょうか?」または、「ご提案いただきありがとうございます。今後のリリースで検討します。」これは基本的な対人スキルであり、ロケット科学ではありません。
アーロンノート

12
@Aaronaught-申し訳ありませんが、取得できません。典型的なオープンソース開発者は丁寧に取り組む時間はありませんが、最終的に彼の「顧客」の自我をなでることを目的とした無意味な議論です。すなわち、半分の知性を持つ人がそれがすべて正面であるとわかることができるとき、ケアのふりをします。率直に言って、私はその種のエゴが礼儀正しさをひいきにしていることに気づきます...そして、彼らがXYZを実装しようとするチャンスはない、と率直に言われるよりも不快です。
スティーブンC

6
@kurige-実際、問題のDIDがパッチを提出した場合、彼らは間違いなく考慮されるでしょう。問題は、問題の人々が「すべて口」であるということです。すなわち、努力をすることに興味はありません。
スティーブンC

10
典型的なオープンソース開発者はすでに仕事をしていて、彼らは楽しみのためにオープンソース開発をしているからです。他の人があなたにしたいことをすることは仕事です。やりたいことをするのは楽しいです。
ProdigySim

8
@Aaronaught:たくさんのジャークを丁寧に扱う必要がありますか?公共サービスを考えると、多くの場合demand辱的な形で、不当な要求をする人々がいるでしょう。失礼な愚か者に対処することは、本当の苦痛です。彼らに敬意を払うという要件は、多くの人々をF / OSビジネスから追い出し、それは誰にとっても損失となります。
デビッドソーンリー

20

あなたと問題のプログラマが同等であり、コードベースと言語、およびあなたが指摘しているこの特定の事柄に関連する他のすべてについてほぼ同じである場合、応答は合理的です。

あなたは平等ではない(またはおそらくあなたはただそれをやったであろう)ので、私は適切なレトルトをすることを提案するだろう:

「できるだけ早く、良い方法でそれを行うことができる方法はないので、そもそも私を助けてほしいと頼んだのです。どうぞ!」

「ああ、そうです、私は長い間費やしてきた、本当に得意なこのことはとても簡単で、誰でも通りから入って、できるだけ良い仕事をすることができます」私は「缶。


それ以外は、彼らが実際に言っていることではありません。彼らは「あなたが望むこのことはコミュニティが望んでいるものではないので、私たちはそれに取り組むことにあまり興味がありません。あなたがそれに取り組むことを望むなら、パッチを受け入れるかもしれません。」暗黙のうちに「コミュニティがそれを望んでいる場合、私たちは心を変えるかもしれません」です。「私を助けてほしい」は、オープンソースプロジェクトの基本的な性質に反していることを忘れないでください。
ラインヘンリヒス

まあ、歴史的に言えば、これらの少数の人が多くのお金を持っていない限り。
ラインヘンリヒズ

2
@Reinは、いや、彼らが言っていることはということです彼らはそれを行うにはしたくありません。この「コミュニティが望んでいる」ことはすべて単なるストローマンです。全体のポイントは、コミュニティからの1 つがそれを要求しているということです。

1
「パッチの作成を事前に知らない場合、パッチを作成することを提案することは非常に失礼です。同意した。私が言ったように、これがこの応答を使用しない理由です。しかし、それに同情することができます。「「パッチを提出する」とは、作業を委任するのではなく、人々を黙らせることを意味するということであれば、開発者ではなくコミュニティのメンバーから依頼されたことに同意します。」ここで何を言っているのかよくわかりません、ごめんなさい。
ラインヘンリヒス

1
@Thorbjørnあ、はい。実のところ、私がよく知っているオープンソースのメンテナーは確かにそうは思いません。実際、私たちは、開発者のガイドラインとドキュメントを提供し、スキルのギャップを認識しているため、プロジェクトとプロジェクトに貢献するための規則を人々が学ぶのを助けます。たとえば、rubini.us / doc / en / contributing
Rein

16

標準的なレトルトは、プロジェクトを分岐することです。


8
またはパッチを提出
カミルゾット

2
どのような良いあなたをもたらすフォークのだろうか?

1
@Thorbjorn:誰でも良いフォークを何度も使うことができます。残念なフォークです。
-user18014

15

「パッチを提出する」に対する正解は次のとおりです。

「スキル、経験、必要な時間がないので、ビールのケースをどこで出荷できるか教えてくれますか」


13

包括的なテストケースを提出します。


1
しかし、私はこれが好きですが、そうすることはしばしばパッチ自体を提出するよりも時間がかかるでしょう!ここでの定数は、コードベースに慣れる時間であり、おそらくテストを作成するか、パッチを直接書くことのいずれかの最大の部分です!
ニュートピア

1
バグに対するこの回答が好きです。修正プログラムを提出するのに十分なフレームワークを理解していなくても、それを知っている人にとっては時間を大幅に節約できます。単に誤って設定されたシステムであるかもしれない、曖昧で再現不可能な「バグ」よりも、私が問題を修正する可能性は低いです。簡単なテストケースよりも速く問題に飛びつくことはないので、さまざまな修正をすばやく試すことができます。
BobMcGee

11

「あなたがそれをすれば、私はそれを含めます」は「いいえ」よりずっと良いです。

何らかの理由で作業を行えない場合は、プロジェクトメンテナーに状況を非公開で説明してください。

使用したいオープンソースプロジェクトに何らかの形で貢献したくない場合は、代わりに商用サポートまたは別の商用製品を探してください。


5
それでは、直接貢献した人だけがバグや機能の欠落について不平を言う権利を持っていますか?結構です、でもそれは貢献者もユーザーも養子縁組の欠如について不平を言う権利を持たないことを意味します。
アーロンノート

@Aaronaughtいいえ、彼らは不平を言う権利がありますが、開発者がプロ​​ジェクトに投資できる無給の時間には制限があり、ユーザーがこれを認識することは重要です。私自身の仕事では、お粗末な努力/コミュニティ価値の提案がある機能については、「パッチ/プルリクエストを歓迎します」を予約しています。または、ユーザーが「すぐに」機能を取得し、他の人の時間や他のプロジェクトのコミットメントを尊重しないと主張している場合。
BobMcGee

10

「ありがとうございます。」

なぜなら:

  • ゼロ価格では、需要(機能の要求)が供給(前述の機能を実装するために利用可能なコーダー)を超えます。
  • 無料で提供されているものを何でも絞るには、クラスIMHOがありません。
  • これがFOSSの重要なポイントです。人々は石のスープに栄養を加えるために自分の野菜や肉を持ち込んでいます。私が何かを貢献できない場合、私はまったく食事ができることに感謝し、私がより良く食べていないことを不平を言うべきではありません。

9

何も言う必要はありません。開発者が応答したという事実は、問題がすでに存在することをすでに十分に示していることを示しており、(少なくとも一部の)ユーザーに苦痛を与えています。

結局のところ、あなたが言うことは何もあなたがしたくない場合、あなたのために働くように開発者を納得させるつもりです。


9

優れたオープンソースプロジェクトには、ユーザーがバグ/機能を提出でき、他の人がそれらに投票できるバグ/機能リクエストシステムがあり、メンテナーはコミュニティ全体にとって何が重要かを特定できます。ただし、機能を適切に配置する最も簡単な方法は、そのためのパッチを提出することです。期間...その周りの方法はありません。


8

個人的には、「これは既知の問題ですが、残念ながらすぐに対処される問題ではありません。開発者は他の問題に取り組んでいます。現時点ではETAはありません。」

「パッチを提出する」応答は、多くのことを前提としているため、非常に失礼です。

  1. プログラムのすべてのユーザーはプログラマーであるか、すべてのバグ報告者はプログラマーです。
  2. すべてのプログラマーは、プログラムの言語を知っています。
  3. すべてのプログラマーは、あらゆる種類のプログラムが持つ可能性のあるあらゆる種類の問題を知っています。
  4. すべてのプログラマーには、オープンソースプロジェクトに取り組む自由時間があります。

「パッチを提出する」応答メーカーが上記のすべてを知っていると仮定したとしても、それは単に、「私の時間のX時間は、あなたが起きる時間の数十倍以上の価値があります」問題を高速化して修正します」。

一般的に、私が抱えている問題について質問したり、バグを送信したりするときに開発者から無礼な応答を受け取った場合、そのプログラムの使用停止します。例えば、私は彼らの「サポート」フォーラムで得た反応がとても失礼だったので、例えばuTorrentを使用しません(オープンソースではありませんが、ポイントは残ります)。Bug Reportsフォーラムで問題を提出しました。スレッドは、スレッド内の類似するが異なる問題に関する別のスレッドへのリンクでロックされました(もちろんロックされました)。それまでの間、私は一般的なディスカッションフォーラムでスレッドを開き、問題の回避策を見つけた人がいるかどうかを尋ねました。そのスレッドを保存し、最初のスレッドがロックされたことを確認するのにかかった時間で、一般のスレッドはロックされ、フォーラムアカウントは破壊的な動作を禁止されました。uTorrentをアンインストールしましたが、その後戻っていません。


「返事を得たくない」ではなく、「返事を得たい」という意味ですか?
アンドリューグリム

特に最初の段落をありがとう。このような基本的な職業上の礼儀が、いかに多くの人々にとって異質であるかは驚くべきことです。支払いを受けるかどうかにかかわらず、適切な対応は、問題を確認し、そのステータスを説明することです(ステータスが「遅延」であっても)。
アーロンノート

8

「パッチを提出する」という返信は無礼なIMOですが、それでも...深刻なことにオープンソースソフトウェアを使用する場合は、必要に応じてそれを処理する準備が必要です。

以下は、Jeremias Maerki(Apache FOPの名声)による投稿に基づいています。

何かがうまくいかない場合は、いくつかのオプションがあります。

  • これはオープンソースです。自分で修正できます。
  • 自分で修正できない場合は、誰かが自由時間を持ち、実装するのが楽しいと思うまで待つことができます。
  • それが起こらない場合、あなたのためにそれをする誰かを見つけるか雇うことができます。

これは「パッチを提出する」回答の非常に有効なフルバージョンだと思います。


6

これを見るたびに、すぐに代替製品を探し始めます。私にとってこれは、メンテナーがユーザーを気にかけない(プロジェクトがどこでも使用されている場合は悪い)か、プロジェクトに興味を失ったかの危険な兆候です。通常、これらの両方は、開発者がプロ​​ジェクトを進めることを拒否するため、プロジェクトがすぐに死ぬか、停滞に悩まされることを意味します

(実行するこの種の応答で表示される最初のバグレポートを言っているわけではないことに注意してください。一般的な傾向に注意する必要があります。そのほんの数例は、プロジェクトの目標に適合しないか、特定の用途に非常に適した機能リクエストです。

@MainMaが言ったように、新しいプロジェクトに貢献し始めることは非常に困難です。ほとんどの開発者はこれを理解していません。何ヶ月/何年もプロジェクトに取り組んできたので、彼らにとって理にかなっています。これは正直な間違いである場合があります。


3

私は時々、フリーソフトウェアはビールのように無料、スピーチのように無料、またはあなたが支払うものを手に入れるのと同じように無料であると冗談を言います。

冗談で言いますが(私は多くのOSSを使用している会社で働いています)、そこに真実があると思います-商用レベルのサポートが必要な場合は、適切なサポート契約で商用ソフトウェアを使用するか、そのレベルのサポートを可能にするオープンソースソフトウェアソリューション(通常は、それを提供するために支払われている誰かを通じてですが、潜在的にあなたの組織はそれを処理するために開発リソースを採用または割り当てます)。

「パッチを提出する」は腹立たしいが、OSSについて何かを強調しており、おそらくそれがあらゆる状況のすべての人にOSSが適切ではないことを思い出させるべきである。社内、コミュニティの対価またはコミュニティを通じて支払われます)。

私たちはしばしば、ビールのように無料であるが、スピーチのようにではないソフトウェア(つまり、非オープンなフリーウェア)について考えます。おそらくこれは、我々は演説の中で、フリーソフトウェアが、考えなければならない場合ではない、ビールのように。


2

適切に管理された代替手段に切り替えます。

よく管理されたオープンソースプロジェクトの経験から、明確に定義されたバグレポートまたは機能要求を作成すると、実装される可能性が非常に高くなります。


2
多くの場合、バグレポートと機能要求は明確に定義されていません。私の経験では、能力と尊敬はうまく機能しています。また、明確に定義された機能のリクエストを検討することをお勧めします。優先度が低いと考えられる場合もあれば、プロジェクトグループが明示的に実行したくない場合もあります(PuTTY FAQには良い例があり、カテゴリ別にグループ化された機能要求の良いリストがあります)。
デビッドソーンリー


1

リリースとサポートを提供するプロジェクトに取り組んでいるとき、開発者とユーザーの間で暗黙の暗黙のサポート契約が成立すると考えています。開発者は、要求に応じて機能を追加するなど、ユーザーのコードベースをサポートするという暗黙の責任を負っています。

私の意見では、「パッチを提出する」とは基本的にユーザーに指を与えることです。これはコンテキストに依存します-実装するのに手間がかかりすぎる場合があり、既存のプロジェクトを破壊したり、ひどい創造性炎を引き起こしたり、その他多くの理由があります。しかし、最終的には、「やるのではなく、やる」ということです。私の考えでは、これはあるレベルでは、その暗黙の契約違反です。


双方が何かを受け取らない限り、契約ではありません。プロジェクトが通常望んでいるのは、よく行われたバグレポートと頻繁によく行われた機能要求であり、暗黙の契約のその終わりまですべてが来るわけではありません。
デビッドソーンリー

1
@Aaronaught:動作するのに十分詳細なバグレポートを提出する場合にのみ、無料のテストを提供します。悪いバグレポートの私のシェアを見てきました。彼らは良い広告を提供するかもしれないし、しないかもしれない。F / OSSを使用するほとんどの人は、有用なものを何も返しません。
デビッドソーンリー

1
@David:会話を最も難しい/非生産的なユーザーだけに制限しようとするのをやめてください。一般化する場合、その一般化は、ユーザーおよび寄稿者ベース全体に対する集合体でなければなりません。一般に公開することで、これらすべての人々を得ることができます。それらの多くから得た善の見返りに、他の多くからいくつかの問題が生じます。それが人生。
アーロンノート

1
@Aaronaught:一般化する場合は、適切に一般化する必要があります。私は会話を最悪のユーザーに制限しようとはせず、彼らがそこにいることを指摘するだけです。会話の多くは、すべてのユーザーが何らかの形で寄稿者であると仮定しているように見えますが、それは単なる真実ではありません。プロジェクトに役立つユーザーのみについて話す場合、一般的に礼儀正しいプロジェクトチームメンバーのみについて話すのは公平に思えます。
デイヴィッドソーンリー

2
@David:明らかに、何人かのユーザーと外部の貢献者が助けをしてくれますし、問題を引き起こす人もいます。明らかに、常識と優れた時間管理スキルが許す範囲で丁寧でプロフェッショナルな開発者がいます。また、失礼で非専門的で習慣のない開発者もいます。これは、後者の開発者グループに対処する方法についての質問でした。「問題のあるユーザー」の存在は論争ではありませんが、敵対的な状況を作り出すことによって議論を混乱させること以外の目的を果たさない赤いニシンです。
アーロンノート

1

それにはいくつかの方法があります。

  • 機能の提案と投票。しかし、これには時間がかかります。

  • パッチを作成するためにそれを必要とする会社に雇われます。明らかにこれが最良のソリューションですが、アップグレードしたいオープンソースソフトウェアを作っている人と協力する準備をしてください。

  • そもそも機能が実装されていない理由を見つけることも重要です。多くの場合、この機能はソフトウェアプロジェクトの範囲外です。チームはこの機能を必要としないか、必要だと感じないか、何かを行うのに良い方法ではないと考えます。この場合、プロジェクトをフォークして自分で作成する必要があります。

  • 必要なことを行う独自のソフトウェアを使用します。

  • OOPソフトウェアは、多くの場合、機能の統合プロセスを容易にすることに注意してください。

  • メーリングリスト、irc、またはフォーラムに参加すると、プログラマーを怒らせ、OSS支持者に弾薬を与えることができます。


0

彼にそれをさせると言えることは何もありません。結局のところ、なぜ彼が必要なのでしょうか?1人のユーザーの希望のため?それは十分な理由ではありません。

しかし、合理的な数のユーザーを収集し、合理的な理由を与えることができる場合(「私はそれが欲しい」は合理的な理由ではありません。) 。

ただし、考慮しなければならない特別なケースもあります。それは開発者。彼はアプリの開発にうんざりしており、ゆっくりとアプリを放棄することを望んでいます(他にもやることがあります)ので、彼はゆっくりと機能要求を放棄しています。コードをリリースするように彼を説得しようとするfrmは別として、この場合、上記に関してさえ、あなたができることは実質的に何もありません。


また、開発者は、世紀の残りの間彼を忙しくしておくのに十分な機能要求を持っています、あなたのものを含めたいです、しかし、すぐにそれに着くことを予見しません。
デビッドソーンリー

@David Thornley-それも。
ルーク

0

特にオープンソースプロジェクトは、たとえ新機能が公式リリースに到達していなくても、特定の機能の開発に対する賞金や資金に優しいものです。

さらに、はい、オープンソースの公開の背後にあるアイデアの1つは、誰もが自分の貢献をする権利と責任を持つことです。

クローズドソースの場合、最適なリソースは、ユーザーベースから統計的に重要なグループを収集し、必要なソリューションを求めています。


2
貢献する、はい、私はGPLを読んで最後の時間は、それはについては何も言及しなかった責任を、自分の貢献をするために、エンドユーザーのために。それは少し大げさだと思いませんか?
アーロンノート

0

私の経験では、このリクエストは通常​​、ユーザーのリクエストがプロジェクトの目的に合わない場合に提供されます。それは、あなたが提案したものすべてを実装し、もう少し-無料でオープンソースで、すばらしい幸せな未来を実現すると人々が考えるとき起こります。

「パッチを提出する」というのは比較的失礼な対応です(もちろん、これは避けるべきです。特にこの簡潔で鋭い形式では。おおよそ同じメッセージを表現する方法はたくさんあります。たとえば、自分で実装する時間がありません)。しかし、そのままで、それは明確な「私の時間を浪費するのをやめる」指標です。そのため、それに対してできることはあまりありませんし、「標準的な」応答もありません。

私が考えることができる最良の対応は、実際にパッチを提示することです。パッチが機能していると仮定すると、少なくともアイデアが完全に非現実的ではないことが証明されています。通常、これは、プロジェクトの担当者が提案を再検討することを意味します。


1
開発者がプロ​​ジェクトの目的に合わない要求に関して「パッチを提出する」と答えるべきだとは思わない。それは失礼というより不誠実です。ソフトウェアが肥大化し、開発者がそれを嫌うか、またはパッチを受け入れず、事実上あなたの時間を無駄にします。後者の可能性が高くなります。開発者は本当に「____のでこれを変更したくない」と正直に言って、それでやるべきです。
宮坂

@Rei Miyasaka:個人的には、「パッチを提出する」を受け取り、高品質のパッチを作成するための作業を行った後、とにかく機能が必要ないと言われたら怒ります。
デヴィッドソーンリー

@David Yeah eh?椅子を1つか2つ投げます。
宮坂

0

「パッチを提出する」とは、プロジェクトの目標に合わないアイデアを正当に切り捨てることです。長い目で見ればアイデアが悪いか、または意図した範囲外のプロジェクトにプロジェクトを使用しようとしているだけなのかもしれませんが、既存のコードベースに適合させようとすること」が適切な場合があります。

マイナーでプロジェクトの対象ユーザーに本当に役立つ場合は、バグレポートを送信し、問題を明確に説明し、再現手順を示し、現在のナイトリービルドを使用していることを示し、そのままにしておきます。

多くのユーザーを助ける小さな単純な変更のように見えるかもしれませんが、実際にはあなた以外の誰も使用しないロバの大きな痛みになるかもしれません。これが「パッチを提出する」ための最良のケースです。

悪名高いglibcメンテナーのように、彼のシステムは宇宙であり、仕様の解釈は神の言葉であり、それがすべてであるというワントラックマインドを持つようなケースに遭遇した可能性もありますそうでなければ何人の人が好むのか。


この変更が1人だけが使用するロバの大きな痛みになることを知っている場合、誰もこの質問をすることを選択するとは思わない。そのため、「パッチを提出する」のではなく、なぜそれがそんなに大したことですぐにできないのかを丁寧かつ簡潔に説明してください。
氏Shickadance

2
「パッチを提出」は、誰かがパッチを提出する可能性があるため、非常にひどいブラシオフになります。優先度の低いnice-to-haves用に予約する必要があります。
デビッドソーンリー

0

RentACoder / ELance / etcなどのサイトにこの機能を実装するプロジェクトを作成し、元のオープンソースプロジェクトのフォーラムに投稿することをお勧めします。著者を含むオープンソースプロジェクトのプログラマーには、あなたのリクエストを検討する金銭的インセンティブがあります。


-1

この質問に答えるためだけに実際にサインアップしました。

レトルトが必要ですか?通常、この応答は、開発者が問題を知っているが、重要ではないと考えている場合に使用されます。

実例を紹介します。ubuntuは、システムトレイのサポートを削除しましたが(アプリをホワイトリストに登録することで回避できます)、新しいアプリインジケーターを追加しました。jupiterなどの一部のアプリはシステムトレイのサポートに依存していたため、開発者はアプリインジケーターのサポートを追加するのではなく、回避策について説明したため、アプリインジケーターのサポートを追加するように開発者に依頼しました彼らがこれを実装しないことを選んだ理由を尋ねることで。これがありました

私は、多くのお金を持っている人がLinuxディストリビューションで適切に機能するために自分のアプリケーションの能力をブラックリストに載せることで要求するからといって、決して使用しないライブラリのサポートを構築することに時間をかけることに興味がありません。

それが本当の技術的な問題であれば、おそらく行動を起こすでしょうが、これは純粋に政治的な策略なので、私はそうは思いません。

いいえ、ホワイトリストに登録します

けっこうだ。開発者には機能を実装しない理由がありますが、パッチを受け入れても構わないと思っています。これは本当に失礼で攻撃的ではないので、レトルトの必要はありませんでした。

一番下の行:正規のレトルトはパッチを提出することですが、できない場合はレトルトの必要はありません


-1

必要な機能の賞金を開始します。

または、外出して、あなたが望むことを正確に行うと主張する製品を購入し、マーケティングがあなたの期待と一致しないことに気付いたとき、彼らのサポート担当者を虐待します。


-2

私が考えることができる最高は「あなたが吸う」です。

申し訳ありませんが、これは明らかにあまり役に立ちませんが、これはユーザーが完全にねじ込まれた不幸な状況の1つに過ぎないと思います。開発者の良心に残酷に正直な魅力は最後の溝の努力です。

あなたは問題を解決するために「」を提供することを試みることができますが、バグ修正が利益を生むことは決してないので、そのような慣行が一般化されれば、業界での整合性の本当に悪い損失につながることを恐れます「無料」または商用ソフトウェア。

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