请教大家如何不暴露源代码的情况下,而将网站出售并部署到对方的服务器上?

2014 年 5 月 23 日
 fay
公司要将一个Iaas平台以license的形式授权出售给其他公司,是基于Python和Django的,问下V友是否可以不把源码给对方,而做到网站可以运行,pyc可以做到吗?
8397 次点击
所在节点    问与答
21 条回复
thinkif
2014 年 5 月 23 日
比如, 核心算法用C之类的语言写
lsongdev
2014 年 5 月 23 日
打包到虚拟机里 . 然后提供接口, 让他绑定到 Nginx 上 .
fay
2014 年 5 月 23 日
@thinkif 核心的组件的确是用C实现的,只是领导不懂技术,签合同时写明所有代码都不是给源码,所以网站python实现的部分代码还是没办法
fay
2014 年 5 月 23 日
@song940 挺好的思路,不过所有的硬件设备都是对方公司提供的,而且使用场景应该是局域网内部使用的
lsongdev
2014 年 5 月 23 日
@fay 不冲突啊 , 在他们的服务器上安装 vagrant , 然后你把项目打包成 box 文件 , 到服务器上 vagrant add box app.box , 然后创建一个低权限用户 , 只能修改指定目录下的配置文件 . 取消该用户的密码 . 给你们的客户生成个 Key , 作为 license , 登陆这个虚拟机 .

剩下的 , 自己想吧 ...
fay
2014 年 5 月 23 日
@song940 恩,貌似可行,我再细化下解决方案,非常感谢
ericls
2014 年 5 月 23 日
直接pyc文件
fay
2014 年 5 月 23 日
@ericls 恩,的确是可以,不过@song940 的方法比pyc的更有优势,因为方便我们的维护和调试,也谢谢你
arcas
2014 年 5 月 23 日
可以pyc + @song940 的方法.
shiny
2014 年 5 月 23 日
@song940 估计文件系统还得加密? vagrant 实际上是个 virtualbox 虚拟机,可以重置 root 密码或者复制出文件来。
Shared
2014 年 5 月 23 日
你还可以考虑用 Cython
Tink
2014 年 5 月 23 日
@song940 这个方法挺棒的,而且还是多语言通用
wtbhk
2014 年 5 月 23 日
咦,python不是可以编译成二进制吗
loading
2014 年 5 月 23 日
@song940 能防止本地单用户模式登陆?root权限很容易取得吧!

虚拟机只有 pyc 是必须的
glasslion
2014 年 5 月 23 日
@ericls 给pyc还不如给源代码
lsongdev
2014 年 5 月 23 日
@shiny 看来文件系统加密是有必要的 .
@loading `本地单用户模式登陆` 问题也是可以解决的.
love
2014 年 5 月 23 日
pyc文件反编译出来和源文件真的是没有区别,我试过。

听说用pypy可以真正编译,那个应该就不会有问题了。
bsbgong
2014 年 5 月 23 日
好问题,学习了
收藏
loading
2014 年 5 月 23 日
@song940 期待分享该方面经验!
dorentus
2014 年 5 月 23 日
如果我没记错的话,Github Enterprise 就是用虚拟机镜像(文件系统加密)的形式分发的~

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/113883

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX