idea非开源安装指南_最终的开源贡献指南

idea非开源安装指南

I’ll tell you all I know about Open Source. Let’s start with something simple. You know what a product is? A product is something that you can easily consume, such as a burrito at a restaurant. But to create this product, you need to take some steps. At the restaurant, you have a chef who has a recipe for this burrito. They always follow the same recipe and make it from the same ingredients to ensure appropriate quality every time.

我将告诉您所有有关开源的知识。 让我们从简单的事情开始。 你知道什么是产品吗? 产品是您可以轻松食用的东西,例如餐厅的墨西哥卷饼。 但是要创建此产品,您需要采取一些步骤。 在餐厅,您有一位厨师为该墨西哥卷饼做饭。 他们始终遵循相同的配方,并使用相同的原料制成,以确保每次都具有合适的质量。

Contributing to Open Source can help you get into the tech field, switch your career or improve your current one. All while helping the community!
为开源做贡献可以帮助您进入技术领域,改变您的职业生涯或改善当前职业。 在帮助社区的同时!

At most restaurants, if you went to the chef and asked, “I’m sorry, I love your burrito; could I get the recipe?” they would refuse — this is not Open Source. Open Source is when, in addition to the product, you also have access to all the ingredients and the recipe, meaning you can replicate the whole burrito right at home.

在大多数餐馆,如果您去看厨师问:“对不起,我爱您的墨西哥卷饼; 我可以拿菜吗?” 他们会拒绝-这不是开源的。 开源是指除了产品之外,您还可以访问所有成分和配方,这意味着您可以在家中复制整个墨西哥卷饼。

Now imagine you start making this burrito, but you come to the conclusion that you want to cut down on the meat. So you replace it with avocado. In that case, you take the recipe, exchange the meat for the avocado, follow the rest of the steps to the letter, and check what comes out.

现在想象您开始制作这种墨西哥卷饼,但得出的结论是您希望减少肉类。 因此,您可以用鳄梨代替。 在这种情况下,您可以选择食谱,将肉换成鳄梨,按照剩下的步骤操作,然后检查结果。

It may turn out that your dish tastes better than the meal at the restaurant. If the restaurant were run like an Open Source project, you could then go to the chef and say, “Hey, your burrito is great, but I’ve added avocado and now it’s even better! You can add it to your menu.”

事实证明,您的菜比饭店里的菜好吃。 如果餐厅像开源项目一样运作,您可以去找厨师说:“嘿,您的墨西哥卷饼很棒,但我加了鳄梨,现在更好了! 您可以将其添加到菜单中。”

The role of the chef is that of product maintainer. They may accept the modifications or they may decidethat the avocado is a bad idea and does not fit the concept of the restaurant. Either way, by sharing your modifications to the project, you’ve just become a contributor.

厨师的角色是产品维护者。 他们可能会接受修改,或者可能会认为鳄梨是个坏主意,不符合餐厅的概念。 无论哪种方式,通过共享对项目的修改,您都可以成为贡献者。

Congratulations!

恭喜你!

什么使一个项目? (What Makes a Project?)

The Firefox browser is an example of an Open Source project. It’s made up of thousands of lines of source code and of instructions on how to turn this source code into a usable product, like a Web browser. This code is available publicly, so everybody can fetch it, read it, audit it, or build it. Each person who wants to modify the behavior of Firefox can make changes to the source code and build a customized version. Furthermore, everyone can send those changes back to the project’s maintainers.

Firefox浏览器是一个开源项目的示例。 它由成千上万行源代码以及有关如何将此源代码转换为可用产品(如Web浏览器)的说明组成。 该代码是公开可用的,因此每个人都可以获取,阅读,审核或构建它。 每个想要修改Firefox行为的人都可以更改源代码并构建自定义版本。 此外,每个人都可以将这些更改发送回项目的维护者。

But there is more to Open Source projects than just the code. We also have a user interface and graphic design. And yes, even terminal programs such as Vim editor have graphical interfaces.

但是,开源项目不仅仅包括代码。 我们还具有用户界面和图形设计。 是的,甚至终端程序(如Vim编辑器)也具有图形界面。

You don’t need to code to contribute to Open Source!

您无需编写代码即可为开源做出贡献!

Aside from the interface, there are also user interactions, usability, and something called User Experience (UX) — all of which have been gaining popularity in recent decades. If you have a background in design, fine arts or psychology you can find your niche with UI/UX. The next thing that comprises a product is the media, including sounds, graphics, or videos. Not all projects have these, but they’re not that rare either.

除了界面之外,还存在用户交互,可用性和称为“用户体验”(UX)的东西-在最近几十年中,所有这些都已变得越来越流行。 如果您具有设计,美术或心理学的背景,则可以使用UI / UX找到合适的人。 组成产品的下一件事是媒体,包括声音,图形或视频。 并非所有项目都具有这些功能,但是它们也不罕见。

