很好地分叉开源项目


27

是时候了。

您已经花了很长时间努力工作,才能将您的愿景添加到您喜欢的开源项目中,您在该项目上进行了工作,辩论并为代码和洞察力做出了不可估量的贡献。

但这不会与现有的开发人员一起解决。

您最终需要分叉代码。

您如何做到这一点,并在现有项目中保持最佳条件?您怎么不说:“ 哦,是的!请分叉!

除了交叉授粉机制之外,并假设分叉的推理是合理,合乎逻辑且可以接受的,还会出现什么问题?

竞争?资源浪费?用户偷猎?

在您已经足够多样化以至于不再被视为问题之前,您如何经历这个可能艰巨而漫长的过程?

而不是讨论决定背后的原因,请假设您已经确信分叉代码是最佳的整体解决方案,现在的重点是尽可能以最佳方式前进。

-亚当

Answers:


20

您是想自己编写代码,还是要分割社区?

我们在内部分叉了两个项目。我们会进行更改,将其交付给所有者,他们会说“不,谢谢”,并且我们会耸耸肩膀,将其带入内部并自己维护。

记住,这些不是巨大的项目,但这只是前进的方向。我们还没有发布任何内容,没有托管网站或任何内容。我们只是将源代码的其余部分向下游推送给我们的客户。

根本没有要求我们以比开发者邮件列表更多的公开方式“促进”我们的更改。

如果您想与原始版本保持同等水平,那么您将必须积极地进行补丁程序管理,合并和其他操作。

如果您不想打扰,那就...不要。除非这是总的意图,否则没有理由对此公开,而不是仅仅为您自己的项目需要一个分叉的版本。

可以使用源,因此请使用它。


8

在大多数开放源代码项目中,“ fork”一词并不经常被人们热情地接受,我亲自体验到,要求开发一个“主题分支”以开发一组特定的功能受到人们的欢迎。

这仅是有道理的:“叉子”天生就是潜在的竞争者,而“主题分支”(至少是通过设计)是要最终合并/贡献回项目的。


5

首先说您只想做一些实验性的重构。您知道,只有一些想法想玩。但是,这些更改可能需要打破与项目主分支的向后兼容性,因此您不想在此处提交更改。

然后创建你的叉子。当然,您是负责任的开发人员,因此您将所有代码置于版本控制之下。使用启动板或SourceForge或Google Code或其他任何工具。

躺下一会儿,然后自己动手做。然后请您信任的人“看看”您所创建的内容。然后是另一个人。之后,无论您将源代码保存在哪里,都可以创建一个简单的项目网站。

到那个时候,您认为没有在原始项目上进行锻炼的人们可能也会继续前进,因此不会有人冒犯。随着您的新项目获得关注者,原始项目的活动将减少。


重新codelogic的评论:

对; 我以为OP想要留下的人没有能力自己维持项目。

我听说它说:“组织生存,人们却没有。” 也就是说,没有一个人对项目如此重要,以至于其余团队无法弥补该人离职留下的真空。

但是,在开源中,有时候没有创始人的人,没有人会拥有意志,才能和时间来运行项目,这的确正确的。


恕我直言,答案的最后部分太冒昧。流行的项目由于分叉而导致活动减少的情况并不常见。

当然,假设所讨论的项目主要不是决定分叉的单个开发人员的工作。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.