プログラマーとしてのキャリアを目指す若い学生として、オープンソースソフトウェアについてどのように感じるべきですか?[閉まっている]


17

一部のテクノロジーWebサイトでは、次のような見出しが時々表示されます:http : //www.osor.eu/news/nl-moving-to-open-source-would-save-government-one-to-four 10億

政府や組織がオープンソースソフトウェアに移行することについて最初に考えたのは、多くのプログラマーが仕事を失い、業界が縮小するだろうということです。同時に、多くのプログラミングコミュニティでオープンソースソフトウェアの普及と使用が大いに奨励されているようです。

どこでもオープンソースソフトウェアを完全に取り入れることは、ソフトウェア業界を傷つけるだろうという私の考えは誤解ですか?そうでない場合、なぜ多くのプログラマーがオープンソースソフトウェアを愛するのでしょうか?


4
オープンソース戦略がレイオフを意味すると思うなら、Joel Spolskyの「Strategy Letter V」を読んでください。joelonsoftware.com/articles/StrategyLetterV.html
user16764

回答:


26

プロジェクトがオープンソースだからといって、プログラマーがそのプロジェクトで生計を立てているわけではありません。政府や企業は、mozillaやapacheなどの財団に多額のお金を寄付しています。

また、企業はプログラマーを雇ってオープンソースプロジェクトを変更し、ビジネスに合わせてカスタマイズする必要があります。企業は、すぐに使えるツールをすべてに使用することはできません。これは、クローズドソースのソフトウェアでは実行できないことであるため、プログラミングの新しい機会を開く方法の例です。プログラマーを排除したり、支払いをしたりすることではなく、新しいプロジェクトのための時間を増やすために、物事をより効率的にするために構造を再編成することです。

オープンソースについて理解するもう1つのことは、プログラムを配布する場合を除き、必ずしもプログラムのソースコードを公開する必要はないということです。会社がサーバーまたは社内のニーズで自社で使用するプログラムの場合、おそらく配布されないため、変更されたプログラムのソースコードを公開する必要はありません。


メインラインプロジェクトに携わる人々は、プロジェクトの内部を既に知っているという事実により、これらのカスタマイズジョブにも完全に参加することができます。
マシューシャーリー

Steve Streeting(Ogre3Dプロジェクトの創設者)が3Dグラフィックスの分野でどのように働いたのか、そしてそれが彼が作成したエンジンにどのように影響したのだろうか。
-jokoon

5

オープンソースの経済学はかなり奇妙で、しばしば直感に反します。Excelスプレッドシートのような製品を使用します(ほんの一例です。大規模な市販製品なら何でもできます)。Excelの構築とサポートの業務には、Xと言う数人の従業員がいます。Xはおそらくあなたと私にとって大きな数字のように聞こえますが、それが何であるかはわかりません。私が知っていることは、オフィス、学校、その他の施設でExcelをサポートし、Excelを使用してツールを作成して生計を立てている人の数に比べれば、それは少数です。その数はおそらくX * 10000です。したがって、Excelをオープンソース製品に置き換えても、Xは置き換えられますが、X * 10000は影響を受けません。

実際、それほど簡単でもありません。Xの従業員がいなければ、オープンソースのスプレッドシートのトレーニング、トラブルシューティング、および修正を行うには、より多くの有償の開発者が必要です。製品の背後に営利企業が存在しないからといって、ビジネスが優れたサービスを要求しない(および支払う)わけではありません。実際、あなたのオープンソース製品が十分な牽引力を得た場合、企業は時々、その製品の将来の開発を保証する基盤をサポートすることをいとわないでしょう。これは特に、彼らのビジネス上の関心が製品と密接に結びついている場合に当てはまります。MozillaApache Software FoundationMono Project、またはCanonicalを考えてください。

最後に、サービスを販売しようとしているとき、オープンソースのツールは決して脅威ではありません。Facebook、Twitter、Stackoverflowなどの組織を考えてください。最終的に、これらの組織はソフトウェアを販売することを望みません。彼らは巨大なネットワークを作りたいと思っています。ネットワークが十分に大きくなると、独自の重力が作成されます。参加者の数が最も重要であるため、他の「製品」を使用しても意味がありません。基礎となるテクノロジーは詳細にすぎません。


3

Chromium、Mozillaなど、より有名なOpenSourceプロジェクトの背後にあるさまざまなイデオロギーを読んで、自分で決めてください。なんらかの方法を感じる方法をあなたに伝える権利は誰にもありません。

そうは言っても、ソフトウェア設計における透明性の考え方が好きなので、私はオープンソースを採用しています。また、ユーザーのコミュニティがプロジェクトの方向性に非常に現実的かつ直接的な影響を与えることも気に入っています。クローズドソース環境ではそうはなりません。

