V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
mobaijun
V2EX  ›  程序员

开源一个项目后,项目使用率很低,大家会选择继续维护还是放弃呢?

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

    2022 年把前公司常用的工具类抽离出来,发布了一个 maven 包,后续一直在持续迭代,但是除了我自己的项目,查看其它项目发现很少有引用这个坐标的,大家对于这种情况都是怎么坚持下去的。 项目链接在这里: https://github.com/mobaijun/kjs-common

    48 条回复    2023-03-14 12:13:29 +08:00
    metalvest
        1
    metalvest  
       344 天前 via Android   ❤️ 3
    前公司的东西你给开源了?不吃官司就该知足了。
    wildnode
        2
    wildnode  
       344 天前   ❤️ 1
    额…虽然我不是写 Java 的,但是我点了半天没找到文档在哪,wiki 是空的,仓库里挂的链接点进去是你的个人博客,这搁谁谁也不敢用吧…
    mobaijun
        3
    mobaijun  
    OP
       344 天前
    @metalvest 工具类,并不是核心业务
    mobaijun
        4
    mobaijun  
    OP
       344 天前
    @wildnode wiki 不知道怎么写😥,主要重点放在 readme 文档和源码的注释上面,以及测试用例
    msg7086
        5
    msg7086  
       344 天前
    祈祷一下公司不把你送进去蹲大牢吧。不是核心业务,只是工具类的话,说不定可以少蹲几年。
    msg7086
        6
    msg7086  
       344 天前
    如果这个公司是你开的,或者你是有决定权的公司高管,那当我没说。
    毕竟「 Kjs-common Copyright 2022-2023 Framer Mo Bai 」你个人拥有所有代码的著作权?
    Juppiter
        7
    Juppiter  
       344 天前
    没签协议的话应该还好吧 应该不会怎么样
    msg7086
        8
    msg7086  
       344 天前
    再补一句。

    正常情况下,公司项目开源,是以公司项目依赖开源项目的方式进行的。
    底层的工具类剥离出来开源,然后公司项目就依赖这个开源项目,那么你这个项目至少也会有一个大客户,也就是公司本身。
    哪有单独拉一份出来开源,然后项目继续用内部类的。这样不是白开吗?以后打补丁还要两个项目一起打。什么大病操作。
    mobaijun
        9
    mobaijun  
    OP
       344 天前
    @msg7086 这个项目是 Java 通用的工具类项目,意思就是任何 Java 项目都可以适用的
    tramm
        10
    tramm  
       344 天前
    开源项目不用, 个人可能用的啊, 个人用, 不发布的话仓库不显示使用的.
    mobaijun
        11
    mobaijun  
    OP
       344 天前
    @tramm 是的,个人使用的话是看不到的,顺便也想知道这个项目还需要提供那些内容可以方便用户了解
    msg7086
        12
    msg7086  
       344 天前
    @mobaijun #9 你是想表达什么呢?我没有看懂。
    mobaijun
        13
    mobaijun  
    OP
       344 天前
    @msg7086 就是 Java 有很多可复用的工具类,比如封装的 string 操作工具类,这些工具类和公司关系不大,任何一个大型项目都会有这样的工具类,并非是和公司项目绑定的
    L0L
        14
    L0L  
       344 天前
    没找到具体的工具类的使用说明
    mobaijun
        15
    mobaijun  
    OP
       344 天前
    @L0L 主要集中在源码和测试用例这块
    beginor
        16
    beginor  
       344 天前
    花时间不多的话就继续维护吧, 可以给自己申请个 JetBrains 全家桶的许可 😂
    Nazz
        17
    Nazz  
       344 天前
    留着自己用也不错
    zjp
        18
    zjp  
       344 天前 via Android
    这和通不通用没关系。在工作时间用公司电脑写的代码,版权属于公司,公司也是付了工资的
    通用只是难取证一点…
    fzdwx
        19
    fzdwx  
       344 天前   ❤️ 1
    老哥,如果是通用工具类的话,最少也要写成泛型吧

    swulling
        20
    swulling  
       344 天前 via iPhone
    通用工具库是伪需求,专注于某一个子域的工具库才是真需求。

    工具库的编写难度远大于普通库,如上面有人说排序不支持泛型算啥工具库。
    Vindroid
        21
    Vindroid  
       344 天前
    一个只有 5star 的东西,谁敢用啊。我懒得去审计代码,去找个上千 star 的不是更轻松吗
    foundyou
        22
    foundyou  
       344 天前
    和 hutool 比如何啊,有什么特别之处吗,工具类的依赖现在我都是用 hutool
    SmiteChow
        23
    SmiteChow  
       344 天前
    不用维护,不会有人关心的。
    qwertty01
        24
    qwertty01  
       344 天前
    吐槽一下,逛 Github 逛那么久,头一次见版本号用大写的 V
    Felldeadbird
        25
    Felldeadbird  
       344 天前
    没人用就关掉呗。做开源要学会取舍。
    hhjswf
        26
    hhjswf  
       344 天前
    人才
    suanran
        27
    suanran  
       344 天前
    开源并不一定非要很多人去用啊,是否维护下去看自己心情,但是我认为是不是有人使用和是不是有人关心你这个项目,和你是否维护,没太大的关联!一些很多人用的项目,不也说停更就停更,你能说对方不负责任吗?
    mobaijun
        28
    mobaijun  
    OP
       344 天前
    @qwertty01 有啥区别嘛
    mobaijun
        29
    mobaijun  
    OP
       344 天前
    @Felldeadbird 是的
    mobaijun
        30
    mobaijun  
    OP
       344 天前
    @suanran 明白了
    mobaijun
        31
    mobaijun  
    OP
       344 天前
    @beginor 是的,目前想的就是慢慢维护,一点点迭代
    mobaijun
        32
    mobaijun  
    OP
       344 天前
    @foundyou 当然是比不上 hutool 的,但是用来学习和小项目自用应该还可以
    beichenshao
        33
    beichenshao  
       344 天前
    老哥,下次记得这么说,“是我自己平时写的工具库,在公司项目中用到了,现在开源出来”
    beichenshao
        34
    beichenshao  
       344 天前
    “是我自己闲时写的工具库,在公司项目中用到了,现在开源出来”
    mobaijun
        35
    mobaijun  
    OP
       344 天前
    @beichenshao 学到了
    WashFreshFresh
        36
    WashFreshFresh  
       344 天前
    被发现,公司较真还是可以让你赔钱或坐牢的。和业务不业务,通用不通用没关系。只要是在公司写的或者公司发工资让你写的,都是公司的财产,离开公司你没权带走,更别说开源。
    mobaijun
        37
    mobaijun  
    OP
       344 天前
    @fzdwx 算法包是最近新增的模块,后续在迭代吧,一开始没想那么多
    mumuy
        38
    mumuy  
       344 天前
    让自己成为第一个用户啊,自己都不用,怎么还能指望别人用呢!自己在项目中应用下去
    mobaijun
        39
    mobaijun  
    OP
       344 天前
    @mumuy 自己一直都有在用,但是一个人使用局限性还是很小,希望有更多人使用然后提建议出来吧,我会收集慢慢完善
    MoYi123
        40
    MoYi123  
       344 天前
    看了点代码, 感觉完全不行, 泛型这些就不说了.

    algorithm: 冒泡排序之类的完全没用, 可以直接删了, QuickSort 也没处理最坏情况下 O(n^2), 字符串搜索留一个 BM 就够了,
    二分查找通常分成 lower_bound 和 upper_bound, 没找到完全相同的返回-1 不是很好用.

    bloomfilter: 你对 bloomfilter 的理解有问题, 建议重写.

    cache: 我没看错的话, 除了接口更少,更不标准, 这个一个普通的 map 有什么区别? 一般来说, cache 自己都会带一个 evict 机制吧.
    mobaijun
        41
    mobaijun  
    OP
       344 天前
    @MoYi123 谢谢提议,后续会重新优化
    icyalala
        42
    icyalala  
       344 天前
    感觉楼主没有这方面的意识,或者刻意忽略楼上这么多提醒:
    工作期间的劳动成果归公司所有,不是你个人的东西,这是写在合同里的
    lonewolfakela
        43
    lonewolfakela  
       344 天前
    呃,抱歉我平时不怎么写 Java ,但是 Java 标准库里没有排序算法么……
    webdesigner
        44
    webdesigner  
       344 天前 via iPhone
    我也发布了很多开源,有的几十个赞有的几个,但是我其实不会去关心要不要更新,一般提 issue 我才去解决。
    nekomiao
        45
    nekomiao  
       344 天前
    起码 readme 里要写上里面有什么工具吧
    Leonard
        46
    Leonard  
       344 天前 via iPhone
    @icyalala 理论上确实如此,但是很多小公司不管,加上如果代码和公司业务关系不大也难以取证,就不太关注这方面。比如有的人在上班时间做私活,难道会把收益给公司么
    icyalala
        47
    icyalala  
       344 天前
    @Leonard 不说出来也就罢了。。楼主是自己说出来的啊(捂脸)
    lyy780808
        48
    lyy780808  
       344 天前
    感觉这个项目只有练练手的价值,连最基本的单元测试写的都有问题。
    就拿这个 HeapSortTest.java 文件来说,都没有预期的结果去校验,怎么能知道排序的结果是正确的呢?你的项目里的单元测试只能测出代码是能跑通的不会抛异常,其他的都测不出来。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5732 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 08:25 · PVG 16:25 · LAX 00:25 · JFK 03:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.