お知らせ

  • パソコン関連

GitHubをMicrosoftが買収

noimage

GitHubをMicrosoftが買収

Microsoft社はソースコードホスティング大手のGitHubを買収すると6月4日に発表しました。買収は2018年にも完了するということです。 GitHubは開発者向けのサービスで、ソフトウェアを構成するソースコードをホスティングし、Gitリポジトリをオンラインで管理することができます。 多くのオープンソース開発コミュニティもこのGitHubを利用しており、オープンなものは複数の開発者によってソースコードに変更を加えたり、バグを修正するなどの開発を円滑に進めていくことができました。 またオープンではなく組織内でのソースコード共有、リポジトリの管理もでき、社内開発などでもGitHubは積極的に利用されています。 Microsoftは現在開発者向けプラットフォームとしてのWindowsを押し出しており、その一環としてGitHubをその傘下に加えるという方針に出たのではと考えられます。 現状どうなるのかわからない部分として多くのオープンソースプロジェクトをGitHubを利用していますが、これらがMicrosoftの買収をどのように捉えるのか不明です。 Microsoftはプロプライエタリソフトウェア企業として、オープンソースソフトウェアと逆の立場を取っていることから、コミュニティによってはGitHubから他のホスティングサイトへの以降も検討されているようです。 今後VisualStudioなどとGitHubの連携がよりスムーズに行われることなど、MicrosoftとGitHubの良いシナジーも期待されます。 これにより多くの開発者の現場でGitHubによる効率化が促進されることになるでしょう。

  • パソコン関連

IoTとオープンソースの安全性

noimage

IoTとオープンソースの安全性

IoT機器はOSにLinuxなどオープンソースを利用し、Webサービスと連携する形で開発されているものがかなりあります。 たとえ簡単なIoT機器といえどインターネットに接続されている以上はセキュリティを重視し、セキュリティパッチなどを常に適用しておかないと脆弱性を抱えたまま放置し危険な状態になります。 オープンソースソフトウェアはかなり頻繁に脆弱性の発見と修正が行われます。これはオープンソースソフトウェア自体が脆弱性を多く抱えているということではありません。 オープンソースソフトウェアは利用者が多いほど脆弱性のレポートなどが頻繁で、かつソースコードが公開されているために修正手段などがすぐに議論され修正が行われる流れができています。 オープンソースでないソフトウェアのことをプロプライエタリを呼びますが、プロプライエタリについては脆弱性を発見しても開発者に対してレポートするしかできなく、修正についてはメーカーの判断などに任せることになります。 Windowsなどはレポートや社内で脆弱性の発見を行なっていますが、修正はマイクロソフト社だけが行うことができおよそ月に一度のWindows Updateの際にまとめられています。 プロプライエタリのソフトウェアでも利用者が多ければ脆弱性レポートが生まれる頻度が高いです。利用者が多いほど脆弱性レポートが生まれやすいのはオープンソースでも同じです。 IoT機器のソフトウェア作成でオープンソースを利用する場合は定期的にアップデートができるように設定し、できるだけ利用者の多いメジャーなものを利用する方が安全に運用できるはずです。 コンパクトなものでも万全のセキュリティを取っておくことが必要です。

  • パソコン関連

Windowsとフリーソフトのセキュリティ

noimage

Windowsとフリーソフトのセキュリティ

Windowsを利用しているセキュリティ上のメリットは脆弱性への対処が定期的に比較的速やかに行われることです。 Linuxをはじめとしたオープンソースでも同様に脆弱性発見とその対処は行われていますが、IT系のニュースでとりあげられることはオープンソースの方が比率としては多いです。 多くのWebサービスがLinuxをベースとしたWebサーバーで成り立っているため、サーバー側の脆弱性がすぐにサービス運営者と利用者に影響が出ることがあるのもその一つの理由でしょう。 例としてOpenSSLというWebサイト暗号化に一般的に利用されるソフトウェアについては、この数年で何度か大きな脆弱性が報告されています。 Apacheを主としたWebサイトがOpenSSLを使っている割合が多いため、これらのニュースはサイト運営者にはとても重要なことになります。 マイクロソフトは自社開発のソフトウェアをWindowsの機能やアプリケーションとして提供しているので、これらオープンソースの脆弱性の影響をほとんど受けません。 あくまでWindowsはOSですので、Windows上で動作するアプリケーションやサーバーをマイクロソフト製品で揃える必要はなく、自由な組み合わせが可能です。 Windows上でオープンソースのソフトウェアを導入して利用する事例も多くあります。 WindowsとTomcatを利用したJavaのWebサービスや、GUIをApacheを利用して提供するソフトウェアも見られます。 どのような組み合わせも自由でその選択肢はとても多いのですが、様々なところに脆弱性の情報が分散してしまうということにもなります。 Windowsは大部分がプロプライエタリ(クローズドソース)でソース公開がされていないため、脆弱性の発見と修正のサイクルはオープンソースと大きく異なります。 漏れがないように情報を収集するのはもちろんですが、なるだけ情報を集約しやすいシステム設計について考慮すると運用コストが低減できます。 現在はクラウドを利用したサービスも増えてきていますが、クラウド基盤や、クラウド上のプラットフォームについても別途脆弱性が発生することもあります。 選択肢が広がることは良いことですが、同時に運用のための情報が拡散しやすい状態にもなっているように感じます。

  • パソコン関連

