使用开源产品的代价_为开源付出代价

使用开源产品的代价

Open Source Week

It’s Open Source Week at SitePoint! All week we’re publishing articles focused on everything Open Source, Free Software and Community, so keep checking the OSW tag for the latest updates.

这是SitePoint的开源周! 我们整周都在发布有关开源,免费软件和社区的文章,因此请继续检查OSW标签以获取最新更新。



Gather ’round kiddies, Uncle Cal has a history lesson to share.

聚集了“小朋友”,卡尔叔叔有一个历史课可以分享。

comfy armchair

回到世界年轻时 (Back When the World Was Young)

Back in the early days of Open Source – when Dinosaurs roamed the earth and Rasmus was a young man – there were two types of open source projects we talked about: those that didn’t cost any money, and those that gave you the freedom to redistribute and modify the code. The analogy we used was that projects were “Free as in beer” if they didn’t cost anything, and “Free as in libre” if they gave you the freedom to share with others.

早在开放源代码的早期-恐龙在地球上漫游,拉斯穆斯还年轻时-我们谈论过两种类型的开放源代码项目:那些不花钱的项目,那些给您自由的项目。重新分发和修改代码。 我们使用的类比是,如果项目不花任何钱,那么它们是“啤酒中的自由”,如果它们给您与他人共享的自由,则它们是“自由中的自由”。

vector illustration of beer

That was how we explained Open Source to muggles back then, and there were muggles everywhere. It should be noted that this was also back in the time when the first step in learning PHP was compiling the Linux kernel on your server.

那就是我们当时向麻瓜解释开放源码的方式,到处都是麻瓜。 应该注意的是,这也可以追溯到学习PHP的第一步是在服务器上编译Linux内核时。

现代 (Modern Day)

Fast forward a few dozen years and here we are, Open Source is now an ecosystem, not a user group that you and five friends attend, or a magazine to which you subscribe. The problem is that most of us have stopped talking about the different types of open source, we just assume it is both. Most of the projects in our corner of the world – PHP – actually is both. The PHP license – a derivative of the BSD license – is very open about giving you freedom with very few responsibilities. Other projects use GPL, MIT, Apache, and other licenses. Each developer or group has the right to select whatever license they feel most comfortable with for their code. If you use their code, it is your responsibility to abide by the restrictions and responsibilities of their license.

前进了几十年,现在我们已经成为开源生态系统,而不是您和五个朋友参加的用户组,也不是您订阅的杂志。 问题是我们大多数人已经停止谈论不同类型的开源,我们只是假设两者都是。 实际上,世界上大多数项目– PHP –两者都是。 PHP许可证(BSD许可证的衍生版本)非常开放,旨在给您带来很少责任的自由。 其他项目使用GPL,MIT,Apache和其他许可证。 每个开发人员或小组都有权选择自己认为最适合自己代码的许可证。 如果您使用他们的代码,则有责任遵守其许可证的限制和责任。

Most developers who use open source understand everything I said in that last paragraph. We get it. If it’s GPL, we have to ship the code, if it’s MIT, we have to leave the copyright and name on it, etc. Most of us understand the basic ramifications of licenses, even if we haven’t delved into the dark details. But using Open Source code carries with it another responsibility, another price if you will.

大多数使用开源的开发人员都理解我在上一段中所说的一切。 我们懂了。 如果是GPL,则必须交付代码,如果是MIT,则必须保留版权和名称,依此类推。我们大多数人都了解许可证的基本含义,即使我们没有深入研究黑暗的细节。 但是使用开源代码会带来另外的责任,如果愿意的话,还会带来另外的代价。

My friend Elizabeth Smith said it best in her talk at ZendCon ’17: “If you use Open Source, but you don’t contribute to Open Source, Open Source will die.”

我的朋友伊丽莎白·史密斯 ( Elizabeth Smith)在她在ZendCon '17上的演讲中说得最好:“如果您使用开放源代码,但是您不对开放源代码做出贡献,那么开放源代码将死亡。”

Open Source Logo, made dead

That is the price of Open Source: giving back. It is the price that some developers and most companies that make their living or profits off of Open Source forget to pay. Giving back is not a tip that you are giving back to Open Source, giving back is an implied responsibility.

