开源公益

公益项目为何应当“开源”?

长期:公众资金,公共产品

慈善公益机构、政府均不靠售卖产品、服务而营利,其运作资金皆源于公众资金(捐款、纳税),因此属于公有制的社会公共部门,其产出的所有成果属于社会公共产品(包括但不限于文档、设计图、源代码、非隐私/机密数据)。正因为其旨在提升全社会福祉,与用于激烈竞争的商业、军事机密不同,默认公开、放弃版权是题中应有之义。

中期:公募基金,公众监督

社会公共部门为社会公共利益而工作,有义务向公众公开工作过程的各类细节,特别是隐私数据的使用和保护、捐/拨款的预决算明细等等,以形成有效的舆论监督机制

短期:公益项目,公民参与

在移动互联网大行其道的时代,微博超话、粉丝应援团式的在线直接参与,比传统的“定向招募志愿者后再培训、交接、上岗”模式有更强大的生命力,真正能达到大家一直以来理想的集思广益、群策群力。

公益 IT 基础设施为何应当首先“开源”?

技术志愿者人员稳定性差

很多公益事业的批评者常说:不发工资就没有强制力、积极性。虽然这个观点有浮于表面的片面性,但现实中大多数公益志愿者确实是三天打鱼、两天晒网,作为有较高技能门槛的 IT 系统开发,拖个三五年、做黄了推倒重来都是常有的事。

虽然大多数开源项目的免费特性让大多数开源贡献者也是技术志愿者的工作形式,但单一公益组织的技术志愿者群体是无法与全球开源社区的体量相比的,同样的无偿工作带来的收益是差异巨大的。

技术外包风险高

如果有基金会资金支持,虽然可以将技术志愿者替换为外包公司,但公益项目通常预算较低,一般的外包公司为了保证利润,经常优先选派初级工程师、应届毕业生甚至实习生来草草了事。因此项目严重延期、中途失败屡见不鲜。即使最终交付,往往软硬件质量堪忧,不但用户界面难用得影响工作效率,安全隐患、系统漏洞也会成为后期使用的大敌。

反观开源社区,活跃的贡献者往往是中高级工程师,即便是初级工程师和在校生,也都是想在开源社区中学习、锻炼的积极向上者。

供应链安全风险无预警

即便前述两种方式都幸运地保质保量交付,几个志愿者业余零散开发或外包公司商业闭源的产品,在中长期内,是否有更多未知的安全漏洞、是否需要对陈旧的基础设施进行必要的升级,要解决这些重大问题,要么采购昂贵而专业的商业维护服务,要么使用免费而普适的全球开源代码漏洞扫描。

开源悬赏」助力公益 IT 建设

没钱时,也可招募更多的技术志愿者

有钱时,外包公司、开源社区双保险

  • 外包公司不靠谱时,开源社区的技术能人可以帮忙纠偏,最大程度避免“无可救药”后换供应商重做。
  • 社区感兴趣的技术志愿者少时,外包公司的员工近水楼台先得月,也可照旧把悬赏任务全做完。

悬赏激发“复利”,让人不吝啬做“简单”工作

很多公益志愿者在潜水、跑路后往往抱怨:那些工作我都学会了,该锻炼的也都锻炼了,再反复做浪费时间。开源贡献者面对很多长期没人管的 issue 也是类似的态度,觉得没什么成就感就不做了。但如果学会的一项技能可以直接在经济上变现,那越简单的东西其实他越愿意重复做。

开源平台无缝对接公益审计

现在所有开源项目均采用在线版本管理系统(如 Git 单机工具及 GitHub、GitLab、Gitee 在线平台),这套标准的工作流记录了详尽的开发过程,比传统的其它非技术工作更具备天然的可审查性,其在线平台也为项目方和使用者提供了免费的项目管理和缺陷申报系统。

「开源公益悬赏」的基础设施

组织智能化转型之 idea2app 飞书方案

在线版本管理系统

公益 IT 项目平台

悬赏任务发布平台

OCToken 开放协作价值系统

开源黑客松数据库(单场比赛版)

开放议事系统