与Puppy一样免费-打开源代码以购买JavaScript

与Puppy一样免费-打开源代码以购买JavaScript

它是开源的周在SitePoint! 我们发表文章众所周之专注于一切开源,自由软件和社区,所以要检查OSW标签的最新更新。

与Puppy一样免费-打开源代码以购买JavaScript

本文由客座作者基督教海尔曼丽塔张 SitePoint客人帖子的目的是让你从著名作家和JavaScript社区的演讲引人入胜的内容。

开源比使得提供给公众的东西多得多。 它不仅是你的代码,它也是关于许可证,了解参与和放养猫又名处理社区问题。 在本文中,我们将简要介绍的开源代码的好处和缺陷,以避免。

开源是可能是发生在我们的市场,并负责网站的爆炸式增长的最令人兴奋的事情。 我们的大多数服务器都是开源的技术,很多浏览器的代码,甚至是我们的编辑都用JavaScript编写的这些日子。 这是我们的责任对待开源的尊重和释放的质量,而不是夹紧码翻墙并希望奇迹发生。

开放源代码是免费的 - 在小狗

接下来是理想和建议跟进。 你可能没有时间或希望遵循它的全部。 没关系。 什么是不细试图在一个开放的世界发挥和教条了。 开放源代码迅速增长成为我们这个世界的一个巨大的一部分,人们犯错误。 让我们为我们释放代码开放。 让我们应对像我们的错误处理的错误:协作使它们消失。

获得一个免费的小狗是伟大的,但它也附带了责任。 你需要给它喂食,带它出去散步,新郎它并使用它 - 即使你很忙。 你的方式对待小狗定义什么样的狗就会变成。 多少信任人类,是多么容易一起玩,如何保护和乐于助人的人朝它。 这同样适用于释放和消耗开放的源代码。 随着一个小的差异:小狗是非常宽容的。 开源社区少一些。 有很多的张力,以做到心中有数。 我们将介绍一些在这里,但首先让我们点了一个重要的事情,当它涉及到JavaScript和开源。

使用Javascript一向可用的 - 但是,这不是开放

仅仅因为一些可用并不意味着它是免费的或开放。 如果我忘了锁我的自行车,你不邀请骑它。 如果我把一个牌子上写着“社区自行车,随时骑,但请保持清洁并修复它,”我们正在接近什么开放和自由的手段在软件方面。 有关软件的最大好处是,它可以在不损失质量进行复制。 关于JavaScript的网页上伟大的事情是,任何人都可以看到它。 JavaScript的许多名人通过别人的代码寻找了解到自己的手艺。 这并不意味着,虽然你可以复制和粘贴,并称之为你的 - 除非它的许可证明确允许你这样做。 我已经花了太多的时间在交谈与客户,他们问我如何保护的JavaScript被别人看见。 这就像要求的水不湿。 JavaScript是释放开放源代码最佳候选语言。 您已经显现; 你可能也使它合法的再利用。

的开源代码的好处

现在,你为什么还要与世界分享你的代码时,你可以通过这一切保持自己成为百万富翁? 嗯,有相当多的好处:

  • 其他人有好的想法,太。 我的很多代码允许人们贡献了极大的提高。 他们想出了我没有想到的解决方案。 他们帮我写的更简洁,更易于理解的代码。 他们发现我没有考虑到的问题。 而且我没有支付任何的那个!
  • 它是你的代码的试金石。 人们有不同的环境比我和可测试我的代码为我,通知我的问题,或者 - 甚至更好 - 解决这些问题对我来说。 这是不可能隐藏在众目睽睽下草率代码。 知道我做我的代码可以让我更担心的代码质量,从而更好的开发者。
  • 你成为更大的东西的一部分。 在其他项目中使用你的代码的存在是一个非常令人兴奋的(有时吓人)的事情。 这是一个伟大的感觉,授权他人构建的事情,他们自己不可能建成。 正如看到您的作品被使用的,你以为比你更好的人。
  • 你的工作,生活在-不管是什么。 如果您无法或不愿继续维护你的代码,你想继续前进,具有开源,开源就意味着你很幸运。 您共享与社区的责任,他们从您最初的工作中受益。
  • 你找到志同道合的人一起协作。 其中的开源代码的巨大好处是,你找人谁愿意在你兴奋的东西与你的工作。 这是无价的另一家公司门口找到新工作,正是雇用合适的人或有脚,当你想达到这些目标。 作为一个更大的公司,开源代码意味着你可以从社区贡献挑选新员工。 这些人谁已经在了解和激发你的产品。 这减少了对寄宿个月,从而意味着大量的资金节省。
  • 您了解贸易工具。 释放一个JavaScript项目,这些天已经变得比提供脚本的拉链要复杂得多。 有不同的编辑器,包管理器和方法来自动测试脚本的各种预置文件。 如果你不想要进入所有的自己,你可以问贡献者为您排忧解难。 无需进入你不舒服时,你可以分担责任的解决方案的基本事实。