那就是开源的价格:回馈。 这是一些以开源为生或获利的开发商和大多数公司忘记支付的价格。 回馈并不是您回馈开源的提示,回馈是隐含的责任。

如何给予 (How to Give)

“Ok, Uncle Cal, we get it, whom do we pay?”

“好吧,卡尔叔叔,我们得到了,我们应该付钱给谁?”

See, if you are thinking that, then you really don’t get it.

看,如果您在想,那您真的不明白。

Yes, almost any of the PHP Core Developers would love to have you slip them a couple hundred for their time. If enough of us did this, some of them could dedicate all of their work hours to making PHP even better.

是的,几乎所有PHP核心开发人员都希望您花一些时间让他们滑倒几百。 如果我们中有足够的人这样做,其中一些人可以将所有的工作时间用于提高PHP的水平。

Fry from Futurama yelling shut up and take my money

But that’s not how we give back. Money can be earned. When I say giving back, I mean giving the one thing that can’t be earned and once given, cannot be replaced. When I say you need to be giving back to Open Source, I mean giving your time. For companies, that means giving each developer on your staff time to give back to the Open Source project of their choice (their choice, not yours). For individuals, this means getting involved in your favorite project. For some of us that is writing code, for others, it’s documentation. For some like me, it means writing tutorials, giving talks at user groups and conferences, and doing whatever we can to educate; to help build the next generation of developers.

但这不是我们回馈的方式。 可以赚钱。 当我说回馈时,我的意思是给一个无法赚到的东西,一旦给予,就无法替代。 当我说你需要回馈开源时,我的意思是给你时间。 对于公司而言,这意味着让您的每个开发人员都有时间回馈他们选择的开源项目(他们的选择,而不是您的选择)。 对于个人而言,这意味着参与您最喜欢的项目。 对于我们其中一些正在编写代码的人而言,对于其他人而言,则是文档。 对于像我这样的人,这意味着编写教程,在用户组和会议上进行演讲,并尽我们所能进行教育; 帮助建立下一代开发人员。

All of us have a favorite project. For me, it just happens to be PHP, but my second favorite is a small component of Zend Framework. I can’t contribute directly to PHP – I am not a C programmer. I can, however, help spread the word about the fact that PHP is awesome. I can contribute directly to my favorite Zend Framework component. It is a piece that I use a lot, so when I found out that it wouldn’t do something, I rolled up my sleeves and wrote the code to make it do what I needed. Then I sent the changes back up the line so that others could benefit as well.

我们所有人都有一个最喜欢的项目。 对我来说,它恰好是PHP,但我的第二喜欢的是Zend Framework的一个小组件。 我不能直接为PHP做出贡献-我不是C程序员。 但是,我可以帮助传播有关PHP很棒的事实。 我可以直接为我最喜欢的Zend Framework组件做出贡献。 这是我经常使用的一块,所以当我发现它不会做任何事情时,我rolled起袖子并编写了代码以使其能够完成我需要的工作。 然后,我将更改发送回生产线,以便其他人也可以从中受益。

“WAIT! Hold on, back the bus up! You only contribute when it benefits you, don’t you?”

“等待! 等一下,回去公交车! 您只有在受益时才做出贡献,不是吗?”

Maybe? So what? I didn’t say it couldn’t be self-serving as well, I said you have to give back so that others could benefit. Open Source is all about “I wrote this and if you want to use it you can.” We are helping ourselves, but we are also helping others.

也许? 所以呢? 我不是说这也不是为了自私,而是说你必须回馈别人,以使他人受益。 开源是关于“我写的,如果您想使用它,可以的。” 我们正在帮助自己,但我们也在帮助他人。

如果他们不想要我的礼物怎么办? (What if they don’t want my gifts?)

I love WordPress. As much crap as I give Matt Mullenweg – and in the past few years, I’ve given him a lot – I respect what he has built. I use WordPress for almost all of my projects because it is a tool that is easy to use and I can get stuff done with it. Even so, the few times I’ve contributed back to WordPress, my changes have been roundly ignored.

我喜欢WordPress。 我给了马特·穆伦维格(Matt Mullenweg)一样多的垃圾-在过去的几年中,我给了他很多-我尊重他的造built。 我几乎将所有项目都使用WordPress,因为它是一种易于使用的工具,我可以用它完成工作。 即便如此,我为WordPress做出的几次贡献仍然被我的更改完全忽略了。

