
Python程式码贡献社群在讨论新版本功能或套件工具时,过去常用邮件清单(Mailing List),透过电子邮件将每个人的回复转寄给其他贡献者,现在则更常用Web形式的Python官方论坛。(图片来源/Python官方论坛)
继承了ABC程式语言特色的Python,不但没有走向ABC没落的结局,反而从全球上百种程式语言中脱颖而出,成为当今全球第三热门的程式语言之一。Python创办人Guido Van Rossum认为,将Python免费开源的决定,是一大关键。除了开源让更多人接触使用,Python一行行程式码与套件工具,也开放让社群参与维运,如今,不但仰赖社群力量来迭代更新,也靠社群共识来决定发展方向。
不同于像微软的C#或Google的Go,是由大企业来主导每个版本的开发,Python完全靠社群来驱动发展。其中,核心负责维持Python开发、运作与推广的单位,是在2001年成立的Python软件基金会(Python Software Foundation,PSF),主要任务是开发Python的核心发行版本,保障Python版本的知识产权,以及其他PSF持有商标的知识产权。
由于PSF是一个非营利组织,这也使Python与企业主导模式的程式语言有本质上的不同。非营利组织并不为特定企业服务,是为了实现特定理念而存在,PSF正是为了推广、保护并提升Python,同时促进全球多元社群成长而成立的组织,更进一步来说,各大企业无法对其进行并购,确保了PSF的独立性,也确保了Python未来会一直以开源免费的形式存在,而PSF如今的最高决策小组,不论各自背景是来自哪一家企业,也是以个人名义在社群中活跃,尽管仍有些政治角力的意味在内,但较不易完全被特定企业所把持。
而PSF对于Python版本、相关组织的知识产权的保障,也让许多经由PSF官方认可并注册商标的组织或活动,不会被随意使用或冒用,比如Python年度最大技术交流活动PyCon,就是由PSF注册的商标,也就是说,任何人不得在未经PSF同意的情况下,以PyCon的名义来举办活动,若是各国要举办地区性的PyCon活动,如台湾的PyCon TW、英国的PyCon UK等,都需要向PSF申请,经过认可后才能举行。
不过,PSF虽然拥有主导Python发展方向的权利,同时也是Python社群中的最高决策单位,但不同于企业主导模式是上而下的进行决策,PSF的决策方式,是在社群先达成共识后,下由上的影响决策单位做出官方的认可,除非是具有争议性的问题,才会由决策单位进行决断。过去,这个决策的角色就是由Guido Van Rossum担当,他也因此被称为“终身仁慈独裁者(BDFL)”,但在他2018年退位后,BDFL的位置不复存在,改由新组成的五人领导委员会(Steering Council)来进行决策。
社群如何影响Python发展决策?
过去二十多年来,Python靠着一套程式码贡献机制,让有兴趣的社群成员能借由参与程式码的贡献,来维持核心程式不断迭代更新,也就是说,由下而上的来影响每个Python版本的核心程式码、套件工具等。这套机制就是让Python庞大的使用社群,能够无后顾之忧的应用Python,不用担心程式语言与安装工具无人维运的关键。
台湾极少数成为Python软件包官方机构PyPA(The Python Packaging Authority)的活跃贡献者锺子屏,以自己的贡献经验来分享这套机制的运行方式,他从三年前自行开发了类似于rustup功能的Python安装快捷工具PythonUp后,接触到Python的特殊兴趣小组(Special Interest Group,SIG),并成为了其中Distutils-SIG的活跃贡献者,主要在开发Python软件包管理工具(pip)功能。
锺子屏表示,Distutils-SIG近期的任务,是在订定软件包安装时的沟通标准,同时也是各专案在建立时的共通格式,来解决Python专案在合并或共享时,可能遇到格式不相容的问题。现在Python软件包在pip安装上有一个沟通标准(PEP 517),但尚未包含所有的沟通情境,为了克服这个问题,有些企业会在标准上建立自己的工具,来统一所有专案成一个共通的格式。不过现在,Distutils-SIG正在扩充并推广新的沟通标准,试图解决这个问题。
摄影/洪政伟
台湾一位Python软件包官方机构(PyPA)的活跃贡献者锺子屏,从三年前开始接触Python的特殊兴趣小组(SIG),并成为了其中Distutils-SIG的贡献者,主要在开发Python软件包管理工具(pip)功能。
社群提出的新功能,如何成为Python官方建议准则(Python Enhancement Proposals,PEP),再被列入Python未来更新版本的功能。这要从Python开发的沟通方式谈起。
Python程式码贡献主要采用GitHub,但沟通则仍靠邮件清单(Mailing List),只要寄到这个清单上的任何讯息,都会自动转寄给名单上所有人的电子邮件账号。锺子屏表示,核心程式码贡献的社群中,上百位成员都是年纪资深的贡献者,熟悉用邮件清单沟通。不过,现在有越来越多的开发者,比如SIG社群成员,就更常在Web形式的官方论坛中交流,“以我来说,论坛差不多三天看一次,邮件清单比较少,差不多一个礼拜看一次。”
许多新功能的诞生,可能源自于一两位SIG成员的点子,由成员先实作出初始版本后,再放到邮件清单或官方论坛中讨论,若获得多数成员认同、取得初步社群共识,就会请发起人写成PEP向决策委员会提案,同时将专案转移到GitHub上来协作开发。决策委员会收到提案后,也会指派一位核心开发者来担任PEP代理人(delegate),去衡量这个PEP提案在各个社群中的讨论度。
一旦代理人判断已经达成社群共识,最后就会由委员会决定,是否成为有效的PEP,并在新版本中加入成为标准。锺子屏表示,PEP提出来后,约有8成概率会被通过,“因为Steering Council是民选的,如果绝大多数人都同意这个功能,通过的可能性就非常大。”
不过,锺子屏也指出,每个功能从取得社群共识到成为PEP的过程都很不容易,“这就跟在立法院提案是差不多困难的事情,超级麻烦。”再加上,就算真的将提案变为标准化的工具,还是会有人不买单,“因为社群自主性很强,有点像多头马车到处拉。”这些原因,都导致只有非常少数的提案,成功由下而上驱动成为Python正式标准。
比如说,由于许多语言中都有支援泛型函数(Generics),比如Java、C#,但因Go没有支援,社群中长久以来一直有要求Google增加支援的声浪。锺子屏表示,Google过去一直没有采纳意见,直到最近才改变心意,将这个功能的开发提上日程,如果将Python的决策比喻为民主政治,那Go语言就像是寡头政治,“因为开发者与决策者是同一群人。”
锺子屏也分析,以程式语言本身的存续来说,Python的维运方式比较能永续发展,“就算Core Developer哪天不想做了,还是会有新的人接下去维运,只要有人愿意做,程式语言就会持续下去。”不过,对单纯写程式无贡献想法的人来说,企业主导开源的模式还是较有保障,只是当企业宣布要停止维运时,需要及早转换新语言来使用。
台湾Python社群也开始获得国际关注
PyCon大会是Python社群中最重要的交流形式,社群同好能一同分享最新的Python专案,交流Python在各领域的应用。PyCon年会中,规模最大的是PSF在美国举办的PyCon US,每年参加人数约有3,000人,来自世界各地。
PyCon US今年的会议也刚在四月中结束,因应武汉肺炎疫情改为线上会议举行,后续主办单位也连同主要议程、Tutorials、Workshop在内,将超过五十多场线上演讲分享到官网。
而其他国家或地区,每年也都有举办在地的PyCon活动,比如台湾,今年的PyCon会议将在今年9月登场,从2012开始举行至今,已经迈入第9个年头,规模从200多人,成长到今日已经有800人,仅靠一群Python社群的志愿者来协助筹备。台湾Python社群的元老级人物胡崇伟,也从2012年首届就积极参与PyCon筹备。
台湾PyCon年会从2012年开始正式卖票来举行,从2016年起更与台湾开放文化基金会OCF合作,由OCF来协助执行财务、法务相关作业,比如开发票、借场地、收费等。如此一来,原先筹备小组成员就能聚焦处理更擅长的技术相关作业,比如网站开发、讲者投稿与邀请、制定议程等,以此来进行分工,维持台湾PyCon的举办。
在2014、2015年,台湾PyCon更扩大办理成年度国际性活动,以PyCon APAC的名义来举办亚太区的PyCon会议,胡崇伟说:“我们2014年找了Jupyter Notebook的原始作者来演讲,大家都非常兴奋,没想到后来Jupyter Notebook会红的不得了!”而这两年大规模宣传、办理PyCon,加上Python在这段期间的快速成长,也为台湾PyCon知名度打下基础,“2016年在没什么宣传却还是满座的情况下,我们知道,PyCon在台湾算是站稳脚步了。”
胡崇伟也分享,台湾PyCon还延续了美国PyCon的一个有趣传统,也就是所有的参加者,包括筹备小组成员、志工、甚至讲者在内,都要付门票费,“在刚开始实施的时候,觉得难度很高,要常常跟别人解释原因。”这与台湾大多数的会议都不同,尤其邀请讲者不但没给钟点费,反而还要收钱,“与不知道这项传统的人之间,会有些观念碰撞。”
因此,台湾PyCon也决定延续另一个美国PyCon的传统——财务补助,来作为一种变通的方法。胡崇伟指出,每个人都有权利去提出财务补助的申请,过去台湾社群成员到美国参加PyCon,向PyCon申请财务补助后,也都获得很好的回馈,所以台湾也在第二届PyCon就开始跟进这个做法。近年来,筹备小组也将财务补助作为一种代替购票的变通方式,“我们已经调整到说,假如事先邀请到某个讲者已经很不容易了,那我们就主动申请财务补助,折抵门票钱或交通住宿费用。”
近年来,Python在资料科学领域兴起后,台湾PyCon的演讲主题也有显著的改变。锺子屏表示,大约从2017年开始,ML主题的投稿量显著增加,一年比一年更夯,“去年收到三分之一的投稿都是ML主题。”他也观察,ML主题投稿者多是以企业名义投稿,相对的,Web领域的投稿则大多以个人名义,因为ML的开发通常需要投注大量资源,大企业较能提供资源来互相竞争,而网站开发的族群以散户或一般新创居多。也就是说,大企业的力量正在逐渐改变Python社群生态。
新浪潮 大企业带来Python社群3变革
Python在资料科学领域崛起后,开始有更多大企业的力量进入社群,带来不少转变。从应用面来看,交大AI学院副教授魏泽人归纳出三种改变,其一,是大企业会挹注资金来改良或扩充Python套件,同时回馈给社群,企业开发的套件也会开始支援Python,比如TensorFlow、Facebook的Pytorch 都是以Python优先。
其二,则是大企业有制式的开发流程标准,比如Google大量应用Python作为手稿语言,而后也开源了Python程式码的编写准则,提供小企业或个人参考。其三,则是大公司先采用Python来开发,能提供其他开发者信心,“对于社群的茁壮会有帮助。”
若从套件工具的使用方式来看,台湾极少数成为Python软件包官方机构(PyPA)的活跃贡献者锺子屏,也观察到社群心态上的转变。他说,许多Python使用者,过去对于开发环境、软件包或专案的管理工具,都是靠自己开发顺手的工具来使用,分别下指令或写脚本去执行,“大家都有一套自己的做法,觉得不错就口耳相传。”但在资料科学领域的使用者进入社群后,会开始期待有一站式、整合式的标准化工具,协助开发者更快速、便利的一次执行管理功能,“在心态上转变为集中化的思维。”
也因原先Python的社群生态较自由分散,程式设计初学者在学习过程也会有一定的挑战,比如质疑:“为什么要学这么多工具才能学程式?能不能学一套工具就好?”锺子屏表示,对使用者来说,只用一个工具来开发,一定比较方便,但如此一来,也会因此牺牲掉开发方式的多样性,较难透过竞争来进步。
新浪潮 Python女力崛起!女性自学社群现身
图片来源/台湾Pyladies
在台湾程式设计的领域中,大家似乎已经对男多女少的现象习以为常,在台湾PyCon中,能够担任讲者来分享技术的女性角色,似乎又更少了一点。但是,美国PyCon早在2016年,女性讲者比例就成长到40%,Python核心开发社群的女性比例也在持续增加中,甚至,Guido van Rossum更在一场演讲中直说,“Show your bias! 在两个能力一样好的男女性中,我会优先考虑给女生机会。”
也许Guido van Rossum的态度,某种程度上影响了女性参与Python的踊跃度程度,不过,Python社群中的女性推广组织Pyladies,更是重要的幕后推手。Pyladies与PyCon相同,都是PSF认可的Python官方社群组织,2011年于美国成立,而后逐渐落地到全球上百个在地社群中,成立9年来,不仅在推动女性参与开源社群的活动上不遗余力,也让更多女性能共同精进Python实力,或让初学者跨入程式设计的领域。
而台湾的Pyladies社群也不例外,2013年举办第一次活动至今,除了前三年组织较松散、办理活动较少,2016年改由三位主办人陈姿君、翁子婷、卓家璘接手后,平均每年可办30~40场活动,从初阶系列课程到进阶的特别活动、工作坊都有举行,也会根据技术的流行趋势来更换课程内容。而且,为了确保每场活动的课程品质,台湾Pyladies还有讲师课前试教、助教的制度,就是要维持作为技术交流社群的定位。
除了以丰富的课程内容为特色,台湾Pyladies社群的意义,更是要提供自我认同为女性者,一个更舒服自在的环境来学习。卓家璘就以自身经历表示,由于台湾资工界男女比例悬殊,“在纯女性社群的空间中,让我觉得很舒服,不管在学习或交流上都更轻松,也比较敢问问题。”
团队成员也观察到,近年来,Python在资料科学领域兴起,许多参加Pyladies的学员都反馈,想学资料科学相关课程,比如网络爬虫、资料探勘,或与机器学习、AI相关的内容,同时也因Python易学、好上手的特质,学员更有一半的人数非资工本科系出身,而是其他科系来跨领域学习程式语言,虽然真正转职为工程师的人还是少数,但也反应了Python的热度只增不减。
另一个现象,则是台湾愿意参与如Pyladies女性社群的人数,有逐年提升的趋势,整体来说,女性学习程式、投入工程师工作的风气有比较开放,但是成长幅度不明显。尤其当今校园与职场中,资工背景的男性还是远大于女性,在台湾PyCon年会中,女性参与比例也没有明显增长,都显示了台湾女性在程式设计领域的参与,还有很大的成长空间。
未来,台湾Pyladies也将持续推动Python女力的成长。
新浪潮 台湾中学教育开始夯Python
近年来,台湾各大专院校的资讯相关科系中,Python已经成为选修、必修的重点课程,甚至,连商学院科系也开始教Python,Python可说已经渗透到大专院校的教育场景。
而这股趋势,现在也吹进了台湾的高中教育。台湾从108课纲开始实施了程式教育后,以Scratch作为入门的程式设计语言,透过类似于拖拉式的物件组合出一段程式,以互动界面来呈现程式执行结果,借此让学生了解程式语言的基本概念。不过,除了课纲明订的Scratch,也有老师开始设计Python课程来教学。
比如台北市南港高中,就成立了数位科学实验班,从108课纲开始实施以Python为主的程式设计课,三年下来共有18学分。这门课以Scratch入门,但主要是介绍Python在各种不同的应用,课程设计者高慧君,同时也是发起这门程式教育课程的老师表示,虽然现在程式教育多用Scratch来上课,“但是Scratch是积木,Python是文字,Scratch再厉害也只是一个玩具,还是要用学会文字来表达。”
高慧君认为,Python是个适合在高中教育普及的程式语言。她在2014年接触到Python之后,发现Python的语法简洁易读、好上手,学生以Python入门后,再去学习其他程式语言会更容易,而且,就实用性而言,Python搭配不同的套件工具,就能开发不同类型的应用,学生未来的应用概率很大。
因此,在科学实验班的课程中,高慧君不只教Python基本概念及语法,也着重应用Python来实作。为期三年的课程,除了培训学生具备程式检定的能力,高二开始也开始引进如树莓派、Jet Bot机器人等硬件,并结合影像辨识等深度学习的应用来教学。
为了加速中学程式教育的推广,台湾也从2018年开始试办大学程式设计先修检测(APCS),测验内容除了考C语言观念题外,也要考实作题,让学生自由选用C、C++、Java、Python等语言来解题。
APCS除了测验学生的程式语言能力,许多大专院校资讯科系,也将检定成绩列入申请入学评分,因此,APCS在一定程度上带动了学生学习程式语言的意愿,更已经有补习班看准商机,开设了Python检定课程。
不过,高慧君也说,108课纲推动的程式教育,还需要一段时间去普及,因为,台湾过去的资讯教育仍是以C语言为主,老师不一定有程式教学的经验,再加上,“程式设计不像体育课大家都有动就好,而是教一种解决问题的方法,除错能力很重要,不是短期就能训练。”因此,108课纲是一个目标,在落实之前,还需要克服许多挑战。
除了体制内的教育,体制外的实验教育,也开始开设Python程式教育课程。台湾实验教育是采取“想学什么,自己组队找老师”的精神,全台约3,000多人的实验教育学生中,也有人会有资讯教育的需求,因此,Python爱好者胡崇伟与实验教育推动者丁志仁,近一年来开始规划Python课程,预计要先在双北招收相当于国高中年纪的体制外学生,不过受到疫情影响,具体招生时程还在研议当中。
相关报导 AI时代开发语言新主流Python
相关文章
YouTube更新违反规定政策,提升惩处透明度和一致性2023-12-31 14:00:52
传苹果将把中国iCloud正式交给本地化经营 苹果手机icloud换区存储操作2023-12-27 18:34:43
刘德华代言什么手机?刘德华成华为Mate 60 RS非凡大师华为5G新手机代言人2023-09-26 21:55:08
WebOS新系统:Palm Pre手机最新款高价登港2023-06-23 15:39:14
帮助企业组织对抗勒索软件,资安通报机构设立防护专区,可协助事前、事中与事后因应2023-06-22 09:36:10
蔚来全系产品降价3万 取消免费换电 换一次电池180元2023-06-12 17:27:49
电商平台三巨头开打最大规模折扣 价格战再次打响2023-03-05 18:58:40
爱立信节省成本裁员四千人 爱立信全球员工总数五分之一2023-02-24 22:27:29
蜜芽关停近况,八位数重金买三字顶级新域名mia.com也关闭2023-02-23 16:18:14
联想CEO杨元庆:联想集团需要裁员32%削减部分业务支出2023-02-18 12:45:25
蓝色光标2022营收亏损18亿 客户预算减少明显2023-02-18 12:40:08
三星工厂或将80%生产转至越南 因本地劳动力成本上升2023-02-17 23:09:16
香港八达通卡如何激活?没用失效过期余额怎么办2023-02-17 18:34:51
中兴通讯被曝将裁员20% 称只裁国外的2023-02-17 18:33:26
苹果新iPhone15Pro手机终于改用USB-C(火牛)数据线??Lightning充电接口退出2023-02-17 16:57:22
突发!蓝色光标曾为中国民企500强龙头 如今业绩亏损断崖下跌2023-02-16 14:31:19
三星发布自家carplay车载中控系统 Car Mode for Galaxy 可以连接carplay吗?2023-02-14 00:53:17
Opera浏览器宣布集成ChatGPT 一键生成网页内容摘要2023-02-14 00:32:08
谷歌google计划重返进入中国市场?但结果可能令你失望2023-02-13 16:57:15
Zoom紧急裁员1300人 佔员工总数15%2023-02-08 14:59:11
最新资讯
WorkBuddy 上手评测:腾讯做 AI Agent 的思路和别人不太一样2026-08-16 14:42:46
炒港股要补交多少税?我也接到催交补税特别行动的电话了2025-07-23 17:36:43
淘宝天猫仅退款属于诈骗吗?淘宝天猫开始部分取消仅退款2024-10-01 13:01:28
哈啰app借钱|哈啰借钱app下载安装免费小小上当和电话骚扰2024-10-01 11:22:38
白嫖党|山西大同大学学生网购申请“仅退款”被拒骂客服一小时2024-09-27 09:10:44
手机
中国11月手机出货量增34% 5G手机出货量2709.2万部2023-12-28 19:27:57
荣耀发布新一代旗舰荣耀Magic5系列,新款上市价格分期0首付3999元起2023-03-06 16:12:32
美国商务部指违禁,长江存储被美国拜登制裁名单面临停工裁员2023-02-17 18:41:53
苹果Apple iOS车载系统CarPlay支持哪些更多汽车品牌2023-02-02 17:33:27
香港去哪买三星手机回来吗? 买香港便宜售价手机市场地点和网站2023-02-02 11:03:11
数码
WorkBuddy 企业效率实测:非技术员工也能使唤的桌面 Agent2026-08-15 16:23:38
华为5G芯片正式亮相:预示华为将发首款5G手机2023-08-31 13:22:33
腾讯传计划放弃虚拟现实VR硬件计划2023-02-17 23:32:30
三星手机份额大跌!三星手机中国市场份额变化国内仅剩3%2023-02-01 17:06:15
三星手机份额大跌在中国没市场了!国内市场占有率仅剩1%国外比苹果销量高2023-02-01 16:59:53
科技
WorkBuddy 实测报告:2000 积分能干多少事?五大办公场景效率横评2026-08-22 10:11:17
B站怎么炸崩了哔哩哔哩服务器今日怎么又炸挂了?技术团队公开早先原因2023-03-06 19:05:55
苹果iPhoneXS/XR手机电池容量续航最强?答案揭晓2023-02-19 15:09:54
华为荣耀两款机型起内讧:荣耀Play官方价格同价同配该如何选?2023-02-17 23:21:27
google谷歌原生系统Pixel3 XL/4/5/6 pro手机价格:刘海屏设计顶配版曾卖6900元2023-02-17 18:58:09