Skip to content
This repository has been archived by the owner on Sep 27, 2022. It is now read-only.

关于已有软件 ServerCat 的相关说明 #30

Closed
Lakr233 opened this issue Mar 10, 2022 · 20 comments
Closed

关于已有软件 ServerCat 的相关说明 #30

Lakr233 opened this issue Mar 10, 2022 · 20 comments

Comments

@Lakr233
Copy link
Owner

Lakr233 commented Mar 10, 2022

关于已有软件 Server Cat 的相关说明

This issue is the public statement about a similar app ServerCat violating it's open source license and the author of that app treating me as a copycat. If you are not interested in this statement, close and unsubscribe this issue and enjoy your life. The following statement is written in Chinese only.

此主题贴是关于一个类似的应用程序 ServerCat 违反了它的开源许可,以及该应用程序的作者把我当作山寨者的公开声明。如果你对这个声明不感兴趣,请关闭并取消订阅这个问题。


我们注意到 ServerCat 作者似乎没有完整回应内容,因此我们决定将申明内容转移到此处,以便完整保留。我们不希望在社交媒体上零碎的吵架,那样不便于陈列事实。同事,我也删除了社交媒体上的内容,以免影响到大家的使用体验。推特删除内容概括请自行爬楼。

TLDR:

  • 我们没有抄袭 ServerCat 的任何代码、设计
  • ServerCat 已有功能并非独家实现
  • ServerCat 违反了开源许可

ServerCat 违反开源许可的相关事实和证据

调研使用的二进制文件和安装包来自 App Store 1.1.32 版本,为 2022年3月10日 最新版本。

ServerCat 使用的组件

通过解压缩软件安装包可以找到第一个轮子:xterm.js

截屏2022-03-10 上午8 25 36

xterm.js 的相关许可申明要求注明使用并表明使用条款:The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

在根据作者的回应和开源代码中,我们找到了如下的仓库:

require (
	github.com/ScaleFT/sshkeys v0.0.0-20200327173127-6142f742bca5
	github.com/mikesmitty/edkey v0.0.0-20170222072505-3356ea4e686a
	github.com/stretchr/testify v1.5.1
	golang.org/x/crypto v0.0.0-20200323165209-0ec3e9974c59
	golang.org/x/mobile v0.0.0-20200222142934-3c8601c510d0 // indirect
)

我们依次查询了所有仓库以及其开源许可条款,均表明需要申明许可条款:

以上声明和条款已经缺席。其次,我们并没有具体分析 ServerCat 使用何种方式处理 ssh 的接收解析和发送,但是根据目前阶段的调研,其并不可能自己完整实现现有 ssh 内容,而这些仓库可能会附加其他的条款。

ServerCat 没有包含许可条款

在二进制文件内搜索

ServerCat.zip

Desktop/Payload/ServerCat.app via ⬢ v17.6.0
❯ strings ./ServerCat | grep LICENSE

Desktop/Payload/ServerCat.app via ⬢ v17.6.0
❯ strings ./ServerCat | grep Redistributions

Desktop/Payload/ServerCat.app via ⬢ v17.6.0
❯ cat ./ServerCat | grep Redistributions

Desktop/Payload/ServerCat.app via ⬢ v17.6.0
❯

在本地化文件内搜索

Localizable.strings.zip

Payload/ServerCat.app/en.lproj
❯ strings Localizable.strings | grep LICENSE

Payload/ServerCat.app/en.lproj
❯ strings Localizable.strings | grep Redistributions

Payload/ServerCat.app/en.lproj
❯

文件目录中不包含开源许可内容

❯ tree .
.
├── AppIcon60x60@2x.png
├── AppIcon76x76@2x~ipad.png
├── AppleIncRootCertificate.cer
├── Assets.car
├── Base.lproj
│   └── LaunchScreen.storyboardc
│       ├── 01J-lp-oVM-view-Ze5-6b-2t3.nib
│       ├── Info.plist
│       └── UIViewController-01J-lp-oVM.nib
├── GoogleService-Info.plist
├── Info.plist
├── PkgInfo
├── SC_Info
│   ├── Manifest.plist
│   ├── ServerCat.sinf
│   ├── ServerCat.supf
│   ├── ServerCat.supp
│   └── ServerCat.supx
├── ServerCat
├── ServerCat.momd
│   ├── 1.mom
│   ├── HyperApp2.mom
│   ├── HyperApp2.omo
│   └── VersionInfo.plist
├── ServerCat.zip
├── _CodeSignature
│   └── CodeResources
├── en.lproj
│   ├── Localizable.strings
│   └── Localizable.strings.zip
├── term.html
├── termColors.json
├── xterm.css
├── xterm.js
└── zh-Hans.lproj
    ├── LaunchScreen.strings
    └── Localizable.strings

