短短146天就成为Apache APISIX Committer他是怎么做到的
不过在我看来,无论经历过的是什么,这些第一次会构成你完整而丰富的一生,并帮助你看到这个世界更多的温暖和美好。等你老了,离开职场享受生活了,甚至躺在轮椅上无法行走的时候,你闭起双眼回忆起这些经历,它的珍贵就如一壶百年老酒,细细品味,才知道这才是佳酿。
熟悉我的老读者都知道,我是一个积极、外向且勇于接受挑战的人,所以从懂事到现在第一次会比一般人多一些。
2000年初,我在书房里搞了一个通宵,第一次勉强用一段歪歪扭扭的ASP代码与数据库连接,并把 “hello world” 存进了数据库。
2004年中,我放弃了与女朋友的约会,跟着技术老大第一次在机房中看到了传说中的IBM Power 550服务器,那个噪音,那个味道,直到今天都让我难以忘记。
2007年初,我与当时的韩国主管闹翻,第一次把合同甩在别人脸上,并挺直了腰杆大吼道:“老子不干了!此地不留爷,自有留爷处!”
2008年中,因为公司遭受金融危机而宣布倒闭,老板偷偷逃回香港,死活不愿意支付已拖欠我们超过三个月的工资,迫于房贷与生计的压力,我第一次拉下脸皮四处借钱,最终拿着拼凑起来的两万块钱渡过了难关。
2010年初,我和我的团队拿到了某机构的第一笔投资款,这也是我第一次创业过程中的第一个里程碑,但仅过了三天,我们的联合创始人之一,也是我们前期的财务顾问突然心脏病去世,结果投资机构随即与我们终止合作……几个月后,公司解散,我身背一堆债务悄悄离开了。
我有句话常挂在嘴边:“你的人生之所以精彩,是因为你永远猜不到结局,更猜不到在下一个阶段是谁成全了谁。”
作为一名国内的技术从业者,相信对 “开源” 俩字一定不会陌生,但第一印象基本是 “开源?不就是免费吗?白嫖?”,或者什么基金会,什么社区,什么自由平等,反正一个个看上去都神叨叨的,满嘴跑的都似乎是富有正义感的名词。
在这种刻板印象的催化下怎么用asp源码在电脑上制作网站视频链接,导致有不少人深信开源代表着正义与自由,只要一提起什么License就会联想到Oracle、微软等企业,而且还会跟巨额收款联系起来,所以很多人都认为闭源却是剥削与邪恶的化身,但现实情况真是如此吗?
为了加深大家的理解,尤其是一些技术圈外的朋友,我特地结合时间轴在Google的维基百科中搜索了一下。
咱们先穿越到60/70年代看下,整个开源软件并不像现在具有很高的流通性,大部分使用领域集中在军工单位,并多半采用项目制的方式进行。
直到1976年2月3日,比尔·盖茨给电脑爱好者们写了一封公开信,抱怨未经授权使用Altair BASIC的情况太普遍,导致新成立的微软公司回报甚微。这封信相当有名,被看作是软件通过商业授权获取收入的真正开端。
也就是说,解决了软件流通性的问题,而License模式的核心是解决所有权问题,就是不管个人也好,企业也好,我通过自己的智慧或资源投入后制造了一个软件,然后该如何将这个软件在市场上合理、合法的进行流通呢?获得许可证的人或单位,你只有使用权,不拥有所有权,而在这个之前,无论你给谁做项目,项目所产出的软件所有权,都将归属这个项目asp教程,因为这是个合同。
这类似《黑客帝国》中的场景,有黑就有白,有正就有反,在Richard Stallman(GUN Emacs之父)这帮人看来并不是这样,他们想的更加长远,他觉得人类的成果,不应该被任何一家机构或个人垄断,他是基于这个出发点进行工作的,最终他建立了GNU和自由软件基金会。
到1983年,Richard Stallman在net.unix-wizards新闻组上公开发起GNU计划,宣布它的目标是创建一套完全自由的操作系统,并附带一份《GNU宣言》。在该宣言中,Stallman声称发起该计划的一个重要理由是要“重现当年软件界合作互助的团结精神”。
次年1984年1月,Richard Stallman启动GNU计划,由于GNU是公开源代码的,为了防止不肖厂商利用自由软件,使其专有化,他创造了Copyleft的授权办法,让所有的GNU程序遵循一种“Copyleft”原则,即可以拷贝,可以修改,可以出售,但必须遵守“源代码所有的改进和修改必须向每个用户公开,所有用户都可以获得改动后的源码”的原则。
在随后的四十年间,开源与闭源两条线都按照自己的规则发展着,尤其是闭源软件,由于有License这样好的模式,对许多中小型软件公司的知识产权起到了保护作用,催化了其蓬勃发展的速度,其中最有代表性的就是微软。
因此,对于开源界而言,在很长一个阶段中,主要的对手就是微软。这个对抗,不是凭空想象出来的,微软在其领域投入的人力物力是我们想象不到的,他们对开源界是感到害怕的,并且制定出了一套完整的对抗战略,最有名的是 “F.U.D战术(fear, uncertainty, and doubt)”。
到今天为止,微软却悄悄地成为了全球对开源支持力度排名第一的公司,比如层框架也已全面开源,最近又听说给某开源基金会捐献了2000+的专利。
三国演义开头的那句话怎么说来着?天下大事,分久必合,合久必分,这不仅是软件工业的发展,也是当今开源与闭源之间交互的方式。
9月8日当天,在我把这个消息在朋友圈分享之后,还有一些朋友向我抛出 “啥是Apache?”、“Committer是干啥的?” 的问题。
借此机会,我想还是有必要来解答下ASF(Apache软件基金会),以及 “Committer是个什么鬼” 的问题。
简单点说,Apache软件基金会是专门为支持开源软件项目而办的一个非盈利性组织。在它所支持的 Apache 项目与子项目中,所发行的软件产品都遵循 Apache许可证(Apache License)。
理事会是啥?就是管理与监督整个Apache软件基金会(ASF)的商务与日常事务,并让它们能符合章程的规定下正常地运作,而项目管理委员会主要负责保证一个或者多个开源社区的活动都能运转良好。
Apache 的理事会由 9 名 member 组成,过去基本都是白人、男性、年长者(老白男),现在也在多样化,黑人女性、黄皮肤年轻人也出现在了董事会中,比如来自中国的吴晟就是董事会其中的一员。
与企业不同,在ASF中所有的 Member 和理事会成员都是独立的,这是 Apache 基金会最核心、也是最重要的特征。一个member 只代表自己个人,不代表他所在的商业公司,也不代表所在的团队。
在Apache 软件基金会中,只会根据你的贡献来评价一个贡献者是否可以成为 committer,这些贡献可以是:代码、文档、布道等各个方面。也就是说,像我这种通过对 Apache APISIX 布道贡献,也是能够被选举为 committer 的。
另外,在选举Committer或者PMC的时候,其实很多人基本都没有见过面,甚至连对方的年龄、肤色与身高都不知道,怎么样?是不是与企业内的一些 “潜规则”、“官大压官小” 相比有些不太一样?
对了,如果你对ASF有少许了解,相信你一定听过 “Community Over Code” 这句话,也有朋友问过我是啥意思?具体体现在哪里?
下面我就引用下 Apache APISIX PMC Chair - 温铭在他自己公众号文章所罗列出的四项内容:
任何人都可以通过邮件列表,公开的参与 Apache 的任何项目。即使是发布版本和毕业讨论这种大事儿,所有人也都可以参与投票,虽然只有 PMC 成员的投票才是有效的,但所有人的观点都会通过邮件列表,公开的表达出来。
与企业内的权力分级不同,Apache 基金会实行的是“精英”民主,贡献的越多,影响力就会越大。也就是说,任何人都能参与,但每个人的影响力和投票权是不同的。
在任何一个Apache 项目中,你都必须公开和充分的讨论,因为这是达成共识的必要条件。在达成共识后,投票就是水到渠成的事情。
什么?你想用权力操纵?不好意思,搞不明白这个问题,那么这个项目就不是真正意义上的社区项目,甚至是摔个大跟头。
我笑了,对我们这些普通人来说,走哪条路不艰辛?站在开源未来的角度,即使你只是一个普通的程序员,紧跟开源领域的热点动向,认清开源世界的服务与支持,无论对自己的知识结构,还是对将来的职业发展,都会起到不小的作用。