Documentation, however, is one of the parts that is often overlooked. An easy way to make a contribution is to improve the documentation. Copywriters should feel at home with those topics. Text assets and translations also present an easy entry.

但是,文档是经常被忽略的部分之一。 做出贡献的一种简单方法是改进文档。 撰稿人应该对这些主题感到宾至如归。 文本资产和翻译也很容易输入。

Then, there’s marketing, which is also often lacking in Open Source projects. If you can fix this, the whole community benefits. Help a project with marketing, and this will also lure more potential contributors.

然后是市场营销,这在开放源代码项目中也经常缺乏。 如果您可以解决此问题,那么整个社区都会从中受益。 通过营销帮助项目,这也将吸引更多潜在的贡献者。

And finally, there’s the legal part, a rather rare component that mainly concerns huge projects. There are lawyers who deal primarily with Open Source issues, and most of them volunteer their time.

最后,还有法律部分,这是一个相当少见的部分,主要涉及大型项目。 有一些律师主要处理开放源代码问题,其中大多数人自愿投入时间。

If you can write prose, draw, make music, are a good marketer, or a lawyer: Open Source community needs you!

如果您可以写散文,绘画,做音乐,是一个好的营销人员或律师,那么,开源社区需要您!

If you feel incapable of designing, making changes, writing licenses, don’t be scared. You can make another kind of contribution. You can report an error or propose changes to behavior or appearance.

如果您觉得自己无能力设计,进行更改,编写许可证,请不要害怕。 您可以做出另一种贡献。 您可以报告错误或建议更改行为或外观。

You know what’s best? If every member of the community contributes a bit of time, a bit of effort, and a bit of personal experience, the whole community gains a terrific product, often free of charge.

你知道最好的吗? 如果社区中的每个成员都付出一点时间,一点点努力和一点个人经验,那么整个社区就会获得一个很棒的产品,通常是免费的。

Don’t feel like a creator? Submit a bug report or issue a feature request!

不觉得自己是创作者吗? 提交错误报告或发出功能请求!

为什么值得我花时间? (Why is it worth my time?)

Why is it worth contributing to Open Source? Why should you spend your time writing some proposals or code or making translations instead of going for a walk? There are several reasons. All of them stem from the premise that contributing to Open Source is publicly visible. Everybody can see what everyone else is doing. And that’s great!

为什么值得为开源做出贡献? 为什么您不花时间去写一些建议或代码或进行翻译呢? 有几个原因。 所有这些都源于对开源的贡献是公开可见的前提。 每个人都可以看到其他人在做什么。 太好了!

您提高了能力 (You increase your competencies)

If you are writing a piece of code, designing an interface, or creating graphics, you are learning. This is a great exercise for those looking for a career change. In Open Source, nobody cares whether you work as a senior developer or as a gardener. What matters is the quality of the contribution you can bring. And once you prove yourself in an Open Source project, you will have gained some valuable experience. No longer should you feel like an impostor who just finished a boot camp. You will be an established member of a community with a track record that anyone can check.

如果您正在编写一段代码,设计一个界面或创建图形,那么您正在学习。 对于那些寻求职业转变的人来说,这是一个很棒的练习。 在开放源代码中,没有人关心您是担任高级开发人员还是园丁。 重要的是您可以做出的贡献的质量。 并且,一旦您在开放源代码项目中证明自己,您将获得一些宝贵的经验。 您不再应该像刚完成新兵训练营的骗子一样。 您将成为社区的既定成员,拥有任何人都可以检查的跟踪记录。

This works even if you are stuck with one technology, but imagine your future with something completely else. Say you are a COBOL developer dreaming of landing a UX job? Just start improving UX in Firefox and send your contributions. Once they’re accepted, you can add a new position to your resume: UX designer for Firefox project. You’ve just learned something useful and improved your credentials.

即使您只停留在一种技术上,这种方法也能奏效,但您完全可以想象用另一种技术来创造未来。 假设您是梦想着找到UX工作的COBOL开发人员? 只需开始改善Firefox中的UX并发送您的贡献即可。 一旦被接受,您就可以在简历中添加新职位:Firefox项目的UX设计器。 您刚刚学到了一些有用的信息,并提高了您的凭据。

您提高可见度 (You Improve Your Visibility)

When you join a community, such as an Open Source project, you immediately gain new acquaintances, meeting others who are also involved in the project. You can learn from them, and exchange ideas with them.

当您加入开放源代码项目等社区时,您会立即结识新朋友,结识也参与该项目的其他人。 您可以向他们学习,并与他们交流想法。

