他のアカウント

無料ブログはココログ

2017年6月18日 (日)

日本国憲法、自民党改憲案、中国憲法、北朝鮮憲法等の前文を比べてみた

現行日本国憲法と自民党憲法改正草案を比較する参考として、他国のもいくつか含めて前文を比較してみた。

現行の日本国憲法前文 と自民党憲法改正草案 の前文を比べると、まず、現行の「日本国民は」が「日本国は」に変わっている。

近代の民主主義国の憲法は国民から国家権力への命令書(契約書)であることが本質なので、ここで既に自民党改憲案は憲法ではない、と言える。この本質は立憲主義とも言Photo_2 われるが、これは公権力が暴走しないように縛らなければならないから絶対に必要である。さもなければいつかは独裁になる。自民党改憲案も後半では国民が主語になっているが、前半で国の方が上位という概念が出来ている。

参考にアメリカ合衆国憲法とドイツ基本法(実質的な憲法)の前文を見ると、国民が主語になっている。立憲主義がよく現れている例としてドイツ基本法の第1条を見れば、憲法を守る(憲法に従う)義務は国家の方にあり、憲法は国家権力を拘束するものであることが明記されている。(ドイツ基本法のいわゆる「戦う民主主義」では「ドイツ国民に憲法順守義務を課している」という言い方がされることがあるが、立憲主義を強調しているこの基本法の本質を見逃す危険があるので不適当な言葉だと思う。)

権威には「根拠」「正当性」がないと、暴力組織にしかならない。実際これは長続きしにくい。

自由主義陣営の憲法は個人の尊厳にその根拠を置いているので、「国民」→「国家権力」という形式になる。

一方、中国憲法や北朝鮮の憲法(近代憲法、民主主義憲法とは言えないが)の前文を見てみる。どちらも国が主語であり、歴史に根拠を置いている。中国憲法序文は国の権威の根拠として革命を持ってきている。万世一系の天皇に根拠を置いていた大日本帝国憲法とは対極的である。中国憲法前文の厳密さは特別である。歴史を根拠にするのは権威の根拠としては少々問題があると思うが書いてあるだけ良い。それに比べたら自民党の改憲案は「長い歴史」「天皇を戴く」だけで弱すぎる。つまり自民党改憲案には国家の権威の根拠が書かれていないとしか言えない。
さらに、序文では出てこないが、内容は内閣、特に内閣総理大臣に権力が集中している。何故総理にそのような権力があるのか、その根拠・正当性が書かれていない。これでは論理的に破綻する。

中国憲法、北朝鮮憲法、自民党改憲案は、国→民、の形式なので民主主義国は不可能である(国が暴走したときに止める術がない)。それでも正当性が書いてあれば保つ。書いてないのは危険である。

従って、自民党改憲案は中国憲法や北朝鮮憲法より劣っているということである。

中国憲法前文の最後には人民も含めてこの憲法に従わなければならない旨が書いてあるので立憲主義を明確に否定していると言える。自民党改憲案も前文だけでもその気配があるが草案102条で立憲主義を明白に否定している(自民党憲法改正草案Q&Aでは、立憲主義を否定していないと書かれているが、草案102条があるだけで否定される)

現行日本国憲法 前文

日本国民は、正当に選挙された国会における代表者を通じて行動し、われらとわれらの子孫のために、諸国民との 協和による成果と、わが国全土にわたつて自由のもたらす恵沢を確保し、政府の行為によつて再び戦争の惨禍が起ることのないやうにすることを決意し、ここに 主権が国民に存することを宣言し、この憲法を確定する。そもそも国政は、国民の厳粛な信託によるものてあつて、その権威は国民に由来し、その権力は国民の 代表者がこれを行使し、その福利は国民がこれを享受する。これは人類普遍の原理であり、この憲法は、かかる原理に基くものである。われらは、これに反する 一切の憲法、法令及び詔勅を排除する。

日本国民は、恒久の平和を念願し、人間相互の関係を支配する崇高な理想を深く自覚するのであつて、平和を愛する諸国 民の公正と信義に信頼して、われらの安全と生存を保持しようと決意した。われらは、平和を維持し、専制と隷従、圧迫と偏狭を地上から永遠に除去しようと努 めてゐる国際社会において、名誉ある地位を占めたいと思ふ。われらは、全世界の国民が、ひとしく恐怖と欠乏から免かれ、平和のうちに生存する権利を有する ことを確認する。

われらは、いづれの国家も、自国のことのみに専念して他国を無視してはならないのであつて、政治道徳の法則は、普遍的なものであり、この法則に従ふことは、自国の主権を維持し、他国と対等関係に立たうとする各国の責務であると信ずる。

日本国民は、国家の名誉にかけ、全力をあげてこの崇高な理想と目的を達成することを誓ふ。

アメリカ合衆国憲法前文

われら合衆国の国民は、より完全な連邦を形成し、正義を樹立し、国内の平穏を保障し、共同の防衛に 備え、一般の福祉を増進し、われらとわれらの子孫のために自由の恵沢を確保する目的をもって、ここに アメリカ合衆国のためにこの憲法を制定し、確定する。

ドイツ基本法前文

神と人間に対するみずからの弁明責任を自覚し、

統合されたヨーロッパの中で平等の権利を有する一員として、世界平和に貢献しようとする決意に満ちて、

ドイツ国民は、その憲法制定権力により、この基本法を制定した。

バーデン=ヴュルテンベルク、バイエルン、ベルリン、ブランデンブルク、プレーメン、ハンブルク、ヘッセン、メクレンブルク=フォアポンメルン、ニーダー ザクセン、ノルトライン=ヴエストファーレン、ラインラント=プファルツ、ザールラント、ザクセン、ザクセン=アンハルト、シュレスヴィヒ=ホルシュタイ ンおよびテューリンゲンの諸ラントのドイツ人は、自由な自己決定によりドイツの統一と自由を達成した。

これにより、この基本法は全ドイツ国民に適用される。

ドイツ基本法 第1条和訳

第1条 [人間の尊厳、基本権による国家権力の拘束]

(1) 人間の尊厳は不可侵である。これを尊重し、および保護することは、すべての国家権力の義務である。

(2) ドイツ国民は、それゆえに、侵すことのできない、かつ譲り渡すことのできない人権を、世界のあらゆる人間社会、平和および正義の基礎として認める。

(3) 以下の基本権は、直接に妥当する法として、立法、執行権および司法を拘束する。

自民党憲法改正草案 前文

日本国は、長い歴史と固有の文化を持ち、国民統合の象徴である天皇を戴く国家であって、国民主権の下、立法、行政及び司法の三権分立に基づいて統治される。
 我が国は、先の大戦による荒廃や幾多の大災害を乗り越えて発展し、今や国際社会において重要な地位を占めており、平和主義の下、諸外国との友好関係を増進し、世界の平和と繁栄に貢献する。
 日本国民は、国と郷土を誇りと気概を持って自ら守り、基本的人権を尊重するとともに、和を尊び、家族や社会全体が互いに助け合って国家を形成する。
 我々は、自由と規律を重んじ、美しい国土と自然環境を守りつつ、教育や科学技術を振興し、活力ある経済活動を通じて国を成長させる。
 日本国民は、良き伝統と我々の国家を末永く子孫に継承するため、ここに、この憲法を制定する。

中華人民共和国憲法恋する中国 による和訳)

中国は、世界でも最も古い歴史を持つ国家の一つである。中国の諸民族人民は、輝かしい文化を共同で作り上げており、また、栄えある革命の伝統を持っている。
1840年以降、封建的な中国は、次第に半植民地・半封建的な国家に変化した。中国人民は、国家の独立、民族の解放並びに民主と自由のために、戦友の屍を乗り越えて突き進む勇敢な闘いを続けてきた。
20世紀に入って、中国には天地を覆すような偉大な歴史的変革が起こった。
1911年、孫中山先生の指導する辛亥革命は、封建帝制を廃止し、中華民国を創立した。しかし、帝国主義と封建主義に反対するという中国人民の歴史的任務は、まだ達成されなかった。
1949年、毛澤東主席を領袖とする中国共産党に導かれた中国の諸民族人民は、長期にわたる困難で曲折に富む武装闘争その他の形態の闘争を経て、ついに帝 国主義、封建主義及び官僚資本主義の支配を覆し、新民主主義革命の偉大な勝利を勝ち取り、中華人民共和国を樹立した。この時から、中国人民は、国家の権力 を掌握して、国家の主人公になった。
中華人民共和国の成立後、我が国の社会は新民主主義から社会主義への移行を一歩一歩実現していった。生産手段私有制の社会主義的改造が達成され、人が人を 搾取する制度は消滅して、社会主義制度が確立した。そして、労働者階級の指導する労農同盟を基礎とした人民民主主義独裁、すなわち、実質上のプロレタリ アート独裁は、強固になり、発展した。中国人民及び中国人民解放軍は、帝国主義と覇権主義の侵略、破壊及び武力挑発に打ち勝ち、国家の独立と安全を守り、 国防を強化した。経済建設では、大きな成果を収め、独立した、比較的整った社会主義の工業体系がほぼ出来上がり、農業生産も著しく高められた。教育、科 学、文化等の事業は、大きな発展を遂げ、社会主義思想の教育で中 国の新民主主義革命の勝利と社会主義事業の成果は、中国共産党が中国の各民族人民を指導し、マルクス・レーニン主義及び毛澤東思想の導きの下に、真理を堅 持し、誤りを是正し、多くの困難と危険に打ち勝って獲得したものである。我が国は、長期にわたり社会主義初級段階にある、国の根本的任務は、中国的特色を 有する社会主義という道に沿って、力を集中して社会主義現代化の建設をする事にある。中国の各民族人民は、引き続き中国共産党の指導の下に、マルクス・ レーニン主義、毛澤東思想、鄧小平理論及び"三つの代表"の重要思想に導かれて、人民民主独裁を堅持し、社会主義の道を堅持し、改革開放を堅持し、社会主 義の各種制度を絶えず完備し、社会主義市場経済を発展させ、社会主義的民主主義を発展させ、社会主義的法制度を健全化し、自力更正及び刻苦奮闘につとめ て、着実に工業、農業、国防及び科学技術の現代化を実現し、物質文明、政治文明および精神文明の調和のとれた発展を推進して、我が国を富強、民主的、か つ、文明的な社会主義国家として建設する。
我が国では、搾取階級は、階級としては既に消滅したが、なお一定の範囲で階級闘争が長期にわたり存在する。中国人民は、我が国の社会主義制度を敵視し、破壊する国内外の敵対勢力及び敵対分子と闘争しなければならない。
台湾は、中華人民共和国の神聖な領土の一部である。祖国統一の大業を成し遂げることは、台湾の同胞を含む全中国人民の神聖な責務である。
社会主義の建設という大きな仕事は、労働者、農民及び知識分子に依拠し、団結できるすべての勢力を団結しなければならない。長期の革命と建設の過程におい て、中国共産党の統率的指導のもとで、各民主党派と各人民団体が参加し、社会主義的勤労者、社会主義事業の建設者、社会主義を擁護する愛国者および祖国統 一を擁護する愛国者のすべてを含む、広範な愛国統一戦線が結成されたが、この統一戦線は引き続き強固になり発展して行くであろう。中国人民政治協商会議 は、広範な代表性を持つ統一戦線の組織として、これまで重要な歴史的役割を果たしてきたが、今後、国家の政治生活、社会生活及び対外的な友好活動におい て、また、社会主義的現代化の建設を進め、国家の統一と団結を守る闘いにおいて、更にその重要な作用を発揮するであろう。中国共産党指導の下における多党 協力及び政治協商制度は長期にわたり存在し、発展するであろう。
中華人民共和国は、全国の諸民族人民が共同で作り上げ、統一した多民族国家である。平等、団結及び相互援助の社会主義的民族関係は、すでに確立しており、 引き続き強化されるであろう。民族の団結を守る闘争の中では、大民族主義、主として大漢族主義に反対し、また、地方民族主義にも反対しなければならない。 国家は、全力を尽くして全国諸民族の共同の繁栄を促進させる。
中国の革命と建設の成果は世界人民の支持と切り離すことができない。中国の前途は、世界の前途と緊密につながっている。中国は、独立自主の対外政策を堅持 し、主権と領土保全の相互尊重、相互不可侵、相互内政不干渉、平等互恵及び平和共存の5原則を堅持して、諸国家との外交関係及び経済・文化交流を発展させ る。また、帝国主義、覇権主義及び植民地主義に反対することを堅持し、世界諸国人民との団結を強化し、抑圧された民族及び発展途上国が民族の独立を勝ち取 り、守り、民族経済を発展させる正義の闘争を支持して、世界平和を確保し、人類の進歩を促進するために努力する。
この憲法は、中国の諸民族人民の奮闘の成果を法の形式で確認し、国家の基本となる制度及び任務を定めたものであり、最高の法的効力を持つ。全国の諸民族人 民並びにすべての国家機関、武装力、政党、社会団体、企業及び事業組織は、いずれもこの憲法を活動の根本準則とし、かつ、この憲法の尊厳を守り、この憲法 の実施を保障する責務を負わなければならない。

