インターネットと経営/多拠点開発・分散開発
提供: Internet Web School
(ページの作成: インターネットと経営 > 多拠点開発・分散開発 = 概要 = = sectionタイトル = == subs…) |
(→ソフトウェア・ライセンス) |
||
(間の43版分が非表示) | |||
2 行: | 2 行: | ||
> [[インターネットと経営/多拠点開発・分散開発|多拠点開発・分散開発]] | > [[インターネットと経営/多拠点開発・分散開発|多拠点開発・分散開発]] | ||
- | = 概要 = | + | == 概要 == |
- | + | PCやモバイルアプリケーションの多拠点開発・分散開発のためには, | |
- | + | ソースコード管理・プロジェクトホスティングサービスの利用が不可欠である. | |
- | + | ||
- | + | ソースコード管理・プロジェクトホスティングの主な機能としては,以下が挙げられる. | |
- | + | ||
- | + | ||
- | + | *開発コードのホスティング | |
- | + | *バージョン管理・課題管理 | |
- | + | *バグトラッキングと管理 | |
+ | *Wiki | ||
+ | *コードコメント | ||
+ | *プルリクエスト | ||
+ | *コレクション管理 | ||
- | = | + | == GitHub == |
- | + | [http://github.com/ GitHub] は,利用者の最も多い Gitリポジトリのホスティングサービスである. | |
- | + | ||
- | + | ||
- | + | *バージョン管理 : Git | |
+ | *管理機能 : コードホスティング, バグトラッキング, ウェブホスティング, Wiki, 個人ブランチ | ||
+ | *提供元 : GitHub, Inc. | ||
- | + | [[File:GitHub.png|center|frame|GitHub]] | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | = 演習課題 = | + | GitHubは「Build software better, together」すなわち「優れたソフトを一緒に開発する」ことを助ける, |
+ | 開発チームのためのWebサービスである, | ||
+ | ソース管理や「Issue」という掲示板形式の連絡機能があり, | ||
+ | 開発者とマネージャーの間で進捗状況についてコミュニケーションを取ることが容易である. | ||
+ | |||
+ | 例)GitHubにあるリポジトリをローカルにcloneする方法 | ||
+ | |||
+ | #リポジトリのページからclone URLをコピーする | ||
+ | #terminalでgit cloneする | ||
+ | |||
+ | cd projects | ||
+ | git clone git@github.com:masamitsu-konya/example.git | ||
+ | |||
+ | == SourceForge.net == | ||
+ | |||
+ | [http://sourceforge.net/ SourceForge.net] は, | ||
+ | オープンソースのソフトウェア開発に利用されるソースコードリポジトリサービスである. | ||
+ | 多くのオープンソースプロジェクトが展開されている. | ||
+ | |||
+ | *バージョン管理 : SVN(Subversion), Git, Mercurial, Bazaar, CVS | ||
+ | *管理機能 : コードホスティング, バグトラッキング, ウェブホスティング, Wiki, シェルサーバ, メーリングリスト, フォーラム, アナウンス | ||
+ | *提供元 : Dice Holdings, Inc. | ||
+ | |||
+ | [[File:SouceForge.png|center|frame|SourceForge]] | ||
+ | |||
+ | CVSやSubversionバージョン管理システムで管理されたソースコードは, | ||
+ | 各々のクライアントソフトで取得することができる. | ||
+ | オープンソースプロジェクトの場合は,メンバーでなくともソースコードを取得することが出来る. | ||
+ | |||
+ | 例)Subversionを利用したソースコードの取得 | ||
+ | |||
+ | リポジトリURLを指定するタイプのSubversionクライアントでソースコードを取得する場合は,下記のフォーマットで取得できる. | ||
+ | |||
+ | http://svn.sourceforge.net/svnroot/該当するプロジェクト名 | ||
+ | |||
+ | == Google Developers == | ||
+ | |||
+ | [http://developers.google.com/ Google Developers(旧 Google Code)] は, | ||
+ | Googleが関連するソフトウェアやオープンソースのソフトウェア開発に興味を持つ | ||
+ | 開発者向けに立ち上げた,プロジェクトホスティングサイトである. | ||
+ | オープンソースのコードや,標準のAPIをサポートするサービス群から構成されている. | ||
+ | |||
+ | *バージョン管理 : SVN(Subversion), Git, Mercurial | ||
+ | *管理機能 : コードホスティング, コードレビュー, バグトラッキング, Wiki | ||
+ | *提供元 : Google, Inc. | ||
+ | |||
+ | [[File:Google_Developer.png|center|frame|Google Developers]] | ||
+ | |||
+ | Google API は,Googleが提供している,Webやデスクトッププログラマ向けの各種APIのリポジトリ. | ||
+ | AdSense,Google Checkout,Google Toolbar などがある. | ||
+ | |||
+ | *AdSense | ||
+ | *Google Checkout | ||
+ | *Google Toolbar | ||
+ | |||
+ | Google Data APIは,Googleのサービス(マップ,メール,カレンダー,ドキュメント等)から | ||
+ | データを読み書きするアプリケーションを作成できる. | ||
+ | 公開されているAPIとしては以下のようなものがある. | ||
+ | |||
+ | *Google Apps | ||
+ | *Blogger | ||
+ | *Google Base | ||
+ | *Google ブックス | ||
+ | *Googleカレンダー | ||
+ | *Googleソースコード検索 | ||
+ | *Google Spreadsheets | ||
+ | *Googleノートブック | ||
+ | *Picasa Web Albums | ||
+ | |||
+ | == CodePlex == | ||
+ | |||
+ | [http://www.codeplex.com/ CodePlex] は, | ||
+ | マイクロソフトによるオープンソースを含む開発をホスティングするサービス. | ||
+ | Microsoft Visual Studio と連携できる Team Foundation Server を利用できるのが特徴. | ||
+ | |||
+ | *バージョン管理 : Microsoft Team Foundation Server(TFS), SVN(Subversion), Git, Mercurial | ||
+ | *管理機能 : TFS, Documentation, Website Discussions, Website Bugs & Feature Requests, System Outage Report, Website Team | ||
+ | *提供元 : Microsoft Corporation | ||
+ | |||
+ | |||
+ | [[File:CodePlex.png|center|frame|CodePlex]] | ||
+ | |||
+ | |||
+ | CodePlexでは,Microsoftが提唱しているソースコード開示制度であるSSI(Shared Source Initiative)の一環として | ||
+ | 提供されるポータルサイトで,オンラインでのソースコードの共有と共同開発を行うための情報や機能を提供している. | ||
+ | CodePlexの下では複数の開発プロジェクトが立ち上げられ, | ||
+ | 参加者はソースコードの管理機能やバグの追跡機能を利用して開発作業ができる. | ||
+ | また,BBSやRSSフィードなどを利用して進行中のプロジェクトの最新情報が得られる. | ||
+ | |||
+ | CodePlexは,MicrosoftのVisual Studio 2005 Team Foundation Server(TFS)とASP.NETを基盤として構築されている. | ||
+ | TFSを基盤としていることによって,Visual Studioから直接CodePlexに接続して開発作業が可能となっている. | ||
+ | |||
+ | == ソフトウェア・ライセンス == | ||
+ | |||
+ | ===ソフトウェア頒布の種類=== | ||
+ | |||
+ | |||
+ | *オープンソースソフトウェア(OSS)(ソースコードが公開されているソフトウェアのこと) | ||
+ | *フリーソフトウェア(ソフトウェアのうち,フリーソフトウェア財団(FSF)が提唱する自由なソフトウェアを指す) | ||
+ | *フリーウェア(オンラインソフトの中で,無料で提供されるソフトウェアのこと) | ||
+ | *ドネーションウェア(使用者が任意の利用料を開発者に寄付するライセンス形態) | ||
+ | *シェアウェア(一時的な試用は無料であるが,継続的な使用に対しては対価を要求する) | ||
+ | *商用ソフトウェア,市販ソフトウェア(有償) | ||
+ | |||
+ | |||
+ | ===商用ソフトウェア・ライセンス=== | ||
+ | |||
+ | 商用ソフトウェアのソフトウェアライセンスには,主に以下のような事項が含まれる. | ||
+ | |||
+ | *ソフトウェアを利用できる人数(ないしコンピュータの台数 等) | ||
+ | *サーバソフトウェアの場合、サーバの台数(ないしCPUの数、インスタンスの数 等) | ||
+ | *ソフトウェアの利用可能期間(サブスクリプションや体験版など) | ||
+ | *ソフトウェアの利用場所(第三者への貸与および譲渡禁止など) | ||
+ | *ソフトウェアの利用目的(アカデミック版など) | ||
+ | *特定の利用方法の禁止(リバースエンジニアリングや公序良俗に反する利用方法など) | ||
+ | |||
+ | |||
+ | ===オープンソース・ソフトウェア(OSS) ライセンス === | ||
+ | |||
+ | ==== BSD License ==== | ||
+ | |||
+ | BSD Licenseは,フリーソフトウェアで使われているライセンス体系のひとつ. | ||
+ | カリフォルニア大学によって策定された. | ||
+ | |||
+ | 【概要】 | ||
+ | |||
+ | *「無保証」であることの明記と著作権およびライセンス条文自身の表示を再頒布の条件とするライセンス規定である. | ||
+ | *上記の条件さえ満たせば,BSDライセンスのソースコードを複製・改変して作成したオブジェクトコードをソースコードを公開せずに頒布できる. | ||
+ | |||
+ | |||
+ | ==== MIT License (X11 License) ==== | ||
+ | |||
+ | MIT Licenseはコピーレフトではなく,オープンソースであるかないかに関わらず再利用を認めている. | ||
+ | BSDライセンスをベースに作成されたBSDスタイルのライセンスの一つである. | ||
+ | X Window System (X11)などのソフトウェアに適用されている. | ||
+ | |||
+ | 【概要】 | ||
+ | |||
+ | *ソフトウェアを誰でも無償で無制限に扱って良い.ただし,著作権表示および本許諾表示をソフトウェアのすべての複製または重要な部分に記載しなければならない. | ||
+ | *作者または著作権者は,ソフトウェアに関してなんら責任を負わない. | ||
+ | |||
+ | |||
+ | ==== Apache Software License ==== | ||
+ | |||
+ | Apache Licenseは,Apacheソフトウェア財団 (ASF) によるソフトウェア向けライセンス規定である. | ||
+ | 著作権表示と免責事項表示の保持を求めている. | ||
+ | ソースコードはフリーソフトウェアやオープンソースプロジェクトでの開発にも使え,プロプライエタリ・ソフトウェアやクローズドソースの開発にも使える. | ||
+ | BSDライセンスをベースに作成されたBSDスタイルのライセンスの一つである. | ||
+ | |||
+ | 【概要】 | ||
+ | |||
+ | *1.1以前のバージョンはGPL非互換で非コピーレフトのフリーソフトウェアライセンスである. | ||
+ | *バージョン2.0はGPLバージョン3互換(GPL2以前とは非互換)のフリーソフトウェアライセンスである. | ||
+ | |||
+ | *ユーザーがそのソフトウェアの使用や頒布・修正・派生版の頒布をすることを制限しない. | ||
+ | *頒布される二次的著作物が同じライセンスで提供されたり,フリーソフトウエア,オープンソースソフトウェアとして頒布されることを要求しない. | ||
+ | *要求するのは,ユーザーがそのソフトウェアにApache Licenseのコードが使われていることを知らせる文言を入れることだけである. | ||
+ | *ライセンスされたファイルそれぞれに元々ある著作権と特許権の記述はそのまま保持されなければならず,何らかの修正が施されている場合は,その旨を追加記述しなければならない. | ||
+ | |||
+ | |||
+ | ==== GNU General Public License (GPL) ==== | ||
+ | |||
+ | GPLは二次的著作物についても下記4点の権利を保護しようとする. | ||
+ | この仕組みはコピーレフトと呼ばれ,GPLでライセンスされた著作物は,その二次的著作物に関してもGPLでライセンスされなければならない. | ||
+ | これはBSDライセンスをはじめとする緩やかなフリーソフトウェアライセンスが,二次的著作物を独占的なものとして再頒布することを許しているのとは対照的である. | ||
+ | GPLはコピーレフトのソフトウェアライセンスとしては初めてのものであり,そのもっとも代表的なものである. | ||
+ | |||
+ | 【概要】 | ||
+ | |||
+ | GPLは,プログラムの複製物を所持している者に対し,概ね以下のことを許諾する. | ||
+ | *プログラムの実行 | ||
+ | *プログラムの動作を調べ,それを改変すること | ||
+ | *複製物の再頒布 | ||
+ | *プログラムを改良し,改良を公衆にリリースする権利(ソースコードへのアクセスは、その前提となる) | ||
+ | |||
+ | == 参考URL == | ||
+ | |||
+ | *GitHub http://github.com/ | ||
+ | *SourceForge.net http://sourceforge.net/ | ||
+ | *Google Developers http://developers.google.com/ | ||
+ | *CodePlex http://www.codeplex.com/ | ||
+ | |||
+ | == 関連項目 == | ||
+ | |||
+ | *[[wikipedia_ja:ソフトウェア開発方法論|ソフトウェア開発方法論 (Wikipedia)]] | ||
+ | *[[wikipedia_ja:分散開発|分散開発 (Wikipedia)]] | ||
+ | *[[wikipedia_ja:ソフトウェアプロジェクト管理|ソフトウェアプロジェクト管理 (Wikipedia)]] | ||
+ | *[[wikipedia_ja:OSSホスティングサービスの比較|OSSホスティングサービス (Wikipedia)]] | ||
+ | |||
+ | == 演習課題 == | ||
*<span class="pops"> [[cai_ja:GRAINN00030005|CAIテストのページへ(新しいWindowが開きます)]] </span> | *<span class="pops"> [[cai_ja:GRAINN00030005|CAIテストのページへ(新しいWindowが開きます)]] </span> |
2016年5月24日 (火) 06:18 時点における最新版
インターネットと経営 > 多拠点開発・分散開発
目次 |
概要
PCやモバイルアプリケーションの多拠点開発・分散開発のためには, ソースコード管理・プロジェクトホスティングサービスの利用が不可欠である.
ソースコード管理・プロジェクトホスティングの主な機能としては,以下が挙げられる.
- 開発コードのホスティング
- バージョン管理・課題管理
- バグトラッキングと管理
- Wiki
- コードコメント
- プルリクエスト
- コレクション管理
GitHub
GitHub は,利用者の最も多い Gitリポジトリのホスティングサービスである.
- バージョン管理 : Git
- 管理機能 : コードホスティング, バグトラッキング, ウェブホスティング, Wiki, 個人ブランチ
- 提供元 : GitHub, Inc.
GitHubは「Build software better, together」すなわち「優れたソフトを一緒に開発する」ことを助ける, 開発チームのためのWebサービスである, ソース管理や「Issue」という掲示板形式の連絡機能があり, 開発者とマネージャーの間で進捗状況についてコミュニケーションを取ることが容易である.
例)GitHubにあるリポジトリをローカルにcloneする方法
- リポジトリのページからclone URLをコピーする
- terminalでgit cloneする
cd projects git clone git@github.com:masamitsu-konya/example.git
SourceForge.net
SourceForge.net は, オープンソースのソフトウェア開発に利用されるソースコードリポジトリサービスである. 多くのオープンソースプロジェクトが展開されている.
- バージョン管理 : SVN(Subversion), Git, Mercurial, Bazaar, CVS
- 管理機能 : コードホスティング, バグトラッキング, ウェブホスティング, Wiki, シェルサーバ, メーリングリスト, フォーラム, アナウンス
- 提供元 : Dice Holdings, Inc.
CVSやSubversionバージョン管理システムで管理されたソースコードは, 各々のクライアントソフトで取得することができる. オープンソースプロジェクトの場合は,メンバーでなくともソースコードを取得することが出来る.
例)Subversionを利用したソースコードの取得
リポジトリURLを指定するタイプのSubversionクライアントでソースコードを取得する場合は,下記のフォーマットで取得できる.
http://svn.sourceforge.net/svnroot/該当するプロジェクト名
Google Developers
Google Developers(旧 Google Code) は, Googleが関連するソフトウェアやオープンソースのソフトウェア開発に興味を持つ 開発者向けに立ち上げた,プロジェクトホスティングサイトである. オープンソースのコードや,標準のAPIをサポートするサービス群から構成されている.
- バージョン管理 : SVN(Subversion), Git, Mercurial
- 管理機能 : コードホスティング, コードレビュー, バグトラッキング, Wiki
- 提供元 : Google, Inc.
Google API は,Googleが提供している,Webやデスクトッププログラマ向けの各種APIのリポジトリ. AdSense,Google Checkout,Google Toolbar などがある.
- AdSense
- Google Checkout
- Google Toolbar
Google Data APIは,Googleのサービス(マップ,メール,カレンダー,ドキュメント等)から データを読み書きするアプリケーションを作成できる. 公開されているAPIとしては以下のようなものがある.
- Google Apps
- Blogger
- Google Base
- Google ブックス
- Googleカレンダー
- Googleソースコード検索
- Google Spreadsheets
- Googleノートブック
- Picasa Web Albums
CodePlex
CodePlex は, マイクロソフトによるオープンソースを含む開発をホスティングするサービス. Microsoft Visual Studio と連携できる Team Foundation Server を利用できるのが特徴.
- バージョン管理 : Microsoft Team Foundation Server(TFS), SVN(Subversion), Git, Mercurial
- 管理機能 : TFS, Documentation, Website Discussions, Website Bugs & Feature Requests, System Outage Report, Website Team
- 提供元 : Microsoft Corporation
CodePlexでは,Microsoftが提唱しているソースコード開示制度であるSSI(Shared Source Initiative)の一環として
提供されるポータルサイトで,オンラインでのソースコードの共有と共同開発を行うための情報や機能を提供している.
CodePlexの下では複数の開発プロジェクトが立ち上げられ,
参加者はソースコードの管理機能やバグの追跡機能を利用して開発作業ができる.
また,BBSやRSSフィードなどを利用して進行中のプロジェクトの最新情報が得られる.
CodePlexは,MicrosoftのVisual Studio 2005 Team Foundation Server(TFS)とASP.NETを基盤として構築されている. TFSを基盤としていることによって,Visual Studioから直接CodePlexに接続して開発作業が可能となっている.
ソフトウェア・ライセンス
ソフトウェア頒布の種類
- オープンソースソフトウェア(OSS)(ソースコードが公開されているソフトウェアのこと)
- フリーソフトウェア(ソフトウェアのうち,フリーソフトウェア財団(FSF)が提唱する自由なソフトウェアを指す)
- フリーウェア(オンラインソフトの中で,無料で提供されるソフトウェアのこと)
- ドネーションウェア(使用者が任意の利用料を開発者に寄付するライセンス形態)
- シェアウェア(一時的な試用は無料であるが,継続的な使用に対しては対価を要求する)
- 商用ソフトウェア,市販ソフトウェア(有償)
商用ソフトウェア・ライセンス
商用ソフトウェアのソフトウェアライセンスには,主に以下のような事項が含まれる.
- ソフトウェアを利用できる人数(ないしコンピュータの台数 等)
- サーバソフトウェアの場合、サーバの台数(ないしCPUの数、インスタンスの数 等)
- ソフトウェアの利用可能期間(サブスクリプションや体験版など)
- ソフトウェアの利用場所(第三者への貸与および譲渡禁止など)
- ソフトウェアの利用目的(アカデミック版など)
- 特定の利用方法の禁止(リバースエンジニアリングや公序良俗に反する利用方法など)
オープンソース・ソフトウェア(OSS) ライセンス
BSD License
BSD Licenseは,フリーソフトウェアで使われているライセンス体系のひとつ. カリフォルニア大学によって策定された.
【概要】
- 「無保証」であることの明記と著作権およびライセンス条文自身の表示を再頒布の条件とするライセンス規定である.
- 上記の条件さえ満たせば,BSDライセンスのソースコードを複製・改変して作成したオブジェクトコードをソースコードを公開せずに頒布できる.
MIT License (X11 License)
MIT Licenseはコピーレフトではなく,オープンソースであるかないかに関わらず再利用を認めている. BSDライセンスをベースに作成されたBSDスタイルのライセンスの一つである. X Window System (X11)などのソフトウェアに適用されている.
【概要】
- ソフトウェアを誰でも無償で無制限に扱って良い.ただし,著作権表示および本許諾表示をソフトウェアのすべての複製または重要な部分に記載しなければならない.
- 作者または著作権者は,ソフトウェアに関してなんら責任を負わない.
Apache Software License
Apache Licenseは,Apacheソフトウェア財団 (ASF) によるソフトウェア向けライセンス規定である. 著作権表示と免責事項表示の保持を求めている. ソースコードはフリーソフトウェアやオープンソースプロジェクトでの開発にも使え,プロプライエタリ・ソフトウェアやクローズドソースの開発にも使える. BSDライセンスをベースに作成されたBSDスタイルのライセンスの一つである.
【概要】
- 1.1以前のバージョンはGPL非互換で非コピーレフトのフリーソフトウェアライセンスである.
- バージョン2.0はGPLバージョン3互換(GPL2以前とは非互換)のフリーソフトウェアライセンスである.
- ユーザーがそのソフトウェアの使用や頒布・修正・派生版の頒布をすることを制限しない.
- 頒布される二次的著作物が同じライセンスで提供されたり,フリーソフトウエア,オープンソースソフトウェアとして頒布されることを要求しない.
- 要求するのは,ユーザーがそのソフトウェアにApache Licenseのコードが使われていることを知らせる文言を入れることだけである.
- ライセンスされたファイルそれぞれに元々ある著作権と特許権の記述はそのまま保持されなければならず,何らかの修正が施されている場合は,その旨を追加記述しなければならない.
GNU General Public License (GPL)
GPLは二次的著作物についても下記4点の権利を保護しようとする. この仕組みはコピーレフトと呼ばれ,GPLでライセンスされた著作物は,その二次的著作物に関してもGPLでライセンスされなければならない. これはBSDライセンスをはじめとする緩やかなフリーソフトウェアライセンスが,二次的著作物を独占的なものとして再頒布することを許しているのとは対照的である. GPLはコピーレフトのソフトウェアライセンスとしては初めてのものであり,そのもっとも代表的なものである.
【概要】
GPLは,プログラムの複製物を所持している者に対し,概ね以下のことを許諾する.
- プログラムの実行
- プログラムの動作を調べ,それを改変すること
- 複製物の再頒布
- プログラムを改良し,改良を公衆にリリースする権利(ソースコードへのアクセスは、その前提となる)
参考URL
- GitHub http://github.com/
- SourceForge.net http://sourceforge.net/
- Google Developers http://developers.google.com/
- CodePlex http://www.codeplex.com/