非営利コードをオープンソースにしない理由は?[閉まっている]


34

私はオープンソースコードの大ファンです。オープンソース化の利点のほとんどを理解していると思います。私は理科の学生研究者であり、オープンソースではない(プロプライエタリであるか、パブリックでない)非常に驚くべき量のソフトウェアとコードを使用する必要があります。私にはこれの正当な理由が本当にわかりません。そして、コードとそれを使用している人々は、より一般的になることから間違いなく恩恵を受けることがわかります他の人があなたのコードにアクセスできない場合、それははるかに困難です)。

:私は外出して布教活動を開始する前に、私が知りたいのために何かいいの引数がありません OSI準拠のライセンスで公に非営利コードをリリースは、と?

(私は周りに同様の 質問がいくつかあることを理解していますが、ほとんどはコードが主にお金を稼ぐために使用される状況に焦点を当てており、答えにあまり関連性がありませんでした。)

明確化:「非営利」とは、親会社のブランド認知や投資家の利益期待など、下流の利益の動機を含みます。言い換えれば、質問は、ソフトウェアに関連する利益の動機がまったくないソフトウェアにのみ関連します。


興味深い質問を自分で見つけたら+1。しかし、これはこれを尋ねるのにふさわしい場所なのだろうかと思います。たぶん、PM.SEサイトのような他のSEサイトから異なる視点を得るでしょう。ただの提案。
ヘイレム

@ヘイレム、私はPM.SEを見ていませんでしたが、それはプロジェクト管理の技術的な側面のためのようです?
naught101

その後、プロジェクトを積極的に維持しますか、それともコード墓地ですか。言い換えれば、プロジェクトの未来は何ですか。

@ThorbjørnRavnAndersen:はい、積極的なメンテナンス、開発、コードの使用を想定しています。
naught101

回答:


28

コードをオープンソース化するには追加の労力が必要になる可能性があることを考慮する必要があります。

例として、このブログエントリで、Sun / Oracleエンジニアは、コードをオープンソース化するときに取らなければならなかった努力について説明しています。

オープンソースの世界に飛び込む準備ができたら、現在行われている多くの活動の1つは、オープンソース化のためのコードの準備です。やらなければならない明らかなことがいくつかあります。たとえば、ソースコードには、作成したコードと他のユーザーからライセンスを取得したコードが混在しています。後者を分離し、適切なコードのみをオープンソースにする必要があります。

もう1つの準備作業は、専有情報のコードのスクラブ、特定の顧客、開発者、技術などへの言及です。これは少しわかりにくいですが、次の例を検討してください。

/\*
 \* HACK - insert a time delay here because the stupid Intertrode
 \* Technologies framebuffer driver will hang the system if we
 \* don't. Those guys over there must really be idiots.
 \*/

上記のすべてが当てはまる場合もありますが、おそらくIntertrode Techと何らかの関係があり、コードにこのようなコメントがあるとビジネスに何らかの影響を与える可能性があるため、削除する必要があります。そもそもそもそもそこにあるべきではなかったと思いますが、今こそそれを取り除く時です。

「スクラビング」アクティビティの別の部分は、冒とく的な言葉やその他の「望ましくない」言葉を削除することです...

上記のすべての変更は、クローズドソースとして完全にOKが検討されているコードに行われなければならなかった注意してください-それは純粋になり、その余分な労力をいわば。


2
まあ、これは既存のコードベースを持つ大企業に適用されますが、最初からオープンソースになるように書かれたコードにはほとんど適用されません。
コンラッドルドルフ