正如你已经可以看到,很多的这些好处都没有涉及到编写代码。 他们来自与其他人的尊重和专业的方式处理。

事情要自己准备当开源代码

虽然这一切听起来不错,也有使用开源niggles考虑。 你让你的工作,然后自己向公众开放。 你需要的几件事情,可能很难在第一次处理做准备,这意味着。

  • 强烈的意见讲不好。 很多最初的反馈你容易当你开源你的产品可以 - 说得客气一点 - 严厉和过于缩写。 还有谁在非常限定和限制的观点很多人“事情应该怎么做,或者是不正确的开放源代码”,并得到一个踢出来的地方,他们可以指着这些出来的。 不要被那心灰意冷。 看看这些人,而且如果你只是多一个让你知道有在玩一个不同的议程这里同样残酷的响应。
  • 每个人都有发表意见。 没有短缺的评论任何开源项目,问题跟踪或者告诉你的东西拉请求应该怎样做。 这里的艺术不是在向他们的付出。 这有时实际上是不可能的。 诀窍是把它扔出去表决,并只适用于他们,当足够多的人同意或不同意。 不断的变化后不要追 - 这将是一个时间片你不能出来。
  • 这不是你了。 这是很难放手你的工作,看到它在不同的方向可能比你有计划。 是的,方向 - 复数。 这就是分叉是。 对于项目的好,你可能在群众的智慧给。 如果更改项目的某些部分如何工作或维持产量地段好的贡献者,这是值得的。 请记住,通过开源的东西,你未来验证。 如果你不在那里的项目不再,其他人需要接管。 这可能意味着你需要确定与项目超过您最初的工作方式不同。
  • 你会少的代码和写更多。 一旦你的项目揭开序幕,你会花更多的时间来回答的问题和意见,并期待在比拉编码请求。 你的责任,开始从审查的贡献确保什么被添加不包括安全和维护问题写伟大的代码移动。 相反作战解析器和虚拟机,你开始与人的议程,以换取代码处理。
  • 你不会做的一切。 尝试尽可能早地委托和信任的人做项目的部分没有你的监督或控制。 这是很难在第一,但释放你更晚做。 如果启动项目作为一个团队,已定义的角色,并坚持给他们。
  • 这是嫉妒的地方。 有一件事情可以发生很多是你的产品将在其他人的产品中使用,他们就成为了巨大的成功。 它甚至可能发生的你你不同意一个方向做了什么叉子变成一个更大的成功。 在最坏的情况下,有人会赚很多的钱,根据你工作的商业产品。 或者创造的东西,会被另一家公司进行了大量的金钱买。 不要被那气馁。 有这很大的随机性,这是不是你的错使其发生。 保持联系,竭诚为他人办好事的成功会回来给你。

许可事项

关于最后一点,有一个开放的采购你的产品非常重要的一部分。 它是最艰难,最激烈讨论和混淆的部分:授权代码。

作为开发者,我们大多数人看到的法律,许可和协议,因为我们希望保持尽可能远离尽可能的东西。 然而,你的牌开放源代码事宜在许多方面:

  • 你保护自己。 一个明显的牌照不仅确保人们不能在你不打算方式使用您的代码。 这也意味着,根据您的软件中的安全漏洞没有土地你在监狱里,因为这显然是覆盖许可证。
  • 您定义再利用的水平。 根据许可,您可以定义如果人们能够根据您的工作或不建的商业产品。 您可以定义如果人们需要列出你作为一个贡献者自己的项目或没有。 你要确保你的代码的某些用途是非法的,而其他人是完全没有。
  • 你给一个明确的信息,谁可以作出贡献。 开源的硬核心贡献者将不会在有一定的许可项目的工作。 开源项目的商业用户不能使用代码,除非它有一个许可证能让他们。 通过挑选合适的许可证,限制或扩大谁可以在您的项目。 它还可以保护你免受其他人致富与你的工作没有得到一个份额。

幸运的是,选择正确的许可证的困境已经在开源社区恒定的讨论。 有很多重要的资源,从像http://choosealicense.com,https://tldrlegal.com或https://tldrlicense.com工作。 务必要明智地选择为后来更改许可证是艰难的,有时甚至是不可能的。

作为一个伟大的开源发行

如果一些这听起来令人生畏的,不要绝望。 它不是一样坚韧因为它的声音,我只是想让你对什么是未来的方式进行制备。 我想,以确保释放一些开源是不是使它可用。 这是不是你给世界的礼物。 它是你与世界分享你的工作并且是开放的过程中改变它。

这样,我希望确保在为了伟大的开源发行,你可以添加一些额外的工作,你最初的版本,以确保人可以帮助你,你不碰到一些很明显的错误,结果在劝阻首次反馈。 很多是关于回答问题,他们拿出之前。 所以这里有云:

规划贡献

随着GitHub上,我们得到了一个令人难以置信的工具来发布的开源软件,这些天。 我们不仅得到Git的,一个工具,而无需重写彼此的工作安全贡献代码。 我们也得到一个问题跟踪,维基解释和写文档和GitHub的网页来展示你的代码的权利,其中源生活的可执行版本。

为了使它尽可能容易为人们贡献,是有意义的有一个适当的几件事情:

  • 一个伟大的自述。 这是人们看的第一件事。 早在什么项目呢,谁是用于解释。 点此处列出的所有其他部分,并确保保持它最新的最新资讯。
  • 有关如何运行它的信息。 大多数开发商不会有助于他们不能运行他们自己的项目。 确保你如何定义自己尝试项目,列出所有必要的依赖和环境设置。
  • 有一个明智的changelog。 这表明你是如何解决的问题,增加的功能和项目的整体节奏。
  • 准则的指导原则。 简要说明您如何编码的产品,你的设置和环境是确保代码贡献符合这一点。 这可能会引发一些讨论,但它可以确保最终产品更容易维护。
  • 试验。 有办法来自动测试你的代码,并贡献之前运行一系列测试。 这可以确保贡献者有一个额外的步骤,采取提交代码,打破了整个项目之前。
  • 反馈渠道。 给人们一个机会,你外面联系的正常开发流程。 这给了他们一个机会来报告他人的不良行为,问你关于商业协议,或者只是说声“谢谢”,而不会增加已经很繁忙的通信信道的噪声。
  • 贡献准则。 讲解如何写拉请求或问题,这是最有可能导致社区(最初就是你)尽可能轻松和快速地处理这些问题。 没有什么比一个问题悬而未决谎言或者用大量的“我们需要更多的信息”雪上加霜。 越少悬而未决的问题,更邀请你的项目。
  • 初学者的错误/功能。 如果你有办法标志了简单的问题,因为“虫子初学者”,这样做。 这是一个新的人加入该项目,并了解它,而固定一个小问题的好方法。 这感觉很好去除的障碍进入一个群体 - 但是微不足道。 远不止只是想找到一个立足点,通过巨大的其他人是如何被淹没。
  • 考虑行为的贡献代码。 这听起来可能过顶,但定义你的期望和指望别人说彼此是一个良好的开端,以获得一个健康和创意社区。 它还允许管理员块人是有明确的指引,没有任何戏剧贡献。

并非所有的这些都是绝对必要的,有时甚至是矫枉过正。 他们是一个很大的帮助,虽然你的项目规模和成长。 如果你想看到所有这些东西的地方一个很好的例子库,看看微软在GitHub上的Visual Studio代码 如果你正在考虑一个行为守则,在TODO集团提供的模板

缩放用于商业用途

这是伟大的看到在商业产品中使用你的产品。 如果有人像谷歌,Facebook或Microsoft使用您的脚本,那是相当的提升。 然而,这也意味着你需要确保某些事情很到位,或者有没有办法做到这一点。 这些通常是伟大的事情有,但他们是一个表明,塞商业用户,除非你提供。

  • 确保你的产品支持国际化。 有一种方法来转换字符串,确保布局可以转变,从左至右从右到左。 允许支持非ASCII输入。
  • 确保你的产品是与各种输入设备访问。 无障碍环境是大公司的法定要求,它会得到审核。
  • 确保你的产品是不固定的一个环境。 有时,一个大玩家喜欢使用你的产品,但不能因为你在大开发它为您的计算机,而不是世界。
  • 确保您的产品有一个许可证,允许用于商业用途。 这应该是显而易见的,但很多产品不能重复使用,因为这是过于严格的初始许可。

如果您想了解更多关于这一点,有一个伟大的谈话由克里斯·迪亚斯在企业JS关于微软如何构建Visual Studio代码开源项目的顶部,并导致该问题。

开源是沟通

与所有的出路,我希望你仍高达释放你的工作的开放源码。 这不仅有利于你的代码; 这也是伟大的,你作为一个贡献者,我们的市场增长。

发布开源意味着你知道,并承担更多的责任。 有一个成功的开源项目是一个踏脚石与更多的责任重大的工作。 你证明你照顾,你想要做的更多。 放牧社区围绕项目和处理反馈和贡献为主要开发人员,团队领导或部门负责人的角色很好的锻炼。 你把自己更多的是人的开发不仅仅是一个代码开发的。 当我雇佣开发谁开源工作,我看他们如何互动与他人。 我更喜欢雇用那些谁与他人相处融洽那些谁创造了最惊人的贡献。 可扩展的团队需要人来工作,对方。 这是对技能工作的好方法。

但是你呢? 你是否有助于开源了吗? 如果没有,是什么阻止你? 让我知道在下面的意见。

From: https://www.sitepoint.com//open-sourcing-javascript-code/