北朝鮮憲法 序文和訳

朝鮮民主主義人民共和国は、偉大な領袖金日成同志の思想と領導を具現したチュチェの社会主義祖国である。

 偉大な領袖金日成同志は、朝鮮民主主義人民共和国の創建者であり、社会主義朝鮮の始祖である。

  金日成同志は、永生不滅のチュチェ思想を創始し、その旗じるしのもとに抗日革命闘争を組織・領導して、栄えある革命伝統を築き、祖国光復の歴史的偉業を成 し遂げ、政治、経済、文化、軍事分野において自主独立国家建設の強固な土台を整えたうえで朝鮮民主主義人民共和国を創建した。

 金日成同志は、主体的な革命路線を示し、各段階の社会革命と建設事業を賢明に領導して、共和国を人民大衆中心の社会主義国家に、自主、自立、自衛の社会主義国家に強化・発展させた。

 金日成同志は、国家建設と国家活動の根本原則を明らかにし、最も優れた国家社会制度と政治方式、社会の管理体系と管理方法を確立し、社会主義祖国の富強・繁栄とチュチェ革命偉業の継承・完成のための確固たる土台を築いた。

 金日成伺志は、「以民為天」を座右の銘とし、常に人民とともにあって、人民のために生涯を捧げ、崇高な仁徳政治で人民を見守り導いて、全社会を1心団結した1つの大家庭に変えた。

  偉大な領袖金日成同志は、民族の太陽であり、祖国統一の救いの星である。金日成同志は、国の統一を民族至上の課題としてかかげ、その実現のためにあらゆる 労苦と心血をすべて捧げた。金日成同志は、共和国を祖国統一の強力な堡塁として固める1方、祖国統一の根本原則と方途を提示し、祖国統一運動を全民族的な 運動に発展させて、全民族の団結した力で祖国統一偉業を成就するための道を開いた。

  偉大な領袖金日成同志は、朝鮮民主主義人民共和国の対外政策の基本理念を明らかにし、それにもとづいて国の対外関係を拡大・発展させ、共和国の国際的権威 を高くとどろかせた。金日成同志は、世界政治の元老として、自主の新時代を開拓し、社会主義運動と非同盟運動の強化・発展のために、世界の平和と人民との 親善のために精力的に活動し、人類の自主偉業に不滅の貢献をした。

 金日成同志は、思想理論と領導芸術の天才であり、百戦百勝の鋼鉄の霊将であり、偉大な革命家、政治家であり、偉大な人間であった。

 金日成同志の偉大な思想と領導業績は、朝鮮革命の万年の財宝であり、朝鮮民主主義人民共和国の隆盛・発展のための基本保証である。

 朝鮮民主主義人民共和国と朝鮮人民は、朝鮮労働党の領導のもと偉大な領袖金日成同志を共和国の永遠の主席として高く戴き、金日成同志の思想と業績を擁護固守し、継承・発展させて、チュチェ革命偉業を最後まで完成していくであろう。

 朝鮮民主主義人民共和国社会主義憲法は、偉大な領袖、金日成同志の主体的な国家建設思想と国家建設業績を法化した金日成憲法である。

以上

 


 

立憲主義という概念の確認

立憲主義という言葉が独り歩きしている気がするので、素人ながらこの言葉の意味を確認したい。これは「憲法は何のためにあるか?」「何故憲法が必要か?」ということに繋がる。

言葉には意味があるが、普通ただひとつの意味とは限らない。「憲法」という言葉にも状況によって違った意味に使われ得る。

  1. 形式的意味: 「憲法」と名付けられた成文の法典(憲法典)。この意味で言う場合は内容は問わない。
  2. 実質的意味: ある特定の内容を持った法典を「憲法」という場合。
    1. 固有の意味: 国家の統治の基本を定めた法のこと。どんな国にもある。
    2. 立憲的な意味: 自由主義に基づいて定められた国家の基礎法。「近代的意味の憲法」とも呼ばれる。1と異なり政治権力の組織化よりも、(専断的な)権力を制限して人権を保障することを目的とする。

「憲法」という言葉でもっともすぐれた特徴は立憲的意味にある。以後は立憲的意味の憲法について確認する。

まず、思想として「すべて個人は互いに平等な存在であり、生まれながらに自然権(人間ならば当然持っている権利、のような意味合いもある)を持つ。その核心は人間の人格不可侵の原則・・・個人の尊厳・・・である。

従って全ての価値、権威の源は個人の尊厳である、ということになる。「憲法の中で最も重要な条文をひとつだけあげよ」との問いには「憲法13条」となるのはここに由来する。

憲法は(様々な目的があるが、最大の目的は)国民の人権を守るため国家権力を制限するものとして存在する。そして憲法を制定する主体は国民ということになる。

法律(法律に準ずるものも含む)が国家(公権力)が国民を制限する(国民に命令する)ものと対比される。

Photo

日本国憲法前文にも

そもそも国政は、国民の厳粛な信託によるものであつて、その権威は国民に由来し、

とある。公権力には正当性がなければならない。上の原理により個人の尊厳がその源であり、国政を行うのは国民から選ばれた代表者であるから、それは国民へ奉仕するための権威でなければならない。それを実定法としたものが憲法である。

また上の原理により国民主権が定まる。

また、憲法はこの理由により最高法規となる。

最高法規としての憲法の本質は、むしろ、憲法が実質的に法律と異るという点に求めなければならない。つまり、憲法が最高法規であるのは、その内容が、人間の権利・自由をあらゆる国家権力から不可侵のものとして保障する規範を中心として構成されているからである。

芦部信喜他「憲法」(第五版)p.12。

憲法が硬性(改正しにくい)であること(96条)は最高法規であること(98条)と相補的な関係にあるからこれらは形式的な最高法規性を宣言している。そして、「最高法規」の部の先頭にある97条は人権を永久に保障するが、それはこの憲法の最高法規性の実質的根拠を示している。
前文の最初が「日本国民は」で始まっており、99条で憲法尊重擁護の義務は公権力である旨書かれているので、憲法の差出人は国民であり、名宛先は公権力である、という「国民→公権力」の形式が明言されている。

形式的ではなく、この実質的根拠を考えるとき、憲法は条文をただ並べたものではなく、条文の重さも同じと考えることは出来ず、全体としてひとつの有機的な価値体系であることになる。

考察

何故、このような立憲的な憲法が必要なのだろうか?

1つは、人間というものは権力を持てば持つほどより権力が欲しくなる生き物であること。例えば「人が酒を飲む」が容易にエスカレートして「酒が人を飲む」よとなるように、人間の欲望にはきりがない。もともと政治家は野心家でなければ務まらないしその中で権力闘争で勝ち抜けばさらに権力を求める傾向は高くなる。従って、本来国民から信託された筈の権威を自分の野心のために使う欲望は非常に強まる。正当性を欠く暴走は容易に起こる。

その歯止めは絶対に必要である。

2つ目は、近代以後の国家権力の強大さがあるだろう。西洋諸国に対抗するため明治維新から日本は中央集権化(廃藩置県など)を進めた。西南戦争は勝負は最初から決まっていた。この強大さは1つ目で述べた為政者の権力への渇望をさらに激しくする。それにもまして、国家は暴力を独占していることになる。

もし、国家権力が暴走して国民に牙を向いた場合、国民はなすすべがない。戦力の桁が違いすぎる。警察が国民に牙を向いただけでもどれほど恐ろしいことになるか。

従って、国民は常に国家権力を監視しなければならない宿命を負う。さもなければ命も危ないからだ。

日本国憲法12条

この憲法が国民に保障する自由及び権利は、国民の不断の努力によって、これを保持しなければならない。又、国民は、これを濫用してはならないのであつて、常に公共の福祉のためにこれを利用する責任を負ふ。

この「不断の努力」は伊達ではない。自由及び権利を国民は油断せず自分たちで守らなければならない。それは国家権力から自分たちを守らなければならないからだ。

