这里是 Why Canada|为什么加拿大。
每一个加拿大为什么,都有答案。
今天,我把 Why Canada Employment Diagnosis 的代码正式放到了 GitHub,并采用 Apache License 2.0 开源许可证。
这个项目最开始,其实只是我自己不断修改的一个就业诊断工具。
我一直想解决一个问题:很多加拿大新移民和求职者找不到工作时,知道的往往只是“投了很多简历,没有面试”“有面试,没有Offer”,但真正的问题到底在哪里,并不清楚。
是英语不够?海外工作经验没有转换出来?学历和目标职位不匹配?职业需要加拿大认证?缺少本地经验?还是简历、面试和求职方向本身出了问题?
于是,我开始把教育背景、工作经验、语言能力、加拿大经验和劳动力市场因素放在一起,希望做出一个能够把这些问题拆开的就业诊断工具。
从最初版本一路做到 V4.0,项目已经改过很多轮。
问题改过,页面改过,诊断逻辑改过,输出结果也反复调整。每一次都是自己做、自己测试,发现哪里不对,再继续修改。
但做到 V4.0以后,我越来越明显地感觉到:我已经开始碰到自己的能力边界。
说得直白一点,有点黔驴技穷了。
我仍然知道这个产品想解决什么问题,也能继续发现哪里不好用,甚至还可以继续做V4.1、V4.2。
但代码架构、测试体系、安全性、性能、长期维护,以及项目越来越复杂以后应该怎样重构,这些已经不是单纯“再加几个功能”能够解决的问题。
我的技术水平有限。
继续关起门来一个人改,版本号当然还能继续往上涨,但版本号变成V5.0,并不代表产品真的提高了一个等级。
更麻烦的是,一个人长期做同一个项目,很容易进入自己的思维循环。
有些地方我可能已经改了十遍,却从来没有想过,真正正确的方法也许是直接推倒重来;有些Bug自己天天看,反而越来越看不见;有些技术问题,我甚至不知道它是一个问题。
所以,我决定开源。
这次开源并不是因为 Why Canada Employment Diagnosis 已经做得足够成熟。
恰恰相反,是因为做到 V4.0以后,我知道如果还想让它继续往前走,就需要引入外部技术力量。
我希望有开发者能够真正看到代码。
有人可能会告诉我,这段架构不合理;有人可能发现我一直没有注意到的Bug;有人更懂测试、安全或者性能;也可能有人直接提交一套比现在更好的实现方式。
哪怕有人看完以后告诉我:“这里写得不对。”
对项目来说,也比我一个人永远觉得“差不多可以了”更有价值。
开源以后,加拿大求职者和新移民也可以通过GitHub提出Issue。
实际使用过程中发现诊断不合理,可以提出来;觉得某种就业情况没有覆盖,也可以提建议。项目以后不再只有“我发现问题,我自己修改”这一条路。
当然,开源不等于把项目送人。
Why Canada Employment Diagnosis仍然会由我继续维护和更新。我仍然决定官方版本的发展方向,也会继续测试、发布和改进这个项目。
别人可以按照Apache 2.0许可证使用、修改和分发代码,也可以Fork出去建立自己的版本,但这并不会把原来的Why Canada Employment Diagnosis从我这里拿走。
开源也不意味着项目停止商业化。
代码公开和商业化并不矛盾。未来的托管服务、专业功能、就业服务或者其他商业模式,仍然可以继续探索。
对我来说,这次真正改变的是项目的发展方式。
以前,我是在做一个自己的工具。
从今天开始,我希望慢慢学习怎样维护一个真正的开源项目:怎样管理Issue,怎样接受外部贡献,怎样做版本和Release,怎样写清楚文档,也怎样面对别人对代码和产品的批评。
我不知道这个GitHub仓库以后会有多少Star,也不知道什么时候会出现第一个Pull Request。
这些暂时都不重要。
真正重要的是,做到 V4.0以后,我终于承认了一件很简单的事情:
如果 Why Canada Employment Diagnosis 想做得比现在更好,它不能永远只停留在我一个人的技术水平上。
所以,与其继续一个人闭门做V4.1、V4.2,不如把门打开。
让别人来看。
让别人挑毛病。
也让真正比我懂技术的人,有机会参与进来。
这就是我为什么决定把 Why Canada Employment Diagnosis 开源。
这里是 Why Canada|为什么加拿大。每一个加拿大为什么,都有答案。
项目:Why Canada Employment Diagnosis
GitHub:github.com/whycanada/why-canada-employment-diagnosis
开源许可证:Apache License 2.0
#WhyCanada #开源 #GitHub #OpenSource #加拿大就业 #新移民就业 #就业诊断 #职业规划 #Apache2 #EmploymentDiagnosis
这里是 Why Canada|为什么加拿大。
我们用公开资料和制度分析,解释加拿大为什么这样运行。