V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
lvii
V2EX  ›  Linux

Red Hat 限制 RHEL 源码可得性,源码仅通过 CentOS Stream 公开

  •  
  •   lvii · 2023-06-22 21:52:58 +08:00 · 6114 次点击
    这是一个创建于 522 天前的主题,其中的信息可能已经有所发展或是发生改变。

    https://www.solidot.org/story?sid=75313

    Red Hat 宣布其企业发行版 RHEL ( Red Hat Enterprise Linux )相关源码 仅通过 CentOS Stream 公开。付费客户和合作伙伴仍然可通过 Red Hat Customer Portal 访问到源代码。限制 RHEL 源码可得性将加大社区发行版如 Alma Linux 和 Rocky Linux 以及甲骨文的企业发行版 Oracle Linux 提供 1:1 二进制兼容构建的难度。CentOS Stream 是一个 滚动更新发行版,是 RHEL 的 上游版本。CentOS 项目是在 2020 年停止提供传统的基于 RHEL 的社区发行版,之后 Alma Linux 和 Rocky Linux 出现去填补了原版 CentOS 的空白。

    https://lwn.net/Articles/935592/

    71 条回复    2023-07-08 19:46:23 +08:00
    m0yBPjyX3475syS4
        1
    m0yBPjyX3475syS4  
       2023-06-22 22:04:32 +08:00   ❤️ 1
    无非就是 Red Hat 被薅羊毛薅到气炸了而已。
    想蹭企业品质的白饭的可以用脚投票改吃大便,官方 KDE 集成,稳如老狗。
    前两天刚刚给一台老电脑灌了最新的大便 12 ,这一版 KDE 是我迄今为止用 KDE 桌面体验最稳定的一次。
    m0yBPjyX3475syS4
        2
    m0yBPjyX3475syS4  
       2023-06-22 22:07:32 +08:00   ❤️ 1
    另外吐槽一下甲骨文 Linux:这鬼玩意的中文支持烂得清奇。

    Rocky Linux 也好,AlmaLinux 也好,他们接下来的出路就是这样:看新的 RHEL 问世了,统计系统内建的各个 DNF 包的子版本号,然后在 CentOS Stream 的源码的基础上固定使用这些 DNF 包的这些版本。如果连这都不想完成,就想追求所谓的「二进位相容」,那就真的太无耻了。
    flyqie
        3
    flyqie  
       2023-06-22 23:04:12 +08:00
    @ShikiSuen #1

    ubuntu 私货加的太多,还是上游的 debian 干净点。。

    canonical 整的活挺多。。一堆奇奇怪怪的玩意。
    m0yBPjyX3475syS4
        4
    m0yBPjyX3475syS4  
       2023-06-22 23:07:15 +08:00
    @flyqie 对啊大便就很干净啊,所以我才推荐大便。
    m0yBPjyX3475syS4
        5
    m0yBPjyX3475syS4  
       2023-06-22 23:12:05 +08:00
    @flyqie (续上)

    Ubuntu 的 KDE 环境那个崩溃劲头让我对 KDE Plasma 有超过好几年的恶劣印象,不过 KDE 官方的 KDE Neon 发行版倒是很稳定就是了、算是唯一例外。

    但因为你我皆知的(你刚才讲过的)原因,我还是会推荐用大便 12 跑 KDE 。

    另:Ubuntu Deepin 也是渣。
    m0yBPjyX3475syS4
        6
    m0yBPjyX3475syS4  
       2023-06-22 23:12:25 +08:00
    (我刚才骂的是 Ubuntu Deepin ,不是 Deepin 官方发行的系统。)
    flyqie
        7
    flyqie  
       2023-06-22 23:16:23 +08:00
    @ShikiSuen #6

    你说的 ubuntu deepin 应该是非官方移植的 ubuntu dde 吧。。

    那个移植的版本好像有些 bug ,不太适合日常用。

    dde 还是老老实实用 deepin 吧,话说 deepin23 底包居然用的 bookworm/sid 。。
    m0yBPjyX3475syS4
        8
    m0yBPjyX3475syS4  
       2023-06-22 23:19:15 +08:00
    @flyqie 大便 bookworm 很稳啊。不知你在惊讶什么。
    m0yBPjyX3475syS4
        9
    m0yBPjyX3475syS4  
       2023-06-22 23:20:08 +08:00   ❤️ 1
    flyqie
        10
    flyqie  
       2023-06-22 23:23:47 +08:00
    @ShikiSuen #8

    没啥,就是看不懂他们之前说的`根系统`是啥意思。。

    https://www.oschina.net/news/196463/deepin-independent
    m0yBPjyX3475syS4
        11
    m0yBPjyX3475syS4  
       2023-06-22 23:29:39 +08:00
    @flyqie 看来离断根还得需要一些时间。
    可能是有关部门希望他们这么做(但他们出于各种合理的原因没这么做),所以他们只好这样对外声称了。
    liantian
        12
    liantian  
       2023-06-22 23:31:22 +08:00   ❤️ 2
    其实不管 centos stream 还是 debian testing 都稳定的很。
    我一直没明白白嫖 redhat 有啥有用的,技术支持又蹭不到。
    james122333
        13
    james122333  
       2023-06-23 01:16:48 +08:00 via Android
    @liantian

    很多稳定性都不差
    但你想想培训过的会用什么?也很多人上班用而已
    用其它的会有差异的 他们当然希望能继续
    跟整天玩来玩去接触多的就不同 我都是整天玩来玩去
    feather12315
        14
    feather12315  
       2023-06-23 01:32:56 +08:00 via Android   ❤️ 3
    我提一个企业版 Linux 才有的东西(或者说之前的 CentOS 才有的东西):kernel 的 kabi 兼容性。

    商业的 Linux 发行版,会在 Linux kernel 代码中的结构体预留很多字段,这些字段用于:
    1. 新特性的 backport
    2. bugfix

    以及一个 kabi 白名单。


    也就是说,尽管 kernel 的代码经过若干轮的 backport 、bugfix ,用掉了很多很多的结构体预留字段,只要第三方提供的内核模块使用的函数在白名单内,都会保证兼容性。

    Debian 这种社区推动的,是不具备这些特性的。只有商业支持的 Linux kernel 才会有这些东西(比如 RHEL 、SuSE 企业版、Ubuntu 企业版,以及以前的 CentOS )。

    不使用第三方内核模块的话当然是用啥都行,使用第三方内核模块,随便使用发行版 kabi 兼容性绝对搞死人。
    feather12315
        15
    feather12315  
       2023-06-23 01:34:27 +08:00 via Android   ❤️ 1
    kernel 只是一方面,还有 glibc 、systemd 之类的各种基础软件的兼容性:
    发行版每个版本兼容性都稍微有点区别,企业版会给出 changelog ,社区版就不一定了。
    yyws2012
        16
    yyws2012  
       2023-06-23 01:45:38 +08:00 via Android   ❤️ 1
    服务端 suse 应该好于 Debian 吧。opensuse 官方维护并且和企业版兼容,可以优先用
    iwdmb
        17
    iwdmb  
       2023-06-23 01:46:13 +08:00
    Ubuntu Server 无压力
    桌面版 KDE neon 好用
    iwdmb
        18
    iwdmb  
       2023-06-23 01:52:47 +08:00
    Ubuntu Server 的稳定性其实相当可以了

    asuraa
        19
    asuraa  
       2023-06-23 03:06:52 +08:00
    Debian 路过 最近刚升级了 12 轻便稳定 舒服之极
    james122333
        20
    james122333  
       2023-06-23 03:57:02 +08:00 via Android
    @feather12315

    这种模块本身就应该做成 dkms 版的 改 source 让它跳过检查根本神奇
    glibc 和 systemd...我还是不多说好了
    james122333
        21
    james122333  
       2023-06-23 04:08:41 +08:00 via Android
    我以前都没有发现 centos 所谓 abi 相容怎么回事...看来是水平在提升
    ltkun
        22
    ltkun  
       2023-06-23 07:31:00 +08:00 via Android
    我用 redhat 的时候还没有 yum 但是 Debian 已经有 apt 了。所有...
    tin3w5
        23
    tin3w5  
       2023-06-23 08:22:36 +08:00 via iPhone   ❤️ 1
    说这些都没有用,归根结底一句话——硬件服务器支持能不能跟得上。
    之前 rocky Linux 再新(单只年龄小)、Ubuntu server 的软件包再新,只要 HPE 、Dell 这些服务器厂商提供产品支持,不会要求我哪怕是硬盘、电源报个黄灯就让我把操作系统装回人家支持的系统,我就他娘的敢用。反之只要 Debian 、opensuse 不在人家的支持列表上,哪怕社区里说它再怎么好、稳定,你特么连官方驱动都没有。想在线升级个硬件固件,官方不给你提供升级包,如果自己手工搞一个就要做好一旦升级失败,运维人员负全责的尴尬境地。
    谁也不想在自己身上背黑锅,除非公司全部上云,没有一台硬件服务器,不然硬件厂商的支持列表即运维人员的备选列表。
    swulling
        24
    swulling  
       2023-06-23 08:26:08 +08:00 via iPhone
    不提供免费版本的情况下,不直接公开源代码而是只给付费用户公开源码,符合 GPL 协议。

    所以无可指责。
    m0yBPjyX3475syS4
        25
    m0yBPjyX3475syS4  
       2023-06-23 08:30:45 +08:00
    @iwdmb Ubuntu Server is OK.
    feather12315
        26
    feather12315  
       2023-06-23 09:19:03 +08:00 via Android
    @james122333 #20
    做成 dkms 也可以呀。可是用的结构体字段或者函数变更了,需要修改 dkms 代码才行。
    第三方厂商愿意为你一个厂家适配吗?

    但是第三方厂家愿意为 RedHat 、SuSE 、Ubuntu 企业版适配:因为他们签约合作协议。

    为什么不做成 dkms ?因为要保证二进制一致性。这是 dkms 不具备的。
    有时候编译器的改动都可能带来潜在的 bug ,以及:签名。dkms 编译的可不具备来自 server 厂商的签名:这需要用 server 厂商的构建系统构建。
    feather12315
        27
    feather12315  
       2023-06-23 09:24:04 +08:00 via Android
    @yyws2012 #16
    内核不一样,你可以拉下来 kernel 的代码看看有没有结构体预留字段。
    Ansen
        28
    Ansen  
       2023-06-23 09:37:24 +08:00 via iPhone
    已经在逐步使用 Ubuntu server 了,个人怎么折腾都行,企业还是稳定为主
    alex8
        29
    alex8  
       2023-06-23 10:20:02 +08:00 via iPhone
    付费客户可以看源码,购买个 self support 许可不就好了么,一年$349 又不贵。
    datou
        30
    datou  
       2023-06-23 10:25:37 +08:00
    无所谓了,从来不在生产环境用 centos/rhel/fedora/oraclelinux 之类的发行版
    zhongbeyond
        31
    zhongbeyond  
       2023-06-23 10:37:15 +08:00 via Android
    @ShikiSuen 我之前还想在我服务器用 oracle linux 呢,看来后面也不一定兼容吗。 它的支持周期很长。中文有没有也无所谓
    cy18
        32
    cy18  
       2023-06-23 11:08:03 +08:00
    Red Hat 作为商业公司,只要还在 GPL 允许的框架内,干啥都无可指摘。

    纯好奇,不是说现在都是用容器部署了么,内核部分是没办法,其他的 glibc 之类的兼容性应该都不是问题了吧?
    echo1937
        33
    echo1937  
       2023-06-23 15:27:41 +08:00
    @liantian #12
    @james122333 #13

    可以蹭到技术支持的,开发者订阅是免费的,除了不能开 case ,其他啥都有。
    Jirajine
        34
    Jirajine  
       2023-06-23 15:52:23 +08:00
    @ShikiSuen 只改变了“可得性”,没改变授权。
    所以还是可以通过付费的方式获得源码并重新打包。
    121121121
        35
    121121121  
       2023-06-23 15:56:31 +08:00
    debian 、rhel 、suse 虽然都是 linux 但是系统配置文件有所不同,不但文件名和文件位置不同而且配置文件本身也有区别,系统管理员当然不会混用
    james122333
        36
    james122333  
       2023-06-23 17:34:36 +08:00 via Android
    @feather12315

    不是厂家是核心 而且你应该做成与其无关 不知道你说的字段是什么 但以程序来讲什么结构体字段你自带自己的就好 保证相容 这也很常见 至于签名这不是很必要
    确保来源正确即可 包建置都需要检查 checksum
    编译器目前没看到有问题的 发行版都会测 只要第三方模块商不恶搞都没事 nvidia 驱动也都有 dkms 的
    james122333
        37
    james122333  
       2023-06-23 18:01:12 +08:00 via Android
    @echo1937

    没有要蹭 也不想蹭 会用只有一个理由就是公司用 也刚好都有碰过 玩的也还算遛 centos ubuntu 都有公司用 但不论 rpm 还是 deb 都是包建置不友好 硬改可以但那是很麻烦的 即便你放 docker 里问题不变 都是要有人解决
    包建置友好也可以包依赖 docker docker image 做成一个包 然后再安装根本傻瓜好用 远比你想的操作更智能
    james122333
        38
    james122333  
       2023-06-23 18:08:20 +08:00 via Android
    能玩的花样可多了 现在对很主流的发行版没什么好感
    自行定製过于麻烦
    iUnix
        39
    iUnix  
       2023-06-23 18:23:49 +08:00
    2007 年放弃了 CentOS 和 RPM 系一路支持 Debian 至今的路过
    feather12315
        40
    feather12315  
       2023-06-23 18:42:25 +08:00 via Android
    @james122333 #36
    那你看 NVIDIA 的 dkms 模块能得到 NVIDIA 的商业支持吗?
    就是 ko 出了任何问题都能找 NVIDIA 来 support 。

    很多芯片厂商代码都是两套:一套是开源的,随便用;一套是给商业公司的。
    给商业公司的代码,不少是二进制交付(而不是源码交付,看需求)。二进制交付的话,这个模块除了任何问题,都可以找厂家。


    一个大型系统(比如存储系统),上下游团队很多,每个团队有自己的 release 。
    以二进制交付的话,kabi 变更,任何一环变更了 kabi 导致的模块重新编译,都是不可承受的。
    不以二进制交付,那就是源码交付。团队:我都源码交付了,模块遇到问题当然被交付方先处理了。 被交付方愿意吗?
    feather12315
        41
    feather12315  
       2023-06-23 18:44:48 +08:00 via Android
    #36
    国产 Linux 系统不是重新 build 一遍,只要自己维护内核,那么保证 kabi 兼容性、cve 补丁回合就是最重要的任务。
    难度不高,就是繁琐。
    weiqk
        42
    weiqk  
       2023-06-23 18:56:07 +08:00
    现在可以做空 Redhat 了,这个骚操作将让 Redhat 失去大部分潜在客户
    在没发生这个事情的前提下,如果要选择一个付费系统,我大概率会毫不犹豫的使用 rh ,但之后我会毫不犹豫的不选他,可能最近这几年我的使用经验会迁移到其他系统

    任何软件公司没有盗版满天飞绝不可能有商业销售的繁荣
    nosugar
        43
    nosugar  
       2023-06-23 19:09:27 +08:00 via iPhone
    CentOS Stream 8 服务器用了很久没发现什么问题,有防火墙,服务器系统安装后不更新,除非 ssh 协议或者开放端口的系统库有漏洞,没感觉稳定性跟 CentOS 6, CentOS 7 有任何区别
    james122333
        44
    james122333  
       2023-06-23 19:39:05 +08:00 via Android
    @feather12315

    这就是买服务想法 但如果 ko 有问题影响的是所有买卡的 静态打包下会出问题那就是多半本身就有问题 硬要做成强依赖指定系统那说什么都没办法
    feather12315
        45
    feather12315  
       2023-06-23 19:40:19 +08:00 via Android
    @james122333 #44
    使用商业版本的 Linux 操作系统不就是买服务吗
    Iamsonny
        46
    Iamsonny  
       2023-06-23 19:43:40 +08:00
    增加了点工作难度,社区工作花点钱搞个订阅,然后把整个自动化又要改改~~~保持 1:1 的路上又多了些小困难~
    feather12315
        47
    feather12315  
       2023-06-23 19:46:56 +08:00 via Android
    @james122333 #44
    bug 种类多了去了,只有想不到没有它做不到。

    不是强制指定系统,是第三方内核模块厂商编译成二进制打包后,在商业 Linux 操作系统提供商指定的版本下(商业 Linux 操作系统会明确表示在特定的一系列版本上兼容什么,不兼容什么)进行一系列测试,测试完成后会表示对此版本进行兼容。

    客户要的就是这种兼容性保证。

    那么如果商业 Linux 操作系统提供商表示用了 A 版本与 B 版本是兼容的,该内核模块在 A 版本上没有问题但是在 B 版本上出现了问题,那就是操作系统提供商的 bug ,否则就是内核模块提供商。
    这种二进制发型的机制明确了责任归属。
    fengjianxinghun
        48
    fengjianxinghun  
       2023-06-23 19:57:15 +08:00
    @cy18 glibc 和内核强相关
    fengjianxinghun
        49
    fengjianxinghun  
       2023-06-23 20:00:38 +08:00
    @fengjianxinghun OpenResty 就出过在 centos7 上跑高版本 glibc docker 的 bug
    james122333
        50
    james122333  
       2023-06-23 20:09:22 +08:00 via Android
    @feather12315

    你可以买服务 提供服务的厂商也会保证相容
    但以程序开发观点是可以做到低依赖 问题少的
    self-hosted 如果有问题那多半会是本身问题
    保证 portable 远比事后做些相容工作更好
    你所说的都是很限定平台会发生的
    portable 做的好其它就是发行版的问题
    portable 做的好就不需要考虑相容哪些系统
    发行版如果需要自然会去适配
    princeofwales
        51
    princeofwales  
       2023-06-23 20:18:05 +08:00
    传统行业,商业软件,一大堆还跑着 CentOS 7 和 CentOS 6
    见过一个三甲医院的虚拟机清单,200 多台虚拟机,一半左右是 Linux ,然后 85%是 CentOS ,10%是 Oracle Linux
    零星的几台 Ubuntu 属于异类了
    xcai
        52
    xcai  
       2023-06-23 20:25:44 +08:00
    看到别处一个很不错的评论:当白嫖行为和贡献行为化为一体时,社区才是可持续发展的,否则只有无尽的白嫖而没有贡献回馈,社区迟早会枯萎。
    xcai
        53
    xcai  
       2023-06-23 20:28:47 +08:00
    @weiqk 任何软件公司没有盗版满天飞绝不可能有商业销售的繁荣
    这句话可能适合闭源软件,开源软件没有盗版哈哈哈哈哈哈,1:1 兼容就好了
    feedcode
        54
    feedcode  
       2023-06-23 20:45:31 +08:00
    企业看中的是稳定和安全,对于一个版本 redhat 和 suse 能提供 10 年的 backport support ( 10 年后额外加钱),另外一些高级 feature ( HA, kernel live patching )也只有 redhat/suse 企业版提供
    zhoudaiyu
        55
    zhoudaiyu  
       2023-06-23 20:51:44 +08:00
    @Iamsonny 求教要订阅啥?
    terrancesiu
        56
    terrancesiu  
       2023-06-23 21:01:51 +08:00
    工作负载和商业软件环境还是继续 rhel ,但是自己用,基本都是 debian 了,确实 ubuntu 私货太多了。
    feather12315
        57
    feather12315  
       2023-06-23 21:19:35 +08:00 via Android
    @james122333 #50 你是从 vm 的角度来看的:统一的 virtio 硬件,不需要第三方的 ko 参与。

    实际上与物理机关联,但凡 system 级别的开发,绕不过第三方提供的硬件与驱动。
    high level 的代码可以做抽象,可以做 portable ,可问题是使用的硬件,虽然功能相同,不同公司的甚至不同版本的,驱动、so 都有差别。没法做 portable
    cndns
        58
    cndns  
       2023-06-23 21:27:45 +08:00
    这很可能违反了 GPL ,这让那些考了 RHCE,RHCA 的人情以何堪啊,本来 centos 没改发行方式之前,redhat 系在中国市场占有率很高的,在国外不高虽然它是个美国公司,但是国外人可不兴它这个。这下连其他开源社区 RHEL 替代品都越来越难搞,可能 redhat 就不希望中国用户一直白 嫖。早点转大便吧,对了 debian 系的 ubuntu 也不要碰这发行版本母公司商业化吃相越来越难看了。
    momocraft
        59
    momocraft  
       2023-06-23 21:30:27 +08:00
    还好我工作不需要碰物理机 debian 应该够我用了
    james122333
        60
    james122333  
       2023-06-23 22:12:52 +08:00 via Android
    @feather12315

    当然不是 我说的 self-hosted 是模块代码 self-hosted
    引入什么其它系统 library...一体成型静态就像 golang 一样打成一包一样
    james122333
        61
    james122333  
       2023-06-23 22:16:27 +08:00 via Android
    很多软件跨平台都加了很多该系统没有的代码
    .c .h 档一堆
    billlee
        62
    billlee  
       2023-06-23 22:57:43 +08:00
    @cndns 不违反 GPL 哦,GPL 是分发二进制时要同时提供源码。现在二进制和源码都不公开分发,也是没问题的。
    Iamsonny
        63
    Iamsonny  
       2023-06-24 12:00:42 +08:00
    @zhoudaiyu rh 的商业订阅啊,订阅了就有访问包源码的地方了,不过他们多研究观望 rh 这个订阅访问源码重新分发的法律法规。老外们应该后面有观望。
    m0yBPjyX3475syS4
        64
    m0yBPjyX3475syS4  
       2023-06-24 12:20:52 +08:00
    According to Almalinux:
    "红帽的用户接口协议表明,重新发布通过 Red Hat Customer Portal 获得的资源将违反这些协议。这意味着我们需要一个新的解决方案。"

    Source: https://www.msn.cn/zh-cn/news/other/%E7%BA%A2%E5%B8%BD%E9%99%90%E5%88%B6%E8%AE%BF%E9%97%AE-rhel-%E4%BB%A3%E7%A0%81-almalinux-%E7%AD%89%E5%8F%91%E8%A1%8C%E7%89%88%E6%9C%AA%E6%9D%A5%E5%8F%91%E5%B1%95%E4%B8%A5%E9%87%8D%E5%8F%97%E9%98%BB/ar-AA1cXuNq?ocid=msedgntp&cvid=64eee46b2f1548238d5c372d56d92b91&ei=12
    ugvfpdcuwfnh
        65
    ugvfpdcuwfnh  
       2023-06-24 14:18:09 +08:00
    Debian 一统江湖指日可待
    feather12315
        66
    feather12315  
       2023-06-24 18:17:12 +08:00 via Android
    @james122333 #60 所以场景是不一样的。
    你说的场景是云上的,用 vm 。Linux 内核怎么换都行,只要不出问题。但是 host 上的物理机系统就不一样了。

    所以这就是两个市场:云上是 Ubuntu 占比高,host 上是 RHEL 。
    james122333
        67
    james122333  
       2023-06-24 22:54:06 +08:00
    @feather12315

    我说的不是 vm 说的 self-hosted 指的是代码
    减少依赖来达成 portable 的目标 当然要不要这么做是厂商决定的
    但这就是个可行的方向 你这样模糊观点都有点怀疑是不是相关人士
    james122333
        68
    james122333  
       2023-06-24 22:55:19 +08:00
    @feather12315

    给我选我两个都不会选 ubuntu 也好 centos 也好甚至 debian 也好
    都不会
    feather12315
        69
    feather12315  
       2023-06-25 11:47:48 +08:00 via Android
    @james122333 #67

    那请问你:你的代码是 hw 相关的,你怎么做能减少 hw 相关的代码,从而做到无需其他团队 /个人 /第三方配合,就可以做到一套代码跑在不同的硬件上
    james122333
        70
    james122333  
       2023-06-25 21:15:45 +08:00 via Android
    @feather12315

    "self-hosted" "self-hosted" "self-hosted"
    重要的事情说三次 代码上并不是减少而是自带
    直接自带一个版本并维护 自带的可能是全部可能是部份 最终达成的效果就是减少外部依赖和减少不同发行版以及版本的不同造成的相容性问题
    Jasonboy
        71
    Jasonboy  
       2023-07-08 19:46:23 +08:00
    @nosugar 大佬能告知一下联系方式吗?向你咨询计算机磁盘加密类的知识,太喜欢你的观点了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5898 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 01:52 · PVG 09:52 · LAX 17:52 · JFK 20:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.