7 directories, 30 files

以上内容证明在应用内无法找到需求内容。同时为了避免 ServerCat 作者说许可证存放在服务器上,我们同时检查了 http 开头的全部字符串,并发起连接保存了全部的下载内容,均未找到相关说明。

以上内容,均已表明 ServerCat 违反开源许可,闭源分发,并使商业化其产品。

ServerCat 作者恶意表明我们抄袭他的创意

请参阅聊天记录截图。

IMG_8521.JPEG.zip

事实:ServerCat 全部功能均有不来自本团队的开源实现,功能标配。

网友看法:

https://twitter.com/kevinzhow/status/1501034087527575556

这事我觉得你没啥问题,软件只要不是偷了对方源代码,哪有什么抄不抄的,单纯的点子是不值得被保护的,要不怎么会有「竞品」和「专利」这俩词,如果别人出了个类似产品,用户就被抢走了,只能说自己没啥核心竞争力,占了点先机而已。

https://twitter.com/ztodust/status/1501045054588153858

确实,如果说功能一致就说抄袭那么天下的软件都是抄袭了。更何况你这还是开源,对别的产品不满意自己造一个这样的思路太正常不过了。那款神奇自主手机OS上线时也没见多少人这么认真扣问题

其他内容的回应

没想到他竟然因为我用了 go 反咬我抄袭 某 rtop(我都没听说过)

我没有说 ServerCat 作者抄袭了 rtop,只是说 ServerCat 的创意并非独创,不受法律保护,也不包含任何技术门槛和专利保护。其次说你用 go 而 go 刚好有个开源实现,事情过于巧合。从头到尾只说怀疑,没有说有证据拿出来骂你。

我只用了 go 的加密库用来生成 ssh key。

请说明你使用的 ssh 框架和其相应的源码。

另外说一句 go mobile 的 Catalyst/Apple silicon 支持还是我贡献的。

没有你别人也会做的,没有开源的心不要来装好人,谢谢。

我也不多说什么,直接放一张朋友图截图。

此截图内容为产品在最早期时候使用的设计稿,不开源不盈利只用于设计参考,和最终产品相似度 0%。使用这个证据已经能证明 ServerCat 作者没用证据来锤我们,也没有真正调研过我们使用的相关技术栈,为锤人而搜集所谓的证据,是恶毒的、无理的、没有头脑的行为。

是开源声明一直都在 App 里

以上事实均证明开源许可没有被打包到分发的软件内,此行为违反条约和内容。部分许可协议已经声明 The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.,此时亡羊补牢依然不能排除自己违反开源协议的相关事实。其次,部分 apache 许可要求表明二次分发修改的内容,目前我们依然没有找到相应的声明。


最后,我们没功夫吵架。以上内容涉及到的链接、文件均已存档,以备后用。

PS: 希望同学们对开源软件的作者抱有敬畏之心,他们要承担代码写的不好被人骂,写劈叉了被人骂,代码风格不佳被人骂,代码设计不优雅被人骂等各种不属于他们的负面声音。同时,他们自愿放弃商业化产品带来的大多数利润,并愿意对代码负责,这是需要勇气的。

@Lakr233 Lakr233 pinned this issue Mar 10, 2022
@Lakr233 Lakr233 closed this as completed Mar 10, 2022
@Lakr233 Lakr233 changed the title 关于已有软件 Server Cat 的相关说明 关于已有软件 ServerCat 的相关说明 Mar 10, 2022
@Lakr233
Copy link
Owner Author

Lakr233 commented Mar 10, 2022

在调研过程中,我们发现 ServerCat 拥有上传用户敏感信息的能力。在应用启动后,会无条件请求一下主机和端口的内容。

app-measurement.com:443
firebaselogging-pa.googleapis.com:443

我们不知道作者上传的数据具体内容,如果您对自己的服务器信息有保密要求,请考虑使用本项目的产品。

截屏2022-03-10 上午9 02 48

@ruibaby
Copy link

ruibaby commented Mar 10, 2022

我认为这事儿说抄袭是站不住脚的,光 Snippet 这个功能我好像都不止在一个地方见过。而违反开源协议这事儿我用的时候还真没注意......

@Naccl
Copy link

Naccl commented Mar 10, 2022

昨天就注意到这件事,同样对”Snippet 是抄袭“感到困惑,最早用到的是腾讯的“蓝鲸作业平台”,大部分运维平台都得有这功能吧,没听说过是谁的专利......

