红联linux Linux通用技术 - Linux发行版技术 - 企业应用 - 实验室  Linux论坛

您的位置: 红联linux >> Linux通用技术 >>

Linux业界新闻

>> 查看内容 -学Linux必读Linux学习教程推荐下载发新话题 (游客可发贴)

关于“开源”的思考

numdon发布于 2017-5-19 | 次阅读   字号:     (网友评论 0 条) 我要评论


来源:码农网

最近,我经历了一次有意思的讨论。讨论的主题是代码开源,尤其是指那些用作商业用途的代码,比如用于创造你自己的产品或者服务的代码。以下就是这次讨论所得的,对“开源”的各个方面的思考。同时我也真心希望读者能进行讨论,分享自己的经验。

质量

不论何时,只要你决定公开地做一件事,你就会倾向于对其付出更多的努力,力求将其做好。不管是一场演讲,一次营销活动,还是一个软件项目。只要你想把这个软件项目公开,你就绝不会希望你提交的代码糟糕透顶,使你蒙羞。正因为其他人可以轻易地浏览,甚至评价你的代码,所以你会开始思考,自己到底在做什么。另一方面,你也希望写出漂亮而有效的代码,这样,其他的程序员会欣赏,并在他们自己的代码中使用你的方案,或者对你的代码提出修改意见。

社区

不管你使用的是哪一种技术,也不管你做的项目有多小众,可以肯定的是,只要你付出最低限度的努力,在一些论坛或者用户小组中为你的项目做点宣传,就一定会有人对你的项目感兴趣。当你的代码出现第一个分支,你就可以为自己感到骄傲,因为有人觉得你的代码有用。这整个过程实际上与写博客非常相似。所有人都很喜欢读那些能够解答我们正在面临的问题的文章。同时,我们也很喜欢使用一些免费和开源的软件,不管它是一款应用还是只是我们使用的一个库。既然其他的开发者们用他们自己宝贵的时间,分享了他们的成果,为什么我们不分享点什么呢?不要只做一名消费者,也做一名生产者吧: )。

透明

在应用中处理用户数据是常常发生的事,因此,透明就显得尤为重要。部分用户对于使用我们的服务会心生疑虑,因为他们会怀疑我们用他们的私人数据做一些不太正当的事。而当你的服务对象是政府部门时,这一点更是非常关键。如果代码不是开源的,势必会产生怀疑。反之,如果你的项目是开源的,那么所有人都能看到,并确认这款应用并没有侵犯他的个人隐私,没有泄露他的个人资料,也没有后门程序等。这可能是让用户相信你的唯一方法。

效益

不管你是独自开发一个项目,还是管理着一群人,随着你的项目越来越大,代码开源都将会给你带来巨大的效益。对你个人来说,你将会更容易获得一份好的工作。因为你的目标公司,可以轻易地浏览到你写的代码和你的思路。同样的道理,如果你经营的公司是代码开源的,那么,潜在的客户们就可以轻易的看到你的代码,并判断你的服务是否是他们想要的。

管理

不便于管理可能是开源的一个劣势。当你在管理一个大项目时,好几只团队同时工作,许许多多的参与者们都会提交他们的修改。此时,你就必须要做好两件事——首先,坚持按照最初的计划,进行核心部分的开发,同时你还应该处理所有发现的bug或者需要加强的地方,给所有员工的工作排出优先级。如果你完全不考虑(或者很少考虑)参与者的建议,那么很可能会民怨四起。所以,对于开源项目来说,这个问题可能比较棘手。

禁忌

当然,我们不能让所有的项目都开源。大部分的公司都不希望将代码公开,这是完全可以理解的。比如,有些项目可能使用了某种特别的算法,公开则有可能被盗用等等。不过,如果你只是在开发自己的项目,不要害怕与世界分享你的经验和知识。实际上,不会有人真的偷你的代码,而你却为整个开发者社区提供了高质量的代码。

 我要评论
发表评论,与各位同人交流。回复请点击下方的我要评论按钮(游客可回复),要发表贴子请点击 发新话题 (游客可发贴)
 热点主题
·国产操作系统回归用户 一铭
·微软不能忍:Win10 S对Lin
·微软中国正式宣布Windows
·告别 Unity,Ubuntu 掌管者
·Linux Kernel 4.10寿终正寝
·好消息,微软宣布HoloLens
·好消息,微软宣布HoloLens
·中国工程师承认窃取IBM源代
·Windows 10 S系统确认不允
·坚果Pro真机已确认外观设计
 最新主题
·Android之父5月30日要发新
·微软现使用Git和GVFS来开发
·国产操作系统回归用户 一铭
·英特尔年底之前向厂商免费
·三星推广Tizen也是拼了:手
·谷歌TensorFlow负责人:百
·微软中国正式宣布Windows
·[图]KDE Plasma 5.8.7 LTS
·Red Hat Enterprise Linux
·VS Code现可作为snap包在L
 关注热点

Linux教程下载?
Linux学习教程推荐下载”(请点击),Linux教程免费下载。

求助Linux问题?
论坛有39版块,覆盖所有Linux技术层面。前往“红联Linux论坛

 

Linux系统教程 | Linux入门 | Linux管理 | Linux技巧 | Linux命令 | Ubuntu系统 | Linux服务器 | Linux数据库 | Linux开发

合作 | 关于我们 | 联系我们 | 导航 | 会员注册

©2017 红联 Powered by SupSite