极乐科技

像小狗一样自由 — 开源你的JavaScript代码

2017-01-18  本文已影响28人  极乐君

开源不仅仅只是向公众提供一些可用的东西。 不但要提供你的代码,而且也是关系到项目权限的管理,以及自己的理解和参与其中,就像“喂养小猫”----换句话说就是还要处理社区相关问题。 在本文中,我们将简要介绍开源你代码的带来的好处和应避免的陷阱。

开源可能是发生在我们的市场中的最令人兴奋的事情,同时也是网络的爆炸性增长的原由。 我们的大多数服务器都是开源技术,很多浏览器代码也是,甚至我们如今使用的编辑器都是用JavaScript编写的。 用尊重和高质量来对待开源代码是我们的责任,而不是轻叩在墙上的代码,并希望魔法发生。

开源是自由‘免费的,就像小狗一样

如下是需要遵循的理念和建议,你或许没有时间或者不愿意全部遵循,没有关系,不好的是在一个开放的世界里教条式的生活。开源已经迅速发展为我们生活巨大的一部分,人们也犯着错误,我们要像我们发布的代码一样开放,我们要像处理程序问题一样处理我们的错误,我们要协作把这些问题解决掉。

开源javascript代码是很棒的,与此同时这也意味着责任。你要像照顾小狗那样,尽管你很忙:喂它食物,带它出去散步,把它收拾的漂亮的,陪它一起玩耍。它长成什么样子依赖于你怎样照顾它,你越像和人类一样待它,和它玩耍起来越容易,并且它会向人类一样保护你和帮助你,开源javascript代码就小狗一样对待我们,两者有个小小的区别是:小狗更加健忘,而代码不会,代码的社会性更少。要完全理解它是有一定的难度,在这里我们将会解决一部分,当我们来到javascript和开源的世界里,我们首先应该声明一件最重要的事。

Javascript 一直是可以被使用的——但是它不是开放的

有些东西是可用的,并不意味着它是免费或开放的。就好像我忘了锁我的自行车,并不意味着你被邀请骑自行车了.就好像我放一个牌子,上面写着“社区自行车,骑自行车,但请保持清洁,并修理它“。我们越来越接近开放和自由的软件时代。 很棒的是软件可以无损耗地被复制。很棒的是javaScript可以在网页上被任何人看到. 许多JavaScript的杰出者都是通过别人的代码来学习它的。 并不意味着你可以复制和粘贴它,调用它 – 除非它的许可证明确允许你这样做。我无数次的在与客户交谈中被问及如何保护JavaScript以免被别人看见。 这就像在要求水不是湿的一样。JavaScript是一个极好的开放源代码的候选语言。 它对你清晰可见,不妨让它合法重用。

代码开源的好处

现在,当保留这些代码可能让你成为百万富翁的时候,为什么你还要费心去与世界分享呢? 这样做有相当多的好处::

正如你已经看到,这些好处很多都与编写代码不相关。它们都源于以尊重和专业的方式与他人打交道。

当代码开源时需要准备的事

虽然这一切听起来不错,但也有开源带来的麻烦需要考虑。 你做你的工作,接着向公众开放你的成果。这意味着你首先需要准备一些可能很难处理的事情。

许可事项

关于最后一点,这是开源项目中非常重要的部分。 并且是最难的, 讨论最激烈以及困惑的部分:代码许可证。
作为一个开发者, 我们大多看到法律、许可和协议,都会尽可能的远离。然而,开源代码许可证在许多方面都很重要。

幸运的是,如何选择正确的许可证在开源社区里不断地被讨论。 这里有很多很好的资源, 像 http://choosealicense.com 或者 https://tldrlegal.com 或者 https://tldrlicense.com

一定要做出明智的选择,更换许可证是很困难的,有时甚至是不可能的。

成为一个好的开源发布者

这听起来有些难以实现,不要绝望。 这并不像听起来那么困难, 我只是想让你为将来做好准备。 同时我想确保发布开源不是为了使其可用。 也不是要你给世界一个礼物。而是你与世界分享你的成果,并在过程中开放式地改变它。

我想确定成为伟大的开源出版商的方式,在你的初始版本中你可以添加一些额外的工作为了确保人们可以帮助你, 以及不会碰到因明显的的错误而导致令人沮丧的回馈。 很多是回答问题之前,他们提出来的。 因此重点来了:

贡献的计划

随着GitHub的出现,我们得到了一个令人难以置信的发布开源软件的工具。我们不仅得到了Git,一个安全贡献代码并且不会覆盖彼此工作的工具。 我们还得到了一个问题跟踪, 维基解释、书写文档和GitHub页面去显示你代码的一个可执行版本。

为了让人们尽可能容易的贡献代码,有如下几项变得很有意义:

并不是所有都必须这么严格,这样子的话有时候会矫枉过正。通过你的项目对他们的成长和提升有极大的帮助。如果你想在某个地方发现这样子好的示例库,包括所有这些东西,你可以在GitHub上的微软开发工具代码库上找到,假如你正在考虑代码准则的事务,TODO群提供了很好的模板。

用于商业用途

看到你的产品被用在一个商业产品中这是令人兴奋的。如果谷歌、Facebook或微软使用了你的脚本,这是相当有意义的。然而,这也意味着你需要确保某些事情是到位的,否则,这些是没有办法实现的。 这通常是很棒的,他们是一个除非你提供给他们的其他都用于商业用途的公司。

如果你想了解更多关于这个,克里斯·迪亚斯对于Enterprise JS有一个微软Visual Studio如何构建代码的开放源码项目和引起的问题的伟大演讲。

开源是沟通

经过这些,我希望你仍能坚持开源你的项目。这不仅对你的代码有好处,同时你成为一个贡献者对于我们市场也是有巨大效益的。

释放开源意味着你知道并承担更多的责任。有一个成功的开源项目是得到好工作的踏脚石。这表明你关心并且想要做得更过。 为你的项目培养一个社区,处理反馈和贡献是作为开发人员领导者,团队领导或部门主管,一个很好的锻炼。 你让自己成为一个人力开发者而不仅仅是一个代码的开发者。当我雇用从事开源的开发人员时,我会看他们如何与他人互动。 我更喜欢雇用那些和其他人一起工作的人而不是那些创造了最令人惊讶的贡献的人。灵活的团队需要人们彼此合作。这是一个很好的工作方式。

但你呢?你已经参与开源了吗?如果没有,是什么阻止你吗?在下面的评论中让我知道。

上一篇 下一篇

猜你喜欢

热点阅读