@jiangdi0924
Copy link

firebase google api应该是数据分析第三方的api,https://firebase.google.com/

@Lakr233
Copy link
Owner Author

Lakr233 commented Mar 10, 2022

firebase google api应该是数据分析第三方的api,https://firebase.google.com/

我知道 我说的是有能力 我不知道他干了什么

@waylybaye
Copy link

我的回应:

https://github.com/waylybaye/servercat.app/issues/7

事情起因

  1. 几个用户 at 我,说某个软件和 ServerCat 很像
  2. 我回复说 “这个人我认识,还聊过几次 ServerCat 的问题,没想到……” https://twitter.com/waylybaye/status/1501005504851886080
  3. 对方试图用毫无逻辑的理由污蔑我抄袭 rtop(就因为我用了 go 语言)

说在前头

我一直避免 Judge 某个人的品行,因为我觉得这除了煽动情绪外无益于任何事情本质的探讨。我在下面的论述中将不对任何个人品德进行评价,也不会有妄加猜测的论述,也就是说我会尽量避免攻击性的表达。(虽然对方这么做了,但我觉得我还是应该遵循自己的原则)

首先说自己的问题

是否包含了 LICENSE?

关于开源 LICENSE,在很早的版本中就列出了所有库的 LICENSE,后面版本改版去掉了内部页面。

例证:https://twitter.com/hronro/status/1501591855250944001

是否违反开源协议?

直接说结论:是

违反程度?

  1. 没有使用不能商业化的库
  2. 没有使用任何具有传染性的的库
  3. 当前版本没有能列出全部开源库的 LICENSE

如何整改?

重新加回 Acknowledgements 页面

是否抄袭了 rtop?

我真的为“用了 go 就抄袭了 rtop,否则就用 c/c++ 了”这个逻辑的感到好笑,我之前都不知道 rtop 是什么,我把我的 go 代码开源大家自己看有没有用 rtop 吧。

https://github.com/waylybaye/servercat-golib

关于对方“借鉴”的问题

我的表达

事情发生后,我一直没有评价这件事,在我看来这不是一个大事。「熊猫吃短信」被从头到脚抄了几百次了,我都未曾提过,因为其实“竞争”这事并不能杀死一个产品,甚至影响可能都很小。而且你如果主动提起,往往自己可能还会被批评。

直到我看到对方竟然毫无证据的带节奏说我可能抄袭了某个产品,我才正式提起这件事。

这其实就是一个某个你认识的人,被你当成朋友聊了一些产品后,自己做了一个别人评价非常相似的产品。你说“我认识他,没想到……”,然后对方开始攻击你的寻常事件。

我的诉求

我没有任何诉求,只是回应一下对方的质疑。(因为我没有诉求所以本来就没打算公开讨论这事)

功能类似算不算抄袭

  1. 首先,知识产权不保护软件功能,甚至 UI 都不会保护。这种事情大家从腾讯和国内软件界的乱象身上已经看到了。很多人也都在努力改善这种局面。我也想引用一句话:

法律是道德的底线,如果一个人标榜自己遵纪守法,这个人完全有可能是人渣

  1. 用户自有用户的评价,这种评价也不是我诱导他们做出来的。在我发声之前他们就独自做出了自己的判断。

我为什么发那个朋友圈图片?

wechat

用户问我:这个产品为什么和你的那么像?

我发了那张图片,看作者的朋友圈文案,我的言外之意是“因为他开发时就是参考了我的产品做的”,这可能是我通篇唯一一个猜测对方行为的论述。我的原则是没有证据和逻辑的事我不会说,但我觉得此图片至少足以证明他开发时是受了 ServerCat 非常大的影响的,甚至做出了第三方评价“非常像”的产品。但他从未向 ServerCat 致敬,甚至毫无证据的“猜测” ServerCat 抄了别人的。

其它问题的回复

关于对方对于我向 go-mobile 贡献代码的评价

另外说一句 go mobile 的 Catalyst/Apple silicon 支持还是我贡献的。

没有你别人也会做的,没有开源的心不要来装好人,谢谢。

我看了下作者的页面,开源的 star 数目除了目前争议的项目 1.5k star 外有一个 368 star, 还有几个一百多个 star 的。我看了下我的 github 首页,只说我自己的,三个 1.6k 1.5k 1.2k 的开源项目,剩下几百个star的我就不提了。我对其它开源项目的贡献和 Docker Hub 上数以百万计被使用的开源镜像也不额外提了。

我不是要比开源的贡献,这不是我努力的方向。我只是想提醒别人不要站在道德制高点上评价某个人的品德,说不定别人做的比你还多。

