From 4020d0957fec7dec77145c23a793f776864a99ec Mon Sep 17 00:00:00 2001 From: ORH <512574561@qq.com> Date: Thu, 24 Dec 2020 09:16:06 +0800 Subject: [PATCH 1/2] =?UTF-8?q?update=20=E7=AC=AC6=E9=83=A8=E5=88=86?= =?UTF-8?q?=E2=80=94=E2=80=94=E5=85=B6=E4=BB=96=E9=97=AE=E9=A2=98/?= =?UTF-8?q?=E5=85=B3=E4=BA=8E=E5=BC=80=E6=BA=90=E9=A1=B9=E7=9B=AE=E7=9A=84?= =?UTF-8?q?=E5=95=86=E4=B8=9A=E5=8C=96.md.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...04\345\225\206\344\270\232\345\214\226.md" | 51 +++++++++---------- 1 file changed, 24 insertions(+), 27 deletions(-) diff --git "a/\347\254\2546\351\203\250\345\210\206\342\200\224\342\200\224\345\205\266\344\273\226\351\227\256\351\242\230/\345\205\263\344\272\216\345\274\200\346\272\220\351\241\271\347\233\256\347\232\204\345\225\206\344\270\232\345\214\226.md" "b/\347\254\2546\351\203\250\345\210\206\342\200\224\342\200\224\345\205\266\344\273\226\351\227\256\351\242\230/\345\205\263\344\272\216\345\274\200\346\272\220\351\241\271\347\233\256\347\232\204\345\225\206\344\270\232\345\214\226.md" index f8919bc..784c00e 100644 --- "a/\347\254\2546\351\203\250\345\210\206\342\200\224\342\200\224\345\205\266\344\273\226\351\227\256\351\242\230/\345\205\263\344\272\216\345\274\200\346\272\220\351\241\271\347\233\256\347\232\204\345\225\206\344\270\232\345\214\226.md" +++ "b/\347\254\2546\351\203\250\345\210\206\342\200\224\342\200\224\345\205\266\344\273\226\351\227\256\351\242\230/\345\205\263\344\272\216\345\274\200\346\272\220\351\241\271\347\233\256\347\232\204\345\225\206\344\270\232\345\214\226.md" @@ -16,7 +16,6 @@ 疑问来了,不是说好的开源吗?怎么又冒出来个协议?难道我都获得了源代码了还不能用于我的项目之上吗?作者还要收费不成?没错是有这么个协议存在,而且具有一定的约束能力。我们所理解的开源和实际的开源还是存在一点点的差别,所以必须把开源协议拿出来修饰一下这个话题。 - > 开源许可协议:开源许可协议是指开源社区为了维护作者和贡献者的合法权利,保证软件不被一些商业机构或个人窃取,影响软件的发展而开发的协议。(来源:[百度百科](http://https://baike.baidu.com/item/%E5%BC%80%E6%BA%90%E8%AE%B8%E5%8F%AF%E5%8D%8F%E8%AE%AE/2470967?fr=aladdin)) 不同的开源协议有着不同的开源约束能力,是为了保障开源项目的可持续性发展,只要我们在约束条件内,可以自由发挥,并非完全不能使用开源项目,使用者可以最大程度去复制、分发、盈利、修改、发行。 @@ -29,16 +28,12 @@ 开源和商业化并不冲突,而是相互共存、互补、突现。 - - ### 商业化的开源项目特征 - ``` 本段内容可进行修改补充 ``` - 互联网高速发展的时代,让开源项目变成了可能,很多开源项目已经实现了价值。开源是每一个个体和组织都可以贡献的一种资源,数据表明近年来中国的开源贡献以每年 37% 的速度在增长。 尽管国家也高度重视开源精神、鼓励开源生态的发展,但是当下国内开源生态并不是很乐观,还有很大的发展空间。我们需要去创新、去发现、去贡献,每个开源贡献者即便是微乎其微的努力也在影响着开源生态发展,让国内开源生态更加完善。 @@ -60,6 +55,7 @@ 不管你的开源项目是什么,都要明确项目的边界,也许你服务的是一个行业,也许是一个认知的市场,都要体现出开源项目的专业度。 开源项目能不能商业化受以下几个方面影响: + - 能解决多少问题; - 是否必须; - 用户群体的大小; @@ -74,49 +70,50 @@ 部分成功的商业化开源项目 - ``` 需补充商业化前的背景,商业化后的发展情况。 ``` +- Red Hat + + Red Hat Enterprise Linux 是 Red Hat 公司的 Linux 发行版,面向商业市场,包括大型机。 + +- MySQL -> Red Hat + MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,属于 Oracle 旗下产品。 -Red Hat Enterprise Linux 是 Red Hat 公司的 Linux 发行版,面向商业市场,包括大型机。 +- MariaDB -> MySQL + MariaDB 数据库管理系统是 MySQL 的一个分支,主要由开源社区在维护,采用 GPL 授权许可。MariaDB 的目的是完全兼容 MySQL,包括 API 和命令行,使之能轻松成为 MySQL 的代替品。 -MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,属于 Oracle 旗下产品。 +- OceanBase 蚂蚁金服数据库 -> MariaDB + OceanBase 是由蚂蚁集团完全自主研发的金融级分布式关系数据库,始创于 2010 年。OceanBase 具有数据强一致、高可用、高性能、在线扩展、高度兼容 SQL 标准和主流关系数据库、低成本等特点。 -MariaDB 数据库管理系统是 MySQL 的一个分支,主要由开源社区在维护,采用 GPL 授权许可。MariaDB 的目的是完全兼容 MySQL,包括 API 和命令行,使之能轻松成为 MySQL 的代替品。 +- React -> OceanBase 蚂蚁金服数据库 + 用于构建用户界面的 JavaScript 库 -OceanBase 是由蚂蚁集团完全自主研发的金融级分布式关系数据库,始创于 2010 年。OceanBase 具有数据强一致、高可用、高性能、在线扩展、高度兼容 SQL 标准和主流关系数据库、低成本等特点。 +- Vue -> React + **起源** -用于构建用户界面的 JavaScript 库 + Vue 起源与尤雨溪在 Google 工作时的一个想法有关,当年尤雨溪在 Google 工作时需要在浏览器上进行大量原型设计,因为大量设计这些东西太过繁琐,于是他想要尽快获得有形的东西,恰巧当时公司有些项目在使用 Angular,这给了他一个借鉴的想法,Angular 提供了一些用数据绑定和数据驱动来处理 DOM 的方法,不必自己去碰 DOM。但它也有一些副作用,就是需要按照它规定的方式来构建代码。这对于当时的场景而言实在是太过于笨重了。于是尤雨溪就把自己喜欢的部分从 Angular 中提出来,建立一个非常轻巧的库,去除掉了那些额外的逻辑,这便是最开始的 Vue。 -> Vue + **发展阶段** -- #### 起源 -Vue 起源与尤雨溪在 Google 工作时的一个想法有关,当年尤雨溪在 Google 工作时需要在浏览器上进行大量原型设计,因为大量设计这些东西太过繁琐,于是他想要尽快获得有形的东西,恰巧当时公司有些项目在使用 Angular,这给了他一个借鉴的想法,Angular 提供了一些用数据绑定和数据驱动来处理 DOM 的方法,不必自己去碰 DOM。但它也有一些副作用,就是需要按照它规定的方式来构建代码。这对于当时的场景而言实在是太过于笨重了。于是尤雨溪就把自己喜欢的部分从 Angular 中提出来,建立一个非常轻巧的库,去除掉了那些额外的逻辑,这便是最开始的 Vue。 -- #### 发展阶段 -尤雨溪在使用了一段时间后,觉得自己这个项目还有点前途,于是花费了一段时间对这个项目进行了封装,并取名为 Vue.js。`花了这么多时间,不能只有我一个人用,我应该和别人分享,他们也会感觉到 Vue 的好处,他们也会喜欢上 Vue 的。`秉承着这种想法,在封装完成后尤雨溪便将迅速将 Vue 发布到了 Github 上面,并把链接发送到了 Hacker News 上。没过多久 Vue 便被顶上了首页,并在首页保留了好几个小时,这也是 Vue 第一次面向大众。这时的 Vue 还刚初出茅庐,没什么名气,真正让 Vue 普及起来还得归功于,2014年 Taylor otwell(一个非常热门的 php 框架 laravel 的作者)第一次在 Twitter 上发表了关于 Vue.js 的推文,内容大概是学习 React 很难,现在我正在学习 Vue.js,因为这看起来比较简单。也就是这条推文,让 Vue.js 这个框架得到了认可,所有 laravel 用户觉得:wow,Taylor is liking Vue.js ,it must be a good tool,we should try it,于是就开始有了很多从 laravel 社区来的用户。Vue 因此收获了一大波用户,为 Vue 的繁荣打下了结实的基础。 + 尤雨溪在使用了一段时间后,觉得自己这个项目还有点前途,于是花费了一段时间对这个项目进行了封装,并取名为 Vue.js。「花了这么多时间,不能只有我一个人用,我应该和别人分享,他们也会感觉到 Vue 的好处,他们也会喜欢上 Vue 的。」秉承着这种想法,在封装完成后尤雨溪便将迅速将 Vue 发布到了 GitHub 上面,并把链接发送到了 Hacker News 上。没过多久 Vue 便被顶上了首页,并在首页保留了好几个小时,这也是 Vue 第一次面向大众。这时的 Vue 还刚初出茅庐,没什么名气,真正让 Vue 普及起来还得归功于,2014 年 Taylor Otwell(一个非常热门的 PHP 框架 Laravel 的作者)第一次在 Twitter 上发表了关于 Vue.js 的推文,内容大概是学习 React 很难,现在我正在学习 Vue.js,因为这看起来比较简单。也就是这条推文,让 Vue.js 这个框架得到了认可,所有 Laravel 用户觉得:Wow,Taylor is liking Vue.js,it must be a good tool,we should try it,于是就开始有了很多从 Laravel 社区来的用户。Vue 因此收获了一大波用户,为 Vue 的繁荣打下了结实的基础。 -- #### 从开源中变现 -`我为开发者们创造了价值,所以从理论上说,如果我能以某种方式得到接近于这些价值的钱,那么我应该能够养活自己。`Vue 的用户群非常有活力。许多来自 Laravel 社区的 Vue 用户,他们非常热情真诚,也非常的友好。这让尤雨溪感觉众筹可能是个不错的想法。于是不久后尤雨溪便在 Patreon 上挂出了众筹页面。为了众筹尤雨溪还在 Patreon 众筹上加了一个附加奖励。如果有公司愿意赞助他,那么他可以把公司的标志放在 vuejs.org 的赞助商页面上,就相当于在社区给公司打了广告。Patreon 众筹得到的金额里有一半是来自个人的,其中还有一个人每月赞助他 2000 美元以支持他开发Vue。据尤雨溪本人透露,自己在家中全职开发 VUE 的初期,每月就能从众筹网站上获得至少 1 万美元的资助。尤雨溪就这样凭借自身能力依靠 Vue 项目的变现实现了自身的财务自由。 -> antd + **从开源中变现** -antd 是基于 Ant Design 设计体系的 React UI 组件库,主要用于研发企业级中后台产品。 + 「我为开发者们创造了价值,所以从理论上说,如果我能以某种方式得到接近于这些价值的钱,那么我应该能够养活自己。」Vue 的用户群非常有活力。许多来自 Laravel 社区的 Vue 用户,他们非常热情真诚,也非常的友好。这让尤雨溪感觉众筹可能是个不错的想法。于是不久后尤雨溪便在 Patreon 上挂出了众筹页面。为了众筹尤雨溪还在 Patreon 众筹上加了一个附加奖励。如果有公司愿意赞助他,那么他可以把公司的标志放在 [Vue.js](https://vuejs.org/) 的赞助商页面上,就相当于在社区给公司打了广告。Patreon 众筹得到的金额里有一半是来自个人的,其中还有一个人每月赞助他 2000 美元以支持他开发 Vue。据尤雨溪本人透露,自己在家中全职开发 Vue 的初期,每月就能从众筹网站上获得至少 1 万美元的资助。尤雨溪就这样凭借自身能力依靠 Vue 项目的变现实现了自身的财务自由。 -> Unreal Engine 4 +- antd -大名鼎鼎的虚幻 4 游戏引擎。拥有独创的蓝图系统,降低了游戏开发门槛。渲染效果逼真,甚至被大量用于电影和 CG 渲染。虚幻商场提供了大量预设资源,降低了游戏开发成本。且虚幻引擎本身的使用是完全免费的,在发行产品(使用虚幻 4 引擎制作的包括但不限于游戏的商业发行产品)开始商业化运营,且总营收超过 1000000 美金后才开始支付 5% 的分成费用,使独立游戏开发者能够投入更多精力到游戏开发之中,而不必担心引擎授权费问题。正是由于这些优点,使虚幻 4 成为了最为著名和使用最为广泛的游戏引擎之一。 + antd 是基于 Ant Design 设计体系的 React UI 组件库,主要用于研发企业级中后台产品。 +- Unreal Engine 4 + 大名鼎鼎的虚幻 4 游戏引擎。拥有独创的蓝图系统,降低了游戏开发门槛。渲染效果逼真,甚至被大量用于电影和 CG 渲染。虚幻商场提供了大量预设资源,降低了游戏开发成本。且虚幻引擎本身的使用是完全免费的,在发行产品(使用虚幻 4 引擎制作的包括但不限于游戏的商业发行产品)开始商业化运营,且总营收超过 1000000 美金后才开始支付 5% 的分成费用,使独立游戏开发者能够投入更多精力到游戏开发之中,而不必担心引擎授权费问题。正是由于这些优点,使虚幻 4 成为了最为著名和使用最为广泛的游戏引擎之一。 还有很多很多开源项目走向了商业化…… \ No newline at end of file -- Gitee From a269af7b6635352d04860ca52dd40d77dca3e4f4 Mon Sep 17 00:00:00 2001 From: ORH <512574561@qq.com> Date: Thu, 24 Dec 2020 09:25:55 +0800 Subject: [PATCH 2/2] =?UTF-8?q?update=20=E7=AC=AC6=E9=83=A8=E5=88=86?= =?UTF-8?q?=E2=80=94=E2=80=94=E5=85=B6=E4=BB=96=E9=97=AE=E9=A2=98/?= =?UTF-8?q?=E6=80=8E=E6=A0=B7=E5=9C=A8=E6=9C=AC=E8=81=8C=E5=B7=A5=E4=BD=9C?= =?UTF-8?q?=E5=92=8C=E5=BC=80=E6=BA=90=E9=A1=B9=E7=9B=AE=E9=97=B4=E5=81=9A?= =?UTF-8?q?=E5=A5=BD=E5=B9=B3=E8=A1=A1.md.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...32\345\245\275\345\271\263\350\241\241.md" | 54 ++++++++----------- 1 file changed, 21 insertions(+), 33 deletions(-) diff --git "a/\347\254\2546\351\203\250\345\210\206\342\200\224\342\200\224\345\205\266\344\273\226\351\227\256\351\242\230/\346\200\216\346\240\267\345\234\250\346\234\254\350\201\214\345\267\245\344\275\234\345\222\214\345\274\200\346\272\220\351\241\271\347\233\256\351\227\264\345\201\232\345\245\275\345\271\263\350\241\241.md" "b/\347\254\2546\351\203\250\345\210\206\342\200\224\342\200\224\345\205\266\344\273\226\351\227\256\351\242\230/\346\200\216\346\240\267\345\234\250\346\234\254\350\201\214\345\267\245\344\275\234\345\222\214\345\274\200\346\272\220\351\241\271\347\233\256\351\227\264\345\201\232\345\245\275\345\271\263\350\241\241.md" index ebeb85c..cbb48a2 100644 --- "a/\347\254\2546\351\203\250\345\210\206\342\200\224\342\200\224\345\205\266\344\273\226\351\227\256\351\242\230/\346\200\216\346\240\267\345\234\250\346\234\254\350\201\214\345\267\245\344\275\234\345\222\214\345\274\200\346\272\220\351\241\271\347\233\256\351\227\264\345\201\232\345\245\275\345\271\263\350\241\241.md" +++ "b/\347\254\2546\351\203\250\345\210\206\342\200\224\342\200\224\345\205\266\344\273\226\351\227\256\351\242\230/\346\200\216\346\240\267\345\234\250\346\234\254\350\201\214\345\267\245\344\275\234\345\222\214\345\274\200\346\272\220\351\241\271\347\233\256\351\227\264\345\201\232\345\245\275\345\271\263\350\241\241.md" @@ -4,8 +4,6 @@ 友情提示,本文主要针对那些个人开发者,不针对那些以开源计算 KPI 的企业或者企业员工或全职开源者。 - - 开源不是工作,开源更多的是一种对自我能力、自我影响力或自我约束力的升华。在写这篇文章之前,我专门向多位开源圈的大佬请教过这个问题,大佬们给我的答案大部门意思都一样,总结一下就是:**学会规划自己的时间,要明确工作是工作,开源是开源,开源一定是牺牲自己的业余时间去做的**。 ## 工作能带给我们什么? @@ -17,31 +15,28 @@ 3. 心理上:投入感、自我肯定、被信赖感、支配感等 ## 开源能带给我们什么? + 1. 在这你可以找到一群志同道合的朋友,一起分享编写编码的乐趣,找到属于自己的共同点。 2. 你可以在开源项目中磨砺自身,提升自身的沟通能力,与代码编写技巧。更能丰富你的阅历,让你知道如何作为团队的一部分,和其他人一起协作开发一个项目。而且由于代码公开,这些项目可以作为你技能熟练度的佐证,有助于自身建立个人品牌。 3. 开源可以让你站在其他人的视角上面看待一个问题,人无完人,一个人的思维总归还是会有一定的局限性。对于一个技术难点我们不必死缠烂打,不妨看看别人的代码,拓宽自己的思路,打破自身思维所带来的局限性,取人之长,补己之短。 个人能力锻炼和提升: - -1. 专业技术能力; -2. 架构设计和模块化思维能力; -3. 团队精神和协作能力; -4. 文档习惯和写作能力; -5. 需求理解能力; - - +1. 专业技术能力 +2. 架构设计和模块化思维能力 +3. 团队精神和协作能力 +4. 文档习惯和写作能力 +5. 需求理解能力 精神生活丰富有趣味: -1. 参与大型团队,比肩业内大佬; -2. 增加交友机会,拓展社交范围; -3. 帮人解决问题,自信成就彼此; -4. 偶有项目奖励,内心喜不自禁; -5. 个性创新不断,行业视角更广; - +1. 参与大型团队,比肩业内大佬 +2. 增加交友机会,拓展社交范围 +3. 帮人解决问题,自信成就彼此 +4. 偶有项目奖励,内心喜不自禁 +5. 个性创新不断,行业视角更广 -关于这部分详细内容,请参考[开源与个人技术成长](../第1部分——初识开源/开源与个人技术成长.md)、[个人为什么要参与开源贡献](../第3部分——尝试参与开源/个人为什么要参与开源贡献.md) +关于这部分详细内容,请参考 [开源与个人技术成长](../第1部分——初识开源/开源与个人技术成长.md)、[个人为什么要参与开源贡献](../第3部分——尝试参与开源/个人为什么要参与开源贡献.md) - 提升专业技术能力 - 提升个人成就感和自信 @@ -49,14 +44,13 @@ - 丰富阅历、拓宽知识面 - 结识更多领域的专家 - ## 亲身经历 在这儿,我不妨先给大家分享一些我的亲身经历: 以往我在面试开发者时必问的一点就是:你做没做过开源?如果面试者回答做过,我会继续问他为什么要做开源?开源能带给你什么?可悲的是大部分(几乎可以说全部)开发者一致的回答是:一直想做但平常没有时间做。 -由此可见一斑,大部分人对于开源的态度都是“我工作忙,没有时间”,试问你真的是没有时间吗?容我斗胆猜测目前国内开发者的状态: +由此可见一斑,大部分人对于开源的态度都是「我工作忙,没有时间」,试问你真的是没有时间吗?容我斗胆猜测目前国内开发者的状态: 1. 965,工作轻松有,还能结伴撮顿酒。 2. 996,工作累成狗,回家倒床就一宿。 @@ -69,7 +63,7 @@ 在工作的时候,你真的是在认真工作吗?是真的全身心的投入到工作中了吗? - 你是否还记得早上一个小时喝茶上厕所的时候? -- 你是否还记得在各个群里吹天砍地、斗图“蹦迪”的时候? +- 你是否还记得在各个群里吹天砍地、斗图「蹦迪」的时候? - 你是否还记得你在工位上追着没追完的剧的时候? - 你是否还记得…… @@ -84,7 +78,7 @@ 我想你也可能是选择性的忘记了。 -希望经过上面的“反省”,各位开发者能对自己的实际情况有一个比较客观的认识。 +希望经过上面的「反省」,各位开发者能对自己的实际情况有一个比较客观的认识。 ## 怎么办? @@ -98,7 +92,7 @@ OK,言归正传,书接上文。我们应该怎么办?应该怎么做到两 这个道理很简单,我们越高效的完成工作,那么留给我们的空余时间就会越多,我们就可以利用这些空余时间去学习新技术提高自己的能力或者参与开源项目(诶,你这糟老头子,说了满篇废话,终于点到题上了)。 -友情提示:有些公司明令禁止不得在工作时间利用公司资源搞其他的东西。这个范围是很宽泛的,既包括兼职又包括开源(开源可以理解成一个短期或者基本无收入的“兼职”)。这一点不在本文的讨论范围内,不做过多解释。 +友情提示:有些公司明令禁止不得在工作时间利用公司资源搞其他的东西。这个范围是很宽泛的,既包括兼职又包括开源(开源可以理解成一个短期或者基本无收入的「兼职」)。这一点不在本文的讨论范围内,不做过多解释。 ### 提高自控力 @@ -128,13 +122,11 @@ OK,言归正传,书接上文。我们应该怎么办?应该怎么做到两 首先,我们应该从自身能力出发。 -- 如果你是**未参加工作的学生**,建议你**以学习内容为轴心**,丰富的理论知识可以让你在相关项目的实践上大展拳脚。 -- 如果你是**其他行业的人士**,请**确定自己感兴趣的方向**,掌握必知必会的技能,开源指日可待。 -- 如果你是一个**初次参与开源**的“新手玩家”,熟悉的领域比较少,建议你从**工作相关的内容**入手,可以更好地开启你的开源之路。 - -- 如果你是一个有**丰富经验的开发者**,但各个领域并不精通,请尝试从**自身技术栈**出发,解锁开源的第一步。 - -- 如果你是一个开源界的“老炮”,知识面广泛且深入,相信你已经不需要再依据这篇文章来进行开源的抉择了,欢迎你更积极地“发光发热”,帮助更多的人晋升为“老炮”。 +- 如果你是 **未参加工作的学生**,建议你 **以学习内容为轴心**,丰富的理论知识可以让你在相关项目的实践上大展拳脚。 +- 如果你是 **其他行业的人士**,请 **确定自己感兴趣的方向**,掌握必知必会的技能,开源指日可待。 +- 如果你是一个 **初次参与开源** 的「新手玩家」,熟悉的领域比较少,建议你从 **工作相关的内容** 入手,可以更好地开启你的开源之路。 +- 如果你是一个有 **丰富经验的开发者**,但各个领域并不精通,请尝试从 **自身技术栈** 出发,解锁开源的第一步。 +- 如果你是一个开源界的「老炮」,知识面广泛且深入,相信你已经不需要再依据这篇文章来进行开源的抉择了,欢迎你更积极地「发光发热」,帮助更多的人晋升为「老炮」。 其次,可以从自身需求出发。 @@ -153,10 +145,6 @@ OK,言归正传,书接上文。我们应该怎么办?应该怎么做到两 2. 提高自控力 3. 必要的牺牲 - ## 结语 这篇文章是我在工作之外,利用自己的业余时间,前前后后构思了好久才写完的。内容可能不尽人意,各位看官暂且一阅,欢迎指正欢迎交流。 - - - -- Gitee