The second benefit from joining such a community is that all of your other channels automatically become more visible. For example, visitors to the Open Source project you contribute to, can learn of your YouTube channel or find you on LinkedIn to offer you a job.

加入这样一个社区的第二个好处是,您所有其他渠道都会自动变得更加可见。 例如,您参与的开源项目的访问者可以了解您的YouTube频道,也可以在LinkedIn上找到您为您提供工作。

This brings us to the next point.

这将我们带到了下一步。

It is a common practice nowadays for IT recruiters to check out GitHub in search of new talent. By making your code public you actually create a real-life resume anyone can verify. No need to contact your former employers or clients. And if your GitHub profile links to your LinkedIn profile or your homepage you are easily approachable so the chances of you landing a job of your dreams increase.

如今,IT招聘人员通常使用GitHub来寻找新人才是一种普遍做法。 通过公开代码,您实际上可以创建任何人都可以验证的真实简历。 无需联系您以前的雇主或客户。 而且,如果您的GitHub个人资料链接到您的LinkedIn个人资料或您的主页,您将很容易获得联系,因此您实现梦想的机会增加了。

Keep in mind, you don’t even need to have commercial experience in that particular field. For those recruiters, your Open Source contributions are just as valid!

请记住,您甚至不需要在该特定领域具有商业经验。 对于那些招聘者,您的开源贡献同样有效!

您找到工作或新客户 (You Find Employment or New Clients)

If you are really good, you can get a paid offer to work on an Open Source project. This is reserved mostly to those projects that have some stable financial backing, either from a corporation or a nonprofit.

如果您真的很厉害,那么您可以得到一份有薪工作以从事开源项目。 这主要保留给那些具有稳定财务支持的项目,无论是来自公司还是非营利组织。

您找到新员工 (You Find New Employees)

This also works the other way — you can find potential employees. If you do something that is cool and useful to others , publish it as an Open Source project! There is a chance that someone will want to improve your project or work for you.

这也以另一种方式起作用-您可以找到潜在的员工。 如果您做的事情对他人很酷并且有用,请将其发布为开源项目! 有人可能会想要改善您的项目或为您工作。

你为别人做的事 (You Do Something for Others)

Another advantage to being a part of these projects is the opportunity to do something for others and gain their gratitude. All the “thank you” notes you receive will make your time seem more than worthwhile — — and you may have even contributed to an awesome project.

成为这些项目的一部分的另一个好处是有机会为他人做点事,并感谢他们。 您收到的所有“谢谢”笔记都会使您的时间显得不那么值得-甚至您可能已经为一个了不起的项目做出了贡献。

您可以访问尼斯统计数据 (You Get Access to Nice Statistics)

Are you a fan of gamification? Then this one’s for you. Some people really like statistics, and for them GitHub offers something special. Each action we take in GitHub — the largest Open Source community — is marked with a green square on a huge calendar. The more things we do any given day, the brighter the square. When we contribute for several consecutive days, GitHub will count it as a streak and keep your score for future reference. This acts as a motivation to beat the best scores so far.

您是游戏化的粉丝吗? 那这是给你的。 有些人真的很喜欢统计数据, GitHub为他们提供了一些特别的东西。 我们在GitHub(最大的开源社区)中进行的每个动作在巨大的日历上都标有绿色方块。 我们每天做的事情越多,广场越亮。 当我们连续几天捐款时,GitHub会将其视为连胜,并保留您的分数以供将来参考。 这是迄今为止取得最好成绩的动力。

您如何找到第一个项目? (How Do You Find Your First Project?)

There are several ways. First of all, the big players like Firefox or Android have a high user base and require a lot of changes and improvements. Once you introduce a change to such a project, your change becomes visible by millions. You can visit GitHub and see what are the most popular repositories. For example, at the moment of this writing, the number one most starred repository is freeCodeCamp.

有几种方法。 首先,像Firefox或Android这样的大型公司拥有很高的用户基础,需要进行大量的更改和改进。 一旦您对此类项目进行了更改,您的更改就会被数百万人看到。 您可以访问GitHub并查看最受欢迎的存储库。 例如,在撰写本文时, 排名最高的存储库是freeCodeCamp 。

I wouldn’t necessarily recommend this first approach if you are a newcomer. The huge projects’ main advantage is also their main curse. Everybody wants to contribute, but there is a limited number of maintainers who are able to respond to your requests. If you really want to make an impact, you can instead try smaller projects that are on the rise. GitHub Trending is a place to find such cases.

如果您是新手,我不一定会推荐第一种方法。 大型项目的主要优势也是其主要诅咒。 每个人都想贡献自己的力量,但是维护者数量有限,能够回应您的要求。 如果您真的想产生影响,则可以尝试一些正在兴起的小型项目。 GitHub Trending是找到此类案例的地方。