As part of my job when I worked at Pantheon, I was required to spend time each day giving back. WordPress is a very large and complex system with hundreds of developers working on it daily. Believe it or not, they weren’t sitting around waiting for Uncle Cal to come rescue them by fixing bugs. None the less, I went to the bug tracker, found a couple that I felt I would fix, forked the project, wrote the code, and submitted PRs.

作为我在万神殿工作的一部分,我必须每天花时间回馈。 WordPress是一个非常大而复杂的系统,每天都有数百名开发人员在使用它。 信不信由你,他们没有在等待卡尔叔叔通过修复bug拯救他们。 尽管如此,我去了bug跟踪器,找到了我认为可以修复的一对,分叉了项目,编写了代码,并提交了PR。

One of them was ignored. I’m not sure why sometimes WP takes long to fix non-critical bugs. One of the bugs I submitted a PR for, I had to submit a ticket for as well because no one else had noticed it yet. That one was simply rejected because it was so trivial that they didn’t even feel like putting it through the review process. Along the way, I “fixed” a couple of issues I saw in the code I was working on. Lack of curly braces in IF statements, etc. Trivial things but important to me. I got a polite comment on my PR that in effect said; “Please stop”.

其中之一被忽略。 我不确定为什么有时WP需要花费很长时间来修复非关键的错误。 我提交PR的一个错误,我也必须提交一张票,因为还没有人注意到它。 那个人只是被拒绝了,因为它太琐碎了,以至于他们甚至都不希望将其通过审核过程。 在此过程中,我“修复”了我正在研究的代码中遇到的几个问题。 IF语句中缺少花括号等。琐碎的事情对我很重要。 实际上,我对我的PR有礼貌的评论; “请停止”。

Retro illustration of policeman showing the stop gesture

WordPress has a very rigid process for changes. A system that large and used by that many websites has to have one. I failed to read their guidelines, and I failed to follow their community conventions.

WordPress的变更过程非常严格。 一个庞大且被许多网站使用的系统必须拥有一个。 我没有阅读他们的指南,也没有遵循他们的社区惯例。

WordPress – and every other Open Source project you care to name – is not obligated to accept my PRs. They are under no obligation to accept yours either. I don’t know of a single Open Source license that requires a project to either accept a PR or give a valid reason why they didn’t. It’s just not there. They can reject for a reason, or for no reason at all. The project does not owe you, you owe the project.

WordPress –以及您关心的其他每个开源项目–均无义务接受我的PR。 他们也没有义务接受您的。 我不知道需要一个项目来接受PR或给出不这样做的正当理由的单一开放源代码许可证。 只是不在那里。 他们可以拒绝是有原因的,或者是没有任何理由的。 该项目不欠您,您欠该项目。

That having been said, if you write the code, if you contribute to the documentation, or if you give of your time in other ways to a project, and the project decides, for whatever reason, that your change is not necessary or desirable, that’s fine, you have done your part. Your debt is partially paid. You gave some of your time and talents and that is all that is asked of you.

话虽如此,如果您编写代码,为文档做出贡献,或者以其他方式为项目投入时间,并且该项目出于任何原因决定更改是不必要或不可取的,很好,您已经尽了自己的本分。 您的债务已部分偿还。 您付出了一些时间和才能,这就是您所需要的。

付出代价 (Pay the Price)

What ever project you are working with, take the time to give back. Don’t let Open Source die in our generation.

无论您正在从事什么项目,请花点时间回报。 不要让开源在我们这一代中消亡。

Preserve this great concept; this ecosystem that we have helped build and that has allowed us to build so much. If you are a developer, find your favorite project and give back. If you run a company or a team of developers, give them time on your dime to give back to a project. Help keep the Open Source ecosystem thriving for the next generation of developers.

保留这个伟大的概念; 这个我们已经帮助建立的生态系统使我们得以建立了如此之多。 如果您是开发人员,请找到自己喜欢的项目并回馈。 如果您经营一个公司或一个开发人员团队,请给他们时间以毛钱回馈项目。 帮助下一代开发人员保持开放源码生态系统的繁荣。

翻译自: https://www.sitepoint.com/pay-the-price-for-open-source/

使用开源产品的代价

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值