我是Github的新手。 我已经将一个小型开源Github C项目移植到C++。 我添加了一个新方法,将大多数方法重命名为更具描述性的名称,删除了一堆多余的(在我看来)方法,清理了注释,使其成为 OO 等。
我还没有联系原作者。 所以,我想知道正确的礼仪是什么。 我应该联系他们并要求在项目上合作吗? 我应该告诉他们我在做什么,如果他们不同意,那怎么办?
或者,我应该简单地在 Github 上创建我自己的项目版本并保留控制权吗?
对于一个一开始不在 GitHub 上的项目的大规模重构,一种前进的方法是:
- 将原始代码(至少是 HEAD)导入 GitHub
- 应用您的修改并将其推送到此 GitHub 存储库中
- 联系作者并要求他们分叉您的项目:他们将能够控制自己的代码版本,并通过拉取请求与您协作。
将两个 GitHub 存储库分开可以在存储库之间更清晰地分离关注点(为你进行大规模重构,对它们的旧式支持)。
由于C++与 C 非常不同(与流行的 beleifs 相反),我认为您的代码需要一个新项目。
我还应该补充一点,处理这种情况的更正确方法是创建一个仅链接到该 C 库的 C++ 包装器。 C++与 C 链接没有问题(反之则不然),这将使两个阵营都满意(那些想要低级 C 库的人和那些需要更高级别的 OO 和其他启用C++库的人)。
这样的包装器甚至可以包含在主项目中,如果它的编译可以成为可选的,这样它就不会妨碍那些不需要它的人。
不幸的是,我不知道这个项目是什么,所以这几乎只是挥手。