1
@KonradRudolph OPは、私が作業する必要があると述べました...オープンソースではないコード(プロプライエタリまたはパブリックではないは、ゼロからそこになかったことを意味します
-gnat

DOOM 3でも同じことが起こりませんでしたか?特許問題によりDoom 3ソースコードのリリースが
遅れる-user16764

11

セキュリティ。

たとえば、Webフレームワークを構築し、自分で使用するとします。

非営利プロジェクトとして、コードのすべてのビットを1つの攻撃に対する脆弱性の検査に専念する時間はありませんでした。

  • CSRF
  • XSS
  • SQLインジェクション
  • セッション固定
  • バグのあるサードパーティライブラリまたは言語の使用

今、プロジェクトをオープンソース化することで、友好的な目が貢献できるようになりますが、悪意のある目があなたの仕事を完全に洞察できるようになり、コードを実行しているサーバーを見つけた場合、あなたのあいまいさの欠陥。

もちろん、これは作業中のソフトウェアの種類には当てはまらない場合があります。そしていつものように、あいまいさはセキュリティの怠lazの言い訳にはなりません。

ただし、Stripeで取得したいくつかのレベルで見つけたように、フラグゲームをキャプチャし、脆弱性を見つける最も簡単な方法の1つであるコードを知っています(そして、それが唯一の方法である場合もあります)。


7
この議論は長年にわたって行われており、私の印象では、オープンソースの方がセキュリティに優れていますが、プロジェクトが(少なくとも開発者の間で)かなり人気がある場合のみです。「ネット上のどこにでも、引数の本当に良い要約がないことは奇妙です(とにかく私は見つけることができます)。
naught101

1
naught101sと組み合わせて、多くの意味を持つコメント。ソースを気にせず、プロダクションで使用している人が少ない場合、誰かが「悪」がそれを検査し、(最終的に)あなたに対してそれを使用する可能性がかなり高いです
シュリンゲル

1
あいまいさによるセキュリティ?
ダヌビアセーラー

3
@lechlukasz投稿全体を読みましたか?
ニコール

1
@Oleksiありがとう、でもそれは知っています。「セキュリティが怠obsであることは、あいまいさの言い訳にはなりません」と言いました。この質問は、オープンとクローズの関係ではなく、以前に閉じたシステムをオープンすることに関するものです。私はあなたが投稿したリンクに完全に同意しますが、開発者は完璧ではなく、システムをオープンソース化すると、バグを見つける最初の目があなたのために修正する代わりにそれを悪用する可能性があります。
ニコール

10

ソースをオープンしない正当な理由は、ソースの一部が著作権で保護されている可能性があることです。問題の迅速な解決策をウェブで検索して、見つけたコードの断片を取得する頻度はどれくらいですか?

まあ、それらは著作権で保護されている可能性があり、著者が自分のコードを別のライセンスで再ライセンスすることを希望するかどうかはわかりません。


1
+1は著作権で保護されています。特許も追加したかっただけです。あなたは、あなたのオープンソースプロジェクトが、「corps」が住んでいる何千ものソフトウェア特許を侵害していることに気付くかもしれません。ストリーミングビデオ?特許取得済み。クリック課金広告ですか?特許取得済み。ほんのいくつかの例。しかし、可能性は「軍団」が気にしないことです-あなたが競争相手でない限り。
アマデウスハイン

1
へへ。これは実際にはオープンソースに対する議論ではなく、著作権侵害に対する議論です。しかし、あなたは正しい、私はこれが多くの大規模なプライベートコードの問題であるに違いない。
naught101

1
@ naught101同意した。オープンソースは問題を公開するだけです。この場合の所有権の閉鎖は、巻き込まれないことの問題です;)
Andres F.

ソースを閉じたままにする理由の1つは、偶然の著作権侵害を隠すことだとおっしゃっていますか?それは使用するのにかなり非倫理的な理由だと思いませんか?
マークブース

1
非倫理的....たぶん、オープンソースをしない非常に良い理由かもしれません。
ピーターB

6

潜在的な責任問題を回避するために、ライセンスの選択方法に注意する必要があります。

弁護士はこれについて話すのに良い人かもしれませんが、一般的な考え方は、誰かがアプリケーションを使用(または誤用)し、それが何らかの害を引き起こす場合に何が起こるかです?責任はありますか?明らかにこれはあなたが書いているソフトウェアの種類に依存しますが、あなたのライセンスがあなたの責任について何を言っているかに常に注意する必要があります。これは正しく実行するのが難しいため、ソースコードをリリースしない方が簡単な場合があります。


1
はい、それは良い点です、そして、ほとんどのOSライセンスは通常どこかにいくつかのひどいカバーテキストを持っています。「無責任受理」タイプのライセンスを想定していたと思います。
naught101

4

警告:私は弁護士ではありません

非営利団体であり、その知的財産がソフトウェアのコードに強く結び付けられている場合、商業的に再利用されたり、ソフトウェアのカーボンコピーを作成するために悪用されたりすることから保護したい場合があります。

実際にはおそらく最初のものに根ざしているいくつかの他の理由は、あなたの場合、多くのハイエンド研究が民間資金で行われ、通常投資家がROIを見たいということです。そして、これまでのところ、ソフトウェア業界のすべての関係者(または新規参入者)が、オープンソースモデルの実行可能性を十分に納得していません(ほとんどの場合、ライセンスの知識と理解の欠如、またはライセンスによって悪意のあるものが防げないという単純な恐怖によって)使用およびコピー)。