Another approach is to select an awesome project as a first time contributor. Let’s call this the energy efficient approach. Awesome projects are compiled and curated lists of links. For example, awesome-shell lists cool CLI findings, while awesome-JavaScript deals with all the shiny new frameworks that pop up every day. There’s also an awesome list of Mind Expanding Books and of course awesome lists.

另一种方法是选择一个很棒的项目作为第一次贡献者。 我们称其为节能方法。 很棒的项目是链接的编译和整理列表。 例如, awesome-shell列出了很棒的CLI发现,而awesome-JavaScript处理了每天弹出的所有闪亮的新框架。 还有一个很棒的“ 心灵扩展书籍” 列表 ,当然还有很棒的列表 。

Why is it a good approach? The effort required to make an actual contribution is pretty low, so there is a high chance of getting a dopamine boost resulting from a job well done. This dopamine boost should trigger the next contribution and so on. Once the ball starts rolling, it’s hard to make it stop.

为什么这是一个好方法? 做出实际贡献所需的工作非常少,因此,由于工作做得好,很有可能获得多巴胺增强。 多巴胺的增强应触发下一个贡献,依此类推。 一旦球开始滚动,就很难使其停止。

The final approach I recommend is piggybacking on a huge Open Source event. One such event celebrated each year in October is Hacktoberfest. The participants are expected to make five Pull Requests on GitHub (that is, make five contributions). Everyone who fulfills this task gets nice perks from the sponsors (like t-shirts and stickers). To make it easier for the participants, some example projects are listed on the website.

我建议的最终方法是在大型开源活动上piggy带。 Hacktoberfest是每年10月庆祝的此类活动之一 。 预计参与者将在GitHub上发出五个Pull Request(即做出五个贡献)。 每个完成这项任务的人都会从赞助商那里获得丰厚的待遇(例如T恤和贴纸)。 为了使参与者更容易,网站上列出了一些示例项目。

Another similar event is Google Summer of Code. You can check out a list of projects from the past. Maybe one will inspire you enough to make a contribution! Oh, and then there’s an Awesome First PR Opportunities list!

另一个类似的事件是Google Summer of Code 。 您可以查看过去的项目列表。 也许一个人会激励您做出自己的贡献! 哦,然后还有一个很棒的“首次公关机会”列表!

If you want to sustain-ably contribute to Open Source, find something that you use regularly. This way your contributions will also benefit yourself. This is by far the best way to ensure quality work.

如果您想持续为开源做出贡献,请定期使用一些有用的东西。 这样,您的贡献也将使自己受益。 到目前为止,这是确保高质量工作的最佳方法。

是什么使贡献有价值? (What Makes a Contribution Valuable?)

We now know why to contribute, and we know where to contribute. Now let’s focus on what makes our contribution valuable? A worthless contribution will not be accepted, so it’s better to prepare!

我们现在知道为什么要捐款,并且我们知道要在哪里捐款。 现在,让我们专注于使我们的贡献有价值的是什么? 毫无价值的贡献将不被接受,因此最好做好准备!

我们应该尊重工作条件 (We Should Respect the Working Conditions)

Above all, we should respect the working conditions of others. In many projects, you can find documents such as CONTRIBUTORS.md that present the preferred way of making contributions. If the project you wish to join doesn’t have a similar document, check other possible places, like the README.md or the project’s wiki page. Get acquainted with the rules and make sure you understand and obey them.

最重要的是,我们应该尊重他人的工作条件。 在许多项目中,您可以找到诸如CONTRIBUTORS.md文档,这些文档提供了首选的捐款方式。 如果您希望加入的项目没有类似的文档,请检查其他可能的位置,例如README.md或项目的Wiki页面。 熟悉规则,并确保您理解并遵守它们。

If your work doesn’t meet the conditions outlined in the contributors’ guidelines, it will probably be declined even before the review. Those guidelines and conditions serve to protect the time of maintainers. If you can’t follow them, the maintainers may assume you are just as careless with the other work you do.

如果您的工作不符合贡献者指南中概述的条件,那么即使在审阅之前,该工作也可能会被拒绝。 这些准则和条件有助于保护维护者的时间。 如果您无法跟随他们,维护人员可能会认为您对其他工作同样粗心。

考虑一下您对他人的贡献有多宝贵 (Consider How Valuable Your Contribution Is to Others)

Once we know how to behave, let’s consider how valuable our contribution is to others. Imagine for a moment, a company that produces tailor-made suits. You bought a suit at its store and then went for a beer. Inspiration strikes, so you attach a bottle opener to the suit at home. This way, each time you go for a beer, there’ll be no problem opening it.

一旦我们知道如何表现,就让我们考虑我们的贡献对他人的价值。 想象一下,一家生产定制西服的公司。 您在商店买了一套西装,然后去喝啤酒。 灵感来袭,因此您可以在家中将开瓶器连接到西服上。 这样,每次去喝啤酒时,打开啤酒就没有问题。

