可以信任第三方主机进行闭源/私有源代码管理吗? [关闭]

2024-03-05

对于许多公司来说,他们项目的源代码对他们来说非常有价值——窃取源代码可能会造成非常高昂的代价。在本地网络上严格控制源代码是帮助保护源代码的一种方法。

然而,在外部托管源代码有一些优点,无论是在 Dreamweaver 上托管的简单 Subversion 或 git 服务器,还是像 github 或 cvsdude 这样的完整解决方案。

在大多数情况下,员工或其他内部人员有可能访问您公司的完整源代码和历史记录,尽管这种风险相对较小。

这些是真正的恐惧吗?或者公司不应该担心它们,而应该利用第三方主机的优势吗?

目前是否有任何成功的大型公司在第三方源代码管理网站之一上托管其私人存储库?


我认为这完全取决于公司对外包的接受程度。有很多常见的 IP 工作需要外包。以下是一些风险以及知识产权风险:

  • 开发:合同程序员可能对您的 IP 了解很多
  • 托管:您的网络主机拥有您的所有代码
  • 会计:会计师了解有关您财务状况的所有详细信息
  • 法律:律师了解有关收购、预申请专利等的所有细节。
  • 制造:合同制造商拥有与生产您的产品相关的所有知识产权
  • 电子邮件:外包电子邮件为您的主机提供包含所有通信的单一数据库
  • 电话:您的电话公司可能会窥探您的线路

从本质上讲,源代码托管与外包 IP 堆栈的任何其他部分没有什么不同——只不过它比较新,所以人们没有时间进行调整。每家公司在外包堆栈的每个部分方面都有不同的平衡,但现实是你外包的每件事都是有人窃取你的知识产权的机会。最终,归根结底是找到一个值得信赖的供应商。即使是出了名的偏执的苹果公司也找到了制造合作伙伴来生产他们的硬件。

IMNSHO 外包源代码托管的原因与公司外包任何东西的原因相同:这不是他们的核心业务。将存储库托管外包一年可能会花费开发人员 2-3 小时的时间;如果他花费的时间超过一年维护存储库的时间,那么您基本上就损失了金钱。 (即使他不是按小时计酬,这也是事实,因为在他通过在 Twitter 上花费更多工作时间来收回时间之前,你只能窃取他的大部分周末时间)。

免责声明:我在 ProjectLocker 工作,这是一家源代码托管公司。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

