如何开始一个成功的开源项目?

发布于 2024-09-13 06:30:56 字数 1436 浏览 7 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

恰似旧人归 2024-09-20 06:30:56

好问题,尽管它比一篇简单的文章更值得写一本书,恕我直言。我希望大多数最好的建议都是社交性的,而不是技术性的,这并不奇怪。

以下是一些观察结果(排名不分先后):

  • 不要预先进行大量基础设施投资 除非您已经是 Apache 提交者(或类似人员),否则不要四处寻找赞助组织或主机您自己的服务器等。5 分钟内即可访问 GitHub,并且不要回头。把你的精力放在功能上。
  • 降低准入门槛 在听取潜在贡献者的想法之前,不要让他们经历重重困难或接受背景调查。开源项目是网络经济……你需要其他人的能量。即使是被误导的活动也比项目中没有活动要好。您以后随时可以将代码库引向更好的方向。
  • 最大限度地减少自定义代码 不要编写自定义日志记录工具或 XML 解析 API...有一些开源实现 (1) 足够好,(2) 维护得更好,(3) 比无论如何,你的都会变成。你能把更多的精力集中在你的核心问题上就越好。
  • 生活在边缘人们和组织只有在直接受益的情况下才会投资改进您的项目。吃你自己的狗粮。在您的其他项目(例如与您的雇主)中创建对您的开源项目的依赖关系,即使它还不是“完美”。 (提示:软件项目从来都不是完美的,它们要么正在进行中,要么已经死了。)

Nice question, though it's more worthy of a book than a simple article, IMHO. And I hope it comes as no surprise that most of the best advice is social, not technical.

Here are some observations in no particular order:

  • Don't make a big infrastructure investment up front Unless you're already an Apache committer (or somesuch), don't shop around for a sponsoring organization or host your own servers, etc. Get up on GitHub in 5 minutes and don't look back. Put your energy in features.
  • Lower the barrier for entry Don't make potential contributors jump through hoops or undergo a background check before you'll listen to their ideas. Open source projects are networked economies... you need the energy of others. Even misguided activity is better than no activity on your project. You can always steer the codebase in a better direction later.
  • Minimize custom code Don't write a custom logging tool or XML parsing API... there are open source implementations that are (1) good enough, (2) better maintained, and (3) better than yours will become anyway. The more energy you can focus on your core problem, the better.
  • Live on the edge People and organizations will only invest in improving your project if they will directly benefit. Eat your own dogfood. Create dependencies in your other projects (like with your employer) on your open source project, even if it isn't "perfect" yet. (Hint: software projects are never perfect, they're either works-in-progress or dead.)
春花秋月 2024-09-20 06:30:56

GitHub 是一个好地方,因为它让那些哪怕只有一点点兴趣的人也能轻松分叉你的项目并应用他/她的补丁与其他人分享。

但这实际上更多的是关于你的项目的态度,而不是你主持项目的地方或其他类似的简单考虑。仁慈、严肃、明智,让社区继续运转,即使它在一段时间内规模很小,等等。接受应该接受的补丁,拒绝应该拒绝的补丁。只要成为一个好人、开发人员和经理,并将这些技能应用到您的项目中,就应该没问题。

GitHub is a good place because it makes it easy for someone with even just a little bit of interest to fork your project and apply his/her patches to share with others.

But it's really about the attitudes around your project more than where you host it or other simple considerations like that. Be benevolent, serious, and judicious, keep a community going even though it will be pretty small for a while, and so on. Accept patches that should be accepted, reject patches that should be rejected. Just be a good person, developer, and manager, and apply those skills to your project, and it should be fine.

黯然#的苍凉 2024-09-20 06:30:56

你自己说的。最重要的是要有足够关心它的人来处理问题而不是放弃。

如果没有人足够关心,它就会再次死亡。尝试一个你足够关心的不同项目。

如果没有人愿意真正去做这项工作、奋战到底、坚持原地踏步,那么“很多人有兴趣看到它实现”就毫无意义。

You are saying it yourself. The most important thing is that it should have people who care enough about it to deal with the problems instead of abandoning.

If no one cares enough, it will die again. Try a different project where you do care enough.

"A lot of people interested in seeing it realized" means nothing if nobody will actually do the work, fight the fights and stay put.

风尘浪孓 2024-09-20 06:30:56

我不认为这是一成不变的,但对我来说最重要的一点是你的项目应该填补现有生态系统的空白。换句话说,你的项目必须有一个生存的空间。

除此之外,我可以说保持动力的最好方法是与人合作。你说仍然有很多人有兴趣看到它的实现。那么,这些人为什么不采取行动呢?他们当然可以做点什么。我认为一个常见的误解是,为开源项目做出贡献意味着您必须能够编写代码。
还有更多内容:

  • 编写文档
  • 创建图形元素
  • 讨论功能和路线图
  • 推广项目
  • 等。

当然,并非所有这些要点都适用于每个项目,但尝试让人们致力于项目最终将帮助您和/或者您的项目成员也保持承诺。您不想让项目中的所有其他人失望,对吗? ;-)

I don't think it's set in stone, but for me the biggest point is that your project should fill a gap in the existing ecosystem. In other words, there has to a space for your project to live.

Other than that, I can say that the best way to stay motivated is to work together with people. You say that there are still a lot of people interesting in seeing it realized. So, why don't those people do something about it? Surely they can do something. I think a common misconception is that contributing to an open-source project means you have to be able to write code.
There's more to it:

  • Write documentation
  • Create graphical elements
  • Discuss features and roadmaps
  • promote the project
  • etc. etc.

Sure, not all of these points are applicable to every project, but trying to get people to commit to a project will eventually help you and/or your projectmembers to stay commited as well. You don't want to let down all the other folks on the project, do you? ;-)

晨光如昨 2024-09-20 06:30:56

这有点题外话,但无论如何我还是会咬下去。

大多数自由和开源软件项目都是由一个人启动的。在这个人编写了一些代码来完成一些模糊有用的事情后,其他人就会加入。因此,如果您想启动一个项目,请自己动手,在 Google Code 之类的网站上建立一个网站,然后编写一些代码。最后一点是最重要的。

This is kind of off-topic on SO, but I'll bite anyway.

Most FOSS projects are started by a SINGLE person. Other people come on board after this person has produced some code that does something vaguely useful. So if you want to start a project, do it yourself, set up a site on something like Google Code, and write some code. The last is the most important.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文