In an Open Source fashion, you go to the tailor and present your great idea of attaching the opener to the suit. Now, regardless of the ingenuity of your idea, the tailor, who acts as a project maintainer, may not see your addition as fitting to his concept. It doesn’t mean that your work is weak or worthless; it just means that some features appeal only to a small audience. And since each feature needs to be maintained and secured, adding to the cost of the project, the project maintainer has to make sure that every feature provides a worthwhile amount of benefit.

以开源的方式,您去找裁缝,并提出将开瓶器固定在西服上的绝妙想法。 现在,无论您的想法多么聪明,作为项目维护者的裁缝可能都不会认为您的加入符合他的想法。 这并不意味着您的工作薄弱或毫无价值。 这仅意味着某些功能仅会吸引少量受众。 而且由于每个功能都需要维护和保护,这增加了项目成本,因此项目维护人员必须确保每个功能都可以提供可观的收益。

善于沟通 (Be Verbose in Communication)

If it’s not a change that you are contributing but a report, be verbose. Write down everything you know to explain the context in detail. This is particularly important when reporting errors. The more context you describe, the easier it will be for someone to fix it the way you want. Keep in mind the possible use cases and expected behavior, but leave out any details not necessarily related to the report. Saying you want an element to be green because it matches other competing products is fine. Providing a thorough historical background on the competition is a bit too much.

如果您贡献的不是更改,而是报告,请保持详细。 写下您知道的所有内容以详细解释上下文。 报告错误时,这一点尤其重要。 您描述的上下文越多,某人按照您想要的方式对其进行修复就越容易。 请记住可能的用例和预期的行为,但请忽略与报告不一定相关的任何细节。 说您希望某个元素为绿色,因为它与其他竞争产品匹配。 提供有关比赛的详尽历史背景有点太多。

提交前先运行,测试,检查然后再次检查 (Run, Test, Check, Then Double-Check Before Submitting)

Check everything and test everything before you submit your change. Make sure your changes address the currently developed version, not some historical one. Keep in mind that you only need to run the tests once. The maintainers run many of them daily, so save them time by making sure everything is top-notch. And anyway, this just shows that you care and don’t submit sloppy work.

提交更改之前,请检查所有内容并测试所有内容。 确保您的更改针对的是当前开发的版本,而不是某些历史版本。 请记住,您只需要运行一次测试。 维护人员每天都要运行许多维护程序,因此请确保所有内容都是一流的,从而节省了时间。 而且无论如何,这仅表明您在乎,不要提交草率的工作。

如何避免上网气Disc (How to Avoid Getting Discouraged Online)

Remember this: Each time you post something online, you open up yourself to criticism. Regardless, if it’s a comment, a photo, an article, or a code, you are now vulnerable. You should welcome some of the criticism, as it will help you grow.

请记住以下几点:每次在网上发布内容时,您都会受到批评。 无论是注释,照片,文章还是代码,现在都容易受到攻击。 您应该欢迎一些批评,因为它会帮助您成长。

But there are also other kinds of criticism: toxic and unwarranted. It’s best to learn how to deal with different kinds of criticism before you start sharing your work with the public. This way you will be prepared for what awaits you and won’t take everything personal.

但是,还有其他一些批评:有毒和无根据的。 最好在开始与公众分享您的作品之前,学习如何应对各种批评。 这样,您将为等待的事情做好准备,并且不会将所有事情都变成个人。

我们的最佳创意并非对所有人都最佳 (Our Best Ideas Are Not the Best to Everyone)

First of all, your best ideas may not be the best ideas according to everyone. Let’s keep this in mind. Don’t be offended if someone tells you that the bottle opener you devised isn’t compatible with their suit. If that is the will of the project maintainer, respect it. It may serve as a lesson if you would like to be involved again in this project. Or you can seek another project where they may need such a change.

首先,根据每个人的观点,您的最佳创意可能并非最佳创意。 让我们牢记这一点。 如果有人告诉您您设计的开瓶器与他们的西服不兼容,请不要生气。 如果那是项目维护者的意愿,请尊重它。 如果您想再次参与这个项目,它可以作为一个教训。 或者,您可以在他们可能需要进行此类更改的其他项目中寻求帮助。

我们最好的作品可能不符合标准 (Our Best Work May Not Be up to Standards)

As difficult as it may be to hear, your best work might not be up to a project’s standard. I experienced it myself. In one project I was contributing to, I received a reasonable list of guidelines on how to write good code. I decided to do it perfectly (so I thought) the first time around. After all, I knew what to look out for. I sent my changes, and after some time I received a reply. Almost every line of code was highlighted. Interestingly, all comments were reasonable and accurate. What I considered perfect was lacking in almost every single line.

