|
[51CTO.com クイック翻訳] 2015年はオープンソースプロジェクトにとって間違いなく輝かしい年でした。大企業もスタートアップ企業も、自社の能力強化のためにコードを公開し続けました。重要なのはコードそのものだけでなく、膨大な数のプログラマーや貢献者がコードにアクセスし、修正、修正、そして改善できるという事実でした。 一部の企業にとって、オープンソースプロジェクトの目標は、より優れた技術の開発と、より優れたコミュニティの構築です。マイクロソフトもそのような企業の一つであり、意図的にオープン(設計段階からオープン)な開発者エクスペリエンスを提供することで、開発者が「モバイルファースト、クラウドファーストの世界で、より容易に優れたアプリケーションを構築」できるよう支援しています。これは、マイクロソフトの製品マーケティング担当シニアディレクター、デビッド・カルモナ氏によるものです。 同氏は、「開発者は最も必要とするツールを利用できるべきだと考えています。同時に、コミュニティが積極的に貢献し、進化する要件に対応できるようツールの改善を支援できるようにすることも重要です。マイクロソフトはよりオープンな開発者エクスペリエンスの提供に取り組んでおり、Visual Studio Codeや.NET Coreといった新しいオープンソース技術はその好例です」と述べました。 GitHubのオープンソース担当責任者であるブランドン・キーパーズ氏は、GitHubは2015年をオープンソース技術の「転換点」と捉えていると述べた。キーパーズ氏は、2016年には「GitHubの強力で多様性に富んだコミュニティが、オープンソースへのアクセス性を高めることに貢献するだろう」と予想している。 「昨年、AppleやMicrosoftのような大手企業がGitHubで重要な技術をリリースしたことを考えると、現代のソフトウェア開発の未来はオープンソースにかかっていることは明らかです。」 SD Times 誌は、オープンおよびフリー ソフトウェアの世界に影響を与えた GitHub 上の最も人気のあるプロジェクトのいくつかをレビューしました。 1.スウィフト Appleは昨年12月初旬、自社のプログラミング言語Swiftをオープンソース化すると発表しました。Swiftのオープンソース化により、開発者はWindowsやAndroidなどの他のプラットフォームにSwiftを追加できるようになります。Appleは引き続きSwift開発を主導しますが、コミュニティと協力してコードのバグ修正や改良を進めていきます。また、同社はこのプログラミング言語をLinuxオペレーティングシステムで動作させる新しい移植版も発表しました。Swift Linux移植版の特徴は、Swiftをベースにしつつも、Objective-Cランタイム環境、コア言語および標準ライブラリ、コアコードベース、そしてSwiftパッケージマネージャを省略していることです。 Swiftは、既存のCおよびObjective-Cコードやフレームワークへのアクセスを可能にし、デフォルトでメモリセーフです。Swiftは、オブジェクト、プロトコル、クロージャ、ジェネリクスといった高水準の構成要素を備えたフロー制御、データ構造、関数を備えています。GitHubでは、Swiftは30,201件のコミットと233人のコントリビューターを獲得しています。 関連リンク: https://github.com/apple/swift 2. Apache Spark Apache Sparkは、そのスピードと使いやすさで知られており、開発者はJava、Python、Scalaを使用してアプリケーションを迅速に開発できます。80を超える組み込みの高水準演算子を活用しています。これは、ビッグデータ向けの汎用クラスタコンピューティングシステムであり、データ分析のための汎用計算グラフをサポートする最適化されたエンジンを提供します。Sparkは、ソフトウェアプロジェクト管理および理解ツールであるApache Mavenを使用して開発されています。 さらに、SparkはHadoopのコアコードベースを使用し、Hadoop分散ファイルシステム(HDFS)やHadoopをサポートする他のストレージシステムと連携します。ApacheのGitHubページでは、クラスターを実行するバージョンと同じバージョンを使用してSparkをビルドすることを推奨しています。現在、Apache SparkのGitHubページには14,136件のコードコミット(または追跡されたリビジョン)と767人のコントリビューターがいます。 関連リンク: https://github.com/apache/spark/ 3. 無料コードキャンプ IT関連のQ&Aサイト「Stack Overflow」が実施した調査によると、最近の開発者の約半数は独学であることがわかりました。もう一つのオープンソースプロジェクトであるFree Code Campは、開発者に共にコーディングを学び、実践的な経験を積むことができるプログラマーのコミュニティを提供することを目的としています。また、非営利団体向けのプロジェクトも開発しています。 Free Code Camp コミュニティの利点には次のようなものがあります。 ◆HTML5、CSS3、JavaScript、データベース、Git、Node.js、Angular.js、アジャイル開発などのプログラミングスキルを習得します。 ◆ 何千人ものソフトウェア開発の専門家と出会う機会があります。 ◆無料およびオープンソースのプロジェクトに取り組みます。 ◆ 自宅にいながら快適に自分のペースでコーディングを学習できます。 ◆リアルタイムでサポートを受けられます。 もう1つの特典は、400時間のチャレンジ(シングルページアプリケーション10個の構築を含む)を完了すると、コミュニティからフロントエンド開発認定を取得できることです。現在、コミュニティには6,559件のコードコミットと221人のコードコントリビューターがいます。 関連リンク: https://github.com/FreeCodeCamp/FreeCodeCamp 4. VSコード Microsoftは昨年、Visual Studio Codeのソースコードを公開しました。プロジェクトのGitHubページによると、この新しいツールは、クリーンなコードエディタを提供すると同時に、開発者にコアとなる編集、ビルド、デバッグサイクルに必要な基本的なツールを提供することを目指しています。編集とデバッグのサポート、拡張可能なモデル、既存ツールとの軽量な統合といった機能を備えています。このプロジェクトは、Linux、Mac OS X、Windowsでも実行可能です。 開発者は、GitHub を通じて直接コードのバグを送信したり機能をリクエストしたりできるほか、ソース コードの変更やドキュメントを確認したり、プル リクエストを送信したりすることもできます。 Microsoftは、問題の修正やコードベースへの直接的な貢献に関心のある開発者向けに、以下の手順を提供しています。 ◆ソースコードを使用してビルドして実行する方法。 ◆デバッグやランタイムテストを含む開発ワークフロー。 ◆ コーディングガイドライン。 ◆ マージリクエストを送信します。 関連リンク: https://github.com/Microsoft/vscode 5. 海外のLinux 2015年3月、LinuxとWindowsの垣根を取り払ったGitHubプロジェクトが、GitHubで一躍有名になりました。Foreign Linuxです。Foreign Linuxは、Windows用の動的バイナリコードトランスレータであり、Linuxシステムコールインターフェースエミュレータです。Windows上で、ドライバやシステムの変更なしに、改変されていないLinuxバイナリを実行できます。 Foreign Linuxは、開発者が特権コードや仮想マシンを必要とせずに、純粋なユーザーモードアプリケーションで未改変のLinuxアプリケーションを実行することを可能にします。ローカルハードリンクとクライアントネットワークのサポートに加えて、動的コンパイルおよび静的コンパイルされた実行ファイルもサポートしています。GitHubページによると、このプロジェクトにはLinuxアプリケーションに必要な多くの機能がまだ欠けています。おそらく今年はForeign Linuxに新たな貢献者が加わるでしょう。現在、このプロジェクトには829件のコードコミットと8人のコード貢献者がいます。 関連リンク: https://github.com/wishstudio/flinux 6. リアクトネイティブ Facebookは、Android開発者がネイティブアプリケーション開発において同社のJavaScriptフレームワークを最大限に活用することを望んでおり、2015年9月にAndroid向けReact Nativeを発表しました。GitHubページによると、React Nativeはあらゆるプラットフォームにおいて開発者の高い生産性を確保することを目指しています。Facebookは既に複数の本番アプリケーションでReact Nativeを採用しており、今後もReact Nativeに時間と労力を投入していく予定です。 React Nativeは、ネイティブコンポーネント、非同期実行、タッチ操作、フレックスボックスとスタイル、ポリフィル関数など、数多くの機能を誇ります。4,384件のコードコミットと446人のコントリビューターがいます。 関連リンク: https://github.com/facebook/react-native 7. アンギュラーJS AngularJSを使用すると、コード作成者はスマートブラウザ上で開発しているかのようにクライアントサイドのWebアプリケーションを作成できます。GitHubページには、「HTML構文を拡張することでアプリケーションのコンポーネントを明確に表現します。また、双方向データバインディングを介して、ユーザーインターフェースのデータとJavaScriptオブジェクトを自動的に同期します。」と記載されています。 さらに、GitHubページによると、AngularJSはブラウザに依存性注入と制御反転の実行方法を教えることで、「より合理的なアプリケーション構造を構築し、テストを容易にする」のに役立ちます。AngularJSには7,340件のコードコミットと1,371人のコードコントリビューターがいます。 関連リンク: https://github.com/angular/angular.js 8..NET コア 2015年2月、MicrosoftはGitHubで.NET Core共通言語ランタイム(CLR)のソースコードを公開しました。このコードベースには、.NET Coreの実行エンジンであるCoreCLR全体が含まれています。 CoreCLRは、RyuJITコンパイラ、.NETガベージコレクション、.NETネイティブ相互運用性、およびその他の.NETランタイムコンポーネントを実装しています。CLRチームに新しく参加する開発者は、作業を開始する前にCoreCLRランタイムマニュアルを読むことをお勧めします。現在、コードベースには2937件のコミットと187人の貢献者がいます。 関連リンク: https://github.com/dotnet/coreclr 9. ランチャーOS プロジェクトのGitHubページには、「RancherOS内のすべてはDockerによって管理されるコンテナです。これにはudevやrsyslogなどのシステムサービスも含まれます。RancherOSには、Dockerの実行に必要な最小限のソフトウェアのみが含まれています。これにより、RancherOSのバイナリダウンロードサイズは約25MBに抑えられています。その他のすべてはDockerを介して動的に組み込むことができます。」と記載されています。 Dockerインスタンスは2つ使用されました。1つはシステムDockerインスタンスで、PID 1として実行されました。その後、システムDockerインスタンスが起動し、Dockerユーザーのコンテナを実行しました。その後、ユーザーDockerインスタンスがコンテナ作成に使用されるプライマリインスタンスになりました。これにより、オペレーティングシステム全体の削除を回避できました。 RancherOS には 811 件のコードコミットと 21 人のコード貢献者がいます。 関連リンク: https://github.com/rancher/os 10. レッツ・エンクリプト Let's Encrypt CAのスケーラブルなクライアントとして、証明書の取得と証明書使用のためのWebサーバー設定を自動化します。Let's Encryptクライアントは現在ベータ版であり、GitHubページには、本番環境への導入前にテスターが試用段階で包括的なテストを実施したことが示されています。 Let's Encrypt は、非営利団体の Internet Security Research Group によって開発された無料プロジェクトで、今年中に誰でも利用できるようになる予定です。 関連リンク: https://github.com/letsencrypt/letsencrypt 著者について: マディソン・ムーアは、権威あるソフトウェア開発雑誌*SD Times*のオンラインソーシャルメディア編集者です。2015年にペンシルベニア州デラウェアバレー大学を卒業し、メディア研究の学士号を取得しました。ムーアはPhilly.com、*The Philadelphia Inquirer*、PhillyVoiceで記者として活躍してきました。最近ロングアイランドに引っ越し、車愛好家でもあります。 原題: 2015年にGitHubチャートのトップに立ったもの、著者: マディソン・ムーア [この記事は51CTOによって翻訳されました。提携サイトへの転載の際は、元の翻訳者と出典を51CTO.comとして明記してください。] |