为什么要做一款ERP软件——开源软件诞生7
技术之外的探讨--第7篇
用日志记录“开源软件”的诞生
赤龙ERP开源地址:
点亮星标,感谢支持,与开发者交流 kzca2000
码云:https://gitee.com/redragon/redragon-erp
GitHub:https://github.com/redragon1985/redragon-erp
赤龙ERP官网:https://www.redragon-erp.com
为什么选择ERP
什么是ERP?网上一搜解释不计其数,我总结一句话就是:管理了企业运营中的所有资源,并实现了从业务到财务的完整信息流。
一提到信息系统,大家一定会想到OA、EHR、CRM,当然还有MES、WMS等,那我为什么单单选择ERP作为开发的产品呢?
(1)第一个原因,ERP在企业级信息化的地位无与伦比。可能有些小伙伴会有反驳,因为很多公司用了OA、EHR,但不是所有公司都用ERP啊。的确如此!但要透过现象看本质,ERP管理了企业中最为核心的业务和财务,从企业需求来说,希望实现管理的信息化,ERP一定是刚需,也是第一选择。但由于ERP本身的功能复杂性和高昂的价格,会使大多数小微企业望而却步。所以很多企业对于ERP的态度是想得而不可得。
(2)第二个原因,产品的普及度的区别。做一款软件,一定是希望有用户来使用的。但是一提到OA、EHR、CRM这类软件,在企业中的普及度极高,而且产品的竞争极其激烈,不管是老牌的系统,还是新加入进来的SAAS产品。在这些产品线上几乎没有可能存活。而ERP在本来刚需的前提下,却出现了普及度较低的情况(根据本人的实际经历得出),这对于软件的生存是有利的。
(3)第三个原因,可凸显产品的优势。OA、EHR、CRM这类产品的同质化问题较为严重,也就是说由于本身这类系统的需求较为单一和明确,所以各大厂商的产品其实没有本质区别。抛开技术来说,ERP本身可以在设计理念上做出变化,而使产品实力上拉开差距。
(4)第四个原因,壁垒。本质上这类软件当然没有技术壁垒。但像ERP这种复杂度极高,专业度极高的软件,有着非常高的业务和逻辑壁垒。这往往是经验问题,但经验又不是直接来自于书本的,经历企业信息化的发展和磨练是最大的壁垒。
开创一个变革
上面讲了为什么研发ERP,现在聊聊为什么开源?原因很简单:破局。影响企业使用ERP的核心问题是:系统复杂度高、产品价格高。怎么解决呢?简化、开源。
说说企业中的实际情况吧,企业信息化的发展历程往往是,初期考虑购买成本、使用成本,引入了一些初步的信息化系统,比如:OA、EHR,然后随着企业发展开始逐年应用更多的其他系统,比如:ERP、WMS、MES、计划预算等。但这些系统往往很难随着企业发展而演变。系统的普及过程也是先从财务系统,再到业务系统,再实现财务业务一体化;而这个过程可能还会伴随着产品的更替,从解决一个点的模块到解决一个面的系统,从使用国内产品到国外。最后就会变成系统一大堆,互相无关联,无完整闭环,数据流、信息流、管理流全部断开的局面,修修补补,直到一团乱麻,无法解决。我经历了多家企业,不同阶段的信息化发展历程,也经历过完整的0-1信息化建设历程,对这一局面很是熟悉,也总结了其中的解决方案。最后决定用一款平台化的开源产品来彻底解决这个难题,开创一场信息化的变革。
(1)变革的开始:开源免费。说谁ERP必须要付出高昂的价格,我想改变这一现状,直接免费。本着开源精神,我采用了GPL协议,GPL的核心理念是所有使用了GPL代码的产品必须开源。这样就保证了ERP及所有衍生产品的免费。
(2)变革之二:简化再简化。说谁ERP必须要逻辑很复杂。其实那些复杂的功能看似强大,而真正在企业实践中多数根本不会用到。所以只保留一条主线流程,让用户按照主流程去操作即可。
(3)变革之三:灵活的设计。灵活的设计其实我认为不用搞得很复杂。就两点即可:第一、除了主流程,不做任何强耦合。第二、可灵活的实现增加字段(1对1、1对多)
“赤龙”一个响亮的名字
我的开源产品叫“赤龙ERP”,可能有些人会觉得这个名字有点奇怪。其实这个名字是有渊源的。这就要追溯到我大学毕业设计时了,还记得当时写了一篇叫做“论中国软件行业发展方向”的论文。写完这篇论文,我深深体会到中国软件自主研发产品的匮乏,所以那会就想是不是自己以后也有机会做一款软件,能够做出点贡献。虽然看似理想有点远大,但心态是阳光的。
还记得那会在毕业之前,用了一个月的时间,夜以继日做了一款现在来看特别简单的软件。但那会特别兴奋和自豪。最后给软件署名的时候,一直在思考起一个什么样有创意的名字呢?结合上面说的远大理想,我就想到了中国的特色:龙;以及代表中国的颜色:红色。英文当然是red和dragon。合并在一起就有了redragon这个特殊意义的名字。中文“赤龙”也就由此得来。
后记
下一篇想说说赤龙ERP的系统设计的经验和思路,如果大家想让我聊聊开源软件研发过程中的哪些事情,也可以给我留言。
希望您读完本文可以帮助笔者进入【码云】或【GitHub】(可搜索“赤龙ERP”)点击星标。等待着您的支持!
为什么要做一款ERP软件——开源软件诞生7的更多相关文章
- iOS开发-14款状态栏(StatusBar)开源软件
本文转载至 http://mobile.51cto.com/hot-418125.htm 之前逛街看到移动做推广,有一个定位应用挺好的,合理的利用了状态栏,做了一些消息提醒和隐藏动画,自己回家就做了一 ...
- oschina BI商业智能开源软件
54款 BI商业智能开源软件 MySQL数据仓库解决方案 Infobright OLAP 分析引擎 Apache Kylin 数据处理和分发系统 Apache NiFi OLAP 数据查询引擎 Dru ...
- 通过 FastAdmin 理解开源软件
通过 FastAdmin 理解开源软件 开源软件 ≠ 免费软件,免费是遵循其开源协议下的一个特性. 开源软件虽然免费,但服务是可以收费的,因为房子要钱. 开源的目的是为了用户更自由. 做开源每天会遇到 ...
- spring boot 实战:我们的第一款开源软件
在信息爆炸时代,如何避免持续性信息过剩,使自己变得专注而不是被纷繁的信息所累?每天会看到各种各样的新闻,各种新潮的技术层出不穷,如何筛选出自己所关心的? 各位看官会想,我们是来看开源软件的,你给我扯什 ...
- 推荐一款C#反编译软件(开源)
大二的时候老师要求做过一个小项目,大概4个人左右一组.当时交流不是特别到位,项目在一个同学的电脑上建成了就一直在他的电脑上(所以好东西不要烂在你的硬盘里),也不知道什么源码管理,可悲到项目做完我还没有 ...
- SpringBoot实战:我们的第一款开源软件
原文出处: 纯洁的微笑 在信息爆炸时代,如何避免持续性信息过剩,使自己变得专注而不是被纷繁的信息所累?每天会看到各种各样的新闻,各种新潮的技术层出不穷,如何筛选出自己所关心的? 各位看官会想,我们是来 ...
- GitHub 上最热的10款国产开源软件
衡量一个开源产品好不好,看看产品在 GitHub 的 Star 数量就知道了.由此可见,GitHub 已经沦落为开源产品的“大众点评”了.一个开源产品希望快速的被开发者知道.快速的获取反馈,放到 Gi ...
- Windows系统下三十款优秀开源软件
Windows系统下三十款优秀开源软件 1.Firefox 官方网站:http://www.getfirefox.com/ 可替换Internet Explorer 功能特点:如果你还没有使用Fire ...
- 说说ERP软件的系统设计--开源软件诞生8
赤龙ERP系统设计篇--第8篇 用日志记录"开源软件"的诞生 赤龙 ERP 开源地址: 点亮星标,感谢支持,与开发者交流 kzca2000 码云:https://gitee.com ...
随机推荐
- 015_go语言中的闭包
代码演示 package main import "fmt" func intSeq() func() int { i := 0 return func() int { i++ r ...
- 学生成绩管理系统-JAVA语言测试
首先右键新建一个工程project 选择Java Project,单击next下一步 project命名为“学生成绩管理系统”,点击finish继续 右键src文件夹新建Package包,取名为te ...
- Spring JdbcTemplate中关于RowMapper的使用实例
在spring boot 集成使用jdbctemplate,首先在pom文件中引入相应的依赖 <dependency> <groupId>org.springframework ...
- Window Server2012 修改远程桌面端口号
Win + R 输入 regedit 打开注册表编辑器 在注册表编辑器中找到 PortNumber 双击 PortNumber,选择10进制,修改想要的端口号 把修改的端口添加为入站规则 重启 Rem ...
- ROS 八叉树地图构建 - 使用 octomap_server 建图过程总结!
构建语义地图时,最开始用的是 octomap_server,后面换成了 semantic_slam: octomap_generator,不过还是整理下之前的学习笔记. 一.增量构建八叉树地图步骤 为 ...
- C#LeetCode刷题之#599-两个列表的最小索引总和(Minimum Index Sum of Two Lists)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3802 访问. 假设Andy和Doris想在晚餐时选择一家餐厅,并 ...
- Who Am I? Personality Detection based on Deep Learning for Texts 阅读笔记
文章目录 源代码github地址 摘要 2CLSTM 过程 1. 词嵌入 2. 2LSTM处理 3. CNN学习LSGCNN学习LSG 4. Softmax分类 源代码github地址 https:/ ...
- 深度学习 | sklearn的train_test_split()各函数参数含义解释(超级全)
在机器学习中,我们通常将原始数据按照比例分割为"测试集"和"训练集",从 sklearn.model_selection 中调用train_test_split ...
- 反制面试官 | 14张原理图 | 再也不怕被问 volatile!
反制面试官 | 14张原理图 | 再也不怕被问 volatile! 悟空 爱学习的程序猿,自主开发了Java学习平台.PMP刷题小程序.目前主修Java.多线程.SpringBoot.SpringCl ...
- 深入理解 Java 内存模型 JMM 与 volatile
Java 内存模型(Java Memory Model,简称 JMM)是一种抽象的概念,并不真实存在,它描述的是一组规范或者规则,通过这种规范定义了程序中各个变量(包括实例字段.静态字段和构成数组对象 ...