尽管很难听到,但您的最佳工作可能未达到项目的标准。 我自己经历了。 在我参与的一个项目中,我收到了有关如何编写良好代码的合理指导方针清单。 我决定第一次做到完美(所以我认为)。 毕竟,我知道要注意什么。 我发送了更改,一段时间后我收到了回复。 几乎每一行代码都被突出显示。 有趣的是,所有评论都是合理和准确的。 我认为完美的东西几乎在每一行中都没有。

I corrected all the remarks and resubmitted the changes. This time I received only five remarks. Even if you are doing something right, other people may push you to work even better. That’s what reviewers are for. They should not be criticized or blamed — they want to help you, keep this in mind!

我更正了所有评论,然后重新提交了更改。 这次我只收到了五句话。 即使您做正确的事,其他人也会促使您工作得更好。 那就是评论者的目的。 他们不应受到批评或指责-他们想帮助您,请记住这一点!

即使我们做得对,我们也会被拒绝 (We Can Get Rejected Even If We Did Everything Right)

Sometimes you just get “no” for an answer, and there’s not much you can do to change this. You still think suits with bottle openers are a great idea? Then start producing your own! In Open Source, the act of creating a new project based upon an existing one is called “forking.”

有时,您只是得到“否”的答案,而改变这一点您无能为力。 您仍然认为带开瓶器的西装是个好主意吗? 然后开始生产自己的! 在开源中,基于现有项目创建新项目的动作称为“分叉”。

Correspondingly, the new project is considered a “fork” of the original. For example, Ubuntu is a fork of Debian. If the project maintainers refuse to incorporate your work into their product, you can consider forking the project and becoming a maintainer yourself. This should only be practiced in extreme cases. Not only is forking a burden for both groups of maintainers, it is also confusing for the community. If you happen to hear “no,” it is worth learning the reasons behind this answer.

相应地,新项目被视为原始项目的“分支”。 例如,Ubuntu是Debian的分支。 如果项目维护者拒绝将您的工作纳入其产品中,则可以考虑分叉该项目并自己成为维护者。 仅在极端情况下才应这样做。 这不仅给两组维护者带来负担,也给社区造成了困惑。 如果您碰巧听到“否”,则值得学习此答案背后的原因。

It may be a valuable lesson for the future.

这可能是未来的宝贵教训。

巨魔无处不在 (Trolls Are Everywhere)

Now, the trolls.

现在,巨魔。

As the Internet offers an illusion of anonymity, there has emerged a subculture that takes pleasure in destroying other people. This subculture is called the Internet trolls. I have not yet had the opportunity to fight someone like this. But I would recommend that you read “The Complete Guide to Understanding and Dealing With Online Trolls” by Ragen Chastain. It will help you prepare for such an unpleasant encounter.

由于互联网提供了一种匿名的幻觉,因此出现了一种亚文化,它很乐于消灭其他人。 这种亚文化被称为互联网巨魔。 我还没有机会与这样的人打架。 但是我建议您阅读Ragen Chastain 撰写的 “ 理解和处理在线巨魔的完整指南 ”。 它将帮助您为这种不愉快的相遇做准备。

开源赚钱 (Making Money on Open Source)

If you’ve read this far, you’re probably wondering if it is possible to earn some money while working on Open Source projects.

如果您已经阅读了到目前为止,您可能想知道在从事开源项目时是否有可能赚钱。

Of course, it is!

当然是的!

Even though the software itself is usually free of charge, there are other ways to make a living with Open Source. In this respect, it very much resembles art. And as with art, some methods may work for you while others might not. It’s an inexact science.

尽管软件本身通常是免费的,但还有其他方法可以使开源生活。 在这方面,它非常类似于艺术。 与艺术一样,某些方法可能对您有用,而其他方法则可能不行。 这是一门不精确的科学。

永久方法 (Permanent Methods)

My favorite method is the Donate button. You can see it at work on one of my projects: Songcorder. Depending on the size of the tips you expect, options worth considering include Paypal (if you plan to receive tips larger than $15) and Buy me a Coffee (for tips smaller than $15).

我最喜欢的方法是“捐赠”按钮。 您可以在我的项目之一Songcorder上看到它。 根据您期望的小费大小,值得考虑的选项包括Paypal(如果您打算接收大于15美元的小费)和给我买咖啡 (小费小于15美元)。

A Buy me a Coffee button looks like this (you can click it if you feel I deserve it):

A Buy me a Coffee按钮看起来像这样(如果您觉得我应得的话可以单击它):

Besides general purpose buttons, there are methods dedicated to Open Source projects, like Gittip/Liberapay (this one likes to change names quite often). Funny enough, one of the popular repositories supported by Liberapay is… awesome.