以上のことを考えると、立憲主義は国家権力・政権に対して猜疑の心で臨む(性悪説の立場で臨む)必要があるということだろう。民主主義国では、友人、恋人、家族には信頼しても、国家権力を無条件で信頼など決してしてはならない、ということだ。

注意: 権力の分立がしっかりしていなかったり、為政者が法を軽んじている場合は立憲主義も絵に描いた餅でなかなか機能しない。

追記: マッカーサー草案の押し付けについて。1949年2.13.でマッカーサーは「草案の憲法の原理」を変えることを許さず、「政府が何もしなければ直接国民に問う」としたため、日本政府内などで、これは非自主的な「押し付け憲法」であり「全面改定すべき」との意見(押し付け憲法論)が多くなった。確かにこの憲法の原理は政府にとってはこの上もなく屈辱的なものであろう(特に、案を一蹴された松本国務大臣の屈辱は想像を絶するだろう)。学問的には「押し付けの要素があったとしても、それが全面改定する理由になるか?」など評価されていない模様だが、妄執は続いていたと思われる。現行憲法の原理を変え(必然的に憲法の改正限界を越える)、憲法を全面改定する改正案が出たからである。しかし、これは合理的な理由によって出たものとは言いがたいので内容も不合理となりこの改憲は危険である。マッカーサーが政府を見切ってすぐに国民に問うていたらかなり状況は変わっていたと私は考える。(芦部他「憲法」(第五版)p.26.(押し付け憲法論に関する注釈)を参考にした。)

立憲主義については、まだまだ考えなければならないことがあるが、素人の備忘として。情報は主に、芦部他「憲法」第五版から得ている。

2017年3月30日 (木)

ジーン・シャープ「独裁体制から民主主義へ」を読んでみた−番外−非暴力行動198の方法

非暴力行動198の方法

本編

ジーン・シャープ「独裁体制から民主主義へ」

非暴力不服従抵抗の方法リスト。もちろん、これらは単なる例なので、これらをヒントに更にいろいろ考えられるだろう。

非暴力不服従抵抗の原理: 独裁政権は被支配者の生き血を吸わないと生きていけない。だから、服従や協力を可能な限り拒むことで飢えさせる。

  • 非暴力は「安全に」の意味ではない。暴力は逆効果になるから非暴力を選択するだけで、リスクは当然ある。つまり「犠牲者」も出る。
  • 非暴力は「道徳的に」の意味ではない。そもそも独裁政権では法律が必ずしも正義とは限らない社会でどう抵抗するかの戦略の問題。
  • これらのやり方を闇雲にやってうまくいくわけではなく、全体計画や戦略をたて、状況に合わせて臨機応変に対応する知恵が要求される。ただ、非暴力と言ってもこれだけ沢山の方法がある、と知ることは大事。

非暴力抵抗と説得の方法

形式的声明の方法

  1. 公共の場で演説する
  2. 反対意見や支援を示す手紙を送る
  3. 組織や機関による宣言を行う
  4. 署名入りの公共声明を出す
  5. 告発や決意を宣言する
  6. グループや大衆による嘆願を出す

幅広い人々とのコミュニケーション手段

  1. スローガン、風刺画、シンボル
  2. 旗、ポスター、プラカード
  3. チラシ、パンフレット、本
  4. 新聞、刊行物
  5. レコード、ラジオ、テレビ
  6. 空中文字、地上文字

グループによる主張の方法

  1. 代表団を設置する
  2. 模擬的な賞を授与する
  3. グループによるロビー活動を行う
  4. ピケを張る(重要な場所に行って、歩きまわったり座り込んだりして、監視する)
  5. 模擬的な選挙を実施する(合法的な選挙が認められていない場合に、独自に直接選挙や訪問による票回収などの方法で違法な選挙を行う)

象徴的な公然行動の方法

  1. 旗や象徴的な色を掲げる
  2. シンボルを身に付ける
  3. 礼 や礼拝を行う
  4. 象徴的なモノを届ける
  5. 抵抗のための脱衣行動を起こす
  6. 自身の所有物を破壊する
  7. 象徴的な明かりを掲げる
  8. 肖像画を提示する
  9. 抗議のためにペンキを塗布する(肖像画や看板にいたずら描きをしたり、塗りつぶす)
  10. 新しい標識や名前を掲げる(道路や駅名などの標識を撤去したり、異なった名前をつけるなど)
  11. 象徴的な音を鳴らす
  12. 土地や領土の象徴的な返還要求行動を起こす(重要な意味を持つ土地に木を植えたり、建物をたてるなど)
  13. 無礼な身振りをする

個人に対して圧力をかける方法

  1. 役人に"つきまとう"
  2. 役人をなじる
  3. 馴れ馴れしくする(主に兵士や警察を相手に、親しげに振る舞って、こちら側の影響力を直接的、間接的に与える)
  4. 寝ずの座り込みをする

演劇と音楽

  1. ユーモラスな寸劇やいたずらを行う。
  2. 演劇や音楽会を上演する。
  3. 歌を歌う

行進を利用する方法

  1. 行進をする。
  2. パレードを行う。
  3. 宗教的な行列を実施する。
  4. 巡礼する。
  5. 車によるパレードを行う。

死者を讃える方法

  1. 政治的追悼式を催す。
  2. 模擬的な葬儀を行う。
  3. 示威的な葬儀を行う。
  4. 墓参りをする。

公の集会行動

  1. 抗議や支援の集会を開く。
  2. 抗議会合を持つ。
  3. 偽装した抗議会合を開く。
  4. 討議会を開く。

撤退と放棄の方法

  1. 退室する。
  2. 沈黙する。
  3. 勲章を放棄する。
  4. 背中を向ける。(文字通り身体的に背中を向けて沈黙する。)

社会的非協力の方法

人を排斥する方法

  1. 社会的にボイコットする。
  2. 選択的な社会的ボイコットを行う。
  3. セックス・ストライキを行う。(好戦的な夫に対して、妻たちがセックスを拒否すること)。
  4. 破門する。
  5. 聖務禁止令を出す。(宗派のトップが、特定の地区での祭事の禁止を命ずること。)

社会的行事、慣習、機関への非協力の方法

  1. 社会活動やスポーツ活動を停止する。
  2. 社会的行事をボイコットする。
  3. 学生ストライキを行う。
  4. 社会的不服従を行う。
  5. 社会的機関から脱退する。

社会制度からの撤退の方法

  1. 自宅待機する。
  2. 完全な個人的非協力を行う。
  3. 労働闘争を行う。
  4. 避難所を設ける。
  5. 集団失踪する。
  6. 抵抗の逃避行(ヒジュラ)を行う。

経済的非協力の方法:(1)経済ボイコット

消費者による行動の方法

  1. 消費者によるボイコットを起こす。
  2. ボイコット製品の非消費運動を起こす。
  3. 耐乏生活に入る。
  4. 家賃不払いを起こす。
  5. 賃貸拒否をする。
  6. 全国的消費者によるボイコットを起こす。
  7. 海外の消費者によるボイコットを起こす。

労働者や生産者による行動の方法

  1. 工員によるボイコットを起こす。
  2. 生産者によるボイコットを行う。

中継ぎによる行動の方法

  1. 原料提供者や仲買人によるボイコットを起こす。

オーナーや経営陣による行動の方法

  1. 売買業者によるボイコットを起こす。
  2. 土地の賃貸や販売を拒否する。
  3. 閉鎖する。
  4. 産業支援を拒否する。
  5. 商人による”全体ストライキ(ゼネスト)”を起こす。

財政源の所有者による行動の方法

  1. 預貯金を引き出す。
  2. 料金、会費、税金の支払いを拒否する。
  3. 負債や金利の支払いを拒否する。
  4. 財源や信用金を遮断する。
  5. 政府への支払いを拒否する。
  6. 政府紙幣を拒否する。

政府による行動(支配的な独裁権力と別に政府が存在する場合)

  1. 国内通商を禁止する。
  2. 業者をブラックリスト化する。
  3. 海外販売業者との取引を禁止する。
  4. 海外買受業者との取引を禁止する。
  5. 国際貿易を禁止する。

経済的非協力の方法:(2)ストライキ

象徴的なストライキの方法

  1. 抗議のストライキを起こす。
  2. 急に退席する(稲妻ストライキ)。

農業ストライキの方法

  1. 農民によるストライキを起こす。
  2. 農場労働者によるストライキを起こす。

特殊グループによるストライキの方法

  1. 押し付け労働を拒否する。
  2. 囚人によるストライキを起こす。
  3. 同業組合によるストライキを起こす。
  4. 専門職によるストライキを起こす。

通常の産業ストライキの方法

  1. 機関によるストライキを起こす。
  2. 業界でのストライキを起こす。
  3. 同情ストライキを起こす。(他の作業員の苦境を解決するためのストライキのこと)。

限定的ストライキの方法

  1. 細分ストライキを起こす。(職場から作業員が一人ずつ去っていく形のストライキ。)
  2. バンパー・ストライキを起こす。(ある業界の中で、会社ごとストライキに入っていく方法。)
  3. 減産ストライキを起こす。
  4. 順法ストライキを起こす。
  5. 仮病を使って休む。
  6. 辞職によるストライキを起こす。
  7. 限定的ストライキを起こす。(特定の時間帯に作業しないことで行われるストライキ。時限スト。)
  8. 選択的ストライキを起こす。(特定の作業だけを行わないストライキ。)

複合的産業ストライキ

  1. 一般的ストライキを起こす。(過半数の作業員は仕事を続けるストライキ。部分スト。)
  2. 全体ストライキ(ゼネスト)を起こす。

ストライキと経済封鎖を組み合わせた方法

  1. 同盟休業をする。
  2. 経済封鎖をする。

政治的非協力の方法

権力に対する拒絶の方法

  1. 忠誠を保留、あるいは撤回する。
  2. 公的援助を拒否する。
  3. 抗議を唱える文書公開や演説を行う。

市民による政府への非協力の方法

  1. 立法機関をボイコットする。
  2. 選挙をボイコットする。
  3. 政府による雇用や就職をボイコットする。
  4. 政府の省、機関,その他の組織をボイコットする。
  5. 政府の教育方針から退学する。
  6. 政府支援を受ける組織をボイコットする。
  7. 執行機関への協力をボイコットする。
  8. 自身の標識や表札を撤去する。
  9. 役人指名の受託を拒否する。
  10. 既存機関の解散を拒否する。

市民による服従に代わる方法

  1. 不承不承と緩慢に従う。
  2. 直接的な指示不在の下で非服従を行う。
  3. 民衆規模での非服従を行う。
  4. 偽装的な非服従を行う。
  5. 集会や会合解散を拒否する。
  6. 座り込みを行う。
  7. 徴兵や国外追放に対して非協力になる。
  8. 潜伏や逃避をし、偽りの身分を名乗る。
  9. "非合法的"な法律に対して市民的不服従を起こす。

