ste*_*tef 33 git fork rubygems github
我正在做一些关于CultureGrid的业余时间编码.他们有一个SOLR API来访问1.2米的文化艺术品.我已经发布了一个gem来使用它们的服务,但我对使用Datamapper和SOLR适配器后端以更好的方式做到这一点有了一个很好的想法.
我刚刚在Github上发现了一个名为dm-solr-adapter的项目.它是2008年其他人工作的一个分支,使用它你必须克隆项目并运行一个rake任务来安装它(在heroku上使用不多,所以我必须提供它).不幸的是,这项任务现在被打破了,因为他们没有固定他们的宝石版本,Bones在版本2和3之间发生了很大的变化.
基本上 - 它需要一些重新编码才能让它成为一个宝石,如果我要这样做,我不妨自己释放它并按我所知的方式去做 - 使用珠宝商代替.
所以,当然我会删除所有作者,但我只是想知道这里的道德和礼仪是什么.我是否在gem中包含我的用户名,还是使用原始的gem名称?这可能会破坏其他人的安装,即使gem没有列在Rubygems.org上吗?我遵循他们的编号惯例吗?他们似乎选择了"1.0.0"并坚持下去,没有进一步的活动.或者我只是从版本0.1.0开始?
如果不这样做,我只是抓住我想要的东西,将它包含在我的新项目中并给出帽子提示?对于那些可能想要做同样事情的人来说,这听起来并不是很有用.
或者我可能会把我觉得有用的东西拿出来,制作一个叫做dm-solr-backend之类的全新宝石并从头开始?
哦,困境 - 你会做什么?
Bob*_*man 19
所以,如果你不打算发布一个gem,只需继续前进并假设许可允许它,并且不要担心它.这是100%可以,甚至在这一点上预期的行为.Forks实际上是接受贡献者补丁的最简单方法之一.网络图通常是评估项目健康状况以及潜在改进领域的好方法.
如果您打算发布gem,因为原始版本已经无法维护,您应该:
username-originalgemname
如果您打算发布一个gem,因为您需要更改gem而不会使整个社区受益,您应该:
username-originalgemname
在大多数情况下,名为gem的gem版本没有问题username-originalgemname
.这是GitHub gem存储库所采用的模型,这就是大多数人在这一点上处理forks的方式.
我目前所知道的唯一一个例子是 cache-money gem。它已经分叉了几次,顺序如下:
在每种情况下,该项目都处于休眠状态一段时间。除了 GitHub 上的链接显示了 fork 的来源,在任何这些情况下都没有原始代码的归属(中间 fork 甚至忘记更新文档以指定从 gem 安装时要安装哪个 fork)。
只要你善意地联系原始维护者并且项目已经闲置了一段时间,就去做吧。只需确保更新文档即可。;)