除了通用按钮之外,还有一些专用于开源项目的方法,例如Gittip / Liberapay (这个人经常喜欢更改名称)。 有趣的是,Liberapay支持的最受欢迎的存储库之一是…… 很棒 。

The premise is similar to that of Flattr. You choose the monthly amount of money you want to spend on creations, and when you approve of some work, the author of the work gets a share of your budget. Say, you decided that you can afford to pay $5 each month towards Open Source projects. If you approve of four projects in a particular month (by starring them or clicking the Flattr button) each of the projects’ authors gets $1.25. Pretty simple.

前提类似于Flattr 。 您可以选择每月要在创作上花费的金额,当您批准某些作品时,作品的作者将获得预算的一部分。 假设您决定每月支付$ 5美元用于开放原始码专案。 如果您在一个月内批准四个项目(通过加注星标或单击Flattr按钮),则每个项目的作者将获得1.25美元。 很简单

Instead of supporting entire projects, you can also make donations (almost) directly to the contributors. Tip4Commit operates this way. Supporters deposit some amount of Bitcoin into a project, and each contributor that commits to the project gets a share of the deposit.

除了支持整个项目,您还可以(几乎)直接向捐助者捐款。 Tip4Commit以这种方式运行。 支持者将一定数量的比特币存入一个项目,每个致力于该项目的贡献者都将获得一部分存款。

Another possible approach is Patreon. Here, instead of an equally divided budget, supporters give a fixed amount of cash to any creator they choose. If you want to learn if this is the correct approach for you, Erika Sauter explains perfectly “Why Patreon is Dope AF for Creators”. Sindre Sorhus of awesome fame is one of the prominent Open Source maintainers there. But bigger projects such as Homebrew or Linuxbrew also use Patreon for funding.

另一种可能的方法是Patreon 。 在这里,支持者将固定金额的现金分配给他们选择的任何创作者,而不是平均分配预算。 如果您想了解这是否是您的正确方法, Erika Sauter会完美地解释“ 为什么Patreon是Creator的Dope AF ”。 的Sindre Sorhus的真棒成名是著名的开源维护者之一出现 。 但是像Homebrew或Linuxbrew这样的大型项目也使用Patreon进行融资。

All of the above-mentioned methods work well if you treat Open Source as a hobby or a side-hustle. If you are lucky, they could even turn your passion into a day job. But in reality, if you want to make Open Source your day job, the usual approach is to provide consulting services. This can mean selling pro features to enterprise clients or helping enterprise clients deploy and customize your products. Many businesses lack the skills necessary to adapt an Open Source project to their internal needs. And who’s better equipped for this task than the original project’s maintainer?

如果您将开放源代码作为一种爱好或副业,那么所有上述方法都可以很好地工作。 如果您很幸运,他们甚至可以将您的激情变成一份日常工作。 但是实际上,如果您想使开源成为您的日常工作,通常的方法是提供咨询服务。 这可能意味着向企业客户出售专业功能或帮助企业客户部署和定制您的产品。 许多企业缺乏使开放源代码项目适应其内部需求所需的技能。 谁比原始项目的维护者更能胜任这项任务?

If you can help others and get paid for doing so, go for it!

如果您可以帮助他人并为此获得报酬,那就去吧!

一次性方法 (One-Time Methods)

One of the popular methods for bootstrapping funds on an Open Source project is crowdfunding. There are numerous platforms dedicated to this cause. Kickstarter, for example, helped to launch Mycroft Mark II, the Open Source voice assistant. Another big player Indiegogo hosted a campaign for an email client Geary. Sadly, the project did not meet its goals. MediaGoblin even went as far as launching their own campaign without any third-party.

在开源项目上引导资金的一种流行方法是众筹。 有许多专用于此原因的平台。 例如, Kickstarter帮助启动了开源语音助手Mycroft Mark II 。 另一个大公司Indiegogo为电子邮件客户Geary主持了一场活动。 可悲的是,该项目没有达到其目标。 MediaGoblin甚至可以在没有任何第三方的情况下启动自己的广告系列 。

If you fear you won’t find the many supporters needed for successful crowdfunding, you can try grants. I am aware of at least two foundations providing such grants. One of them is the Travis Foundation, backed by the company behind the popular Travis CI. The other one is the Mozilla Foundation, creators of Firefox Web Browser.

如果您担心找不到成功的众筹所需的众多支持者,可以尝试拨款。 我知道至少有两个基金会提供此类赠款。 其中之一是特拉维斯基金会 ( Travis Foundation) ,由公司支持,并获得了流行的特拉维斯CI(Travis CI)的支持 。 另一个是Firefox Web浏览器的创建者Mozilla基金会 。