政府職員による行動の方法

  1. 政府職員による支援を選択的に拒否する。
  2. 指令や情報系統を遮断する。
  3. 足止めや障害を起こす。
  4. 事務業務全体での非協力を起こす。
  5. 司法関係者による非協力を起こす。
  6. 警察関係者による意図的非効率と選択的非協力を起こす。
  7. 上官に対する暴動を起こす。

政府による国内行動の方法

  1. 擬似合法的な回避や遅延を起こす。
  2. 地方政府による非協力を起こす。

他国の政府による行動の方法

  1. 外交や他の代表を変更する。
  2. 外交行事を遅延する、あるいは取り止める。
  3. 外交交渉を保留する。
  4. 外交関係を断絶する。
  5. 国際機関から脱退する。
  6. 国際機関への入会を拒否する。
  7. 国際機関からの除名を受ける。

非暴力的介入の方法

心理的介入の方法

  1. 自らをその要素に晒す。(火や灼熱の太陽など、身体的、心理的に極限状態に陥るような状況に身を置くこと。)
  2. 断食する。
    1. 道徳的圧力をかけるための断食。
    2. ハンガー・ストライキ。
    3. サティーヤグラハ的(非暴力行動としての)断食。
  3. 逆提訴する。
  4. 非暴力的ないやがらせをする。

物理的介入

  1. 座り込みを行う。
  2. 立ち尽くしをする。
  3. 無許可乗車をする。
  4. 無許可の水中侵入をする。(入場が禁止されている海や池に入る。)
  5. 歩き回りをする。
  6. 無許可で祈祷をする。
  7. 非暴力的急襲をかける。
  8. 非暴力的空襲をかける。
  9. 非暴力的侵入をする。
  10. 非暴力的な介入を行う。
  11. 非暴力的な妨害をする。
  12. 非暴力的な占拠をする。

社会的介入

  1. 新しい社会的パターンを構築する。
  2. 機関の作業を過剰負担にする。
  3. 業務を停滞させる。
  4. 集会で介入演説をする。
  5. ゲリラ演劇を上演する。
  6. 別の社会的機関をつくる。
  7. 別の通信システムをつくる。

経済的介入の方法

  1. 逆ストライキを起こす。(必要以上に働いて、従業時間や生産量をオーバーさせること。)
  2. 居座りストライキをする。(職場には来るが、作業は行わないストライキ。目的が達成されるまで続けられる。)
  3. 非暴力的に土地の差し押さえをする。
  4. 封鎖を無視する。
  5. 政治的動機による偽造を行う。
  6. 妨害的な買い占めを行う。
  7. 資産を差し押さえる。
  8. 投げ売りをする。
  9. 選択的に後援する。
  10. 別の市場をつくる。
  11. 別の交通システムをつくる。
  12. 別の経済機関をつくる。

政治的介入の方法

  1. 行政機関を過剰負担にする。
  2. 秘密警察の身分を暴く。
  3. 拘束を求める。
  4. "中立的"法律への市民的な不服従を行う。(独裁政権が提示する一見中立に見える法律を受け入れないこと。)
  5. 非協力の下に仕事を続行する。
  6. 二重統治や並行政府を打ち立てる。

2017年3月27日 (月)

c++ でconst修飾をしても非constメンバ関数を呼べるトリッククラス。思いつき

c++ のstd::string は、constメンバ関数では本体の文字列が変更されることはない、という仕様がある。
このために、 const std::string では文字列の中身が変更されることはない。
まあ、c++にはmutable とか const_cast とかあるけれども。

そこで、ちょっと思いつきがあって、std::stringにちょっとだけ仕掛けをした拡張クラスを作ってみたら、const修飾してもstd::stringの非constメンバ関数を呼び出せてしまった。(もちろん、std::stringの拡張クラスでできた、というだけで const std::string が文字列を変えないことには違いない)。

追記: STLコンテナのデストラクタはvirtualではないと後で知りました。すると、std::string などの public な継承クラスを作るのは間違いですね。

ソース:
----

#include <iostream>
#include <string>

class mystring : public std::string{
private:
mystring* const pseudothis_ = this;
public:
mystring* pseudothis() const {return pseudothis_;}
};

int main(){
const mystring str;
std::cout << "str=" << str << std::endl;
str.pseudothis()->append("abc");
std::cout << "str=" << str << std::endl;
*(str.pseudothis()) += "def";
std::cout << "str=" << str << std::endl;
return 0;
}

----

実行結果
----

str=
str=abc
str=abcdef

----

手抜きクラスなので、自動生成された(空文字列で初期化の)デフォルトコンストラクタしかないが、const 修飾されてもstd::stringの非メンバ関数を呼び出せるため文字列の変更ができる。

しかし、ちょっと待て。これはstd::string の拡張クラスでなくても pseudo_ メンバ(とそのゲッター)のあるクラスを作れば、const修飾しても非constメンバ関数を呼び出せるクラスになるのではないか? c++の言語仕様でこのことが「保障」されるかどうかは断言できないが、かなり普遍性のあるトリックになりそうだ。
(もちろん、 class T {....} の中で T* const pseudothis _= this; というメンバを作るわけだ。)

2016年12月10日 (土)

法学ド素人が自民党憲法改正草案に駄目出しする-その前に

自民党は憲法改正をすると言う。

 

自民党憲法改正草案をそのまま現行憲法に置き換えるとは言っていない。が、草案を撤回もしていない。

 

今年の参院選で改憲推進派が2/3を取ったということは、国民は改憲を認めたことになる。

 

で、まず、自民党はどうやら憲法を「序文から何から全部書き換える」つもりのようだ。

 

これを「おかしい」と思わないだろうか?

 

他の国は改憲を何度もやってるのに日本は改憲をしてないから、などという理由で改憲を考えるってのもおかしいが、戦後70年改憲していなかった日本が、国の根幹の憲法を全面書き直しなどしたら、

 

どう考えても、日本は大混乱するだろう?

 

すべての法律は憲法と密接な関係にあるし、裁判所の裁判の仕方、その他、あらゆる制度、機関も大影響を受ける。

安全保障環境が変わったから? つまり外敵が考えられ、日本がこのままでは危険だから?

本当に危険があるなら、憲法全面改定などして日本が混乱したら、それこそその隙を突かれて日本はやられてしまう。当然、改憲なしで何とかするとか、改憲が必要だったとしても必要最小限度にしなければいけない。愚策もいいところだ。

それに、国民に相談もなしに政府が全面改正の憲法改正案を出してきたのに、国民の多くが内容を録に確かめもせずに「おまかせ」でやらせる、というのは民主主義国では到底考えられない話だ。

何のために憲法があるのか?が分かっていないということだ。

憲法って、公権力から国民の人権を守るために公権力を縛るものですよ? あなたの人権危ないよ?

ジーン・シャープ「独裁体制から民主主義へ」を読んでみた(6) 独裁政権にも弱みがある

| 次>

ジーン・シャープ「独裁体制から民主主義へ」

第4章 独裁政権にも弱みがある

独裁政権は普通不死身に見えるものだ。対して、民主化勢力はあまりにか弱く見える。

しかし、独裁政権にもアキレス腱がある。

アキレス腱はどこか

アキレスの物語は非人道的な独裁政権にも当てはまる。打倒も可能だが、それは体制の弱点が洗い出され、そこを集中的に攻撃した場合。

独裁政権の弱み

  1. 体制を運営するのに必要な民衆やグループ、機関による協力が、少なくなったり、なくなったりすることがある
  2. 政権が過去の政策で決めたことが、それと相反する現政策を採択し実践する能力を多少なりとも制限してしまうことがある。
  3. 体制運営がルーティーン化し、新しい状況に迅速に対応できなくなることがある。
  4. 既存の任務に配置されている人員や資源が、新しい目的のためには簡単に利用できないことがある。
  5. 上司の機嫌を損ねるのを怖れる部下が、独裁者が決断を下すのに必要な情報を曲げて報告する、またはまったく報告しないことがある。
  6. イデオロギーが損なわれ、体制の神秘性や象徴性が不安定になることがある。
  7. 現実への視点をゆがめる程の強いイデオロギーがある場合、それに執着しすぎて、実際の状況や必要性へ十分な注意が行き届かないことがある。
  8. 官僚組織の効率性や能力が低下したり、過剰な管理や規制があると、体制の政策や運営から効率を奪うかもしれない。
  9. 機関内部での争いや個人間の競争や敵対が、独裁政権の運営に害を与え、分裂させることがある。
  10. 知識人や学生が、現状や制約、教条、抑圧に対して不満を持つようになることがある。
  11. 一般民衆が、時がたつにつれ、政権に対して無関心になったり懐疑的になったり、あるいは敵意を持つことがある。
  12. 地域間、階級間、文化間、あるいは国家間の違いが深刻になることがある。
  13. 独裁政権内の権力ヒエアルキーは、常に幾分不安定だが、ときにそれが顕著になることがある
  14. れっきとした独裁者の意に反することでも、警察や軍の一部が自らの目的のためにクーデターを含む行動を起こすことがある。
  15. 確立直後の独裁政権の場合は、安定するまで時間がかかる。
  16. 独裁体制においては、意思決定にかかわるのが小数なため、判断や政策、行動において間違えやすい。
  17. 上の危険を防ごうと、政権が管理と意思決定を分散させれば、中央集権化された力のテコがさらに弱体化することがある。

独裁政権の弱みを攻撃する

ヒトラーの命令さえ、時には無視された

とはいえ、リスクや犠牲なしに打倒できるわけではない。

それでも、相手の弱点に集中すれば成功の可能性は高まる。

| 次>

2016年11月19日 (土)

C++ でのconst性ってどこまで保証されてる?

大昔C言語を少しかじったことがある。

C++は自分でメモリ管理をするのはちょっときついと、勉強しなかった。ただし、CとC++の非互換性の部分はチェックしたが。

今でも、特にC++でプログラムする必要はないのだが、教養として少しずつ勉強をしている(かたつむりのように鈍く)。

C++ では const はとても大事だ。
しかし、const宣言では何が保証されるのだろうか?

この疑問はスマートポインタの一種のshard_ptr の動きから生まれた。

クラスの中で

const std::shared_ptr<T> p;

と「定数」pをつくっても、p.use_count() の値は変化しえる。というか変化できないと困る。

long getUseCount() const { return p.use_count();}

