@Jagster
少し大げさだったかもしれません 
私のソフトウェアの大部分は、ウェブブラウザではなく apt install で入手しており、ソフトウェア配布元(Trisquel)がフリーなソフトウェアのみを配布すると信頼しているため、通常はこうした懸念は生じません。
明確にしておきますが、私はカスタマイズが必ずしも悪いと言っているわけではありません。単に、それがフリーではない場合、悪い結果を招く可能性があると言っています。したがって、フリーではないソフトウェアを実行しないようにするための一つの方法は、カスタマイズを無効にすることです。
私はすべてのソフトウェアがフリー/リブレであるべきだと考えています。
@Jagster @RGJ
明確にしておきますが、Discourse が非フリーだと主張しているわけではありません。問題となっているのは、この特定の Discourse 配布版(Discourse Meta)が、フリーではないソフトウェアを含んでいるように見える点です。
@Jagster @merefield
前の投稿で触れるべきだったのですが、この配布版がフリーであると考えたもう一つの理由は、Discourse の「About」ページ に「Discourse のバージョンはただ一つです – 素晴らしいオープンソース版」と記載されていることです。これは、プラグインが Discourse の一部ではないため、技術的には真実です。しかし、私にとっては誤解を招くように感じられました。
Discourse がサードパーティの配布版を制御できないことはあっても、About ページでそのようなことを述べている以上、Discourse によってホストされた Discourse インスタンスがフリーソフトウェアであることは期待されていました。また、派生体がフリーソフトウェアであることを実質的に要求するライセンスやフレームワークを期待していたかもしれません。Discourse は GPL なので、ある意味では存在しますが、プラグインはカバーされていないようです。
@merefield @NateDhaliwal
ソフトウェアやサービスに対して料金を請求することは問題ないと思います。「フリーソフトウェア」における「フリー」は通常、「リブレ」を意味します。つまり、入手後にそれに対して何をしてもよい(コピー、改変など)という自由です。必ずしも「無料(ゼロコスト)」という意味ではありません。
@NateDhaliwal
厳密に言えば、誰も私を止めないかもしれませんが、それは違法行為であり、それは良くないことです。私的使用であればうまくいくかもしれませんが、一般的に公開されているソフトウェアリポジトリやアプリストアは、違法なコードを含めたくないと考えています。また、私がそのソフトウェアを使用したいと考えている人々の一部は、違法にコピーされたコードを実行することに不安を感じるかもしれません。私のアプローチが正しいかどうかはわかりません。著作権を完全に無視すべきかもしれませんが、違法かつ非フリーなソフトウェアを回避することが可能である場合、それは最良の選択肢ではないでしょう。
気にしないでください!
あなたが失礼だとは思いませんし、まだ堂々巡りしているとも感じません。
@RGJ
これはどういう意味でしょうか?ソフトウェアがフリーであれば、それを改変できるはずです。したがって、そのソフトウェアが何を行うかを制御できます。
フリーと信頼は同じだとは思いません。おそらく「信頼できない」ではなく「任意の」と言うべきだったかもしれません。しかし、私の主張は、ほとんどのブラウザがウェブページから与えられたコードを何でも実行してしまうということです。私は以前訪れたことのないウェブサイトによくアクセスするため、訪問する多くのウェブサイトは「信頼できない」状態にあります。これらのウェブサイトについては、フリーではないソフトウェアを送信しない理由がありません。
NPM については、任意のウェブサイトよりも信頼できると考えていますが、apt や guix のリポジトリほどではありません。ただし、信頼は一次元的ではありません。NPM 上の新しいパッケージを、それが NPM にあるという理由だけで信頼するわけではありませんが、NPM から JQuery をダウンロードしたとき、それが本当に JQuery であるとは信頼できます。NPM は、JQuery を攻撃者が置き換えることを可能にするミスを犯す可能性はありますが、サイト経由で配信される JavaScript に対しては現実的ではない対策(例:公開前の自動/手動レビュー、公開後のクラウドソーシングレビュー、ミニファイ/難読化されたスクリプトがソースコードと一致していることの自動チェック、ランタイムでの任意のコードのダウンロードと実行を禁止するルールなど)でマルウェアを回避する措置を講じることができます。重要なのは、NPM でマルウェアが発見された場合、ソフトウェア開発者ではなく第三者(NPM)に報告して削除を求めることができる点です。これはサイト経由で配信される JavaScript の場合は当てはまりません。それを削除できるのは、サイト運営者だけです。
サーバー管理者が修正を加えても、リストされたコミットハッシュを変更しなかった場合、そのリストされたコミットハッシュは誤りになるのでしょうか?ソフトウェアの更新は自動的にコミットハッシュを変更するものだと思っており、リストされたコミットハッシュも自動的に更新されると(誤って)想定していました。
プラグインによって注入された JavaScript は、safe_mode=no_themes,no_unofficial_plugins で無効化されますか?
では、Discourse を使用しながらフリーではないソフトウェアを回避する唯一の方法は、Discourse クライアントをブラウザ拡張機能や Haketilo パッケージ、あるいはそれに似たものにパッケージ化することでしょうか?
私の元の質問はソフトウェアの自由に関するものであり、信頼に関するものではありません。その意味がわかりません。
あなたがリストした全員を信頼しなければならないという点には同意しません。
- サーバー管理者は、彼らが配信するソフトウェアを実行しない場合(例えば、Discourse クライアントを GitHub から入手し、そのサーバーで使用できるようにパッケージ化する場合など)、信頼する必要はありません。
- 多くの場合、ソフトウェアを共同開発する人々は互いのコミットのいくつかを読むため、すべての著者を個別に信頼する必要はありません。
つまり、Discourse Meta クライアントはプロプライエタリソフトウェアだということでしょうか?ただし、safe モードを使用してプラグインの JS を無効にすることは可能です。
もしかしたらそうかもしれませんが、私がフリーではないソフトウェアを回避したいと考えている場合、それはあまり役立ちません。
@NateDhaliwal
Discourse の Git リポジトリのライセンスは読みましたが、(CLA のため)そのリポジトリ外の Discourse の派生体には必ずしも適用されません。すべての Discourse 配布版において、どの配布ソフトウェアがリブレであるかを明記した通知を見てみたいと思います。それは(私の意見では)GPL の精神にも合致します。「権利を知るために、これら条項を示さなければならない」のです。
@Mevo
はい、ブラウザ拡張機能やプロキシ(Haketilo や GreaseMonkey など)から JavaScript を実行することは可能です。ただし、ソフトウェアによっては非常に非実用的な場合があります。例えば、データが JavaScript ソフトウェアに組み込まれている場合、頻繁に更新されるソフトウェアではそうです。Haketilo は「module」タイプのスクリプトなど、ある種のスクリプトのサポートも行っていません。
はい、全体的にあなたの理解は正しいと思います。ただし、JavaScript をブラウザ拡張機能や Haketilo、GreaseMonkey 用にパッケージ化すると、JavaScript を使用しているにもかかわらず、実質的に独立したインストール済みクライアントとして機能することになります。
@HAWK
「すべて」とは、discourse-customer-flair-plugin のようなプラグインを含まない、「Discourse の一部であるすべて」を意味していると推測します。