Most of the tools presented so far focus on Open Source maintainers. But contributors can make some dough by becoming Bounty Hunters too. Bounties are features requested by a third-party backed by a financial reward. To hunt them you need to fulfill the feature request and claim the reward. The most popular platform for Bounty Hunting at the moment seems to be Bountysource.

到目前为止,大多数工具都集中在开源维护者上。 但是贡献者也可以通过成为赏金猎人来赚些钱。 赏金是第三方提供的经济奖励功能。 要寻找他们,您需要满足功能要求并获得奖励。 目前,Bounty Hunting最受欢迎的平台似乎是Bountysource 。

But if you’d rather take Cryptocurrency as a payment, Gitcoin operates on similar principles. Check out “Everything You Need to Know About Gitcoin” by Vivek Singh for details.

但是,如果您宁愿使用Cryptocurrency作为付款, Gitcoin的运作原理也类似。 查看Vivek Singh的 “ 您需要了解的有关Gitcoin的所有知识 ”以获取详细信息。

The paid internship is another valid approach. Two popular options available are:

带薪实习是另一种有效的方法。 可用的两个流行选项是:

  • Google Summer of Code — aimed at students

    Google Summer of Code-针对学生

  • Outreachy — aimed at minorities in the tech field

    外展 -针对技术领域中的少数群体

Or, if you’re really passionate, why don’t you join a company dedicated to developing Open Source software? There are many to choose from. Just like with consulting, you will get paid and do something for the community at the same time.

或者,如果您真的很热情,为什么不加入一家致力于开发开源软件的公司? 有很多选择。 就像咨询一样,您将获得报酬,并同时为社区做点事情。

It’s a win-win situation!

这是双赢的局面!

进一步的研究 (Further Research)

If you are looking for more inspiration, check out the lemonade-stand project on GitHub. Or add your own idea there. With Open Source, everything is possible!

如果您正在寻找更多灵感,请在GitHub上查看柠檬水摊位项目。 或在此处添加您自己的想法。 有了开源,一切皆有可能!

找到你的亲戚 (Finding Your Kin)

I haven’t mentioned it until now, but products, projects, and technology are only a tiny fraction of the whole Open Source movement. The first and foremost component is the fabulous community! Once you start contributing, you immediately gain lots of new acquaintances, people to learn from, people whom you can mentor, and people with whom you can exchange ideas.

到目前为止,我还没有提到它,但是产品,项目和技术只是整个开源运动的一小部分。 最重要的组成部分是神话般的社区! 开始捐款后,您会立即结识许多新朋友,可以向他们学习的人,可以为您提供指导的人以及可以与他们交换意见的人。

Each project has its own community, but there are also places where Open Source enthusiasts hang out regardless of their background.

每个项目都有其自己的社区,但是在某些地方,无论其背景如何,开放源代码爱好者都可以在那里闲逛。

You can join groups on Social Media, such as the Linux & Open Source group on LinkedIn. There are also many interesting Gitter channels to check out. Gitter is an instant messaging system for Open Source communities. There are also mailing groups, forums, or platforms like GitHub that allow collaboration and communication. But if you want to meet like-minded people in person, consider visiting or joining a Hackerspace.

您可以加入社交媒体上的组,例如LinkedIn上的Linux&Open Source组。 还有许多有趣的Gitter频道可供签出。 Gitter是用于开源社区的即时消息传递系统。 还有一些邮件组,论坛或平台(如GitHub)允许进行协作和交流。 但是,如果您想亲自结识志趣相投的人,请考虑访问或加入Hackerspace。

Hackerspaces are places that transfer the love of experimentation beyond the software world. Software, hardware, DIY, and handicraft are equally welcome. There’s a Wiki page listing all the Hackerspaces, so find the closest one and just pay them a visit. You’ll be surprised by what’s possible when ideation meets execution!

黑客空间是将实验的热爱转移到软件世界之外的地方。 同样欢迎软件,硬件,DIY和手Craft.io品。 有一个列出所有Hackerspaces的Wiki页面,因此找到最接近的页面并进行访问。 当构想与执行相遇时,您会感到惊讶!

Did you like it? Have I helped you? If so, feel free to join my newsletter:

你喜欢它吗? 我有帮过你吗 如果是这样,请随时加入我的新闻通讯:

If you like the post consider subscribing to my Newsletter. You’ll be informed about everything I write and recommend (books, articles, tools, and probably music).

如果您喜欢该帖子,请考虑订阅我的时事通讯 。 您会被告知我所写和推荐的所有内容(书籍,文章,工具以及音乐)。

翻译自: https://www.freecodecamp.org/news/the-definitive-guide-to-contributing-to-open-source-900d5f9f2282/

idea非开源安装指南

你可能感兴趣的:(大数据,编程语言,python,人工智能,java)