|
オープンソース文化の形成 1998年2月8日、ブルース・ペレンズ氏の有名な論文「オープンソースの定義」は、多くのオープンソース愛好家(主にハッカーとプログラマー)にオープンソースの理念を明確に理解させました。その後、オープンソースの実践的な意義と文化的影響に注目する人が増えました。OSIをはじめとする様々なオープンソース団体の努力により、影響力のある企業もオープンソース運動に注目し始めました。IBMは2001年にLinuxの利用拡大に10億ドルを投資し、その先頭に立っていました。オープンソース界からの圧力を受けたマイクロソフトも、2002年にオープンソースコードの公開範囲を拡大すると発表しました。この頃までに、オープンソース運動は水面下から前面へと躍進し、人々の関心を集める文化的現象へと発展しました。今日では、クラウドコンピューティングが不可欠であり、BitTorrentやeMuleを使ってダウンロードし、ブログで体験を共有する…これらはすべてオープンソースの成果です。オープンソースアプリケーションの爆発的な成長により、「オープンソース」という言葉はあらゆるギークの心に深く刻み込まれ、本来の意味を失い、独自の文化を象徴するようになりました。今では、オープンソース文化を完全に理解する必要はありません。「オープン」=「共有」であり、「ソース」=「リソース」であることを理解するだけで十分です。 オープンソース文化の真髄 「オープンソース」という言葉は、誕生当初、ハッカーたちが知的財産と自由の共有を追求する姿を象徴していました。しかし、オープンソースが広く受け入れられる文化現象となるにつれ、その基本定義である「自由と共有」に独自の含意が加わりました。社会における人々の協働は、人類社会の発展にとって不可欠な要件です。人々は相互補完と学習を通じて進歩し、より大きな成功を収めます。オープンソースは、社会的な集団行動から、社会における進歩とコミュニケーションの標準へと変化しました。 オープンソースは具体的に何をもたらすのでしょうか? オープンソースは、独自の文化現象として、当然ながら独自の実用的意義を有しています。オープンソースソフトウェアは、ユーザーにプロプライエタリソフトウェアを超える選択肢を提供し、ギークにはイノベーションの機会を提供します。オープンソースベースのダウンロード方式は、今日のネットユーザーが様々なリソースを入手するための主要な手段でもあります。さらに重要なのは、共有とクラウド思考を重視するオープンソースの考え方が、多くの大企業にとってオープン思考を取り入れ、さらなる技術進歩を生み出すための魔法の武器となっていることです。実際、オープンソースは思考様式、思考プロセスとなっています。同時に、文化的な意味合いを持つコンピュータ用語「オープンソース」は、それを使用する人々によって特定の哲学的意味も与えられてきました。エンドユーザーにもたらす複雑さとは裏腹に、オープンソースの背後にある哲学的思考はシンプルであるべきです。オープンソースは、人間的な特性であるコミュニケーションからその応用特性を導き出し、より直感的な表現を可能にします。オープンソースは人々の間のインタラクションを高め、コミュニケーションの必要性についてより多くの人々に考えさせるのです。ある程度、常に他の人から答えを見つけたいという怠惰な思考習慣を生み出す可能性がありますが、答えがすでに他の人にある場合は、オープンソースによってすべての人の時間を節約できます。 オープンソース文化を体現するオープンソースコミュニティ オープンソース自体は、ソフトウェアを通じて多数のユーザーに提供され、オープンソース文化の普及と発展は、数多くのオープンソースコミュニティを通じて実現されています。オープンソースコミュニティは、オープンソースコードコミュニティとも呼ばれ、狭義には、共通の関心を持つ人々が適切なオープンソースソフトウェアライセンス契約に従ってソフトウェアソースコードを公開するオンラインプラットフォームを指します。また、メンバーに自由な学習と交流の場を提供します。オープンソースコミュニティは、大きく分けて、ソフトウェアプロジェクトコミュニティ(Mozilla.org、Huihoo.org、Woodpeckerなど)、ハードウェアプロジェクトコミュニティ(OpenHW.orgなど)、オープンソースソフトウェア配信プラットフォーム(SourceForge.net、Co-creation Software Allianceなど)、オープンソースニュース・情報コミュニティ(Slashdot.org、Solidot.orgなど)、総合的なオープンソースコミュニティ(LUPA、ChinaUnix、Linuxfans、LinuxSir、Linux Edenなど)に分類できます。個々のオープンソースプロジェクトに特化したコミュニティは、さらに多く存在し、SourceForge.netだけでも10万以上の登録コミュニティがあります。 オープンソースコミュニティの第一の役割は、オープンソースに関する議論、リリース、そして交流のための健全な環境を構築し、人材を着実に育成することです。収益性の高いオープンソースビジネスモデルの推進は、これらの重要なタスクが確実に完了した後にのみ実現可能です。*Geek*は、オープンソース文化の継続的な発展と繁栄の決定要因は、誰もが自由に発言でき、ユーザー、開発者、そしてその他のステークホルダーが円滑にコミュニケーションできる安定した環境であると考えています。 [編集者のおすすめ]
|
オープンソース文化とオープンソースコミュニティ
関連するおすすめ記事
-
GitHub のアプリはオープンソースになりますか?
-
ElasticSearch の 43 個の使用ヒントを一気に読んでください
-
Visual Studio Code 1.67 がリリースされ、Rust ガイドが追加されました。
-
-
89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">resource ( s )
2022/07/02 13:17:33 1 つのリソースを作成しています
2022/07/02 13:17:33 1 つのリソースを作成しています
2022/07/02 13:17:33 検出キャッシュをクリアしています
2022/07/02 13:17:33 タイムアウト1 分で4つのリソースの待機を開始
2022/07/02 13:17:39 43個のリソースを作成しています( s )
2022/07/02 13:17:39 5分0 秒のタイムアウトで43のリソースの待機を開始
2022/07/02 13:17:40 デプロイメントの準備ができていません: argocd / argocd - applicationset - controller 。 予想される1 個のポッドのうち0 個が準備ができています
2022/07/02 13:17:42 デプロイメントの準備ができていません: argocd / argocd - applicationset - controller 。 予想される1 個のポッドのうち0 個が準備ができています
……
2022/07/02 13:19:44 デプロイメントの準備ができていません: argocd / argocd - applicationset - controller 。 予想される1 個のポッドのうち0 個が準備ができています
2022/07/02 13:38:27 デプロイメントの準備ができていません: argocd / argocd - dex - server 。 1 個のポッドのうち0 個が準備完了です
2022/07/02 13:38:30 リリースインストールに成功しました: argocd / argo - cd - 4.9.11
2022-07-02 13:38:30 ✔ [ 成功] ツール( argocd / default ) の作成が完了しました。
2022 - 07 - 02 13 : 38 : 30 ℹ [ 情報] -------------------------- [ 処理の進行状況: 4/4 。 ] --------------------------
2022 - 07 - 02 13 : 38 : 30 ℹ [ INFO ] 処理中: ( argocdapp / default ) -> 作成...
2022-07-02 13:38:31 ℹ [ INFO ] application . argoproj . io / dtm - test - go が作成されました
2022-07-02 13:38:31 ✔ [ 成功] ツール( argocdapp / default ) の作成が完了しました。
2022-07-02 13:38:31 ℹ [ 情報] -------------------- [ 処理が完了しました。 ] --------------------
2022-07-02 13:38:31 ✔ [ 成功] すべてのプラグインが正常に適用されました。
2022-07-02 13:38:31 ✔ [ 成功] 申請が完了しました。適用プロセス中、実行状態は定義された状態バックエンドストレージに保存されます。例えば、ローカルストレージを使用している場合、実行状態はルートディレクトリのdevstream.stateファイルに保存されます。合計4つのツールチェーンがあり、最初の2つが完了し、最後の2つが認識された場合、最初の2つのプラグインの状態がこのファイルに保存されます。次回の再適用時には、最後の2つのツールチェーンのみを実行する必要があります。
上記で定義したツールチェーンは、最終的に GitHub 上に Golang Web 用のスキャフォールディングされたアプリケーション コード リポジトリを作成します。
GitHub Actions は、CI 操作と Docker イメージの構築に使用されます。
CI プロセスは最終的にイメージを Docker Hub にプッシュします。
その後、ArgoCD が Kubernetes にデプロイされます。
$ kubectl get pods -n argocd
名前準備完了ステータス再起動年齢
argocd - アプリケーション- コントローラー- 0 1 / 1 実行中0 5 分55秒
argocd - アプリケーションセット- コントローラー- 64 d8c477f4 - 2 wrg6 1 / 1 実行中0 5 分55秒
argocd - dex - サーバー- dbdbf5499 - krmfz 1 / 1 実行中0 5 分35秒
argocd - 通知- コントローラー- b67c4bdb4 - 22 t9l 1 / 1 実行中0 5 分55秒
argocd - redis - df9db799b - 8 gbpv 1 / 1 実行中0 5 分55秒
argocd - リポジトリ- サーバー- 56769 cdd47 - zs65j 1 / 1 実行中0 5 分55秒
argocd - サーバー- 7 d4745f689 - w5pp7 1 / 1 実行中0 5 分55秒最後に、ArgoCDを使用してCD操作を実行し、サンプルアプリケーションをKubernetesクラスターにデプロイします。基本的には、ArgoCDアプリケーションオブジェクトを作成します。
$ kubectl アプリケーションを取得- n argocd
名前同期ステータスヘルスステータス
dtm - テスト- go 不明健康ArgoCD を通じて、デプロイされたアプリケーションの詳細を表示することもできます。
最後に、ツールチェーン全体を削除する場合は、`dtm delete` コマンドを実行するだけです。
プロセス全体は非常にスムーズでした(ただし、何らかの理由でGitHubへのアクセスが非常に遅かった点を除けば)。必要なプラグインを設定ファイルで定義するだけで済みます。プラグインの設定方法の詳細については、公式ドキュメント(https://docs.devstream.io/en/latest/plugins/plugins-list/)をご覧ください。
YAML設定ファイルに必要なDevOpsツールを定義するだけで、たった1つのコマンドでDevOpsツールチェーンとSDLCワークフロー全体を構築できます。DevStreamはまさに魔法のツールと言っても過言ではありません。
Git リポジトリ: https://github.com/devstream-io/devstream。
-