数据产业中,笔者始终认为开源体验最炫。一群人目的一致,共同作一个产品。不会收取费用,在项目的第一阶段也不会,后期还会进行维护,供客户无偿使用。假若更多产业跟搞软件开发同样借助开源项目,工做会简单得多。但开源的价值不止在此。程序员
事实上,这个理想化的东西并不如人们所想的那般完美,毕竟是人在操做,错误在所不免。在开源还被称为开源的时代,人们对它存在许多误解。有人说它做用很小(只会消耗产品不会带来什么贡献),时好时坏,会用在错误的第一项目上,让本来美好的体验化为乌有。数据库
这篇文章意在揭露开源领域中最多见的谎话,让小白可自行决定操做步骤。编程
本文转载自公众号“读芯术”(ID:AI_Discovery)微信
都据说过这句话吧。开源不收费,GitHub上能够免费下载数据库,做为开发者,咱们也知道能够在上面免费发布开源。只要电脑在手,敲好的代码就免费共享。框架
你错了。资源和成本(实物资源)是联系在一块儿的,有了电脑,还缺什么才能实现开源软件的制做和维护呢?你的时间。学习
时间是一种资源,并且是最宝贵的资源之一,难不成白白付出?好好想一想,老板可不会补偿你在开源上费的时间(除非是你在为他们作项目)。既然没有回馈,你在作什么交易?是用跟爱人在一块儿的时间交换仍是本来用来休息的时间交换?是牺牲睡觉的大好时光仍是强身健体的时间?spa
时间宝贵,对每个开源人更如此。即便程序员们愿意牺牲本身的精力,不表明你就能理所应当地想要什么就要什么。笔者见过有人要求全天24小时的开源服务,这样功能经过后就能够加到本身的项目中。3d
项目能够反映其背后是一我的仍是一个大型团队,大团队不只有委员会这样的组织带头,还有时间和资源耗费(项目有时须要花钱),而数据库或框架却不收费。因此下次再想抱怨开源软件项目,想一想维护成本。视频
开源软件既然不收取费用,维护者和建立者没法以此为生计。blog
你错了。开源软件乍一看是免费的,但你不知道的还有不少。好比任何一款数据产品,赚钱靠的无非是商业模式和营销策略。你要是对开源赚钱感兴趣的话,这里提供了一些点子:
(1)出售专业服务
这是最多见的一种方式。正如前面提到的,程序员搭建项目而且向全世界开放使用,保证24小时服务,人们会认为使用起来是理所固然的。但这不现实,并且跟开源的工做性质彻底不一样。为何不收费呢?
为何不收培训费或者向公司提供无偿使用产品的服务?这也就是所谓的专业服务(服务就意味着公司会使用你的产品)。有好几个开源项目都用的这种营销模式。好比RedHat、IBM等。
(2)出售周边产品
你读过几本有关React和PHP的书?书不是免费的吧。既然想搭建一我的人爱用的项目,那就经过教你们学习如何使用产品来盈利吧。
这跟专业服务实际上是同样的,后者是我的参与(收费能够更高)。但有了产品,你能够搭建成本低的替代品,以供非公司客户使用(例如开发者用你敲好的代码)。就算不是你造的项目,也能够获利,怎么说也是开源项目的周边产品。
咱们这里说的就是写书,或录教学视频上传到Udemy这样的平台,也能够写赞助性的博客。
(3)筹款
能够经过筹款赚钱。别怕要钱。只要方式合理,就是行之有效的。若是你建的项目被大公司投入使用了,结果会让你大吃一惊。看Git这样的项目,它们就是从各个对产品感兴趣的人那里筹集资金。
关键看项目有什么联系,以及背后的群体。规模足够大,就有赚钱的机会。也有其余经过开源项目赚钱的方式,就看你怎么创新了。
众所周知,只有建立开源项目的人才配得上开发员的称呼,对吧?不对。
能建立开源项目是一种特权。固然,开源贡献者能够从公开的项目中获利。同时,某个产业和潜在雇主会发现这些人,对其职业技能会产生某种程度的误解。不过也有些“闭门”开发员不会从公开的开源项目获利。
你能够说他们贡献的是时间,但也许他们对时间价值的衡量与你不一样,并不会公开或参与开发开源项目。
笔者这里提的都是真实存在的,一些公司或开发员都会认为作开源项目的天然擅长该领域。否则你就是个连if语句都不会敲的白痴,离不开谷歌。
这显然大错特错。
没有哪一个项目的维护是容易的、阶段性的,褪去热情你就会发现问题所在。建闭合代码项目期间,你可能会跟四五个开发员共享代码。维护时整个圈子的人都能浏览、评论或者公开讽刺你的成果。怎么会没压力呢?
不少文章都会说开源项目的优点之一就是能写出简洁可维护的代码。对笔者来讲,扛着担子敲出漂亮的代码对哪一个开发员都不易。
维护百万开发员使用的代码是一项重任。即使背后有整个团队帮忙,如何确保你们的水准和标准都无差?又如何保证那十个PR会考虑可能的风险?
准确维护开源很是难。不只如此,它很快就会让人感到疲惫。2018年一个黑客掌握了一个开源储备,并经过代码获取了私人信息。之因此会这样是由于项目的拥有者和维护者都工做累了,把任务推给了其余人。
这些人累了,黑客就有了可乘之机。
开源项目一大堆,因此人人都能轻松上手,是这样吗?
若是你想尝试开源项目,找一个愿意寻求帮助且项目维护者承认的合做者并不容易。有些项目方公开声明寻求帮助,告诉新手他们的项目有问题(其实没什么问题)。
固然也有项目方不会这么作,一方面他们没有借助外部力量,再者没接触过这些想参与进来的人。
假如你本身的项目须要帮助,事情会变难,由于真的没有寻求帮助的平台。固然,你的社交帐号如有一大批粉丝,就能找到贵人。否则的话,就看项目的受欢迎程度了。
再怎么说代码也是免费的,对吧?
不是的。咱们的海盗式心理会告诉本身若是一组代码是免费的,那就能够随意使用。因而就有复制代码、换汤不换药甚至把成果据为己有的行为。代码凭证就是所以而来。开发者但愿本身的开源项目被用且获得承认,能够考虑拿个凭证。
这样就能对用户的使用设限,改变他们的用法和再利用的方式,进而保护你和用户免遭不法分子的侵害。
没有凭证不表明你能够任意使用代码。当你在平台上找到了一个公共开源项目好比GiHub,限制也天然存在,原做者定的服务条例亦存在。因此做为用户的你如果找到了没有凭证的项目,就要想一想是否是做者已经拒绝分享此代码。若是是,那就不要用了。
凭证应该是每一个项目具有的法定条件。若是你正在找或者拥有它,最好留意与其相关的使用限制。
开发者对于开源软件还有不少设想,但错误的观点不只会影响项目自己,同时会波及做者和维护员的职业生涯。在你眼里,有关开源最大的谎话是什么?
若是你想更好的提高你的编程能力,进入到百度腾讯等大厂工做,好好学习C/C++编程知识成为高薪软件开发工程师的话!那么你很幸运~
C语言C++编程学习交流圈子,QQ群1090842465【点击进入】微信公众号:C语言编程学习基地
分享(源码、项目实战视频、项目笔记,基础入门教程)
欢迎转行和学习编程的伙伴,利用更多的资料学习成长比本身琢磨更快哦!
编程学习书籍:
编程学习视频: