首页 > Developers, Digital Media, FLOSS & Business > 在开源项目中如何学习的主题交流

在开源项目中如何学习的主题交流

2017年8月2日 发表评论 阅读评论

2017年7月31日,周一晚上8点30分。Allen带来了主题为《如何在开源项目中学到更多》的交流。以下是主持人如梦初醒整理的问答实录,记录了作者和读者问答的时刻。

内容提要:

  • 开源软件是不是不能卖钱?
  • 维基百科和谷歌好用是好用,但我的经验是,只有你明确了解到一个关键词,去按图索骥的效果才比较好。请问你在搜索的提取关键词上,有什么心得吗?
  • 很多问题在官方文档上有写。可问题在于,有些写得不那么明显的问题,是不能直接找到答案的。还有一些则是属于知识与知识之间暗的部分,新人就是在这里有所缺失,才令他无法直接从官方文档中提取到想要的信息。对这方面的问题,如何通过提问的方式让有经验的人解答?这里的要点是什么?
  • 为什么灰狐网站上可以存在大量高质量的文档,如何收集整理的?
  • 开源软件如何赚钱,以及避免被别人无偿拿走赚钱,心态该如何调整?
  • 如何完整的学习一个开源项目,例如docker,并把它用到工作中?
  • 你参加过哪些比较好的开源会议?一般是在哪里得知这些消息的?
  • 如果要从事开源项目的话,一个人的精力毕竟是有限的,那么如何最大程度吸引其他人也参与到自己的开源项目里?又如何与这些志同道合的开发者建立良好的关系?
  • 把公司项目来源会不会有法律上面问题?
  • 请问开源的界限在哪里?比如我认为一个开源项目中某一个功能实现的思路很好,就在我自己的项目中按这种思路实现了,那这样是否必须在我的项目中注明引用?

问:开源软件是不是不能卖钱?

答:需要根据不同的开源许可协议,你可以在开源软件的基础上集成分发一个商业版本进行销售。如:大数据Hadoop和云平台OpenStack都有多个商业分发版。都在卖钱,而且这些公司活得很好。目前,Apache v2的许可协议商业非常友好。


问:维基百科和谷歌好用是好用,但我的经验是,只有你明确了解到一个关键词,去按图索骥的效果才比较好。请问你在搜索的提取关键词上,有什么心得吗?

答:我大致的方法:使用多个搜索引擎,对比搜索结果,然后整合维基、Twitter、知乎、开源项目文档等信息,并使用wiki和teambition等很多工具帮助我管理相关信息。我个人体会,从我的角度来看知乎可作为维基百科的深度补充。做技术的需要有身翻墙本领。

https://github.com/getlantern/lantern, 蓝灯,可用。


问:很多问题在官方文档上有写。可问题在于,有些写得不那么明显的问题,是不能直接找到答案的。还有一些则是属于知识与知识之间暗的部分,新人就是在这里有所缺失,才令他无法直接从官方文档中提取到想要的信息。如何通过提问的方式让有经验的人解答?这里的要点是什么?

答:我个人体会,首先看官方文档,在这个基础上,再搜索一下有没有类似的问题已经被其它人提及并得以解决。若没有,就自己先动手实践。其实,很多常见问题可通过不停实践加以解决。另外,在选型开源项目时,官方的文档也是一个重要的选型指标。

建议:新人,大家刚接触一个新事物新东西,都会是这个状态。多看文档和多实践、先跳过新人这个阶段。


问:为什么灰狐网站上可以存在大量高质量的文档,如何收集整理的?

答:我收集整理这些文档,有10几年了。当时,只是为了方便自己查找,后来也给大家带来很多方便,就不停做这件事,现在有400多个G的文档内容。举个例子:很多网站下一个ppt,需要注册、积分等,灰狐网站上的所有信息,全部可以直接访问和下载。我会注意版权方面的问题,收集的都是自由、开放的资源。


问:开源软件如何赚钱,以及避免被别人无偿拿走赚钱,心态该如何调整?

