有人能从Github窃取我的代码并发布我的应用程序吗?

24
如果我的整个项目都存储在公共Github存储库中,有什么阻止别人在我之前将其下载并发布到Google Play上的措施?
我想使用Github来跟踪组Android项目中的更改,我被告知拥有活跃的账户对未来就业也有好处,并且将其公开以帮助其他学生。但是如果我最终想要将其发布到Google Play上怎么办?请参见上面的问题。
我是软件开发新手。

4
如果您想要一个远程私有的Git仓库,请查看BitBucket - Joël Salamin
如果你的代码是公开的,人们可以访问它,那么你是正确的,它可能会被盗取...现在人们真的会这样做吗?道德上说,我认为可能不会(至少不会完全抄袭它并将其称为自己的东西,如果他们意识到这是盗窃,即使它是开源的...但另一方面它不是因为它将是开源的)。但有些人可能会这样做,所以这只是一个风险,除非你将其设为私有。 - Benyam Ephrem
@JoëlSalamin - 不仅 BitBucket 可以拥有远程私有存储库,GitHub 也可以拥有。 - Web Developer
1
@WebDeveloper 今天,这是真的。我在2015年发布了我的评论,当时GitHub在免费价格层中没有提供私有存储库;-) 它在2019年被引入:https://github.blog/2019-01-07-new-year-new-github/ - Joël Salamin
7个回答

15

这只适用于应用程序Google Play还是也适用于网站 - Web Developer

5
如果您想将代码保存在私有仓库中,请尝试使用BitBucket,它是一个私有的代码仓库,免费支持最多五个用户。

4
我认为OP也担心维护“一个活跃的GitHub账户...以便受益于未来的改进”,而将代码存储在私人仓库中并不能帮助实现这个目标。 - pjmorse
请注意,“私有”仓库,无论是GitHub还是BitBucket,在服务器上都没有加密。微软支付35亿美元购买GitHub的糟糕工作流程(托瓦兹的话,不是我的)。GitHub存储库实际上是明文存储在AWS服务器上的。您可以使用git-crypt在服务器上加密公共和“私有”GitHub存储库。有趣的是,加密不是标准的一部分,但托瓦兹认为安全性是多余的。 - Dominic Cerisano

4
公共Github存储库的含义由Github定义如下:
公共存储库可以被任何人查看和克隆。 如果您的存储库:
是一个开源项目 应该易于其他成员分叉并贡献他们的修改。
选择私人存储库(收费)将更好地保护您的代码安全。
是的,您可以选择转让所有权,这样您就可以使用Github将代码转移给未来的雇主。希望它有所帮助。如果您需要进一步的信息,请让我知道。
将此存储库转移到另一个用户或拥有管理员权限的组织中。

2
如果我的整个项目存储在公共github仓库中,有什么阻止别人在我之前下载并发布到Google Play上的方法吗?
理论上,没有任何阻止方式。
实际上,除非您宣传(例如,发布链接),否则很少有人会遇到您的存储库。GitHub上有许多存储库。

1
并不总是这样。我在GitHub上发布了一些东西,由于某种原因它变得相当受欢迎,现在有人将其发布到Google Play上。这让我感到非常恼火,因为现在Google Play上的版本已经过时且严重损坏。 - Jonas Czech
@JonasCz - 请参考上面的回答;您可以提出DMCA索赔。 - Web Developer

0

任何开源项目(例如公共的github存储库)都需要声明软件许可证。在github的情况下,未能这样做意味着默认使用MIT许可证进行任何分支(克隆),除了归属权之外,它放弃了大部分权利。

GPL许可证是病毒式的,这意味着包含GPL代码的系统中的任何层级都属于该GPL。所有发布的代码和更改必须发布到原始存储库中。这似乎更适合您的存储库。这将包括需要许可应用程序克隆的拉取请求,您可以阻止它们。

谷歌将撤回任何明显违反许可证的应用程序,并且非常迅速,因为他们有一定的责任这样做。此外,开发人员已知会全球广播他们的不满情绪。

标准模板许可类型非常清晰且牢固,只要您不需要更改它们-对于此,您应该寻求法律顾问的帮助。

大多数公司都避免使用未明确授权为MIT或更弱的任何内容。将GPL代码拉入(危及所有权的)专有代码库中可能会被解雇。GPL适用于教育和合作伙伴关系安排。

因此,显然在仓库许可证的强度和活跃贡献者数量之间存在明显的权衡。无条件的许可证可以吸引贡献者,有条件的许可证可能会使仓库变得孤立。商业是建立在关系之上的。


0

解决方案是使用私有仓库。您可以将任何人设置为具有写入访问权限的贡献者。


1
那个解决方案不起作用。我们的私有仓库刚刚通过第三方Oauth密钥数据泄露被盗,并被克隆到公共仓库中,将我们所有的代码暴露给了全世界。那个第三方是在我们的许可下获得了我们的Github访问权限并被黑客攻击了。你不能仅仅通过将你的仓库设置为私有来防止这种情况发生。 - JasonGenX

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接