導入Phaidracon 2021は、オープンソースコミュニティと学術界が参加する円卓会議です。参加者は先日、オープンソースのアプローチが学術分野に新たな価値や付加価値をもたらす方法、そして学術データの保存においてどのような具体的な役割を果たすことができるかについて議論しました。 オープンソースは学術の基盤の上に構築されました。大学は、オープンな研究環境、研究資源の共有、そして情報共有の長い歴史を持っています。協働は、この広く普及した現象の一部であり、学術研究における日常的なプロセスです。この協働の精神は、学術研究がしばしば公的資金によって賄われているという事実に一部起因しています。こうした協働と繋がりを通して、学術界は徐々にコミュニティへと成長していきます。 ダネーゼ・クーパーは、サン・マイクロシステムズに最初のオープンソース・プログラム・オフィス(OSPO)を設立しました。彼女によると、オープンソース・コードとオープンソース・ソフトウェアには違いがあります。 コミュニティはオープンソースソフトウェアの構築に不可欠な要素です。オープン性と透明性の推進運動への参加は、持続可能なオープンソースソフトウェアの形成と保護に不可欠です。「プログラムを作成し、そのソースコード全体をウェブサイトに公開しました。このプログラムは『オープンソース』と言えるのでしょうか?」という質問をよく耳にします。 それは明らかにそれほど単純ではありません。 コミュニティの発展を推進する力を評価する上で、知識の共有は重要な要素です。コミュニティへの貢献は、コミュニティの持続可能性にとってもう一つの重要な要素です。ダイナミックで持続可能なオープンソースプロジェクトは、より長く存続し、大きな成長を遂げるでしょう。 体験に参加する多くのオープンソースコミュニティのリーダーは、人々をコミュニティに惹きつけるものは何なのかを完全に理解するのに苦労しています。オープンソースプロジェクトへの参加を促す上での中心的な課題は、共通の目的意識を育むことです。帰属意識もまた重要であり、これは真の協力と関与を通してのみ実現できます。しかし、共通の目標だけが原動力ではありません。より一般的な原動力は、共通の目的に向かって取り組む経験です。帰属意識と、より大きな目的の一部であるという意識自体が、大きな動機付けとなります。 「オープンソースは、多くの人は形容詞として捉えがちですが、動詞でもあります。つまり、方法を説明し、実践するということです。」— ジョンズ・ホプキンス大学シェリダン図書館副学部長、サイード・チョードリー オープンソースプロジェクトにおいて、貢献できることは開発者とユーザーの両方にとって非常に重要です。開発者の貢献は明らかなメリットをもたらします。しかし、ユーザーの価値も過小評価すべきではありません。彼らはニーズだけでなく、重要なフィードバックやユーザーエクスペリエンスも提供してくれるからです。 健全で活気のあるコミュニティは、オープンソースソフトウェアとオープンソースデータにとって不可欠です。したがって、プロジェクトの規模と活動レベルは、コミュニティの長期的な持続可能な発展にとって重要な指標となり得ます。 「オープンソースプロジェクトが直面する最大の課題の一つは、コミュニティを、婉曲的に友人の友人と呼ぶ参加者のネットワークから、プロジェクトが貢献やユーザーからのフィードバックを得られる転換点へとどのように拡大していくかということです。しかし、その転換点がいつ訪れるのかは、私たちには全く分かりません。」—ダニエル・バーンスタイン、Fedoraリポジトリプロジェクトのテクニカルリーダー オープンソースは幅広いコラボレーションの架け橋です。オープンソースは価値観や原則だけではありません。オープンソースの開発、データ、そして管理には、実用的な理由があります。 ほとんどのプロジェクトにとって、ソフトウェア開発は、主要分野を中心とした幅広いコラボレーションの強力な基盤となります。 異なる機関のグループを結集し、共同で問題解決に取り組むことで、ソフトウェアは他の活動の足掛かりとなる可能性があります。長期研究を行うほとんどの研究者にとって、これはソフトウェアの詳細とは実際には無関係です。より重要なのは、データが時の経過に耐えられることです。データには独自の価値と重要性があります。テクノロジーの役割は、データを可能な限り安全かつ経済的に、長期的に保存することです。 プロジェクトのソフトウェア開発プロセスを理解することは、コミュニティの他のメンバーとのコラボレーションの出発点です。人々は遠隔地から、そして多くの場合タイムゾーンを越えてコラボレーションする必要があるため、参加意識を醸成することが困難です。プロジェクトへの参加を促すことと、参加を促すことのバランスを取る必要があります。 新規メンバーのコミュニティ参加を促すことと、既存メンバーの貢献や視点を尊重することのバランスを取るのは、時に難しい場合があります。プロジェクトの進捗を妨げる障害を最小限に抑えつつ、既に積極的に参加しているメンバーが満足感と安心感を得られるような適切なガイダンスを確立することが重要です。 共有ソリューションオープンソース ソフトウェアは、学術機関に一般的な問題に対処するための具体的な方法を提供します。 多くの場合、解決策を見つける最も早い方法は、他の人がこれらの問題にどう対処してきたかを学ぶことです。なぜなら、人は他の人が特定の課題にどう取り組んできたかを自然に学ぶからです。 成功したオープンソースソリューションは、活発なコミュニティによって支えられているため、目に見える形で現れます。オープンソースプロジェクトの透明性により、他者がどのように問題を解決しているかがわかるため、これらのソリューションはリスクが低くなります。 コミュニティが貢献者ではなくエンドユーザーに焦点を当てている場合でも、参加し、経験を共有し、共通の目標を達成するという行為は依然として非常に価値があります。オープンソースソフトウェアは、ソフトウェア自体をはるかに超える価値を提供することが多いため、より広範なコラボレーションへの架け橋となる可能性があります。開発者、ユーザー、そしてモチベーターは皆、オープンソースイニシアチブの構築と参加における自らの役割を深く考えるべきです。 翻訳者紹介Qiu Kaiは51CTOのコミュニティエディターであり、現在は北京ZJS Express Co., Ltd.で情報セキュリティエンジニアとして勤務しています。主な業務は、同社の情報セキュリティ計画と構築(レベル保護スキーム、ISO27001)で、日々の業務は主にセキュリティソリューションの開発と実装、社内セキュリティ監査とリスク評価、そして管理です。 原題:学術界がオープンソースを選択する理由、著者: Ben van 't ende |
なぜ学界はオープンソースを好むのでしょうか?
関連するおすすめ記事
-
RHEL 8にMiniKubeをインストールする方法
-
この記事では、GitLab を使用して Maven リポジトリを設定する方法について説明します。
-
オープンソースの顔認識技術「SeetaFace」入門チュートリアル(パート1)
-
DockerでElasticsearch 7.7.0をインストールするための詳細なガイド
-
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。
-