可以信任第三方主机进行闭源/私有源代码管理吗? [关闭] 的相关文章

  • 二进制增量存储

    我正在寻找一种二进制增量存储解决方案来版本化大型二进制文件 数字音频工作站文件 使用 DAW 文件时 与用于存储原始数据 波形 的大量数据相比 大多数更改 尤其是在混音结束时 都非常小 如果我们的 DAW 文件有一个版本控制系统 让我们可以
  • 为什么每次合并分支后我的 git log graph 都会多增长一行?

    我习惯使用git log oneline graph decorate all作为别名git ll在终端中查看提交图表 但是当我每次合并我的时 一个问题让我感到困惑develop to master 上面命令的输出可能是这样的 0d1bf7
  • 如何将 man 和 zip 添加到 Windows 上的“git bash”安装中

    我在用git bash https git for windows github io 在 Windows 上 即git对于 Windows 通过集成bash 显然它使用的是MINGW MSYS支撑 来自 VonC 的更新 现在使用 msy
  • 使用 .NET SDK / C# 在 StarTeam 中查找文件的过去修订版本

    我正在尝试编写一个 C 程序来比较 StarTeam 存储库中不同版本的文件 查看文件的当前版本与给定的先前签入之间是否有任何更改 我目前能够从当前版本中查找 签出文件 但很难找到正确的方法来查找这些文件的过去版本 至少在 NET 方面 B
  • 如何配置 Travis-CI 来构建拉取请求并合并到无冗余的主控

    用 BDD 术语来说 背景 鉴于我正在为 GH 存储库做出贡献 当我创建拉取请求时然后 Travis 应该构建最新的提交 当我推送现有的拉取请求时然后 Travis 应该构建最新的提交 当我将拉取请求合并到 master 时那么 Travi
  • 有时 git 告诉我每个文件都是新的且未暂存?

    我将对文件进行更改 转到 Windows UI 的 GitHub 提交我的更改 然后点击同步按钮 然后它说错误 尝试使用 shell 代替 所以我进入 shell 并输入git status 它告诉我存储库中的每个文件都是新的且未暂存 大约
  • 为什么某些 Git 分支名称中包含斜杠?

    我正在阅读本教程https www atlassian com git tutorials syncing git fetch https www atlassian com git tutorials syncing git fetch
  • 如何忽略Git中以数字开头的文件?

    在某个文件夹中 我有名为foo jpg bar png等等 我想将它们保留在版本控制中 除了那些命名为1 baz png 2 zaz jpg等 因为它们实际上是生成的 我应该添加什么条目 gitignore 正则表达式如 0 9 似乎不起作
  • 使用 Dropbox 作为跨多台机器的 git 工作目录 - 提交不能完美同步

    首先 我想强调这个问题与在 Dropbox 上托管我的中央存储库无关 而且我对使用 git 还很陌生 我能找到的其他涉及 Dropbox 和 git 的问题都没有真正回答我的问题 它们要么是关于使用 Dropbox 托管您的存储库 要么是关
  • Git 提交从 Windows 上的守护程序返回错误 docker/error 响应

    我正在为我的 Laravel 应用程序 BE 运行 docker 我对 readmeme md 文件进行了简单的更新 并尝试将此文件提交并推送到 git 当我尝试提交时 这就是我得到的 gt git c user useConfigOnly
  • 如何从“git log”中查看 Git 中的特定版本?

    My git log显示为 enter code here git trial git log commit 4c5bc66ae50780cf8dcaf032da98422aea6e2cf7 Author king lt email pro
  • Git:检查文件是否存在于某个版本

    在我的应用程序中 我使用 git 对一些外部文件进行版本管理 我正在使用类似的命令git show HEAD 1 some file获取文件的某个版本 基于 git 标签 提交哈希或与 HEAD 的关系 当文件不存在时 会输出 致命 消息
  • git rebase -i ——为什么它改变提交哈希值?

    所以我或多或少熟悉变基的工作原理 但直到最近我通常只做了一个git rebase i HEAD 20 并修改了需要修改的内容 我很惊讶地发现这将修改所有 20 个提交的哈希值 即使我采取的唯一操作是压缩最后两个提交 我不确定是什么导致其他
  • 子 git 存储库作为主存储库的子集

    我正在寻找一种方法来设置 git 存储库 其中包括来自较大存储库的文件子集 并从该主存储库继承历史记录 我的主要动机是能够通过 GitHub 共享代码子集 我目前通过单个 git 存储库管理我的研究相关 主要是 Matlab 代码 代码本身
  • GitHub 未显示存储库中使用的语言

    我在 GitHub 上上传了 java 的 android studio 项目 但它没有显示语言部分 如何添加语言部分 为什么 GitHub 无法检测存储库中使用的语言 存储库链接 https github com QAZIMAAZARSH
  • 如何更改 Bitbucket 中的 git 提交消息?

    我需要更改 Bitbucket 中的旧 git 提交消息 我试过git rebase i并重写了我的消息 但是当我拉取并提交时 它只是将旧消息保留在 Bitbucket 中并合并了我的更改 这基本上是 4 个步骤的过程 但如果多个团队成员在
  • 如何在 VS Code 中仅提交跟踪文件?

    git status 显示以下三个信息 要提交的变更 分阶段变更 未暂存提交的更改 未暂存更改 未跟踪的文件 我曾经git commit a 它提交 1 和 2 然而VS代码Commit All提交 1 2 和 3 Commit Stage
  • Git:当文件位于嵌套 git 存储库中时强制“添加”

    我想添加一个包含在父存储库中的嵌套 git 存储库中的文件 我正在开发一个在我的项目中使用的库 然而git add nested repo myfile不做任何事情 我可以尝试重命名 git文件在进行提交时 但是当我重命名回时 我担心会出现
  • Egit 无法检测到本机 Git 的安装路径“gitPrefix”

    如何解决这个问题 警告 EGit 无法检测到本机 Git 的安装路径 gitPrefix 因此 Egit 无法尊重系统级别 Git 设置可以在本机 Git 安装目录下的 gitPrefix etc gitconfig 中配置 正如我在 eg
  • 如何使用它们的更改来解决选择冲突?

    My git cherry pick FOO产生了冲突 我可以检查冲突的文件并删除之间的行 lt lt lt lt lt lt lt and 以及冲突标记本身 但我希望有一种更简单的方法 我觉得svn等同于选择theirs conflict

