我在1998年初创建了curl项目,但自1996年11月以来一直从事该代码的开发。源代码始终是开放的,免费的,并且对全世界都可用。实际上,直到1998年初(curl诞生前几周),才开始使用“开源”一词。
在开始的最初几年左右,这个项目并没有被很多人看到或发现,只是在尘土飞扬的Internet角落缓慢而无声地发展了。
当我交付第一个版本时,我希望代码是开放的并且可以免费获得。多年以来,我已经看到其他人推出的炫酷免费软件,我希望我的工作能够帮助建立这个公共宝库。
当我开始这个旅程时,我并不真正知道我想要curl的许可证是什么,以及我想要放弃的权利和自由是什么,经过了几年的尝试和尝试才得以实现。
早期版本获得了GPL许可,但是当我了解到专有公司的抵制并进一步考虑时,我将许可更改为对商业更友好,并更好地满足了我的信念。经过短暂的MPL实验,我最终进入了MIT。 (那时更改许可证很容易,因为那时我拥有所有版权。)
确切地说:我们实际上是对MIT许可证进行了稍微修改,但有一些非常细微的差异。更改的原因已被忘记,我们并没有像我们在1999年底那样将这些提交记录到Sourceforge的“大过渡”中……最终结果是,现在即使是“ curl许可证”,即使是这样,它们也经常被认可。尽管实际上是MIT许可证。
许可证规定,每个人都可以出于任何目的使用该代码,并且不需要任何人将任何源代码交付给任何人,但是他们不能声称自己编写了该代码,并且应在文档或其他相关位置提及许可证/代码的使用。
随着许可证的发放,这必须是目前最无摩擦的许可证之一。
开源依赖可靠的版权法,并且只有代码的版权所有者才能获得许可。长期以来,我是该项目的唯一版权拥有者。但是,当我决定坚持使用许可证时,我认为允许代码和贡献者(贡献很大)保留其带入的部分的版权没有特别不利之处。不要将其用作篱笆,以增加贡献。
今天,在2021年初,我在curl源代码git存储库中统计了1441个版权字符串。其中94.9%以我的名字命名。
我从来不喜欢某些项目如何要求版权转让或许可协议等才能提交代码或补丁。部分原因是它给项目增加了巨大的行政负担,也因为它们给新的参与者造成了巨大的摩擦和进入壁垒,并造成了不平衡。有些人享有比其他人更多的权利。我一直致力于使新手轻松顺畅地开始卷曲。这不是偶然发生的。
在许多方面,运行业余时间开源项目很容易。您只需要从“实际”工作中获得稳定的收入并有足够的业余时间,也许就需要一台服务器来托管用于在线状态的内容。
当然,挑战在于不断开发它,添加人们想要的东西,帮助有问题的用户并及时解决问题。特别是当您碰巧很幸运并且用户数量增加并且该项目越来越受欢迎时。
几十年来,我一直把curl作为业余时间项目。多年来,提交错误报告或寻求帮助的用户在有偿工作时间内实际上正在执行此操作变得越来越普遍,因为他们在商业环境中使用卷发,这有时使情况几乎荒谬。那些实际上获得报酬以使用curl的人正在要求无薪开发人员帮助他们。
我几次换过雇主。我创办了自己的公司,并担任了自己的老板一段时间。我为Mozilla在Firefox中的网络方面工作了五年。但是curl仍然是一个业余项目,因为我不知道如何在不冒项目或经济风险的情况下将其转变为工作。
多年来,对我来说,能够将卷发作为一项真正的工作是一个白日梦。但是,我实际上如何从业余时间项目过渡到全职工作呢?我免费提供所有代码,它是一种可靠的可靠产品。
最初的种子是在我认识并认识Larry(wolfSSL首席执行官)和wolfSSL的其他一些好人时于2010年代初种植的。这是因为wolfSSL是一家编写开放源代码库并为其提供商业支持的公司-证明它可以作为商业模型来工作。拉里一直对我说,他认为有可能在这里等着我。
除了业务角度之外,如果我能够在curl上做更多的工作,那么它真的可以使curl项目受益,然后当然可以间接地使每个使用它的人受益。
这仍然是一个步骤。当我在2018年放弃Mozilla时,在决定尝试之前只花了一点思考。我加入了wolfSSL,全职从事curl工作。梦想成真,终于卷曲不仅仅是我在一边做的事情。从第一次卷曲释放到达到这一点只用了21年的时间...
我正在实现我自己创建的项目,致力于实现开源梦想。
我们出售curl和libcurl的商业支持。需要帮助或迅速解决问题的公司和用户可以从我们这里得到帮助–在我这里,我敢宣称,在其他任何地方都没有一家拥有相同能力的公司。我们可以减轻工程团队的卷曲问题。高达24/7级!
我们还提供自定义curl开发,调试帮助,移植到新平台以及基本上需要的任何其他curl相关活动。在wolfSSL网站上的curl产品页面上查看更多信息。
curl(主要以libcurl的形式运行)在一百亿次安装中运行:大约五,六十亿部手机和平板电脑–实际上存在于每个网站和Internet服务器中的几个下载次数最多的应用程序使用。在十亿个计算机游戏,十亿个Windows机器,十亿个电视,十亿个游戏机以及几亿辆汽车中……已经使curl在22种CPU架构的82个操作系统上运行。很少软件组件可以要求更广泛的使用。
“列出不使用curl的公司难道不是很容易吗?”
广泛使用和被认可不会带来食物。 curl也完全免费下载,构建和使用。它非常牢固和稳定。它的性能良好,已记录在案,经过了严格的测试,并且经过了“战斗硬化”。它对大多数用户“有效”。
付费客户可以影响我下一步的工作。不仅是遥远的映射,而且还有如何确定短期错误修复的优先级等。我们有保证的响应时间。
您首先可以解决问题。客户也不会冒险将他们的问题添加到已知的错误文档中,并将其遗忘在阁楼中。我们可以帮助客户确保其应用程序以最佳方式正确使用libcurl。
我试图强调,通过获得我们的支持,客户可以从他们自己的工程师那里取消某些任务,并且因为我们在卷发相关问题上更快,更好,所以从经济上来说是纯收益。为了我们大家。
当然,curl在世界各地都有成千上万的公司在使用,但是大多数公司都这样做是因为它是免费的(按单词的所有含义),功能齐全且可用。要确定那些实际使用得足够多并且重视功能性以使他们意识到要改善自己的curl foo的人,这是一个真正的挑战。
我们大多数的curl客户在遇到无法解决的复杂问题或问题时首先购买了支持–这使我(对于更广泛的curl社区)产生了一种怪异的动机,即不想太快地解决某些问题,因为这样做会使他们尽我所能来赢得新客户!
我们需要为此付费的客户才能实现可持续发展。当wolfSSL拥有可持续的卷发业务时,我将获得报酬,而我在卷发中所做的工作将使所有卷发用户受益。付费和不付费。
显然,要根据强大的Copyleft许可证(例如GPL)发布开源,只要您保留版权,就可以让客户根据另一种更加专有的许可证购买相同的代码。该代码仍然是开源的,任何完全开放的人仍然可以免费使用它。
我们已根据GPLv3向全球发布了小卷发。 Tiny-curl是一个curl分支,重点放在很小的部分:想法是提供一个更适合较小系统的libcurl,这些系统甚至不能运行完整的Linux,而是使用RTOS。
考虑一下这是一种实验。用户是否希望使产品卷曲得更小?他们是否有兴趣支付许可费用。到目前为止,tiny-curl支持两个单独的RTOS,我们还没有将“正常” curl移植到其中。
也许您没有意识到这一点,但是我努力将分开的内容分隔开。我不是卷曲的,卷曲的不是wolfSSL的,而wolfSSL不是我的。但是我们所有人都有很大的重叠!
我们尚未探索的一个想法是能够为付费客户制作并提供“保留功能”的功能。当然,这是公司成为卷曲支持客户的另一个动机。
这种保留的功能对于curl项目仍然必须是明智的,并且很可能我们会在一段时间内向付费客户提供这些特殊功能,然后将它们合并到“真正的”开源curl项目中。非常重要的一点是要注意,这绝不会以任何方式使“定期卷曲”变得更糟或使公民减少。宁愿像一个单独的产品,也可以是curl +,在香草卷发的上面还有多余的东西。
由于我们尚未涉足这一领域,因此尚未确定所有细节。我们有机会很快进入这个领土。
我偶尔会做一些关于curl和HTTP相关主题的演出,但是即使我向他们收费,这项活动也不会带来太多额外的零花钱。我这样做是因为它很有趣而且很有教育意义。
有人建议我应该创建一个网上商店来销售卷曲的品牌商品,例如T恤,马克杯等,但我认为这严重高估了用户的兴趣以及我可以在平凡的事物上放多少利润,因为会在上面贴上卷曲的徽标。而且,我在思想上很难卖掉卷曲的东西并亲自要求利润。我宁愿继续免费赠送卷发存储(主要是贴纸)作为推销该项目的一种手段,并长期鼓励用户购买支持。
我们通过捐赠来为curl项目捐款,其中大部分通过我们的opencollective帐户获得。请务必注意,即使我是项目的关键人物,这也不是我的钱,也不是我的项目。捐赠的钱用于与项目相关的支出,到目前为止,这主要是我们的漏洞赏金计划。我们避免将捐赠的金钱用于直接卷曲的发展,尤其是使我可以自给自足或从中受益,因为这将完全模糊界限。不过,我不排除将来采取这种路线。只要且仅对项目有利。
通过GitHub给我的捐赠个人为我提供赞助,并最终落入我的口袋。那不是花钱,而是我主要花在花艺开发,设备等上,这使我在向全世界的粉丝和朋友发送花枝贴纸时不必三思而后行。它有助于我餐桌上的食物,我想我偶尔喝的啤酒是由那里的朋友赞助的!
我们获得稳定支持的公司数量稳定,这使得我们也可以支付比我更多的卷发工程师费用。