多くの人が、新しいスマートフォンを購入する際に、カメラの仕様、画面サイズ、およびストレージ容量について心配しています。 これらの魅力的な消費財の最も重要な要素のXNUMXつは、見落としがちなオペレーティングシステムです。
GoogleのAndroidは、世界で最も人気のあるモバイルオペレーティングシステムです。 これは、世界中のスマートフォン電話の86%以上で見られます。 さらに驚くべきことは、AndroidがオープンソースのLinuxオペレーティングシステムに基づいていることです。 つまり、大多数のスマートフォンの中心にあるコードを誰でも読んだり、変更したり、そして最も重要なこととして共有したりできるということです。 この開放性によってコラボレーションが可能になります。
たとえば、単一の会社によって作成および保守されていたMicrosoftWindowsとは異なります。 世界中から15000人以上のプログラマーがLinuxの開発と保守に貢献しています。 これらのプログラマーは、自由に配布される新しいものを構築することを提案するかもしれません。
オープンソースとは何ですか?
元のソースコードが公開されており、ユーザーが必要に応じて共有および更新できるソフトウェア。 オープンソースソフトウェアは、再利用性とアクセシビリティのために誰でも変更または改善できるように、通常、ソースコードまたはベースコードにアクセスできるソフトウェアです。
プログラムまたはアプリケーションが正しく機能するように、ソフトウェアの一部は誰でも操作および変更できます。 コンピュータプログラムのソースコードにアクセスできるプログラマーは、機能を追加したり、常に正しく動作するとは限らないセクションを修正したりすることで、ソースコードを拡張できます。
オープンソースソフトウェアは、ピアレビューとコミュニティの出力に依存して、分散型の協調的な方法で作成されます。 オープンソースソフトウェアは、単一の作成者や企業ではなくコミュニティによって作成されているため、一般に、プロプライエタリソフトウェアよりも安価で、適応性が高く、寿命が長くなります。
毎年、オープンソースはますます普及し、政府の町から機関まで至る所に現れています。 また、あらゆる規模の企業の間で人気が高まっています。 実際、一部の企業は、プロジェクトに資金を提供したり、開発者と協力したりすることで、オープンソースを次のレベルに引き上げています。
コラボレーションは、無料のオープンソースでイノベーションを促進します。 今日私たちが当たり前と思っているテクノロジーの多くは、進化していなかったか、特許法によって保護されていなかったでしょう。
歴史
初期のインターネット技術と通信ネットワークプロトコルに取り組んでいる研究者は、1950年代と1960年代のオープンで共同の研究環境の恩恵を受けました。 ピアレビューとオープンコメントは、最終的に現代のインターネットの基礎となった国防高等研究計画局ネットワーク(ARPANET)によって促進されました。
各ユーザーグループのソースコードが共有され、改善されました。 フォーラムは、議論の促進だけでなく、オープンなコミュニケーションとコラボレーションの規範の開発を支援しました。 コラボレーション、ピアレビュー、コミュニケーション、およびオープン性は、1990年代初頭に開始されるまでに、インターネットのルーツに組み込まれていました。
ソースコードを公開するという考えは、1983年にMITのプログラマーであるRichardStallmanによって非公式に開始された知的キャンペーンに端を発しています。それを理解し、学び、そして改善する。
ストールマンは、彼自身のライセンスであるGNUPublicLicenseの下で自由ソフトウェアの配布を開始しました。 ソフトウェア開発に関するこの新しい技術と態度は勢いを増し、最終的には1998年にオープンソースイニシアチブの設立につながりました。
オープンソースソフトウェアとクローズドソースソフトウェア
オープンソースソフトウェア
- アクセス可能なソースソフトウェアは、ソースコードが一般に公開されているコンピュータソフトウェアであり、誰でもそれを表示して使用できます。
- コードは他の個人や組織によって変更される可能性があり、ソースコードには誰でもアクセスできます。
- オープンソースソフトウェアのコストは非常に低いです。
- プログラムが人気のある場合、かなりの数のプログラマーがプロジェクトに割り当てられる可能性があります。
- ソフトウェアの使用とカスタマイズに関して、ユーザーに対する制限は少なくなります。
- オープンソフトウェアを実行するように任意のマシンを構成できます。
- Firefox、 GoogleによるAndroid、Linuxオペレーティングシステム、Android、Thunderbird、MySQL、Mailman、Moodle、Perl、PHP、Pythonなどがその例です。
クローズドソースソフトウェア
- クローズドソースソフトウェアは、クローズドソースコードを備えたコンピュータソフトウェアです。つまり、一般の人々はソースコードにアクセスできません。
- ソフトウェアを作成した人またはグループのみがコードを変更できます。
- クローズドソースソフトウェアのソースコードは保護されています。
- ソフトウェアの使いやすさとカスタマイズに応じて、ユーザーに課せられる制限がいくつかあります。
- ソフトウェア会社/組織は、ソフトウェアを改善するためにプログラマーを雇います。
- クローズドソースソフトウェアは高価です。
- 閉じたソフトウェアをコンピュータにインストールする前に、有効なライセンスが必要です。
- クローズドソースソフトウェアにはエラーの余地はありません。
- Skype、Google Earth、Java、Adobe Flash、Virtual Box、Adobe Reader、Microsoft Office、Microsoft Windows、WinRAR、mac OS、AdobeFlashPlayerなどがその例です。
利点
オープンソースコードは、意欲的な開発者と大企業の両方の技術的専門知識を支援してきました。 特にコーディングの結果が高まっていることを考えると、これは終わりのない教育です。 この拡大し続けるアイデアのネットワークは、そのようなソフトウェアが企業にどのように役立つかを示す始まりにすぎません。
予算を伸ばすことは、スタートアップにとって毎日の戦いかもしれない。 オープンソースプロジェクトの可用性により、消費者は会費を支払ったり、長期契約に署名したりすることなく、新しいテクノロジーを採用することができます。 低コスト(または存在しない)のほかに、オープンソースライブラリを使用すると、チームはITインフラストラクチャの構築や新しいアプリケーションの開発をすぐに開始できます。
この作業の多くは、オープンソースのおかげですでに行われています。 これにより、開発者は最適化とカスタマイズのための時間を解放できます。 組織が開発をゼロから始めたいという状況は常にありますが、世界最高のブランドでさえ、オープンソーステクノロジーを使用することで節約された時間とお金を認識しています。 オープンソースコンポーネントは、複雑なアプリの開始キットとして使用する場合でも、プロジェクトの完了に役立つ小さなパズルのピースとして使用する場合でも、個々の開発者とエンタープライズチームの両方にとって有用な代替手段となる可能性があります。
GitHubのようなオンラインコミュニティは、オープンソースソフトウェアのコラボレーションの可能性を示しており、何百万もの開発者や企業がオープンソースプラットフォームをホスト、評価、利用するための拠点を提供しています。 マイクロソフトは7.5年にプラットフォームに2018億ドルを支払いました。これは、オープンソーステクノロジーがどれほど人気になり、確立されたIT巨人がこのコミュニティの将来に投資していることを示す、これまでで最も目に見える例です。
さまざまな理由から、オープンソースソフトウェア戦略の開発と実行が重要になっています。 個々にそして一緒に、オープンソースソフトウェア開発者は技術的な課題に対する最良の答えを求め、信頼性が高く、安全で、無料のソフトウェアを生み出します。 彼らのたゆまぬ努力の結果として、プログラムは時間とともに改善されます。
このプロセスは、いくつかの技術ドメインにわたるオープンソースをサポートするLinux Foundation、Apache Software Foundation、およびEclipse Foundationなど、多数の基盤によって支援されています。
AWS、Facebook、Google、IBM、Microsoft、Netflix、SAPなどのデジタルの巨人、およびCisco、Intel、 テスラ。 また、ベンダーに依存しないプロジェクトの家を建て、インフラストラクチャの資金援助を提供し、マーケティングを支援し、賢明なプロジェクトの選択を行うための委員会を選択します。
要約すると、オープンソースの主な利点のいくつかは次のとおりです。
- ハードウェアの費用は低くなります。
- 並外れた品質のソフトウェア。
- 開発者によるグローバルなサポート。
- 柔軟性と自由。
- ライセンスの管理は簡単です。
- プロジェクトの集中とスケーリング。
リスク
前のセクションで述べたように、オープンソースにはいくつかの利点があります。 次に、それに関連する潜在的な欠点または危険性について見ていきます。これらは、次のXNUMXつのカテゴリに分類されます。
- セキュリティリスク
- 品質リスク
- コンプライアンスリスク
オープンソースコンポーネントはさまざまなインターネットリポジトリにあり、開発者はそれらがどれほど優れているか、または安全であるかを知る手段がありません。 使用法の管理に投資しない組織はリスクにさらされ、間違いの修正にかかる費用がはるかに高くなったときに、後で代金を支払う可能性があります。
セキュリティリスク
ハッカーは、オープンソースのセキュリティ上の欠陥を悪用して大金を稼ぐことができます。 これにより、ハッカーは攻撃を開始するために必要なすべての情報を入手できます。 さらに悪いことに、それは非常に広く使用されているため、人気のあるコンポーネントの脆弱性は、ハッカーに多数の潜在的な被害者を提供します。 これは、ハッカーがコミュニティを注意深く監視しており、人気のあるオープンソースコンポーネントの既知のセキュリティ上の欠陥をすばやく悪用することを意味します。
ソフトウェアビジネスは、オープンソースの使用を監視せず、コード内の脆弱なライブラリを認識していない場合、悪意のある攻撃に対して脆弱です。
品質リスク
企業は多くの時間とお金を費やして、 独自のコードの品質、多くの開発チームがオープンソース コンポーネントの品質を過小評価または無視しているようです。 もちろん、私たちは皆、最終製品が圧力下で一貫して安定していることを望んでいます.
オープンソースソフトウェアコンポーネントが製品のステータスを損なうことがないことを確認するのが難しい理由のXNUMXつは、その品質を評価するための合意された基準がないためです。また、オープンソースの協調性により、製品の品質が低下する可能性があります。測定。
コンプライアンスリスク
すべてのオープンソースソフトウェアコンポーネントとその依存関係にはライセンスが付与されています。 私たちがプロジェクトでそれらを利用するとき、私たちは遵守しなければならない一連の条件を約束します。 オープンソースライセンスの複雑さに慣れていない人にとって、これは悪夢になる可能性があります。
一部のオープンソースプロジェクトには、いかなる種類のソースライセンスもありません。これは、著作権規則がデフォルトで適用されることを意味します。 ライセンスが非常に多いため、すべての法的要件を満たすことは非常に困難です。 200を超える異なるタイプのオープンソースライセンスがあり、それぞれに独自の、専門的で、しばしば不可解な条件のセットがあることをご存知ですか?
オープンソースの未来
イノベーションの新しい波は、XNUMXつのビジネスだけでなく、環境全体の改善に専念するコミュニティからの共同作業の結果であるソフトウェアによって促進されます。
企業は、開発者がデジタル分野で競争できるように解放しています。これは、テクノロジー業界が企業間で露出を増やし続けているため、テクノロジー業界で絶えず増大するイノベーションを最初に生み出すことを目的としています。
開発者は、オープンソースコミュニティを使用し、最高の開発者から学ぶことで、テストと実装の問題に効果的に対処できます。特に、AIなどの新しいテクノロジーが殺到しています。 機械学習、およびロボット工学の進歩。
従業員がダイナミックでソリューション指向のコミュニティを利用すると、ビジネスが向上します。 自動運転車から医療ロボット、スマートシティからデータセンターまで、これらの課題への回答を少数の企業に任せたくはありません。 代わりに、最高の結果を得るには、オープンソースと多数の優秀な発明家に頼るべきです。
まとめ
オープンソース運動は、過去数十年にわたる技術の急速な進歩に責任があります。 オープンソースにはいくつかのリスクがありますが、多くの利点と有望な方法があります。 貢献者の大規模なコミュニティ、開始するためのハウツーガイドライン、他の人のコードを研究することによる学習、および他のエンジニアとのコミュニケーションの経験を積むことは、オープンソースソフトウェアから得られるいくつかの優れた利点です。
オープンソースプロジェクトへの貢献も開始したい場合は、最初に魅力的なプロジェクトを見つけてから、GitHubで「goodfirstissue」などのラベルを検索してください。 良い創刊号 は、これまで貢献したことのない開発者に人気のあるプロジェクトから簡単に選択できるプロジェクトです。
コメントを残す