随机推荐

  • PHP 和 JavaScript cookie

    我可以用 PHP 访问用 jQuery 的 cookie 插件编写的 cookie 吗 我知道你不能将 Javascript 设置为等于 PHP 反之亦然 但本质上是 cookie var COOKIE var 再说一次 我知道你不能将它们
  • Java 8 Stream API min() 和 max() 与收集器 minBy() 和 maxBy() [重复]

    这个问题在这里已经有答案了 在 java 8 中 Stream API 帮助我们以非常干净且更少的代码完成我们的工作 我非常喜欢这些流 API 但是 很少有操作有助于解决同一类型的问题 并且不确定何时使用哪些操作 尽管在两者之间进行选择并不
  • 如何使用 Swift 在关闭 ViewController 期间将值从 ViewController B 传递到 ViewController A? [复制]

    这个问题在这里已经有答案了 我的场景 我试图传递值ViewController B to ViewController A在关闭视图控制器期间 这里我使用了下面的代码 但我无法获取其中的值ViewController A 视图控制器B pr
  • 如何跨角度模块正确导入/导出类?

    这个问题来自于企业应用的背景 从我读过的所有书籍和我见过的关于角度应用程序的在线示例中 每次我们创建一个类 组件 服务 实体等 时 我们都会在类型定义上导出它们 然后在需要的地方直接导入它们引用 类似于在 C 上使用命名空间 无论两个类属于
  • Tensorflow Op:如何包含 libtensorflow_framework.so?

    我按照本教程的说明进行操作 https www tensorflow org extend adding an op implement the gradient in python https www tensorflow org ext
  • 如何使用 Prisma 2 和 NodeJS 将图像存储到 PostgreSQL 中?

    大家好 我一直在寻找类似的可以参考的东西 但遗憾的是直到现在我还没有找到 希望有人能给我一些指导 我使用 filepond 发送 api 请求 并使用 prisma 2 客户端存储它 谢谢你 将图像存储在 Blob 存储中通常是一个很好的做
  • 在我的用户控件中找不到 GotFocus()/LostFocus()

    我创建了一个 WinForms 用户控件 我读过几个地方的内容GotFocus and LostFocus 事件 但我的用户控件未在 属性 窗口的 事件 部分中提供这些事件 我什至尝试打字override看看这些事件处理程序是否会出现 但他
  • 如何将 RVM 与 tcsh 一起使用?

    我想将 RVM 与 tcsh 一起使用 我该怎么做呢 据我所知 没有这方面的 官方 说明 我按照 将 RVM 与 tcsh 结合使用 http po ru com diary using rvm with tcsh 但这对我不起作用 特别是
  • PowerShell 变量声明中的大括号有什么意义吗?

    我遇到过这样声明的变量 或参数 var name Hello world 据我所知 这与以下内容没有什么不同 var name Hello world 我想知道是否 第一个示例中的大括号可以做任何事情或意味着任何事情 它们会改变变量的行为吗
  • 如何将 getdate 格式化为 YYYYMMDDHHmmSS

    在 SQL Server 中如何格式化getdate 输出到YYYYMMDDHHmmSS where HH是24小时格式吗 我有YYYYMMDD完成了 select CONVERT varchar GETDATE 112 但据我所知 Tha
  • 如何防止网格行跨度改变列位置?

    我有一个 3 X 3CSS Grid https developer mozilla org en US docs Web CSS CSS Grid Layout 我有一排 其中有三项A B C 我想要物品C有一个rowspan of 2
  • Spring boot 中不渲染 Jsp 视图页面。怎么解决呢?

    我正在尝试发出一个 ajax 请求 将一个值发送到我的 spring boot 但是 一旦我合并了 ajax 调用并且它成功地将值传递给 java 它就不会查看jsp页 我认为问题出在方法本身 但我不完全确定 我再次传递了值 但是每当我使用
  • 将功能绑定到按键不起作用

    My code import tkinter master tkinter Tk master title test1 master geometry 300x300 masterFrame tkinter Frame master mas
  • rcs 在 lm() 模型中生成错误的预测

    我正在尝试重现这篇博文 http www portfolioprobe com 2011 03 28 the devil of overfitting 关于过度拟合 我想探索样条曲线与测试多项式的比较 我的问题 使用 rcs 受限三次样条
  • 添加 2 级索引作为带有条件的其他索引的总和

    我有一个df df pd DataFrame from dict group 0 A 1 A 2 A 3 A 4 A 5 A 6 A 7 A 8 A 9 B 10 B 11 B 12 B 13 B 14 B 15 B 16 B 17 B 1
  • 重新初始化 ScheduledExecutorService 中的修复延迟

    根据我的要求 我必须在一段时间后执行一些特定的代码 我选择做同样的事ScheduledExecutorService scheduleWithFixedDelay runnable 0 5 TimeUnit SECONDS 它对我来说工作得
  • Pandas DataFrame 列命名约定

    有没有常用的 Pandas DataFrame 列命名约定 是PEP8 https www python org dev peps pep 0008 在这里推荐 例如实例变量 意识到大量数据是从带有标题的外部源加载的 但我很好奇当我必须自己
  • 使用 R 文本挖掘包保留土耳其语字符

    首先我要说的是 我仍然是 R 的初学者 目前 我正在使用 tm 包尝试土耳其语文本的基本文本挖掘技术 然而 我在 R 中显示土耳其语字符时遇到了问题 这就是我所做的 docs lt VCorpus DirSource DIRECTORY e
  • Cordova / Phonegap:实时更新代码库

    我们将 Cordova 与 AngularJS 一起用于 iOS 和 Android 应用程序 iOS 的一大缺点是 Apple 的审核时间较长 在 Google 的 Playstore 中 您的应用程序几乎可以立即或在几个小时内可用 但苹
  • 可以信任第三方主机进行闭源/私有源代码管理吗? [关闭]

    Closed 这个问题是与编程或软件开发无关 help closed questions 目前不接受答案 对于许多公司来说 他们项目的源代码对他们来说非常有价值 窃取源代码可能会造成非常高昂的代价 在本地网络上严格控制源代码是帮助保护源代码