开放源代码

四种常见软件开源协议介绍-GPL、LGPL、BSD、Apache

风格不统一 提交于 2020-01-10 11:24:06
转自:https://baijiahao.baidu.com/s?id=1603028095502634219&wfr=spider&for=pc 软件开源是许多软件企业需要关注的问题,不同的开源软件协议,对应不同的源代码使用限制。只有了解这些开源软件协议,才能更好地使用和回馈开源软件,否则就有可能触犯法律。今天介绍四种常见的开源软件协议: GPL(GNU General Public License)LGPL(GNU Lesser General Public License)BSD(Berkerley Software Distribution)Apache License 1、GPL GPL的出发点是代码的开源/免费使用和引用/修改/衍生代码的开源/免费使用,但不允许修改后和衍生的代码做为闭源的商业软件发布和销售。 GPL的“传染性”在于:只要在一个软件中使用(”使用”指类库引用,修改后的代码或者衍生代码)GPL 协议的产品,则该软件产品必须也采用GPL协议,既必须也是开源和免费。我们所熟悉的Linux就是采用了GPL。 2、LGPL LGPL是GPL的一个为主要为类库使用设计的开源协议。LGPL允许商业软件通过类库引用(link)方式使用LGPL类库而不需要开源商业软件的代码。因此LGPL协议的开源代码很适合作为第三方类库被商业软件引用,但不适合希望以LGPL协议代码为基础

几种开源协议的学习(BSD, GPL, LGPL, MIT)

梦想的初衷 提交于 2020-01-10 02:41:30
几种开源协议的学习 目前开源协议有很多,经过Open Source Initiative组织通过批准的开源协议目前就有58种。可以在此页 查看 ,我们在常见的开源有BSD, GPL, LGPL, MIT等。下面依次介绍: BSD开源协议(original BSD license、FreeBSD license、Original BSD license) BSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。 但”为所欲为”的前提当你发布使用了BSD协议的代码,或则以BSD协议代码为基础做二次开发自己的产品时,需要满足三个条件: 如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。 不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。 BSD代码鼓励代码共享,但需要尊重代码作者的著作权。BSD由于允许使用者修改和重新发布代码,也允许使用或在BSD代码上开发商业软件发布和销售,因此是对商业集成很友好的协议。而很多的公司企业在选用开源产品的时候都首选BSD协议,因为可以完全控制这些第三方的代码,在必要的时候可以修改或者二次开发。 Apache Licence 2.0

阿里巴巴的26款Java开源项目,赶紧戳…

半腔热情 提交于 2020-01-09 21:06:46
本人免费整理了Java高级资料,涵盖了Java、Redis、MongoDB、MySQL、Zookeeper、Spring Cloud、Dubbo高并发分布式等教程,一共30G,需要自己领取。 传送门: https://mp.weixin.qq.com/s/osB-BOl6W-ZLTSttTkqMPQ 开源展示了人类共同协作,成果分享的魅力。没有任何一家网络公司可以不使用开源技术,仅靠自身技术发展起来。“取之于开源,用之于开源,才能促进开源的良性发展”,阿里巴巴各个团队将踩过的坑和总结的经验融入到开源项目中,供业界所有人使用,帮助他人解决问题的同时,也促进了行业发展。 1.分布式应用服务开发的一站式解决方案 Spring Cloud Alibaba Spring Cloud Alibaba 致力于提供分布式应用服务开发的一站式解决方案。此项目包含开发分布式应用服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。 依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里分布式应用解决方案,通过阿里中间件来迅速搭建分布式应用系统。 地址:https://github.com/spring-cloud-incubator/spring-cloud-alibaba 2.

Spring Cloud Alibaba 教程 | 前世今生