さらに、これらの企業は、利益を上げようとした企業から訴えられたくありません。この点でも、正当な理由があるかどうかに関係なく、ライセンスは安全策と見なされています。

そうは見えないかもしれませんが、非営利団体は創業者や投資家にとって利益があるかもしれません。メリットは直接的なものではありません。したがって、彼らはNFPが強力になり、競合他社によって縁石に打ち負かされないことに大きな関心を持ち(非営利市場では「競合他社」について考えることはあまりありませんが)、彼らはIP。問題を早期に発見して改善するためにコードをレビューするために、より多くの無料の目玉を手に入れないという犠牲を払っていても。

著作権法も国によって異なることに注意してください。たとえば、多くのヨーロッパ諸国では​​、米国の著作権法と米国の特許制度はかなり馬鹿げていると考えているため、文化的背景と重みを振り払うことは困難です。

主題に関する私の2セントを引きます。

(私は大学で多くの仕事をしてきましたが、最近はバイオインフォマティクスとヘルスケアの分野で仕事をしています...それは私と同僚にとって繰り返し質問です:))


Hrm ..私は質問でコードとIPを一緒に検討していました。たぶんそれをもっと明確にすべきだった。(地球システム科学確かにかかわらない)私のフィールド-私は「科学」は少し漠然とした、と科学の多くが有益であることを認識(... ROIを考えると利益動機として考慮事項をブランディングします。
naught101

質問を明確にしました。面倒でごめんなさい。
naught101

あなたの分野は有益だと思います。それは広い市場を持っていないかもしれませんが、それはそれが有益ではないという意味ではありません。fqctでは、かなり大きなお金が関係していると思います。なぜそう感じないのですか?
ヘイレム

私は気候モデリングに取り組んでいます。気候モデルに誰も支払いません。気候モデルを使用するために誰も支払いません。ソフトウェアを使用することで得られる利益はありません。人々はそれらのモデルを使用して研究を行うための報酬を受け取り(これには多くの場合モデルの作成が含まれます)、計算時間は時々支払われますが、これらの両方はコードを共有すると物価が安くなることを意味します(コードを書く代わりに研究に費やす時間が増えます) 、HPC施設での無駄な時間の削減)。ソフトウェアが収益性にどのように関係しているかは本当にわかりません。
naught101

1
@psr:それはnaught101のポイントだと思います。モデルの使用結果には有益な結果がありますが、モデルを実装するソフトウェアを販売するのに必ずしも多くのお金がかかるわけではありません。私も驚いていますが、非常にうまくいきます。
ヘイレム

1

少なくとも2種類のオープンソースがあります。

あなたの態度が「ここに何か有用なものがあれば、私はそれで終わりました」(そしてそれは正確であることが判明した)場合、少し欠点があります。

一方、あなたの態度が「私は本当に興奮しており、実際のユーザーに将来の開発を促進してほしい」という場合は、慎重に考えてください。ユーザーのサポートに時間を費やす必要がありますが、その多くは無知です。機能と拡張機能に対する競合する要求を考慮する必要があります。下位互換性を維持するために、変更を加えることはますます難しくなるでしょう。


3
コードをリリースすることでサポートを提供する義務がどのように発生するのか、実際にはわかりませんか?そして少なくとも科学の分野では、ほとんどのユーザーは、コード自体ではないにしても、少なくともプロセスについては非常に頭がいっぱいです。
naught101

1
@ naught101:義務はありませんが、誰かがあなたのコードを使用する、電子メール、質問、提案を受け取ります...単に無視することを選択しない限り、処理に多少の努力必要になります。科学の外では、多くのユーザーがあまりにもまとまっていないので、たまたまコードをリリースしたからという理由だけで、基本的なセットアップの問題などで人々を助けることができます。少なくともそれは経験しました。BSDスタイルの免責事項でさえ「現状のまま」などです。人々が助けを求めることを止めないください
ジョナスプラッカ

1
この答えは、他の多くのものよりも実際にはそれほど適切ではないため、賛成です。@JoonasPulakka:もちろん、人々が助けを求めるのを止めるべきではありません。しかし、彼らは答えを期待するのを止めるべきです。また、実際のソフトウェアを公開している場合は、コードが公開されているかどうかに関係なく(おそらくEULAに応じて)ユーザーに対して同じ責任を負います。たぶん、より多くのクエリを期待する必要があります、開発者を ..あなたは、コードを公開すると、それらのほとんどは、手がかりのビットを持っていますし、いくつかのアドバイスにパッチまたは2を返済かもしれないと考えるのは素敵なことだ
naught101
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.