.NETのオープンソース化

noimage

.NETのオープンソース化

マイクロソフトが自社のアプリケーション実行環境.NET Framework(ドットネット フレームワーク)のソースコードを公開する方針を明らかにしました。 これは一部分を公開するのではなく、広く開発者の参加を求め、.NET Coreとよばれる機能の中枢部分を公開して作成するというものです。 この決定はかなり大きな発表で、業界内での反響は大きいです。 .NETを公開する意義 .NETはC#やVisualBasic.NETなどで作成されたアプリケーションを動作させるために必須のもです。 これが今後Windows以外のプラットフォーム、LinuxやMac OSなどでも動作するようになります。 とはいえ今回公開されるのはCore部分とよばれる、いわゆるフォームなど画面の機能を省いたもので、サーバー側で動くサービスを作成するために提供される形になります。 .NETはJavaよりも新しい製品なので、より生産性の高くなる仕様を盛り込んでおり、さまざまなスキルの開発者に多くの機能を提供しています。 これをマイクロソフトは、Windowsの業界内での地位を確固とするための基盤としていました。比較的新しいC#やVisual Basic.NETも開発者の総数はとても大きいものです。 昨今のクラウドや、タブレット、スマートフォンの登場により、よりサーバー側で機能を大きく持ち、パソコンよりも非力なクライアント上で動作するサービスが増えてきています。 そうなるとサービスや、アプリケーションを構築する際に、サーバー側にコストが偏ることになります。 現在Windowsの動作するクラウドWindows Azureをマイクロソフトは公開しており、それが.NETが唯一動作するクラウド環境でした。クラウド業界ではコストパフォーマンスでAmazonなどが大きなシェアを占めるようになり、トータルのコストを考えるとインフラはAmazon、サーバーOSはLinuxが選ばれることが多くなりました。 そうなれば自然とLinuxで動作するソフトウェア開発、実行環境が選ばれますので、それまでは大多数だったWindowsだけのエンジニアの比率は小さくなっていってしまいます。 Linuxでリッチな開発環境と機能をもつ.NETが動作するとなると、.NET技術者をサーバー側のソフトウェア開発者にも充てることができるようになり、スマートフォンやタブレットなどのマルチプラットフォームを相手にしたサービス開始までの選択肢が広がります。 これはエンジニアとしても活動の範囲が広がり、より.NETの習得に意義を見いだすことができます。 オープンソースとマイクロソフト Windows Serverのセールスポイントの一つであったActive DirectoryをLinuxのプロジェクトSambaに提供するなど、マイクロソフトはLinuxと協調的な姿勢を示しています。 サーバー、クライアント、すべてをWindowsで固めると割高になるために、マイクロソフトの技術を避けた社内システムを構築する方向性もみられ、それがGoogle Appsなどのクラウド製品の導入のきっかけになりつつあります。 マイクロソフトも自社で開発した技術が無用なものになれば、それまでの研究開発費は無意味になってしまいます。 業界内でも最高度の品質と性能を持つマイクロソフトの技術を、Windows環境の普及と囲い込み、という目的だけでは守りきれないという判断もあるのではないでしょうか。 使いこなすことのできるエンジニアあっての技術です。エンジニア数が減ればプロジェクトの維持が難しくなりますので、自然と技術のシェアも低下していきます。 このようなオープンソースなどの取り組みは、マイクロソフトの技術力の高さを業界内でも大きく示すことになり、エンジニア離れを減らす効果が期待できそうです。 機材費、開発費、運用費など、トータルの判断で.NETなどマイクロソフトの技術を選ぶのであれば、プラットフォームもWindows ServerやWindows Azureを使うことの意義が出てきます。 より長期の戦略において、今回の.NETオープンソース化はマイクロソフトの今後に大きな影響を与えそうです。