﹥>﹥吖頭↗ 提交于 2020-01-09 14:10:32
Spring Cloud Alibaba是什么 先来看一下 官方 是怎么定义Spring Cloud Alibaba的: Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的必需组件,方便开发者通过Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。 依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统。 从官方的文档可以看出Spring Cloud Alibaba是一个微服务一站式解决方案,提供了对Spring Cloud的标准实现,即包含了多个治理微服务的组件。 我们之前使用Spring Cloud的时候其实是在使用Spring Cloud Netflix的解决方案,使用到了Netflix中大家都非常熟悉的组件:Eureka、Zuul、Hystrix、Ribbon等,下面是Spring Cloud Netflix的官方介绍: Spring Cloud Netflix provides Netflix OSS integrations for Spring Boot apps through autoconfiguration and binding to the

python的库有多少个?python有多少个模块?

守給你的承諾、 提交于 2020-01-08 13:42:17
这里列举了大概500个左右的库: ! Chardet字符编码探测器,可以自动检测文本、网页、xml的编码。 colorama主要用来给文本添加各种颜色,并且非常简单易用。 Prettytable主要用于在终端或浏览器端构建格式化的输出。 difflib,[Python]标准库,计算文本差异 Levenshtein,快速计算字符串相似度。 fuzzywuzzy,字符串模糊匹配。 esmre,正则表达式的加速器。 shortuuid,一组简洁URL/UUID函数库。 ftfy,Unicode文本工具7 unidecode,ascii和Unicode文本转换函数。 xpinyin,将汉字转换为拼音的函数库 pangu.py,调整对中日韩文字当中的字母、数字间距。 pyfiglet,Python写的figlet程序,使用字符组成ASCII艺术图片 uniout,提取字符串中可读写的字符 awesome slugify,一个Python slugify库,用于处理Unicode。 python-slugify,转换Unicode为ASCII内码的slugify函数库。 unicode-slugify,生成unicode内码,Django的依赖包。 ply,Python版的lex和yacc的解析工具 phonenumbers,解析电话号码,格式,存储和验证的国际电话号码。 python

款阿里开源的 Java 诊断工具Arthas

有些话、适合烂在心里 提交于 2020-01-07 21:31:48
Arthas是什么鬼? Arthas是一款阿里巴巴开源的 Java 线上诊断工具,功能非常强大,可以解决很多线上不方便解决的问题。 Arthas诊断使用的是命令行交互模式,支持JDK6+,Linux、Mac、Windows 操作系统,命令还支持使用 tab 键对各种信息的自动补全,诊断起来非常利索。 这是它的官方网站: https://alibaba.github.io/arthas/index.html Github地址: https://github.com/alibaba/arthas Arthas能解决什么问题? 让我们来看下 Arthas 的官方解释。 当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: 1、这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? 2、我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? 3、遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗? 4、线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现! 5、是否有一个全局视角来查看系统的运行状况? 6、有什么办法可以监控到JVM的实时运行状态? 看完是不是觉得太牛逼了? 特别是它可以在线反编译类,可以不用加日志在线调试跟踪问题代码。 既然这么牛逼,肯定有不少公司在使用吧,下面列出了官方给出的使用登录顺序图。

Docker和K8S

白昼怎懂夜的黑 提交于 2020-01-07 20:11:28
2010年,几个搞IT的年轻人,在美国旧金山成立了一家名叫“dotCloud”的公司。 这家公司主要提供基于PaaS的云计算技术服务。具体来说,是和LXC有关的容器技术。 LXC,就是Linux容器虚拟技术(Linux container) 后来,dotCloud公司将自己的容器技术进行了简化和标准化,并命名为——Docker。 Docker技术诞生之后,并没有引起行业的关注。而dotCloud公司,作为一家小型创业企业,在激烈的竞争之下,也步履维艰。 正当他们快要坚持不下去的时候,脑子里蹦出了“开源”的想法。 什么是“开源”?开源,就是开放源代码。也就是将原来内部保密的程序源代码开放给所有人,然后让大家一起参与进来,贡献代码和意见。 Open Source,开源 有的软件是一开始就开源的。也有的软件,是混不下去,创造者又不想放弃,所以选择开源。自己养不活,就吃“百家饭”嘛。 2013年3月,dotCloud公司的创始人之一,Docker之父,28岁的Solomon Hykes正式决定,将Docker项目开源。 Solomon Hykes(今年刚从Docker离职) 不开则已,一开惊人。 越来越多的IT工程师发现了Docker的优点,然后蜂拥而至,加入Docker开源社区。 Docker的人气迅速攀升,速度之快,令人瞠目结舌。 开源当月,Docker 0.1版本发布。此后的每一个月

