今夜11時からNHKのEテレ「スーパープレゼンテーション」
― クレイ・シャーキー 「インターネットで民主主義が変わる?」 SP
このプレゼンの中に、ギット(git)とギットハブ(github)という言葉が出てきます。
インターネットが民主主義、特に立法の在り方を変えるかもしれないという、このプレゼンの主張を支える非常に重要な部分です。
しかしながら、アナログおぢさんの私には、全く理解不能でした(泣)
それでも、一応、自分なりに調べた結果を書きますので、専門家の方に間違いを指摘していただけると幸せです!
例えば、パソコンで文章を書いて、上書きをした後に「しまった!」という経験はありませんか?上書きする前の文章に戻したいのに、ひとつ前のバージョンは残っていない。ファイル名に日付を入れたりして毎回新しいファイル名でセーブしておけば、古いファイルを残しておけますが、とても面倒ですし、ファイルの数がどんどん増えていきます。
また、複数の人間が関わるプロジェクトの場合はもっと複雑になります。ひとつモノを、複数の人間で作成する場合、いつ、誰が、どの部分を、どのように作成・変更・修整したかがわからないと、目標とするモノを完成できなくなるかもしれません。
これを管理するひとつの方法は、プロジェクト・リーダーが全てを管理する方法です。これが一般的な方法ですが、一度に作業ができる人数が制限されますし、リーダーの負担が非常に大きくなります。
これに対し、近年のインターネットでは、オープン・ソースなるものが現れました。ここではリーダーは存在せず、誰かが誰かに指示・命令するということはありません。各人がホランティアで、自由にプログラムを増強、改善するという文化が育まれてきたわけです。
そこでは、各人が何者にも縛られることなく自由に開発に貢献できるためのシステムが必要になります。それがギット(git)というシステムです。
作業の大元になるマスターファイルがどこかにあって、それを各人がコピーして、自分の作業場へ持って行って、バラバラに作業をして、後から各人の仕事を持ち寄って、合体させることができる、ということなのでしょう。
(この辺からかなり怪しくなりますが)、たぶん、ギットが各人の作業場で、ギットハブは各人の更新情報を共有したり、あるいは誰かが途中までやった仕事を他人に渡したりできる場所(ハブ)なのではないかと思います。
誰かが更新すると、古いバージョンは残したまま次々と新しいバージョンが、システムによって自動的に作れますが、誰がどの部分を更新したかさえわかっていればそれでイイのだ、という考え方なのだと思います。
もし、更新する場所が競合した場合には、新しいバージョンは自動的には作られないようです。そこは話し合いによってどうするか決めた上で、手作業で更新することになるのでしょう。
すべてが自由ということではなく、ある程度のルールとモラルが存在するのでしょう。
日本の場合、eseharaさんという方が、「ギットの練習用にどうぞ」ということで、日本国憲法の全文をギットハブのsrcというファイルからコピーできるようにしています。ここから自分のギットにコピーして、各人が憲法改正案を作成すると、ギットハブに更新状況が反映されるのではないかと思います。
「どうぞ」って言われても、手も足も出ませんけど(笑)
以上は、コンピュータ素人のアナログおぢさんが、ネットを使って自分なりに調べたもので、決して信用に足りるものではありませんのでご注意ください。専門家の方で、サルにもわかるように説明していただける方はいらっしゃいませんか?
最後までお読みいただき、ありがとうございました