前面半句「没有你别人也会做的」我就不评价了。

关于 Firebase 服务器请求的问题

ServerCat 使用 Google 的 Firebase 统计用户使用数据(打开次数、崩溃日志),这是业内使用最为广泛的统计框架 。

另外在 App Store 页面,也公开明确的批示了这份数据使用。

如果您对自己的服务器信息有保密要求,请考虑使用本项目的产品。

如果你非常在意开源,那么我也建议你使用对方的项目。实际上开源消费类软件的用户群和商业软件的用户群几乎不是同一群人。

就这,本来很简单的一件事。用户觉得他的产品和我太像,而我说我和他认识和讨论过 ServerCat,他就努力想要否决 ServerCat,我就只好回应一下的事。

@shaonianche
Copy link

同事

同时

@Lakr233
Copy link
Owner Author

Lakr233 commented Mar 10, 2022

昨天我发了三条推文,本来是全删了,但是因为技术原因第一条没删除。我重新表达一下我的用意:

第一条表达:你的创意已经有人做过了,并非独家原创。并且你们同样用了 go 我可以怀疑你见过这个项目。
第二条表达:你的项目开源许可有问题。你自己确认了。
第三条表达:我不需要抄你的产品,而且我不挣钱。

最后,你说我抄袭这件事情的聊天截图今天的晚些时候会有补充,你可以重新读一下你当时说的什么。

@Lakr233
Copy link
Owner Author

Lakr233 commented Mar 10, 2022

他就努力想要否决 ServerCat

我并没有否认 ServerCat 是优秀的产品,也没有说我没参考过 ServerCat。我只是回应你之前说我抄袭的论点论据并不成立。

@waylybaye
Copy link

和你私人交流我不必忌讳什么,难道聊个天我还要咬文嚼字的说。人只要对自己公开说的话负责就行了。我没看到你的公开发言有什么负责任的态度。

其次说你用 go 而 go 刚好有个开源实现,事情过于巧合。从头到尾只说怀疑
并且你们同样用了 go 我可以怀疑你见过这个项目。
我们发现 ServerCat 拥有上传用户敏感信息的能力。
我知道 我说的是有能力 我不知道他干了什么

用 go 语言的多了去了,你能知道所有 go 语言的项目?你觉得你说这些话有任何负责任的态度吗?况且假设我真的知道 rtop,我去官网找了 rtop 的截图?这两者有任何相似之处吗?

rtop

image


也没有说我没参考过 ServerCat

你也没说你参考了啊,从头到尾都在攻击 ServerCat 而已。参考了就大大方方的致敬啊,这有什么好羞耻的。知识产权又不保护功能,我又不能拿你怎么样。一边自己赚开源名声,一边毫无逻辑的攻击参考的产品,这合适吗?

@Lakr233
Copy link
Owner Author

Lakr233 commented Mar 10, 2022

人只要对自己公开说的话负责就行了。

如果你做人只是如此,那确实没有必要再聊什么。你的话只要有一个人听,那就是需要负责的。说 snippet 和 machine 绑定是你的独家功能,说我只会抄袭。你但凡不这么说我都能把你写在致谢里面。

我没看到你的公开发言有什么负责任的态度。

我锤你的地方是你不尊重开源作者的劳动成果,你自己也承认了。同时,猜想都有注明我没有证据,你说我的猜想是乱猜我从来不反驳也不关我的事。

这两者有任何相似之处吗?

功能一致。

@Lakr233 Lakr233 unpinned this issue Mar 10, 2022
@wgetge
Copy link

wgetge commented Mar 10, 2022

抄袭确实没办法,炒创意做个优质app还说得过去,很多时候依葫芦画半个瓢,对同行是抄袭,对用户是诈骗,时间久了也不维护,骗一波跑路

最近看到的一段话,似曾相识。与君共勉。

PS. Rayon 的前身是枕边语吧,就算是 TF 时期也没哪里像的...要说功能相似就是抄袭,那某位写的不也(

@waylybaye
Copy link

同时,猜想都有注明我没有证据,你说我的猜想是乱猜我从来不反驳也不关我的事。

很好,你用你没有证据乱猜的东西来攻击对方竟然不关你的事,做人原则很不一般。

既然基本逻辑都无法达成共识,而我也不想进行人身攻击式的讨论,再聊什么确实没有必要了,最后再发一个图片。

我只希望这个 Issue 和评论别被删,能继续 Pin 在 Issues 页面,让别人来分辨就好了。我没有引流我这边的用户参与讨论,但我相信能使用 GitHub 的人大部分都会有基本的逻辑能力能自我辨别。

你但凡不这么说我都能把你写在致谢里面

那我就当你致谢过我了,祝你成功。

@realx1n
Copy link

realx1n commented Mar 10, 2022

两个APP都在用的默默无名小用户想请问下,所谓“抄袭”的内容是指“snippet 和 machine 绑定”吗?

@waylybaye
Copy link

对于“抄袭”我再补充一下,很多人不了解时间顺序。

另一时空发生的事

  1. 我和他私聊是很久前的事,当时它发出的产品是另一个样子,大体可以看我推特发的图片。我不评价其设计是否借鉴了另一款著名产品,如果你们能找到他非常早期的图片的话,可以自己对比。我当时私下表示他有抄袭行为而且 Snippets 功能明显和 ServerCat 雷同。当然我从未公开对其进行谴责或者发表评价。
  2. 我不知道是否是聊天起了效果,他后来发布的产品改变了设计和功能。

最近发生的事

该 App 正式发布后我没有说过说过抄袭的话,用户 at 我说产品很像,我说我认识他。没想到他开始没有任何证据的泼脏水说我抄袭,然后就是你们看到的事,我立马开源模块自证清白。这是现在的叙事,滑稽的一幕。

@Lakr233
Copy link
Owner Author

Lakr233 commented Mar 10, 2022

没想到他开始没有任何证据的泼脏水说我抄袭

我从头到尾没有说你抄袭,我说的是你的创意并不是你独家的。其次你违反了开源协议,极其不尊重。

我当时私下表示他有抄袭行为而且 Snippets 功能明显和 ServerCat 雷同。

而这个功能是所有 ssh 程序的标配。

@Lakr233
Copy link
Owner Author

Lakr233 commented Mar 10, 2022

至于要不要流量什么的,我是没兴趣的。一方面我不赚钱,另一方面我也不靠社交媒体吃饭。

@realx1n
Copy link

realx1n commented Mar 10, 2022

我看到的是时间线是:
1.小众软件发布文章
2.baye粉丝说界面很像
3.baye自己回复的内容“这个人我认识,还聊过几次 ServerCat 的问题,没想到……”,最后这个没想到加上省略号是否有深意,不太懂,但是下面baye粉丝的回复都认为这是抄袭
4.Rayon开发者Lakr233开始回复,然后就是技术层面上的事
image

再说snippet这个功能是否抄袭,snippet不是ssh的标配嘛?而且说到snippet和machine绑定,我也看到在termius里面有类似的功能,这个点是不是也有争议?
image

@waylybaye
Copy link

再重申一下我的诉求:我没有任何要维权的诉求。我并非要证明什么,只是来回应一下对我的质疑。

然后再明确最后一遍,很久前我对其产品的私下评价仅限于当时他发布的设计。鉴于他删掉了所有早期发布的产品截图,甚至 repo 的记录都清空了(其它开发者的 commit 也抹除了),以前的事情除了我留下的一张朋友圈截图,已经无法找出什么证据。所以我不再对其早期的产品发表评价,只能说从朋友圈截图可以证明他在做产品时受到了 ServerCat 很大的影响。

当然我不是说这种影响需要什么回报,我只是在叙述“一个你认识的想和你成为朋友的人,跟你聊了某产品后,自己做了一个被评价非常类似的产品,然后反向泼脏水「使用别人创意和代码」,还觉得无证据破脏水失败和自己无关”这件事。我其他产品被抄了那么多次,我从没说过什么。只是遇到了这种戏剧性的事,被迫说几句而已。

Repository owner locked as resolved and limited conversation to collaborators Mar 10, 2022
@Lakr233
Copy link
Owner Author

Lakr233 commented Mar 10, 2022

最后补充一点,我的声明是防御性的。一下是我的心路历程。

因为被 ServerCat 作者说过抄袭,所以我声明你的功能绝对不是独创。(第一条被删除的推文)
因为被 ServerCat 作者说过抄袭,所以我锤他违反开源许可,没有敬畏之心。(第二条被删除的推文)
因为被 ServerCat 作者说过抄袭,所以我说我不需要抄你 app 吃饭。(第三条被删除的推文)

至于挣流量,那只是和朋友聊天吹的水,被拿过去说我人有问题也是我没想到的。从我行为来看,删除推文是不利于流量发展的,从我动机来看,我不靠社交媒体吃饭挣钱,这次作品我都没收钱。

最后,希望各位看客,在存在信息差的情况下,理性看待问题。我和对面的吵架一定是带有主观原因和情绪的。来日有机会再合作吧。

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants