始皇帝

秦朝:分封还是郡县?

分封与郡县的缘起

分封制

分封制起源很早,但是到西周才正式定型。

武王灭商后,由于首都镐京(即现在的西安)远在西北无力掌控全局、各地(尤其是东方)还有大量商朝残余势力、新的王室和功臣们等着论功行赏、以及武王、成王个人因素(武王在灭商两年后就去世了,成王继位时还是个小孩子)等原因,周朝不得不请姜子牙封神……啊不,是不得不“封邦建国,广建诸侯,以藩卫宗周”。

分封制的本质是中央统治者将一小块国土及其人民的统治权交给诸侯,以此换取诸侯对中央的义务。

当然,西周的封建制有其特殊性。西周初期的两次分封都带有动荡时期军事占领的意味,而非和平时期深思熟虑后的制度设计。此外,西周的分封制中,权利和义务是依靠血缘关系下的宗法制来保证的。这与西方封建制的基础——契约关系——截然不同。

图片 西周初期的分封形势

郡县制

郡县制起源于春秋时期。

晋国最早在国内置“郡”,由国君直接任免地方长官。楚国在灭掉权国后,将其领土改制为“县”,是最早直属君主的“县”——在此之前的“县”多是卿大夫的封邑,而非中央政权直接控制的基层行政单位。

秦国早期也是分封制的忠实拥趸,所以内部也有如孟西白等“公族”。秦穆公时期,秦国开始像楚国那样把新占领的土地设置为“县”(据说“县”字源于“悬”字,即孤悬于本土之外的领地,引申为新攻占的土地)。到了秦孝公时期,商鞅“集小都乡邑聚为县”,即废除分封制,将整个秦国领土划分为三十一个县,而新攻占的地区则设置为“郡”——直属中央、同时边防军事和民政管理一把抓的新的行政单位。

秦朝郡县设置 秦朝郡县设置

王绾与李斯的争论

郡县制帮助秦国统一了中国。而在秦始皇统一中国之后,关于新生帝国应推行分封制还是郡县制的争论就开始了。

据《史记》记载,秦始皇在世时,秦朝庙堂上进行了两次分封制与郡县制的争论。第一次还算比较就事论事地进行对比。第二次则夹杂了太多意识形态上的斗争,因此这里不做考虑。

丞相绾等言:“诸侯初破,燕、齐、荆地远,不为置王,毋以填之。请立诸子,唯上幸许。”始皇下其议於群臣,群臣皆以为便。廷尉李斯议曰:“周文武所封子弟同姓甚众,然後属疏远,相攻击如仇雠,诸侯更相诛伐,周天子弗能禁止。今海内赖陛下神灵一统,皆为郡县,诸子功臣以公赋税重赏赐之,甚足易制。天下无异意,则安宁之术也。置诸侯不便。”始皇曰:“天下共苦战斗不休,以有侯王。赖宗庙,天下初定,又复立国,是树兵也,而求其宁息,岂不难哉!廷尉议是。”

——《史记·秦始皇本纪》

王绾发言

上文记载的就是关于统一后的大秦帝国应该推行分封制还是郡县制的第一次争论。这时离“秦王初并天下”不久,丞相王绾等就进言说:“我们刚刚打败山东诸侯,燕国、齐国、楚国离我们(关中)很远,不设置诸侯王,就无法镇抚那里。请封各位皇子为王。”秦始皇命群臣商议,群臣都认为应该这样做。

王绾先提出了新生的秦王朝所面临的问题:前朝残余势力的仍在伺机反扑;远在西安的中央政府对遥远的燕国齐国和楚国也有些鞭长莫及;新的皇室和功臣们也在等着封赏。这与武王灭商后的问题何其相似。因此,王绾也提出了与西周一样的解决方案:分封诸侯。

李斯发言

随后,廷尉李斯发表意见说:“周文王、周武王分封了很多子弟和同姓亲属,可是随着血缘关系逐渐疏远,诸侯之间就像仇人一样互相攻击、征战不休,即使是周天子也无力阻止。现在天下都划分成了郡县,用公家的赋税重重赏赐皇子、功臣,就很容易控制他们。让天下人没有造反的意图才是使天下安宁的好办法。设置诸侯没有好处。”

李斯则从三个方面反驳了王绾的观点。首先,分封制度是饮鸩止渴的做法。它虽然能解决眼前的问题,但是会为子孙后代埋下战乱的隐患,春秋战国已经证明了这一点。其次,将天下划分为郡县,可以很方便的进行统治,秦国已经用自己的历史证明了这一点。最后,用政府的税入来赏赐皇室和功臣,既能安抚、又比比分封诸侯更容易控制他们。

秦始皇总结

秦始皇说:“以前,连年战争无止无休,天下人都叫苦不迭。这就是因为有那些诸侯王才导致的乱象。现在天下刚刚安定,如果我又设立诸侯国,这等于是自启祸端,想要安宁太平,岂不是难上加难?廷尉(即李斯)说得对。”

李斯不是周公旦,秦朝不是西周,秦始皇也不是周武王:他为秦帝国、甚至可以说是为中国选择了郡县制。

当然,后世虽然都沿用了郡县制,但关于要不要分封的争论几乎从来没有停歇过。这个留到后面再说。

网上的“神图” 网上找到一张“神图”。不过第一次争论双方只有王绾和李斯,淳于越到第二次争论时才加入。

后人思之而鉴之

虽然秦灭六国已经过去一千多年了,但是今天我们仍然可以听到与王绾类似的观点:

“这类需求我们以前做过,这次也照上次那样处理就可以了。”

“这段代码是我从xx系统copy过来的,没必要再改。”

……

人类的本质真是复读机啊,无怪乎鲁迅先生要问“从来如此,便对么”。

图片 “从来如此,便对么?”——这话我真说过

世界是不断前进的。贪图一时的方便、一味照抄“以前的方案”、“现有的代码”,迟早会落伍、要还债,甚至破产、被淘汰。

想想看,若干年前我们写JavaWeb时,用的还是servlet;操作数据库时,还是手写Class.forName("com.mysql.jdbc.Driver")。现在还有人这样写吗?没有,因为还这样写的人已经被淘汰了。

以前所有代码没日志、没注释,现在还要这样写吗?

以前做需求时我们在Controller里堆代码,现在还要这样写吗?

以前写代码不考虑技术债务、不考虑业务前瞻性、不考虑技术CodeReview时的“WTF”,现在还要这样吗?

正所谓:

太阳之下无新事,江山代代有新人。
新人自有新生命,谁要泥古学鬼魂!