技术之外的探讨--第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. MySQL--->高级对象

    本章目标: 掌握MySQL视图 掌握MySQL存储过程 掌握MySQL触发器 1.视图: 视图就是一条select语句执行后返回的结果集. 使用场景:权限控制的时候不希望用户访问表中某些敏感信息的列 ...

  2. Java基础—面向对象特性

    1.三大特性 ①.封装 所谓封装,就是将客观事物封装成抽象的类,类的数据和方法只允许可信的类或者对象操作,对不可信的类或对象进行信息隐藏.封装是面向对象的特征之一,是对象和类概念的主要特性.简单的说, ...

  3. JDBC的开发步骤

    一.JDBC概述 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问, 它由一组用Jav ...

  4. ALGEBRA-1 向量空间

    向量空间对加法封闭 对数乘封闭 直和:表示的唯一性

  5. python 去除Excel中的重复行数据

    导入pandas import pandas as pd 1.读取excel中的数据: frame = pd.DataFrame(pd.read_csv('excel的绝对路径.csv'', 'She ...

  6. Git的使用方法及IDEA与Git的集成

    一.Git的环境配置 1.Git软件下载 (下载地址:https://git-scm.com/)由于国外的网站下载的超慢可以使用国内的阿里的开源镜像下载(下载地址:https://npm.taobao ...

  7. 群晖系统设置链路聚合并配置静态IP的教程【江东网 JDX86.COM】

    1.进入控制面板 > 网络 > 网络接口.请单击创建 > 创建 Bond 2.进入聚合配置向导,选择你想要的模式,这里有几种模式意思分别为: 自适应负载平衡: 此模式优化了 Syno ...

  8. 顶级技术盛会KubeCon 2020,网易轻舟布道多云环境云原生应用交付

    在日前的KubeCon 2020中国线上峰会上,VMware中国研发中心架构师.Harbor项目创始人和维护者张海宁,和网易数帆轻舟事业部架构师.Harbor维护者裴明明,共同分享了如何在多云和多集群 ...

  9. JavaScript正则表达式的模式匹配教程,并且附带充足的实战代码

    JavaScript正则表达式的模式匹配 引言 正文 一.正则表达式定义 二.正则表达式的使用 三.RegExp直接量 (1)正则表达式初体验 (2)深入了解正则 字符类 重复 选择 分组与引用 指定 ...

  10. Scala集合操作中的几种高阶函数

    Scala是函数式编程,这点在集合操作中大量体现.高阶函数,也就是能够接收另外一个函数作为参数的函数. 假如现在有一个需要是将List集合中的每个元素变为原来的两倍,现在来对比Java方式实现和Sca ...