V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jinker
V2EX  ›  开源软件

我开源正在卖的软件,应该用什么协议好?

  •  
  •   jinker · 260 天前 · 4513 次点击
    这是一个创建于 260 天前的主题,其中的信息可能已经有所发展或是发生改变。

    不是专业程序员,目前工作是关于库存管理以及与客户对接下单那种,由于公司原本使用中的系统我觉得有一些地方很繁琐不方便,去年 12 月搞了个库存管理系统自己使用。

    上个月觉得合适了,放到 Shopee 上卖订阅制,但是不出意外一个订单都没有,今天想想还是算了,试也试过了,拿去开源。

    我原本想直接放上去就好了,但是 Shopee 上我还是要继续放着的,保不准有人买呢。我想要使用者不能用于商业服务,类似我卖服务这种,除非得到许可。除了这个以外,爱怎么搞就与我无关了。哪个协议适合?之前没有了解过。

    33 条回复    2024-06-04 11:17:27 +08:00
    lovedebug
        1
    lovedebug  
       260 天前
    做公司类似的产品,小心被告。
    建议通过第三方发布吧
    jinker
        2
    jinker  
    OP
       260 天前
    @lovedebug 公司不是软件开发公司,做电子烟批发相关的,只是我负责处理库存管理以及与客户对接下单,才自己搞得程序。
    Pters
        3
    Pters  
       260 天前
    我觉得开源了,就算别人商业了,个人的话也没精力去维权吧
    jinker
        4
    jinker  
    OP
       260 天前
    @Pters 因为我觉得先放个协议总比什么都没有比较好,也许遇到一个很尊重协议的人,向我买许可呢?哈哈,咸鱼总要有梦想。
    Tuuure
        5
    Tuuure  
       260 天前
    就是允许自建,但不准向他人提供收费服务。可以去参考 n8n 和 bitwarden 的开源协议
    chingyat
        6
    chingyat  
       260 天前 via iPhone
    AGPL ?
    jinker
        7
    jinker  
    OP
       260 天前
    jinker
        8
    jinker  
    OP
       260 天前
    了解,谢谢
    @jinker
    shixuedela
        9
    shixuedela  
       260 天前
    我想买电子烟,个人抽,能给个联系方式吗?@jinker
    stefanieewu
        10
    stefanieewu  
       260 天前
    同问哈哈,做了个小红书的工具,没卖成功,打算开源了
    nzynzynzy
        11
    nzynzynzy  
       260 天前
    没办法,软件产业不仅仅是开发,还有:销售、推广、实施、培训、运营。光解决开发缺了其他也不行
    wanqiangcrack
        12
    wanqiangcrack  
       259 天前
    销售是很重要的一环,是很需要一些门道才行的。 互联网业务的地推就类似于这种身份,光是放那等人来买,太难了。


    不出成本做推广,是很难有什么销量。
    mcfog
        13
    mcfog  
       259 天前
    限制使用用途不符合开源的基本定义,你想做的仅仅是公开源代码,NO LICENSE 就是最好的 https://choosealicense.com/no-permission/
    ShareDuck
        14
    ShareDuck  
       259 天前
    @mcfog 不是很懂,请教一下。理论上所有“开源”协议,都不能限制任何人把产品用于商用目的?但有一些开源协议是限制别人在我的源代码的基础上进行二开,然后不开源?
    NewYear
        15
    NewYear  
       259 天前   ❤️ 5
    企业软件谁买你的啊。

    进销存,买大品牌不香么,企业图什么去买你的呢,买大品牌的很便宜啊,售后维护没有任何问题啊,想省钱直接上开心版,怎么也比个人靠谱啊,就算十年过去了,也能找到人维护问题。

    给你举个例子,我家人的小工厂,用金蝶智慧记,工厂文员用电脑版,出门去要账能用手机端,每年费用……400 元。你拿什么和他们去拼……400 元一年有售后有服务!!!!就这还有其他大公司做类似的版本去抢生意。
    几百人企业,财务软件,金蝶标准版,好像是 2000 买断。
    之前呆的公司想合规(大多不想合规,都是为了上市),前几年买了个金蝶旗舰版、模块齐全,十几个用户,多少钱呢,三万多。维护费一年不到五千,从年头维护到年尾……企业嘛,各种菜鸡捉急,好不容易教会了,离职了,代理商都麻了。
    后来……
    也有遇到小公司产品,bug 贼多,心都累了,起码人家还是公司,但是也不行。

    个人开发的,进销存也就真的是进销存,小企业用不上,中大企业用不了。

    而且企业都是定制化需求,啥意思呢,你想要的功能没有,于是自己开发,但是别人想要的功能你也不太可能用,定制的话成本巨大,还可能影响主版本的稳定性。


    个人开发软件,根本打不过公司,企业很害怕这种个人软件,省又省不了几个钱,稳定性不能保证,功能不齐全,个人还随时跑路,如果有坏心思的嘿嘿嘿。
    你自己应该也是甲方 IT 部门吧,真的不要省钱思维,我也是 IT 部门,对,是负责人,除了入行那几年总想着省,后来我都坚持一条,宁花钱,求稳定,不稳定,白送都不要,不这样干,随时等着某个风险炸死。

    个人开发的软件,我们公司也有,前辈传下来的,不同的前辈擅长不同的语言,后面的人只想哭,我平时也爱和你一样说“懂开发软件,但不是专职程序员”,心里的苦只有同行知道,钱是运维的钱,活是程序员的活,职责是二者叠加。
    个人开发的软件,没一个是不想推倒重来的,但是公司给不了那么多时间重新开发,企业需求不断变化,定制化的背后就是高成本。

    总之,
    ----大公司有预算,但是绝无可能买你个人软件。
    ----中型公司,自己有“非专业程序员”,可能你也是其中一名,不缺屎山项目,别问,问就是自己再开发一套,反正有人力。如果选型被选中,只有三种必然性缺一不可,你是企业+标准版产品没有合适的+高度匹配又很便宜最好是亏本的那种便宜。
    否则公司为啥不选择大公司产品呢,标准版靠谱,行业版适配度高,大企业产品不怕你代理商倒闭,也不怕你要挟。
    ----个人产品(应该算是工作室)我们也买过,人家大佬一句话“维护费太低了,不维护了,你换软件吧,我们没有合适的”,后续自行维护,看着软件界面愁眉苦脸,不是我不懂开发,是没法开发,就算有代码,不熟悉逻辑,也没什么用。说到底,你是个人开发的,我们公司都有一模一样的人(非专业软件开发),都是可以开发的。
    -----小微企业,一般用标准版,要么用小型企业版本,里面专业人员都没有,甚至可能连 IT 运维人员都没有,你拿个个人产品去,谁都不敢对接。


    如果你实在想卖钱,一方面麻烦你注册个公司,另一方面朝着行业版方向发展,不要搞太多虚头巴脑的功能,主打一个实用靠谱,另外价格不要太低,要不然你成本都不够。也别不舍得花钱,要不然别人不敢买你的东西,很吓人的。
    对了,最好要找一个业务员合作,不要自己去搞销售,没必要尝试,宁愿给人家分成,跟着人家学销售,后续自己做销售,请人开发,请人运维。

    开源想卖钱这个基本上没戏的,别想了,躺着收钱的时代已经过去啦,过去啦,人家想用开源的,图的就是免费,再一个图的就是行业领先的开源软件,你个个人软件,想开发找不到资料,想哭想哭,没谁想入坑的。就算是 200X 年,开源也是赚不到钱的。。。你想着别人良心,作为 IT 人员,用过多少免费软件和不可描述的授权方式,别人给你发律师函你都大概率不肯付费,想要良心发现的人,难咯,肯花钱的人家直接找商业公司买了。
    luhengyuorang
        16
    luhengyuorang  
       259 天前
    @jinker 对你的软件不感兴趣,电子烟倒是兴趣很大,我也想买🐶
    iOCZS
        17
    iOCZS  
       259 天前
    个人软件很脆弱,开发者噶了怎么办?小公司也一样。
    jinker
        18
    jinker  
    OP
       259 天前 via Android
    @shixuedela
    @luhengyuorang
    我马来西亚人,卖不到去你们那边呀。
    mcfog
        19
    mcfog  
       259 天前
    @ShareDuck 两个最主要的搞开源运动的组织 FSF 和 OSI 各自有自己的定义
    https://www.gnu.org/philosophy/free-sw.html.en#fs-definition
    https://opensource.org/osd
    无论哪方,都是允许公众商业使用(例如部署成服务收钱),允许公众修改以及修改后再分发的(需要保留协议和来源,但不能有其他限制,具体来说,可以收钱)

    不过中文互联网上可能有一半的讨论开源这两个字在聊的不是 free / open software ,而是 source available software ,也就是代码公开软件
    jinker
        20
    jinker  
    OP
       259 天前 via Android
    @NewYear 感谢评论,一开始就是方便我工作用的,拿来卖只是顺个手的事。帖子没有说到的是我是网页服务类型的,在线系统,权限管理用户管理,本地市场三语言都有。不是本地软件。

    主要我是用 rust+sqlite 开发的,觉得试试看卖的时候就花了几个星期重构和优化,我觉得 1gb 2c vps 可以搭个三到四个应该行,再往上有些勉强。我觉得优化空间还有一些,成本应该还能再压压。

    我马来西亚人,我卖的时候是通过分配套:
    最低配套个人版,限制 100 个订单,一个用户。每月 RM2.99
    最高配套 6000 订单,三个用户。每月 RM13.99

    可能价钱还是太高了吧,不过试过了也无所谓了。
    houzhiqiang
        21
    houzhiqiang  
       259 天前
    AGPL
    jinker
        22
    jinker  
    OP
       259 天前 via Android
    @NewYear 拿来卖的想法是因为上个月有个客户来到办公室拿货,我电脑开着,他看到了我开着的 VSC ,惊讶我会编程,问我在搞什么,我就展示了一番我的库存管理系统。他说没想到搞的很完整,问我如果加个直接通过链接无登录下单功能对他个人来说更加棒,会是蛮吸引人的点子。

    还分享给我马来西亚本土这边的一个大型库存管理系统,很优秀,定价每个月 RM129/10000 订单。让我参考定价。

    哈哈,可能这给我了一些自信,写好他说的功能后,就拿去放网购平台卖了。

    其实他是叫我和我现在的老板谈谈这个系统,只是我快要跳槽了就不谈了,而且也没自信和老板谈。

    你说的这些老实说看到的一瞬间有被打击到,不过也能接受吧,现实与梦想我还是能分的出的。总之感谢评论。
    lstz
        23
    lstz  
       259 天前 via Android
    AGPL 协议,可以保证别人用了你的代码就必须开源,然而你没办法要求人家不拿来商用甚至跟你竞争。

    我的开源项目 LafTools 用的就是 AGPL ,我不担心别人会拿来商用,因为我是这个项目的创始者,我对每个细节都很熟悉,我相信只要我保持不断迭代,用户会跟随这个主版本而不是其他衍生版本。


    欢迎交流或者排班 github.com/work7z/LafTools
    lstz
        24
    lstz  
       259 天前 via Android
    AGPL 可能不太符合楼主的期望,不过既然开源了,想要限制商用,你可以用 dual license

    商用就要求邮件获取额外授权
    社区的话就随意了,MIT 都可以
    mobile8
        25
    mobile8  
       259 天前
    op 强哇,非专业程序员用 rust 做开发,想请问一下,op 是怎么入门 rust 的呀?我入门两次被劝退两次
    jinker
        26
    jinker  
    OP
       259 天前 via Android
    @mobile8 我自学好几年了,先看一本 c++了解编程,再是决定从 C#入门,感觉游戏开发有趣就往 unity 学一遍入门,美术不会所以就不学了,后面学的前端开发因为需要开发网页。

    后端开发其实我一开始直接 rust 上手,边学边开发,先 tauri 再 artix-web ,到目前的 axum 。其实 rust 我也只是会用罢了。

    感觉我学的方向杂,每个入门学不精,目前因为后端开发比较多,所以自认为比较熟这个领域。

    rust 的话我觉得如果有其他编程语言基础,入门其实真不算难,他的难点是生命周期还有一些些其他的语法。但是靠着编辑器智能提示,有时候写错了大概也能猜出来对的怎么写。最重要的我觉得是 Rust 和 c#一样,官方文档很齐全了,中文文档看一遍,英文文档看一遍,看不明白直接网页翻译中英文来回切换以防诡异的翻译。然后真的遇到现阶段不会解决的生命周期问题,我都是没办法直接 to_owned()暂时解决,后面再想办法优化回来。

    其实我自己决定学一个东西就是当下弄明白,然后就可以放心了,例如我之前学游戏开发时学算法,我都当下搞明白算法原理(数学运算也要去搞明白为什么可以这么算),彻底明白后我就跳过这个算法了。现在我也全部忘记了,但是我要使用的话,我会回去看一遍算法简单教程之类的,不用看完整的,然后我会回想起来,轻松很多。靠着这方法学的 Rust 。
    nothingistrue
        27
    nothingistrue  
       259 天前 via Android
    @jinker 你公司也是买的别人的软件,如果这是带源代码买的,你跟源头开发商之间还是不太好说。

    同一套代码,不能即开源又商业的。你至少也分成两份代码,一份作为社区版开源,一份作为商业版销售。这两份代码,可以 99.999%都一样,但至少要有一个小版本号不一样(当然实际上商业版会多一些东西,哪怕只是比社区版更多的测试环 节,不然没卖的必要)。
    jinker
        28
    jinker  
    OP
       259 天前 via Android
    @nothingistrue 不好意思,我现在看回去标题感觉的确让人误解。其实我的标题的意思是开源我自己开发自己卖的软件,但不想别人直接拿我的源代码改一改拿去像我这样卖。
    jim9606
        29
    jim9606  
       259 天前
    主要不明白开源的目的是啥?
    你可以考虑无许可证( xxx All rights reserved.),或者 Reference-only 许可证。
    就算是约束很多的 AGPL 也允许商用,所谓的约束是指衍生是否开源,并不管直接用的情况。
    我也不建议开源源码跟商用版本完全一样。
    mobile8
        30
    mobile8  
       259 天前
    @jinker 感谢解惑,我也觉得做自己感兴趣的东西,边用边学是最好的学习方式,奈何下班后就懒得动了,平时接触圈子外的东西也比较少,op 已经很厉害了,为啥没考虑做程序员呢
    jinker
        31
    jinker  
    OP
       259 天前
    @mobile8 没有上过大学,没有文凭。编程都是自学的,进不了任何 IT 相关的公司,马来西亚这里还是看文凭的。刚 18 岁不久时有想过想办法找个大学上,但是身体发生了一些事,导致不了了之。所以不出意外,未来都没有机会做程序员。
    ShareDuck
        32
    ShareDuck  
       259 天前
    @mcfog #19 您的解答非常清晰,学到了。感谢。
    c330
        33
    c330  
       168 天前
    看到一篇文章,有些关于开源协议的内容,可以瞅瞅,根据情况看看选择哪种:《开源协议有哪些?》( https://www.zentao.net/redirect-index-24169.html)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5451 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 06:52 · PVG 14:52 · LAX 22:52 · JFK 01:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.