答:开源了,就保持开放心态。有人用、有人clone分支、拿去赚钱,你应该感到开心。这个时代变了,好的开源软件太多太多,有人看上你的开源项目,你就开心吧。我经常给自己和团队成员讲,有人关注和使用你的开源软件,是给你脸、给面子。想想看,一个开源软件无人问津是痛苦的一件事,就像一个大姑娘走出去没人搭理一样。

开源软件如何赚钱,学习Redhat、OpenStack和Hadoop商业公司的做法。在开源软件的基础上做商业版、企业版,深耕领域,做好服务。若个人,就做相关服务、插件、扩展、皮肤等。如:网站Theme就是一个不错的商业模式。最近很好的王者荣耀卖皮肤的商业模式,你可借鉴,给开源项目更好用的交互界面和样式等。


问:如何完整的学习一个开源项目,例如docker,并把它用到工作中?

答:开源项目最好的学习过程就是把它用起来,因为在用的过程中能发现很多问题,公司现在没用,就自己先实验。

我个人的学习一个开源项目路径:先拉通看遍文档、安装环境、读源代码、做笔记、找一个应用方向做实践;推动自己所在公司采用此项目,进行更大规模的实践。若自己时间充裕,可参与项目,补充文档、中文翻译、Bug提交等等。


问:你参加过哪些比较好的开源会议?一般是在哪里得知这些消息的?

答:因为我在成都,若成都有相关的开源会议,我基本都会去参加。因为喜欢,多交些朋友。北上广,开源会议很多,最近刚结束的OpenStack中国就非常棒,估计群里有人刚参加过。

信息来源:infoq、开源中国、微信公众号(搜自己感兴趣的开源项目,有关活动它都会推)等。


问:如果要从事开源项目的话,一个人的精力毕竟是有限的,那么如何最大程度吸引其他人也参与到自己的开源项目里?又如何与这些志同道合的开发者建立良好的关系?

答:首先,你的项目有好的发展方向,先搜索一遍开源圈,不要重复发明轮子。你也可考虑在一个不错的开源项目基础上做扩展和增强,不用从零做起。从零做起,时间周期很长。开源项目很讲究社区运营,这里有一些参考:OpenStack,Apache,Python等基金会运做方式。个人建议,先让自己参与一个存在的开源项目里,做贡献,最后成为commiter。然后熟悉整个过程后,再启动自己的开源项目,这样项目容易成功。

若你做Java,想努力成为一个很不错的开发者,可参与到Apache基金会的一个项目,有近100个Java项目,可选择一个,从bug提交、文档、测试环节入手。不要从Apache热门项目入手,可先从一个稍微冷一点的项目入手。

把这些开发流程和社区运营理顺后再考虑。另外,还有要根据自己特点和优势,若编码很厉害,就努力成为已有项目的开发者也是不错的发展方式,不一定一定要自己启动一个开源项目。开源项目要成功运营也很重要,而你擅长编码就做开发者。


问:把公司项目来源会不会有法律上面问题?

答:若公司内部项目都是自己公司的就不存在法律问题。若有其他公司的版权就存在,这也是当时OpenSolaris迟迟开源的一个重要原因。公司若开源,选择Apache v2许可不错,它商业很友好。


问:请问开源的界限在哪里?比如我认为一个开源项目中某一个功能实现的思路很好,就在我自己的项目中按这种思路实现了,那这样是否必须在我的项目中注明引用?

答:若有代码引用,就注明遵循许可协议。若是借鉴思路,为表感谢,可在项目中写明从何处借鉴。一个基本思路:就是尊重开发者和原作者。相互尊重、彼此信任,能更好的推动开源项目发展。多泡泡Debian,OpenStack,Apache,GNU等社区,多感受下。


微信打赏
赞助我们,灰狐需要一杯热咖啡。
请微信扫码



除非注明,开放博客文章均为原创,转载请以超链接形式标明原始出处:开放博客,谢谢。

  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.