技术之外的探讨--第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的更多相关文章

  1. iOS开发-14款状态栏(StatusBar)开源软件

    本文转载至 http://mobile.51cto.com/hot-418125.htm 之前逛街看到移动做推广,有一个定位应用挺好的,合理的利用了状态栏,做了一些消息提醒和隐藏动画,自己回家就做了一 ...

  2. oschina BI商业智能开源软件

    54款 BI商业智能开源软件 MySQL数据仓库解决方案 Infobright OLAP 分析引擎 Apache Kylin 数据处理和分发系统 Apache NiFi OLAP 数据查询引擎 Dru ...

  3. 通过 FastAdmin 理解开源软件

    通过 FastAdmin 理解开源软件 开源软件 ≠ 免费软件,免费是遵循其开源协议下的一个特性. 开源软件虽然免费,但服务是可以收费的,因为房子要钱. 开源的目的是为了用户更自由. 做开源每天会遇到 ...

  4. spring boot 实战:我们的第一款开源软件

    在信息爆炸时代,如何避免持续性信息过剩,使自己变得专注而不是被纷繁的信息所累?每天会看到各种各样的新闻,各种新潮的技术层出不穷,如何筛选出自己所关心的? 各位看官会想,我们是来看开源软件的,你给我扯什 ...

  5. 推荐一款C#反编译软件(开源)

    大二的时候老师要求做过一个小项目,大概4个人左右一组.当时交流不是特别到位,项目在一个同学的电脑上建成了就一直在他的电脑上(所以好东西不要烂在你的硬盘里),也不知道什么源码管理,可悲到项目做完我还没有 ...

  6. SpringBoot实战:我们的第一款开源软件

    原文出处: 纯洁的微笑 在信息爆炸时代,如何避免持续性信息过剩,使自己变得专注而不是被纷繁的信息所累?每天会看到各种各样的新闻,各种新潮的技术层出不穷,如何筛选出自己所关心的? 各位看官会想,我们是来 ...

  7. GitHub 上最热的10款国产开源软件

    衡量一个开源产品好不好,看看产品在 GitHub 的 Star 数量就知道了.由此可见,GitHub 已经沦落为开源产品的“大众点评”了.一个开源产品希望快速的被开发者知道.快速的获取反馈,放到 Gi ...

  8. Windows系统下三十款优秀开源软件

    Windows系统下三十款优秀开源软件 1.Firefox 官方网站:http://www.getfirefox.com/ 可替换Internet Explorer 功能特点:如果你还没有使用Fire ...

  9. 说说ERP软件的系统设计--开源软件诞生8

    赤龙ERP系统设计篇--第8篇 用日志记录"开源软件"的诞生 赤龙 ERP 开源地址: 点亮星标,感谢支持,与开发者交流 kzca2000 码云:https://gitee.com ...

随机推荐

  1. 解惑4:java是值传递还是引用传递

    一.概述 曾经纠结了很久java的参数传递方式是什么样的,后面粗略的了解了一鳞半爪以后有了大概的印象:"传参数就是值传递,传对象就是引用传递",后面进一步查找了相关资料和文章以后, ...

  2. MATLAB通过ODBC连接数据库方法

    MATLAB通过ODBC连接数据库方法 1.首先创建数据库,我在这里用到的是MySQL 8.0 2.建立ODBC数据源,参考链接: https://www.cnblogs.com/benpao1314 ...

  3. 高级搜索树-AVL树

    目录 平衡因子 AVL树节点和AVL树的定义 失衡调整 插入和删除操作 完整源码 AVL树是平衡二叉搜索树中的一种,在渐进意义下,AVL树可以将高度始终控制在O(log n) 以内,以保证每次查找.插 ...

  4. Kafka2.6.0发布——性能大幅提升

    近日Kafka2.6版本发布,距离2.5.0发布只过去了不到四个月的时间. Kafka 2.6.0包含许多重要的新功能.以下是一些重要更改的摘要: 默认情况下,已为Java 11或更高版本启用TLSv ...

  5. centos 安装ifconfig

    本文通过最简单方式yum

  6. IDEA中列编辑

    快捷键 :Alt+Shift+insert,也可以按住Alt+Shift时,点击要编辑部分

  7. JavaScript学习系列博客_38_JavaScript 事件

    事件(Event) - 事件指的是用户和浏览器之间的交互行为.比如:点击按钮.关闭窗口.鼠标移动.... - 我们可以为事件来绑定回调函数来响应事件. - 绑定事件的方式: 1.可以在标签的事件属性中 ...

  8. window下命令启动/停止nginx

    查看Nginx的版本号:nginx -v 启动Nginx:start nginx 快速停止或关闭Nginx:nginx -s stop 正常停止或关闭Nginx:nginx -s quit 配置文件修 ...

  9. Leecode统计子串个数(java)

    /** 获取一个字符串在另一个字符串中出现的次数.判断str2在str1中出现的次数 */ public class StringExer2 { public static void main(Str ...

  10. 如何加速github下载速度

    第一步 魔法 第二步 git config --global http.proxy http://127.0.0.1:1080 git config --global https.proxy http ...