というconstメンバ関数を作ることはできるが、この値は変化し得るわけだ。
これは大丈夫なのか?といろいろ検索した結果、constメンバ関数が保証するのは const *this である、と覚えればいいと分かった。
つまり、クラスの中の変数の変化がないだけであって、ポインタ変数の参照先は書き換えることができる。(またstatic変数も書き換えてよい)。

shard_ptr も参照カウンタはおそらくポインタを使って共有されているから書き換え可能で問題はない。use_count() は変化してよい。これで納得。

・・・が、それは本当か? 例えば、const 参照引数されたクラスのインスタンスで非スタティック/非ポインター・メンバー変数が書き換えられたりしないのか?mutable とか const_cast など使わずに。

ちょいと実験してみた。

Foo.h
----------------

#ifndef FOO_H_
#define FOO_H_

// コピーコンストラクタの引数のconst性を破壊できるか?をテストするクラス。
class Foo{
private:
int counter_ = 0; //コピー・ムーブの元の場合、自分がコピーされた回数を数える
// つもりで最初は設定した。
// しかし、コピー・ムーブの仕方によってはリセットされるなどがあり得るので
// この変数が正確には何を数えているのか作者にもよく分からない。

int* pcounter_ = &counter_;
// 初期状態ではcounter_の位置。書き換えられ得るので注意


public:
Foo(){}
Foo( const Foo& f){
counter_ = f.counter_;

pcounter_ = f.pcounter_;
// this->pcounter_ は f.pcountrのコピーなので
// this->counter_ を参照しない。
// f.pcounter_ も書き換えられてる可能性があるので静的にpcounter_の参照先は決定できない
// *this が生きているうちにfの寿命が尽きたりなどすると簡単にダングリングポインタに
// なるので非常に危険

++*pcounter_;
// f.pcounter_ が f.counter_ を参照している場合はf.counter_ を1増加させる。
// int 型の f.counter_ を書き換えるとするとconst性を壊す可能性がある。
// そうでない場合も、どれかのFooインスタンスのcouter_変数を増加させる。
// ただし、pcounter_ がダングリングポインタになってる場合は何が起きるか分からない。
// 以下のムーブコンストラクタや=のオーバーロードなどでも同じ問題がある。
}
Foo( Foo&& f){
// ちょっとムーブっぽく、f.pcounter_ が消えても大丈夫なようにしておく。大した意味はない。
counter_ = *f.pcounter_;
f.pcounter_ = nullptr;
pcounter_ = &counter_;
++counter_;
}
Foo& operator=(const Foo& f){
counter_ = f.counter_;
pcounter_  = f.pcounter_;
++*pcounter_;
return *this;
}
Foo operator=(Foo&& f){
// ちょっとムーブっぽく、f.pcunter_ が消えても大丈夫なようにしておく。大した意味はない。
counter_ = *f.pcounter_;
f.pcounter_ = nullptr;
pcounter_ = &counter_;
++*pcounter_;
return *this;
}
virtual ~Foo(){}

// ゲッターメソッド
const int& counter() const {return counter_;}
int deref_pcounter() const {return *pcounter_;}

};

#endif // FOO_H_

--------

pcounter_ ポインタメンバ変数がメンバ変数 counter_ を参照している。こういうことをするといろいろ危険である。

テスト・プログラム

Foo.cpp
----------------

#include <iostream>

#include "foo.h"

Foo idFoo( Foo x){ return x;}

int main(){
Foo a;
std::cout << "Foo a;" << std::endl;
std::cout << "a.counter()="<< a.counter() << std::endl;
std::cout << "a.deref_pcounter()="<< a.deref_pcounter() << std::endl;

Foo b = a; // 初期化
std::cout << std::endl << "Foo b = a;" <<std::endl;
std::cout << "a.counter()=" << a.counter() << std::endl;
std::cout << "a.deref_pcounter()="<< a.deref_pcounter() << std::endl;
std::cout << "b.counter()=" << b.counter() << std::endl;
std::cout << "b.deref_pcounter()="<< b.deref_pcounter() << std::endl;

Foo c;
c = b; // 代入
std::cout << std::endl << "Foo c; c=b;" << std::endl;
std::cout << "a.counter()=" << a.counter() << std::endl;
std::cout << "a.deref_pcounter()="<< a.deref_pcounter() << std::endl;
std::cout << "b.counter()=" << b.counter() << std::endl;
std::cout << "b.deref_pcounter()="<< b.deref_pcounter() << std::endl;
std::cout << "c.counter()=" << c.counter() << std::endl;
std::cout << "c.deref_pcounter()="<< c.deref_pcounter() << std::endl;

Foo d;
c = a; // c の書き換え
a = d; // a の書き換え
std::cout << std::endl << "Foo d;c = a; a = d;" << std::endl;
std::cout << "a.counter()=" << a.counter() << std::endl;
std::cout << "a.deref_pcounter()="<< a.deref_pcounter() << std::endl;
std::cout << "b.counter()=" << b.counter() << std::endl;
std::cout << "b.deref_pcounter()="<< b.deref_pcounter() << std::endl;
std::cout << "c.counter()=" << c.counter() << std::endl;
std::cout << "c.deref_pcounter()="<< c.deref_pcounter() << std::endl;
std::cout << "d.counter()=" << d.counter() << std::endl;
std::cout << "d.deref_pcounter()="<< d.deref_pcounter() << std::endl;

Foo e = idFoo(a);
std::cout << std::endl << "Foo e = idFoo(a);" << std::endl;
std::cout << "a.counter()=" << a.counter() << std::endl;
std::cout << "a.deref_pcounter()="<< a.deref_pcounter() << std::endl;
std::cout << "e.counter()=" << e.counter() << std::endl;
std::cout << "e.deref_pcounter()="<< e.deref_pcounter() << std::endl;



return 0;
}

--------

実行結果:

--------
Foo a;
a.counter()=0
a.deref_pcounter()=0

Foo b = a;
a.counter()=1
a.deref_pcounter()=1
b.counter()=0
b.deref_pcounter()=1

Foo c; c=b;
a.counter()=2
a.deref_pcounter()=2
b.counter()=0
b.deref_pcounter()=2
c.counter()=0
c.deref_pcounter()=2

Foo d;c = a; a = d;
a.counter()=0
a.deref_pcounter()=1
b.counter()=0
b.deref_pcounter()=0
c.counter()=2
c.deref_pcounter()=0
d.counter()=1
d.deref_pcounter()=1

Foo e = idFoo(a);
a.counter()=0
a.deref_pcounter()=2
e.counter()=3
e.deref_pcounter()=3
--------

わけの分からない結果が出たが、どうやらFooクラスのインスタンスの int型変数 counter_ はコピーコンストラクタのコピー元で const が付いていても変化するようだ。

idFoo() 関数は値渡しなので、コピー回数が増えたようだ。

・・・まあ、C++もC言語の流れを汲んでるから、仕方ないな。

追記: ムーブコンストラクタ等、少々書き換えました。ダングリングポインタが出る可能性は全然なくなってませんが。

追記2: C++に詳しい人々に聞いたら、単に未定義動作をするプログラムを作っただけ、というだけの話のようです。

2016年10月13日 (木)

ジーン・シャープ「独裁体制から民主主義へ」を読んでみた(5) 交渉の危険

|

ジーン・シャープ「独裁体制から民主主義へ」

第2章 交渉に潜む危険性

考察

ぶっちゃけ、独裁政権と交渉しようなどという期待は持たないことだな!

せいぜい、独裁者が「海外逃亡まで命を取らないでくれ」と言ったときぐらいに考慮する話ってことだ。

独裁政権は強大だから、と受け身になって「妥協」「調停」「交渉」に希望を持つ人々はどうしても出る。

「分別をもって話し合ったら?」「独裁者にも人間性を理解する感覚はあるだろう」「独裁者がよかれと思ってしたことを勘違いしたのでは?」「独裁者にとっても利益のある提案をしたらどうだ?」「「他に選択肢はない」などなど。

何故、独裁体制に闘争を挑むなどということをしなければならないのか?

交渉することの長所と短所

交渉が有効な場合:「妥協」があって良い場合。賃金値上げのためのストライキなどでは双方歩み寄りのための交渉は大変重要な手段。

交渉によって満足な解決策が得られない場合:宗教的原理、人間の自由、未来永劫にわたる社会的発展などの根源的・基本的な問題の場合(「妥協」があってはならない場合)。

このような基本的問題をまともに採り上げられるのは、民主化勢力側に力がシフトしたときだけ。このシフトを起こせるのは交渉ではなく闘争。

交渉すべきではない、という意味ではなく、強い反体制側の民主化勢力が欠落している状況では独裁政権を追放する手段として交渉は現実的ではない

交渉不可能な場合もある: 独裁者側が拒む、交渉開始後に民主化勢力のリーダーが行方不明になる、等。

降伏は交渉によって得られるか?

長年の闘いでも解決がつかなかったり、味方の被害が大きすぎるなど、どうしても民主化勢力内では交渉を試みる強い誘惑が出るものである。

独裁政権側が交渉の場で「平和」を提供しようと言い出すときは、もちろん不誠実なもの!

独裁者は反体制側が闘争をやめれば自分たちの暴力を止めると言うだろう。「和解」を装って民主化勢力を交渉によって降参させようとするだろう。

これらは魅力的だが、非常な危険がある

また、反体制側が例外的に強力の場合、独裁政権側が自分を守ろうと交渉を求めることもある。しかし、どの場合でも独裁者側の目的遂行には断固手を貸してはならない!

政治的自由の闘争で「交渉」が呼びかけられた場合、そこにはが待ち受けていることを決して忘れてはならない。

独裁政権側が交渉を言うのは、民主化勢力を手懐けて降伏を引き出し、非人道的な行為を続ける企みである。

こういう問題で交渉が役に立つのは、せいぜい、果敢な闘争が終わり、独裁者が完全に弱体化して海外逃亡するときに、空港まで個人的安全を求めるときぐらいのもの。

交渉における力と正義

「交渉」というものはどんなものか、明確に思考しなければならない。

交渉とは、双方が平等という前提の元に、同じテーブルについて対立を産んだ互いの相違点を解決するものではない

  • 交渉で到達する最終合意は、双方の意見を照らしあわせた上での公正さから来るものではない
  • 交渉で得られる合意は、双方の力関係に大きく左右される。

交渉で相手が合意しなかった場合どうするか? また、交渉の合意の約束を相手が破った場合どうするか? 相手が力づくで約束と違うことを押し付けた場合は?

交渉における和解は、何が正しくて何が間違っているか?で決まるものではない。双方の絶対的、相対的な力関係をどう評価するかで決まる。

また、交渉による歩み寄りに際しては、双方が何を放棄する気があるのか、も考えんければならない。

しかし、極端な独裁政権下の民衆が歩み寄れるもの、放棄できるものはあるか?

仮に交渉でもっとうまく合意が得られたとしても、その結果の平和はいったいどんなものか?それは闘争を始めたときよりましになっているか、悪化するか?

「合意を取り繕う」独裁者たち

独裁者の欲しいものは様々だが、彼らが統治をあきらめたら彼らの欲しいものは残らない。従って、絶対に統治の手をわずかでも緩めようとする筈がない。

つまり、交渉の場で独裁者が何を約束しようとも、降伏を引き寄せた後、独裁者は約束をあっさり破る!

民主化勢力が、一時的に抑圧を弱めてもらうかわりに抵抗運動を中止する、と決めた場合、約束は守られない。抵抗運動を中止して抑圧が止むことはない! むしろ一掃弾圧を過酷なものにしさえする。

根源的な問題が争点となっている場合は、変化は和解交渉ではなく抵抗によってもたらされる。

独裁者を追放するためには、抵抗を必ず継続しなければならない

成功のためには、和解交渉ではなく、どれだけ強い抵抗手段を賢く使いこなせるか?にかかっている。

自由のために闘う方法では、政治的、および非暴力闘争がもっとも強力な方法である、というのがこの本の主題である。

どんな平和か?

民主化勢力と独裁政権が「平和」について話し合うときは、明瞭な思考が必要となる。非常な危険があるからだ。

民主化勢力の考える平和と独裁者が言う平和は違う。

ヒトラーも「平和」をたびたび口にしたが、その言葉の意味は、彼の望むことに人々を降伏させることだった。独裁者の言う平和は、大抵牢獄や墓場での平和にすぎない。

それ以外の危険: よい意図で交渉を始めたとして、プロセスが混乱して、ひょんなことから独裁者に国内外での「合法性」を与えてしまうことがある。独裁者は合法性を切望する。独裁者に合法性は決して与えてはならない

希望がある理由

民主化闘争に希望を失って交渉を選ぶしかない、とあきらめる気になることはあることだが、あきらめる必要はない。

民衆が弱いままでいる必要はない。独裁政権も脆弱なものであり、弱点を拡大することは可能。

また、独裁体制が非暴力抵抗によって比較的短期間で崩壊することもよくある。

暴力的方法がはやく、非暴力的方法が遅い、という規則はない。

平和と自由を獲得するには、政治的抵抗という方法がある。

|

2016年8月13日 (土)

ある「プロ」の書いた、初心者向けc言語入門プログラム

昔、ある所で、「俺はc言語が得意」と言っているプロ(既に、プログラマーではなく、プロジェクト管理とかやっている人らしい)が、プログラム初めての初心者向けに書いたサンプルソースを見て、目が点になったことがある。
初心者向けとは見えないし、このプロ氏は仕事でどんなプログラムを作っているのか怖くなった。

sample.h
------------

/** 2重インクルード防止を付けて欲しい **/

// ローマ字カナ変換処理
int Romaji2Kana(
char *Src,
char *Buff
);
// 半角文字列大文字変換処理
void Str2Upper(
char *Buff
);
// 改行コード削除処理
void RemoveCRLF(
char *Buff
);

sample.cpp
---------------

/************************************************************************************
* 「C言語が得意」というプロ氏の書いた「プログラム未経験の初心者用ソース。           *
* 若干の書き換えはあるが、ほとんどそのまま。                                        *
* 「//」形式のコメントは、プロ氏の書いたコメント。「/*」形式のコメントはブログ      *
* 主のコメント。                                                                 *
*                                                                                   *
* ファイル名は書き換えてあるが拡張子がcppとなっているのはそのまま。                 *
* マイクロソフト Visual Studio の Visual C++ では、                                 *
* ソースファイル名の拡張子を省略した場合、C++の拡張子である「.cpp」が               *
* 付けられてしまう。                                                                *
* つまり、C言語プログラムのつもりでもC++としてコンパイルされる。                    *
* 「C++はCの上位互換」という迷信があるが、CとC++ は非互換なので                     *
* Visual C++ で純粋なC言語ソースを書きたい場合はソースファイル名には                *   
* 拡張子「.c」を明示するべき。                                                      *
* 私「gccの場合だと・・・」と言い出したら、プロ氏は「gccの話なら別の機会にしてくれ」*
* とキレた。もしかして、Windows PC上でgcc環境の構築ができないのか?                 *
*************************************************************************************/

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
#include <memory.h>

// オリジナルヘッダ定義
#include "sample.h"

/* C++としてコンパイルされるわけだし、constがあった方がいいと思う */
//  ローマ字変換テーブル(グローバル変数)
char        *RMojiTbl[ 175 ][ 2 ] = {
    //  あ行
    {"A", "ア" },    {"I", "イ" },    {"U", "ウ" },    {"E", "エ" },    {"O", "オ" },
    //  か行
    {"KA", "カ" },   {"KI", "キ" },   {"KU", "ク" },   {"KE", "ケ" },   {"KO", "コ" },
    {"KYA", "キヤ" }, {"KYI", "キイ" }, {"KYU", "キユ" }, {"KYE", "キエ" }, {"KYO", "キヨ" },
    //  さ行
    {"SA", "サ" },   {"SHI", "シ" },  {"SU", "ス" },   {"SE", "セ" },   {"SO", "ソ" },
    {"ZI", "ジ" },  {"SI", "シ" },   {"JYO", "ジヨ" },    {"KEN", "ケン" }, {"OH", "オウ" },
    {"SHA", "シヤ" }, {"SYI", "シイ" }, {"SHU", "シユ" }, {"SHE", "シエ" }, {"SHO", "シヨ" },
    //  た行
    {"TA", "タ" },   {"CHI", "チ" },  {"TSU", "ツ" },  {"TE", "テ" },   {"TO", "ト" },
    {"CHA", "チヤ" }, {"CYI", "チイ" }, {"CHU", "チユ" }, {"CHE", "チエ" }, {"CHO", "チヨ" },
    {"TOH", "トウ" }, {"TI", "チ" },   {"TU", "ツ" },   {"TTO", "ツト" }, {"TYO", "チヨ" },
    {"THA", "チヤ" }, {"THI", "チイ" }, {"THU", "チユ" }, {"THE", "チエ" }, {"THO", "チヨ" },
    //  な行
    {"NA", "ナ" },   {"NI", "ニ" },   {"NU", "ヌ" },   {"NE", "ネ" },   {"NO", "ノ" },
    {"NYA", "ニヤ" }, {"NYI", "ニイ" }, {"NYU", "ニユ" }, {"NYE", "ニエ" }, {"NYO", "ニヨ" },
    //  は行
    {"HA", "ハ" },   {"HI", "ヒ" },   {"FU", "フ" },   {"HE", "ヘ" },   {"HO", "ホ" },
    {"HYA", "ヒヤ" }, {"HYI", "ヒイ" }, {"HYU", "ヒユ" }, {"HYE", "ヒエ" }, {"HYO", "ヒヨ" },
    {"FA", "フア" },  {"FI", "フイ" },  {"FE", "フエ" },  {"FO", "フオ" },  {"SYU", "シュ" },
    {"FYA", "フア" }, {"FYU", "フユ" }, {"FYO", "フヨ" }, {"HU", "フ" },   {"DUMMY", "DUMMY" },
    //  ま行
    {"MA", "マ" },   {"MI", "ミ" },   {"MU", "ム" },   {"ME", "メ" },   {"MO", "モ" },
    {"MYA", "ミヤ" }, {"MYI", "ミイ" }, {"MYU", "ミユ" }, {"MYE", "ミエ" }, {"MYO", "ミヨ" },
    //  や行
    {"YA", "ヤ" },   {"YU", "ユ" },   {"YO", "ヨ" },   {"DUMMY", "DUMMY" },    {"DUMMY", "DUMMY" },
    //  ら行
    {"RA", "ラ" },   {"RI", "リ" },   {"RU", "ル" },   {"RE", "レ" },   {"RO", "ロ" },
    {"RYA", "リヤ" }, {"RYI", "リイ" }, {"RYU", "リユ" }, {"RYE", "リエ" }, {"RYO", "リヨ" },
    //  わ行
    {"WA", "ワ" },   {"WI", "ウイ" },  {"WE", "ウエ" },  {"WO", "ヲ" },   {"DUMMY", "DUMMY" },
    //  ん行
    {"NN", "ン" },   {"DUMMY", "DUMMY" },    {"DUMMY", "DUMMY" },    {"DUMMY", "DUMMY" },    {"DUMMY", "DUMMY" },
    //  が行
    {"GA", "ガ" },  {"GI", "ギ" },  {"GU", "グ" },  {"GE", "ゲ" },  {"GO", "ゴ" },
    {"GYA", "ギヤ" },    {"GYI", "ギイ" },    {"GYU", "ギユ" },    {"GYE", "ギエ" },    {"GYO", "ギヨ" },
    //  ざ行
    {"ZA", "ザ" },  {"JI", "ジ" },  {"ZU", "ズ" },  {"ZE", "ゼ" },  {"ZO", "ゾ" },
    {"JA", "ジヤ" }, {"JYI", "ジイ" },    {"JU", "ジユ" }, {"JE", "ジエ" }, {"JO", "ジヨ" },
    //  だ行
    {"DA", "ダ" },  {"DI", "ヂ" },  {"DU", "ヅ" },  {"DE", "デ" },  {"DO", "ド" },
    {"DYA", "ヂヤ" },    {"DYI", "ヂイ" },    {"DYU", "ヂユ" },    {"DYE", "ヂエ" },    {"DYO", "ヂヨ" },
    {"DHA", "デヤ" },    {"DHI", "デイ" },    {"DHU", "デユ" },    {"DHE", "デエ" },    {"DHO", "デヨ" },
    //  ば行
    {"BA", "バ" },  {"BI", "ビ" },  {"BU", "ブ" },  {"BE", "ベ" },  {"BO", "ボ" },
    {"BYA", "ビヤ" },    {"BYI", "ビイ" },    {"BYU", "ビユ" },    {"BYE", "ビエ" },    {"BYO", "ビヨ" },
    //  ぱ行
    {"PA", "パ" },  {"PI", "ピ" },  {"PU", "プ" },  {"PE", "ペ" },  {"PO", "ポ" },
    {"PYA", "ピヤ" },    {"PYI", "ピイ" },    {"PYU", "ピユ" },    {"PYE", "ピエ" },    {"PYO", "ピヨ" },
    //  ヴ行
    {"VA", "ヴア" }, {"VI", "ヴイ" }, {"VU", "ビユ" }, {"VE", "ヴエ" }, {"VO", "ヴオ" }

};
/* 私だったら、最後に番兵を置いて、項目の数は計算機に計算させたいところだが、
気にしないことにする。
でも、半角カタカナは文字化け問題とかあるので使わないで欲しかった */


/***********************************************************************
* 配列の添字などの型には何故か unsigned long をプロ氏は使う            *
* プロ氏の環境ではそれがいいのかもしれないが、size_t とか              *
* 使った方が可搬性と可読性が増すと思う。                               *
* プロ氏は仕事でもこのようなプログラムを書いているのだろうか?         *
* というか、まったくの初心者向きなのだから、int を使う方がいいと思う   *
************************************************************************/
// ローマ字テーブルのデータ数(グローバル変数)
unsigned long RMojiTblMax = 35 * 5;

// ローマ字変換処理(今回は引数は使用しません)
int main(int argc, char* argv[])
{
/* 80 というマジックナンバーはマクロにした方がいいと思う */
char Buff[ 80 ]; // ローマ字変換結果格納メモリ
char work[ 80 ]; // ローマ字格納メモリ

/****************************************************************************
* プロ氏は「繰り返し」はすべて while(1){ ・・・ } 無限ループを使い、  *
* break; 等で脱出する。確かにこれひとつ覚えておけば繰り返しは全部     *
* 書けるが、for文とかwhile(条件)・・・ とかを覚えさせる方がいいと     *
* 思う。                                                              *
* というか、プロ氏は仕事でもこのスタイルで書いているのか?            *
* 「プロの世界ではコーディングルールというものがあって」云々言って    *
* いたが、どんなコーディングルールを使ってるのだろう?                *
*****************************************************************************/
// ローマ字入力をカナに変換する
// exitで終了
while( 1 )
{
memset( work, 0x00, sizeof( work ) );
memset( Buff, 0x00, sizeof( Buff ) );
// 文字列を取得する
printf( "ローマ字入力 : " );
fgets( work, sizeof( work ), stdin );
// 改行コードの除去
RemoveCRLF( work );
// 半角文字を全て大文字に変換する
Str2Upper( work );
// exitを入力すると処理終了
/***************************************************************
* strncmpのサイズを表す引数が4だと、EXITで始まる         *
* 長い文字列が入力されても終了する。5の方がいいかも      *
* しれない。片方がリテラルの場合はstrcmpを使う手もある。 *
***************************************************************/
if( !strncmp( work, "EXIT", 4 ) ){
break;
}
// ローマ字変換を行う
Romaji2Kana( work, Buff );
// 変換結果を表示する
printf( "ローマ字 : %s\nカナ変換後 : %s\n", work, Buff );

}
return 0;
}
// 改行コードの除去
void RemoveCRLF(
char *Buff
){
/***********************************************************************
* プロ氏は、文字列終端の'\0'もNULLマクロを使用している。         *
* 彼は「NULL はヌルポインタとヌル文字の2つの意味で使うのが      *
* デファクトスタンダードだ」と述べたが、本来NULLは null pointer  *
* constant を表すマクロである。                                  *
* このプログラムはC++としてコンパイルされるため NULL は 0 に     *
* 展開されるが、VisualStudio VC++では、純粋なc言語のソース      *
* を書きたい場合はソースファイル名に拡張子「.c」を明記するべき。 *
* 「.c」を付けてコンパイルすると NULL は ((void *)0) に展開      *
* されるので警告が出る。CとC++の非互換性のひとつである。         *
************************************************************************/

char *p = NULL;
/************************************************************************
* プロ氏は「(初心者にはわかりにくいだろうが)strchr関数は        *
* バッファサイズを指定する引数がないので使うべきではないのだ」    *
* と memchr 関数を使っているが、肝心のバッファサイズを取得する    *
* のに strlen 関数を使っている。これではバッファオーバーランの    *
* 虚弱性を解消したことにはならない。それを指摘したらプロ氏は      *
* 「fgets関数で取得した文字列は必ず終端がヌル文字になること       *
* が保証されている」と・・・それを仮定するならstrchrでかまわない。*
* 読みづらくなったのに虚弱性は解消されていない。また、虚弱性を    *
* 解消したつもりになっているのがかえって危険である。              *
*************************************************************************/
// 文字列からキャリッジリターンがないか?
p = (char *)memchr( Buff, '\r', strlen( Buff ) );
if( p != NULL ){
// あればNULLをセットする
*p = NULL; /* '\0' であるべき */
}
// 文字列から改行コードがないか?
p = (char *)memchr( Buff, '\n', strlen( Buff ) );
if( p != NULL ){
// あればNULLをセットする
*p = NULL; /* '\0' であるべき */
}

}
// ローマ字からカナに変換
int Romaji2Kana(
char *Src, // 変換する文字列
char *Buff // 変換結果を格納するメモリ
){
char work[ 3 + 1 ];
unsigned long Count = 0;
unsigned long Count2 = 0;

// 変換する文字列がない場合
if( strlen( Src ) <= 0 ){
// 何も処理しませんよ
return( -1 );
}
memset( work, 0, sizeof( work ) );
// 3文字分処理する
while( 1 )
{
// 3文字処理しても変換できない場合は処理終了
if( Count >= 3 ){
break;
}
work[ Count ] = Src[ Count ];
Count2 = 0;
// ローマ字テーブル分と一致するか検査するまで繰り返す
while( 1 ){
if( Count2 >= RMojiTblMax ){
break;
}
/**************************************************************
* だから、strlenでサイズを取得するならstrncmpのように   *
* サイズを引数とする関数を使ってもバッファオーバーラン  *
* の虚弱性は解消されないって。                          *
***************************************************************/
// 変換文字が一致したかな?
if( !strncmp(
work,
RMojiTbl[ Count2 ][ 0 ],
strlen( RMojiTbl[ Count2 ][ 0 ] )
)
){
// カナ変換文字をコピーする
memcpy( Buff,
RMojiTbl[ Count2 ][ 1 ],
strlen( RMojiTbl[ Count2 ][ 1 ] ) );
// 変換した文字列分を飛ばして残りの文字列を処理する
// 自分自身を呼び出す事をリカーシブルコール(再帰呼出)
// といいます。
Romaji2Kana( Src + Count + 1, Buff + strlen( Buff ) );
// 関数を終了させる
return( 0 );
}
Count2++;
}
Count++;
}
/** ここでリカーシブコールを使うか! **/
// 文字を1つ進めて残りの文字列を処理する
// 自分自身を呼び出す事をリカーシブルコール(再帰呼出)
// といいます。
Romaji2Kana( Src + 1, Buff );
return( 0 );

}
// 半角文字列を全て大文字に変換
void Str2Upper(
char *Buff
){
unsigned long Count = 0;
/**************************************************************************
* for文の方がすっきり書けると思う。unsigned longがやはり違和感。    *
*   繰り返しの中でstrlenを使ってるのもちょっと気になる。   *
***************************************************************************/
// 全ての文字列を処理する
while( 1 ){
// 文字列全て処理をすれば処理終了する
if( Count >= strlen( Buff ) ){
break;
}
/***************************************************************************
* シンタックスシュガーを使って Buff[Count] と書いた方が分かりやすい。*
***************************************************************************/
// 半角文字列を小文字から大文字に変換する
*( Buff + Count ) = toupper( *( Buff + Count ) );
Count++;
}
}

--------

実行例。gccでコンパイルするとやたらに警告(const char* を char*に変換、null pointer constant の意味以外で NULL を使った(この警告はgccで出たが、必ず警告してくれる保証はないらしい))が出た後、長すぎる入力でバグったようだ。fgets使ってるのに。デバグはしてない。する気がおきない。

----

ローマ字入力 : DUMMY
ローマ字 : DUMMY
カナ変換後 : ヅ
ローマ字入力 : asahi
ローマ字 : ASAHI
カナ変換後 : アサヒ
ローマ字入力 : assamu
ローマ字 : ASSAMU
カナ変換後 : アサム
ローマ字入力 : kyoukai
ローマ字 : KYOUKAI
カナ変換後 : キヨウカイ
ローマ字入力 : aaa
ローマ字 : AAA
カナ変換後 : アアア
ローマ字入力 : mmmyou
ローマ字 : MMMYOU
カナ変換後 : ミヨウ
ローマ字入力 : dummystring
ローマ字 : DUMMYSTRING
カナ変換後 : ヅリ
ローマ字入力 : hello world
ローマ字 : HELLO WORLD
カナ変換後 : ヘオヲ
ローマ字入力 : aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
ローマ字 : �AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAア�z �アアア�\�ア�WϿ�WϿ��x�ア�WϿtWϿ$���ア�アアアア����V�アアアアア��アアx���\�ア�ア��アア��ア�WϿ �����x��WϿアア�cϿアアϿ�cϿ�cϿ�cϿ�cϿdϿ5dϿjdϿudϿ�dϿ�dϿ�dϿ�dϿeϿ;eϿjeϿteϿ�jϿ�jϿkϿ3kϿfkϿ�klϿlϿ@lϿRlϿplϿ�lϿ�lϿ�lϿ�lϿ�lϿmϿmϿ1mϿCmϿ]mϿemϿtmϿ�mϿ�mϿ�mϿ�mϿ�mϿ�mϿnϿ^nϿ�nϿ�nϿ�nϿ�nϿア�oϿ*oϿDoϿXoϿzoϿ�oϿ�oϿ�oϿ�oϿアアア�w�!アア�ア����アアアアアア4�ア アアアアアアアアア�
       ア�ア
カナ変換後 : アアアアアアアアアアアアアアアアアアアアアアアアアアアAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAア�z �アアア�\�ア�WϿ�WϿ��x�ア�WϿtWϿ$���ア�アアアア����V�アアアアア��アアx���\�ア�ア��アア��ア�WϿ �����x��WϿアア�cϿアアϿ�cϿ�cϿ�cϿ�cϿdϿ5dϿjdϿudϿ�dϿ�dϿ�dϿ�dϿeϿ;eϿjeϿteϿ�jϿ�jϿkϿ3kϿfkϿ�klϿlϿ@lϿRlϿplϿ�lϿ�lϿ�lϿ�lϿ�lϿmϿmϿ1mϿCmϿ]mϿemϿtmϿ�mϿ�mϿ�mϿ�mϿ�mϿ�mϿnϿ^nϿ�nϿ�nϿ�nϿ�nϿア�oϿ*oϿDoϿXoϿzoϿ�oϿ�oϿ�oϿ�oϿアアア�w�!アア�ア����アアアアアア4�ア アア アアアアアアア�
                                        ア�ア