你还在为了自己的小博客,小网站用到了图片没地方存而上头?你还在为了写markdown图片不知道放哪里而脑瓜子疼?

浪子不回头ぞ 提交于 2020-01-07 15:41:37
起因:   昨天半夜12点多, 墙外有几个用的不错的图片服务器但是在墙外~于是便有了这个想法,利用github/gitee这种稳定的产品来实现这个小需求。 过程:   其实我先看了看github的开发者平台,发现~嗯~有点看不懂,然后又想了想国内访问github不稳定,于是我就把目光转向了隔壁的gitee ,真香警告,然后发现gitee有api接口,进去看了看越看越香 结果:   就写了一个 上传图片到gitee服务器上并拿到图片的url地址的小项目,本着造福大家的原则于是就开源了~ 细节:   关键代码就是一个http请求而已,我把图贴上来,大家不会用C#的可以大概看一下~我相信在这里的各位不会用但是耶能看懂~    gitee : https://gitee.com/qinghuabumo_admin/ImageManager (开源不易,点个星星吧~ 来源: https://www.cnblogs.com/qhbm/p/12161452.html

Google 开源的 Python 命令行库:深入 fire(二)

狂风中的少年 提交于 2020-01-07 09:04:53
作者:HelloGitHub- Prodesire HelloGitHub 的《讲解开源项目》系列,项目地址: https://github.com/HelloGitHub-Team/Article 一、前言 在上一篇文章中我们介绍了 fire 的子命令、嵌套命令和属性访问等内容,今天我们将继续深入了解 fire 的其他功能。 本系列文章默认使用 Python 3 作为解释器进行讲解。 若你仍在使用 Python 2,请注意两者之间语法和库的使用差异哦~ 二、功能 2.1 最简命令实现 在上一节中,我们介绍了只要定义一个函数就可以实现命令行程序。比如: import fire def english(): return 'Hello, fire!' def chinese(): return '你好,fire!' if __name__ == '__main__': fire.Fire() 但这还不是最简单的实现方式, fire 甚至允许你通过定义变量的方式来实现命令行! 上面的例子可以写成下面这种形式: import fire english = 'Hello, fire!' chinese = '你好,fire!' if __name__ == '__main__': fire.Fire() 2.2 链式调用 在 Fire CLI 中

精选Spring Boot 优质GitHub开源项目!

纵然是瞬间 提交于 2020-01-07 01:49:16
Spring Boot 算是目前 Java 领域最火的技术栈了,也是Java开发人员不得不掌握的技术,今天给大家整理了13个优质 Spring Boot 开源项目给大家参考,希望能够帮助到正在学习 Spring Boot 的小伙伴!小伙伴简历中不知道写什么项目的或者项目没有亮点的,我只能帮你们到这了!下边的项目排名不分先后! 一、 mall https://github.com/macrozheng/mall mall项目是一套电商系统,包括前台商城系统及后台管理系统,基于SpringBoot+MyBatis实现。前台商城系统包含首页门户、商品推荐、商品搜索、商品展示、购物车、订单流程、会员中心、客户服务、帮助中心等模块。后台管理系统包含商品管理、订单管理、会员管理、促销管理、运营管理、内容管理、统计报表、财务管理、权限管理、设置等模块。 二、 Cloud-Platform https://gitee.com/geek_qi/cloud-platform Cloud-Platform是国内首个基于Spring Cloud微服务化开发平台,具有统一授权、认证后台管理系统,其中包含具备用户管理、资源权限管理、网关API 管理等多个模块,支持多业务系统并行开发,可以作为后端服务的开发脚手架。代码简洁,架构清晰,适合学习和直接项目中使用。核心技术采用Spring Boot 2.1