私の記憶が正しければ、Creative Commonsのサポーターが言ったポイントの1つは、物事を「無料」にすることで、人々があなたのアイデアの製品を想像もしなかった方法で使用できるようにすることでした。これは私が特に楽しんだビデオです:https : //creativecommons.org/videos/a-shared-culture


2
mozillaのようなプロジェクトがプログラマの必要性を減らすとは思わない。あなたの会社が独自のウェブブラウザを開発しているのでなければ、本当に疑わしい。また、私はほとんどの人がソースコードを見さえするとは思わない。プログラマはソースコードを気にしますが、顧客は気にしません。
ジョエルガヴロー

1

完全な抱擁は決してありません。

私たちは世界に積極的に貢献しようとするのが大好きです。それに、オープンソースプロジェクトに参加することはあなたの履歴書にとって素晴らしいプラスです。


3
私たちは、オープンソースの貢献を補償された経験と同じように扱いません。実際、私たちの経験から、実際のソフトウェア開発は10%楽しく、90%は退屈な作業なので、オープンソースプロジェクトに大きな貢献をした人を雇うことを避けることができました。オープンソースプロジェクトに大きく携わった私たちが採用した候補者は、プロフェッショナルな品質のソリューションを生み出すために必要であった退屈で退屈な仕事をしたくありませんでした。
ビットツイダー

6
ビットtwiddler @:確かに、誰かがオープンソースプロジェクトで退屈な部分を行う必要があり過ぎる
ANTO

1
@Anto:問題は、退屈な部分がオープンソースプロジェクトで実行されないことが多いことです。たとえば、高品質の商用製品とオープンソースソフトウェアの製品を区別する属性の1つはドキュメントです。最も成功したオープンソースプロジェクトのドキュメントでさえ、成功した同じ規模の商用製品のドキュメントと比較して見劣りします。適切なドキュメントがないと、オープンソース製品の学習が大きな苦痛になります。不十分に書かれたドキュメントを収集して解読するための報酬はありません。結果を出すために報酬が支払われます。
ビットツイダー

@ bit-twiddler:プログラマーは、よく書かれたドキュメントを出すことも期待されていますか?テクニカルライターを雇う方が安くはありませんか?また、一般的に彼らはより良い製品を生産していませんか?
デビッドソーンリー

1
@David Thornley:はい、すべての開発担当者は、有能なフルライフサイクルソフトウェア開発者であることに加えて、適切に記述できることが期待されます(つまり、コードのみの担当者はいません)。設計および実装チームほど製品をよく知っている人はいません。私たちの単一のテクニカルライターは、成果物のドキュメントの調整とマッサージを担当しています。
ビットツイダー

1

オープンソースは、無料の代替を開発するのに十分な関心がオープンソースコミュニティにあるほど人気のある分野に製品があるパッケージ化されたソフトウェア会社に対する脅威です。1つのケースは、OracleとMicrosoftの両方がデータベースソフトウェアに請求できる価格の大幅な低下であると思います。mysqlはほとんどのプロジェクトに十分であり、顧客がサポートへの支払いを希望しない限り基本的に無料であるため、物事が横向きになった場合に誰かがフックにかかります。

総生産コストを削減し、開発者の生産性を向上させるため、コンサルティングおよびサービス事業を完全に補完します。企業は同じ理由でそれを好むが、一部のベンダーは商業サポートを提供するベンダーを見つけることを主張しているので、期待に応えられない場合は電話/非難する人がいる。


MySQLはOracleが所有しています。OracleがJavaへのコミュニティ入力を削除するのを妨げるものがないように、Oracleがその製品のソースを閉じるのを妨げるものは何もありません。ソフトウェア会社はソフトウェアを販売していません-彼らは経営者に心の安らぎを販売しています!公営企業は、同じ規模の企業でbarえ、誰かが問題を解決するためにフープを飛び越えることができるようにしたいため、商用ソフトウェアを購入し続けています。IPの販売は、小規模なソフトウェア会社が大規模なソフトウェア会社になる方法です。サービス専用モデルは、人件費に完全に依存しています。
ビットツイダー

2
オープンソースは、競合他社が脅威であるのとまったく同じように脅威です。Oracleのデータベース(最近では正確に何と呼んでいますか)が、たとえばPostgreSQLよりもはるかに優れている場合、販売できます。そうでない場合、なぜOracleに支払う必要があるのですか?
デビッドソーンリー

1

最大のリスク...

  • ボラティリティ:OSSの大部分は急速に開発されています。著名なプロジェクト、あまり知られていないものの安定したリリースがありますが、OSSの世界は多くの分野で非常に多様で断片化されているため(そして進化し続けています)、プロジェクトが十分に成熟して、開発が定期的、無制限であると言うことはまれですまたは永久。たとえ製品が無料であっても、統合、リグレッション、ハンズオンまたは即時サポートは無料であっても利用可能であっても、コースを途中で変更すると費用がかかります。

  • 説明責任の欠如:「投資」された人はいないため、悪いことが起こったときに頼りにすることは困難です。保証はありません。似ているものすらありません。あなたが一般的に持っている唯一の保証は評判であり、最終的にはあなた自身の個人的な経験です。それは無料だったので、開発者は消防車に行くように言うことができ、あなたの成功の欠如について少し気にしないか、あなたが彼らの製品を使い続けるならそれほど重要ではありません。


2
そして、これは商用のプロプライエタリなクローズドソースのソフトウェアとどのように違いますか?所有者はいつでも別の方向に進むことを決定できます。まともな保証で聞いた一般的な製品はTurboTaxだけです。
デビッドソーンリー

それは多くの点で異なっています。1つの方法は商業的です。ソフトウェア、特にコンポーネント、ライブラリ、およびランタイムの収益プロデューサーは、一般に、よりスムーズな移行を提供するためにより良い仕事をします。たとえば、重大な変更を明示的に列挙し、これらの重大な変更のために何を行うべきか、行わないべきかを示します。この明示的な列挙は通常、ソフトウェア自体が利用可能になるずっと前に準備され公開され、リリース後のエラッタがすぐに利用可能になり、この情報は一般的に一貫した場所と形式になります。
-JustinC

1

OSSツールとOSSを受け入れますが、それらに夢中にならないでください(そして、はい、多くの人がオープンソースのものに夢中になります。ほとんど常に彼らの不利益になります)。

オープンソースであるかどうかに関係なく、各ジョブに最適なツールを選択してください(一部のオープンソースライセンスでは、ライセンスされているものはすべて商用作業に役に立たないことに注意してください。特にGPLライセンスのライブラリではこの問題が発生します)。


1

最新のオープンソースソフトウェアの大部分は、主にそれを開発するために支払われるフルタイムの従業員によって開発されています。残りは、開発中のソフトウェアに依存する何かをするためにお金を払う人によって開発され、サポートとメンテナンスをクラウドソーシングするための共同作業が彼らにとって絶対に必須です。


1

大半のプログラマーは、作成したソフトウェアのコピーごとに支払いを受けません。彼らは費やした時間に対して1回の料金を支払われます。プログラマーを雇用している企業でさえ、通常、1部あたりの売り上げを稼ぐことはありません。MicrosoftやAdobeなどのいくつかの注目すべき例外を除き、ソフトウェアは通常、企業のWebサイトや内部ツールなどのインフラストラクチャの一部であるか、別の製品またはサービスの一部として提供されます。

他の人は、ほとんどの主要なオープンソースの貢献者が企業スポンサーを持っていると指摘しています。趣味の面では、人々が常に受け取られるのではなく与えられたものに集中することは興味深いと思います。電気技師が家のすべてのコンポーネントを無料で受け取り、配線の改善を除いて既に組み立てられているようです。週末に数時間を費やして他の家に同じ改善をするように教えると、人々は彼を狂気と見なします同じ取引。確かに、彼は自分の時間と専門知識の一部を無料で提供していますが、その見返りに、彼は彼が投入した作業の数倍の価値がある素晴らしい製品を手に入れ、次回何かを必要とするときに健全なエコシステムを確保します。


0

どう感じますか?悲しみ、次は「女性と話すにはどうすればいいか」と尋ねます。オープンソースは決して置き換えられませんが、有料ソフトウェアのごく一部です。ほとんどの組織にとって、既に知っているものから他の何か、さらには無料のものに移行するコストの増加は、SWのコストを上回ります。


0

フリー/オープンソースの主な哲学(私が見るように)は、ソフトウェアを配布するとき、ソースも一緒に配布するということです。オープンソースは必ずしも無料であるとは限りません。もちろん、大規模なプロジェクトでは、オープンソースソリューションを選択するだけで、棚から何かを取り出して差し込むだけでは完了しません。大規模なアプリケーションの場合は、特定のニーズに合わせて調整する必要があります(セットアップして既存のシステムを移行するのと同じくらい簡単にすることも、大部分を変更するだけの複雑にすることもできます)。元のソフトウェアの更新/バグ修正。つまり、プログラマーには常に仕事があります。言うまでもなく、主要なオープンソースプロジェクトについては、

このように考えてください。あなたの問題に対する成熟したオープンソースソリューションがすでに存在し、多くの人々によって使用されている場合、それほど成熟していない可能性のある何かのために大量の現金を沈めることは理にかなっています?使用する方が効率的です。仕事を維持することではなく(プログラマーが常に必要だと言ったように)、単純なビジネス感覚です。これは、納税者の​​お金がさらに重要です。仕事を続けるという名目でオープンソースを敬遠することは、人工的な環境を作り出しているだけであり、プログラミングコミュニティの健全性にとって一般的に悪いテクノロジーとIMHOの共有を制限しています。