ローマ字入力 : ローマ字 : �AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAア�z �アアア�\�ア�WϿ�WϿ��x�ア�WϿtWϿ$���ア�アアアア����V�アアアアア��アアx���\�ア�ア��アア��ア�WϿ �����x��WϿアア�cϿアアϿ�cϿ�cϿ�cϿ�cϿdϿ5dϿjdϿudϿ�dϿ�dϿ�dϿ�dϿeϿ;eϿjeϿteϿ�jϿ�jϿkϿ3kϿfkϿ�klϿlϿ@lϿRlϿplϿ�lϿ�lϿ�lϿ�lϿ�lϿmϿmϿ1mϿCmϿ]mϿemϿtmϿ�mϿ�mϿ�mϿ�mϿ�mϿ�mϿnϿ^nϿ�nϿ�nϿ�nϿ�nϿア�oϿ*oϿDoϿXoϿzoϿ�oϿ�oϿ�oϿ�oϿアアア�w�!アア�ア����アアアアアア4�ア アア アアアアアアア�
                        ア�アア�アア�アア�アアアアアYϿア�oϿア�YϿアアアア%�z�<��g3a7�i686アアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアア
カナ変換後 : アアアアアアアアアアアアアアアアアアアアアアアアアアアAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAア�z �アアア�\�ア�WϿ�WϿ��x�ア�WϿtWϿ$���ア�アアアア����V�アアアアア��アアx���\�ア�ア��アア��ア�WϿ �����x��WϿアア�cϿアアϿ�cϿ�cϿ�cϿ�cϿdϿ5dϿjdϿudϿ�dϿ�dϿ�dϿ�dϿeϿ;eϿjeϿteϿ�jϿ�jϿkϿ3kϿfkϿ�klϿlϿ@lϿRlϿplϿ�lϿ�lϿ�lϿ�lϿ�lϿmϿmϿ1mϿCmϿ]mϿemϿtmϿ�mϿ�mϿ�mϿ�mϿ�mϿ�mϿnϿ^nϿ�nϿ�nϿ�nϿ�nϿア�oϿ*oϿDoϿXoϿzoϿ�oϿ�oϿ�oϿ�oϿアアア�w�!アア�ア����アアアアアア4�ア アア アアアアアアア�
                                        ア�アア�アア�アア�アアアアアYϿア�oϿア�YϿアアアア%�z�<��g3a7�i686アアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアア
ローマ字入力 : ローマ字 : AAAAAAAAAAAAAA
カナ変換後 : アアアアアアアアアアアアアア
ローマ字入力 : exitttttttt
Segmentation fault (コアダンプ)

2016年8月 4日 (木)

ジーン・シャープ「独裁体制から民主主義へ」を読んでみた(4)

|

ジーン・シャープ「独裁体制から民主主義へ」

第3章 からはじめたので、第1章からあらためて読みます。

第1章の中心的なテーマは、「独裁体制に暴力で対抗することは正しいか?」これは道徳とか合法性の問題でなく、現実の効果などの話である。そして、それは危険であり、逆効果の可能性が非常に高いことを述べている。また、選挙外国からの援助に頼るのもよくない。

考察:

日本人の多くの人々が非暴力という言葉を「暴力はいけません」等の道徳的意味とか「法律違反はいけない」というような情緒的な意味合いでしか受け取っていないことに非常に危機感を覚える。非暴力不服従非協力、というのは抵抗運動の現実的な効果や仕組みがあるのだ。そして、それは非常に強力な精神力が必要である。生半可なものではない。

第1章 独裁体制に直面することの現実

近年、様々な独裁体制が民衆の運動によって弱められたり、時には崩壊している。
独裁体制はあまりにも巨大で難攻不落に見えるが、民衆が一致団結して政治的・経済的・社会的な抵抗を行った場合、体制を支えきれなくなることがある。

  • もちろん、独裁体制が倒れたからといって、悲惨な沢山の問題が解決するわけではない。しかし、独裁体制による苦しみからの軽減はある。

困難は続く

他方、いまだに独裁体制に苦しんでいるところが多数ある。何十年、何百年の抵抗でもまだ抑圧に耐えている国は多い。

  • 民衆は権威者・統治者に無条件に服従するよう長年調教されてしまっている。
  • 極端な場合は、統治者の管轄外のグループや機関は完全に骨抜きにされ、支配され、乗っ取られる。
  • 国民は分断化、原子化(孤立した個人にされてしまう)され、自由を勝ち取る活動や、国民同士の互いの信頼もできなくなり、自分たちの主導で何かを成し遂げることもできなくなる。
  • 国民は弱体化し、自信を失い、抵抗を考えることすらできなくなる。家族や友人との間でさえ自由への渇望や独裁体制への嫌悪をわかちあうこともできなくなる
  • 過去にはまだ、抵抗する人々もいたであろうが、結果はかえってより苦しみをもたらすことが多く、現在はより悲惨な状態かもしれない。民衆の恐怖感と従順癖を克服できなかったからだ。

民衆の順癖と恐怖感を克服することが、独裁体制を打倒するための前提条件であるにも関わらず。

暴力を通して自由は得られるか?

どうしたらいい?

いくら正当性を訴えても、憲法、法律上の違法性、司法の判決、世論などはたいてい独裁者に単純に無視される。

そうなると、独裁政権の残虐行為に怒る人々は暴力的な方法を使うしかない、と人々が結論するのは自然なことである。しかし、実際の結果は期待と正反対のことになる。

どんな形であれ、暴力的な反撃は独裁体制にとってもっとも有利な闘いを選んでしまった、ことになる。

考察:

要するに、暴力を使った抵抗は独裁体制の土俵に自ら登ってしまうことだ、とも言えるだろう。何度も強調しなければいけないのは、これは道徳や合法性の問題ではない、ということだ。(勿論、違法な手段を使うと独裁体制に弾圧の口実を与えるのでよくないとは言えるが)。

  1. 暴力について言えば、独裁者の方が圧倒的かつ桁違いに大きな戦力を持っている。まず勝ち目はない
  2. 軍事的反抗が非現実的だと分かると、ゲリラ活動に活路を見出そうとする場合も多い。しかし、やはり戦力の差などが大きすぎ、長期化し犠牲者も増え、新たな苦痛が生まれるだけで、どういう意味でも良い方法ではない。
  3. 仮にゲリラ活動で勝利を収めたとしても、民主化に必要な独立した機関その他を弱体化解体化し中央集権的にして、反対制行動のリーダーがより残忍な独裁者になることも多い。

考察:

当然のことながら、暴力革命など暴力を使った反抗が失敗すれば、独裁体制はそれを名目として更なる残酷な弾圧や抑圧を強めることになる。その意味でも、暴力的な方法は逆効果になる。

従って、別の方法を考えなければならない。

クーデター、選挙、あるいは国外からの救世主

  • Q. 軍事的クーデターで対抗するのはどうか? これなら短期間で効果的ではないか?ーーA.深刻な欠点がある。最大の欠点は、独裁体制の権力構造を温存してしまうこと。つまり、独裁体制の統治構造は同じなままなので、たとえ勝ったとしてもクーデターのリーダーがより残酷な独裁者に変わってしまうことが多い。人が変わるだけ。
  • Q. 選挙で独裁者を追い出せないか? −−A. 不可能だ。選挙そのものが独裁体制の思惑通りの結果になるように不正操作されるだけのこと。万が一選挙で反対制側が勝っても、独裁者に単に無視されたり、抹殺されるだけ。独裁者は自分の立場を危うくする選挙などに興味はない。利用できるときに利用するだけ。

独裁体制から何とか逃げ出した亡命者たちは、自分たちの力で独裁体制を何とかできるなどとはまったく信じることができない。そこで、国際的な援助のみが独裁体制を崩す方法だと信じるようになる。

期待する外部の力: 国際的世論、国連、特定の国家、海外からの経済的・政治的制裁など。

慰めにはなっても、現実は非情である。

独裁体制下での民衆は、残酷な独裁者に対抗する力が自分たちにあると信じることがほとんどできない。また自らを救う手筈の持ち合わせもない。当然、闘う気力も持てない。だから、解放の力を外部に求めるのも無理はない。しかし・・・

外部からの「救世主」に頼ることの危険

外部の救世主に頼ることは完全な間違いかもしれない。大抵の場合、海外からの救世主は現れない。もし他国からの介入があったとしても信頼すべきではない

他国の介入を信頼した場合の危険性:

  • 他国はその他国の利益のために、独裁政権を黙認したり、更には積極的に支持する場合がある。
  • 他国はその他国の利益など他の目的のために、「自由化してあげる」という約束を反故にして、民衆を売り渡すかもしれない。
  • 他国は、単にその国の支配利益などのためだけに独裁体制に歯向かうことがある。民衆のためではない。
  • ただし、他国は、国内の抵抗運動が独裁体制を揺るがしたり、その兆しが見えた場合には、前向きな介入をすることもある。政権の残忍な性格に海外が注目を集めるのを意識して、はじめて介入するもの。

独裁体制が存続する理由は、国内での権力配分にある: 民衆は弱い立場で、富と権力は僅かな勢力の手の内にある。海外からの介入で一時的に揺らぐこともあり得るが、国内の構造が原因である限り内因を変えない限り存続するもの。

国際的な圧力が常に役に立たないわけではない。

国内での抵抗運動がある場合には、国際的な圧力は非情に効果があることが多い。

国際的な経済ボイコット、通商停止、国際的組織からの追放、国連関連組織による非難などなどは大きな力になる。ただし、国内に強力な抵抗運動がないとそういう動きが起こることは考えにくい

厳しい現実を直視する

現実は甘くない。独裁体制から逃れたいのならば、最低限次の任務に取り組む必要がある。

  1. 抑圧された民衆自身の意思や自信、抵抗技能を強化する。
  2. 抑圧された民衆が関わる独立した社会グループや機関を強化する。
  3. 国内での強力な抵抗勢力を築く。
  4. 解放のための全体戦略計画を練り、それをうまく実行する。

 

 強力で自助的な勢力が賢明な戦略を手に、修練された勇敢な行動を起こし、純粋な力をもって向きあえば、独裁体制は崩壊する。ただし、最低限上記の4項目は必須である。

 

独裁体制からの自由化は、究極的には人びとが自らを解放できる能力にかかっている。

 

ただし、その詳細に入る前に、「独裁体制との交渉」という手段の効果について吟味しなければならない。これは重要である。

|

«ジーン・シャープ「独裁体制から民主主義へ」を読んでみた(3)