从一个废弃的开源项目继承一个新的开源项目的正确/礼貌的方法是什么?


13

我的团队只是试图与code.google.com上一个旧的开源项目中的一些人联系。我们告诉他们,我们希望加入他们的项目并致力于该项目(至少是该项目的某个分支),但是没人响应我们。我们尝试了所有人,所有者和提交者;没有人以任何方式活跃,也没有人回答。

但是我们有一些代码要提交,我们真的很想继续该项目的工作。因此,我们需要创建一个新项目。我们为它想出了一个名称,该名称与我们要继承的项目的名称接近但不重复。我们应该如何进行第一次提交,提交消息应该是什么?我们是否应该仅将其代码复制到我们的存储库中,并加上诸如“我们继承了此代码,我们在某类许可下就在这里找到了它……现在我们将其升级为此严格程度更高的许可...”?还是我们应该只使用他们的代码作为第一次提交,并进行更新,说“我们继承自……我们进行了如此多的更改……”?


7
除非您获得原始项目的许可,否则根据原始许可证的不同,您可能无法将其设为不太严格的许可证。如果它是一个足够宽松的许可证,那么可能就不需要太多的许可了。
马修·沙利

Answers:


13

理想情况下,您可以将其存储在Google Code上,以保留所有旧历史。我不知道Google Code是否明确支持此功能,但是如果旧项目使用git作为其版本控制,则可以通过将旧项目克隆到本地目录,修改origin远程以指向新目录来手动完成此操作存储库,然后推送本地副本。

我确定类似的方法可以用于Subversion(svnsync也许吗?),但是我对Subversion并没有实际经验,因此我无法在此发表评论。


2
Google代码支持Mercurial,但不支持git。对于Mercurial,此过程非常相似,只需在中修改default别名.hg\hgrc
Wim Coenen

@Wim感谢您提供信息。我真的根本没有使用Google Code,只是提供了有关我所知道的尽可能多的信息。
马修·沙利

8

关键是原始代码的许可及其是否允许您执行。您应该非常小心的一件事是更改许可证,因为您可能根本不被允许这样做-记住您没有版权。

但是,假设一切都井井有条,那么初始提交消息可能是“从http:// ....版本XYZ导入2011-02-25”,以及README.txt文件中的突出说明。

非常清楚您所做的事情,并尽可能使用原始代码作为库编写您的代码。这使得分离关注点变得更加容易。



4

如果您联系了旧项目,那么我认为他们不会抱怨,只要保持开放并清楚自己在做什么,就不要因为别人的工作而受到好评。我可能会尝试在您的网站上和第一条提交消息中解释这种情况。确保初始代码导入与之前的项目完全相同也是礼貌的做法,因此所有更改都在提交日志中。

正如其他人所说,您只能将许可证更改为兼容的许可证,即使更改许可证也不能更改版权所有者。重要的是,将所有现有的版权所有者的名称保留在此处以及他们处理的所有文件中。



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.