0

私にとって、オープンソースは政治的でもあります。それはプログラマーがお互いを助け合うことを可能にします。そのため、ハードワークを繰り返し作り直す必要がなく、プロジェクト間での使用を許可されません。

また、プロジェクトのバックグラウンドルールのより良いセットを設定しますが、管理のルールではありません。最終的に、結果はより良い品質と寿命のコードになります。

コンピュータサイエンスの主題は非常に広大であり、非常に複雑なソフトウェアがいくつかあるため、それらを作成し、保守し、興味深い機能を追加する能力のある人はそれほど多くありません。

ソフトウェア業界だけでなく、世界全体にとって、「プログラマーのトンは仕事を失い、業界は縮小するだろう」というあなたの議論は本当に誤解を招くものだと思います。Webバブルを覚えておいてください。会社のプログラミングをしていない人をだますのは簡単です。オープンソースは、それに障壁を置く安全な方法です。

また、ソフトウェアは他の多くの業界とは異なると考えなければなりません。つまり、不安定なもの、資本主義が実際には機能しないものを提供します。物理オブジェクトを複製できたとしても、その分子は誰かが「所有」しているため、複製するアスピリンピルごとに料金を支払う必要があると想像してください。それはほとんど意味がありません。今、純粋できれいな水をコピーすることを考えてください(いつかは高価になります):そのようなものにお金を払わせることは、倫理的かつ哲学的に正しいと思いますか?

プログラマがオープンソースのために仕事を失う場合、それはおそらく同じ種類のソフトウェア品質を再現することができないためであるため、ある意味で解雇されるに値する。しかし、それは彼らが仕事を持つプログラマーが少なくなるべきではないということではありません:それは単にコミュニティ、チームワーク、倫理の問題です:企業は既存のソフトウェアを使用して問題の解決策を実装するためにプログラマーにお金を払うか、そうでなければ追加できる有能なプログラマーを雇うべきです既存のコードの機能。

iOS、Windows Phone、Symbian、Androidを使用してください。これらは75%が同じことを行っており、ほぼ同じ「ホイール」を意味しています。味は違いますが、最終的には、企業が理想に向かって生き残りたいと思ったため、多くのお金が費やされました。

オープンソースは単なる政治的なものではなく、イノベーションに関するものでもあります。すべてをゼロから何度も再起動する必要がある場合、どのようにして新しいアイデアに現実を与えたいですか?


0

フリー/オープンソースソフトウェアが行うことは、ベースラインを確立することです。もしあなたの会社がF / OSの代替品より優れたものを生産できない場合、多くのコピーを販売することはできません。会社が利用可能なF / OSよりもはるかに優れたものを提供できれば、コピーを販売して利益を上げることができます。したがって、1つの使用法は、悪いソフトウェアを販売することによって企業が獲得する能力を低下させることです。

また、参入障壁も低くなります。半ば最新のデスクトップまたはラップトップを持っている人なら誰でも、ソフトウェアライセンスにわずかな費用をかけることなく、使いやすいGUIと優れた開発環境を備えた非常に機能的なOSを使用できます環境の種類、およびそうでない多くの人)。

したがって、F / OSSは、ソフトウェア起業家が低コストでビジネスを開始するのに役立ちます。これにより、昔は大学以外のコンピューターの使用をほとんど制御していた金融関係者に比べて、ソフトウェアイノベーターの影響と利益が増加します。最近の大規模なサクセスストーリーの多くは、F / OSSとその効果なしでは、おそらく実現不可能でした。

対応する能力なしに多くのお金を稼ぐ機会を減らしますが、これは間違いなく良いことです。

あまり良くない開発者は、コンピューターシステムを戦略的資産として利用していない企業の内部ソフトウェアにニッチを見つけ、それらのジョブはF / OSSの影響をあまり受けません。

起業家ではないが非常に優れた開発者は、高品質の非F / OS商用ソフトウェアを販売する企業と相性が良いでしょう。お金ベースの市場は、F / OSSの評判市場よりも多くのニーズを提供するのに効果的であり、鈍い必要なものを生産するのにはるかに優れています。ほとんどのF / OSS開発者が回避する重要なアプリケーションは多数あります。

ですから、全体として、開発コミュニティにとって健全だと思います。開発者が裕福になるためのより良いショットを可能にし、優れた製品を作るためのインセンティブとして機能します(そして、ほとんどの開発者は悪い製品よりも優れた製品に取り組むほうが望ましいでしょう)。それはそれほど良くない開発者や悪い経営の会社で働いている開発者を傷つける可能性がありますが、需要をそれほど減らすことはなく、彼らはとにかく仕事を見つける可能性があります。

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