积极拥抱.NET Core开源社区
潘正磊在上海的Tech Summit 2018 大会上给我们的.NET Core以及开源情况带来了最新信息。
.Net Core 开源后取得了更加快速的发展,目前越活跃用户高达400万人,每月新增开发者45万,在 GitHub 上的月度增长达到15%。目前有来自超过3,700家企业的1.9万开发者在为 .NET Core 做贡献,.NET 基金会管理着超过60个项目。
.NET Core 为开发者提供了跨平台、云原生应用的理想开发平台,特别是即将发布的 .NET Core 3,能够全面支持从网页到云端、桌面、物联网、人工智能的全方位的跨平台部署。在大会现场,微软演示了 Windows 桌面在 .NET Core 3.0上运行的情况,充分展现了将其用于未来开发环境的无限可能。
对于中国开源,潘正磊讲起了一个发现,那就是今年在 GitHub 报告中看到中国在开源领域已仅次于美国名列第二,“在中国有非常多的开发者参与到开源项目中,这真的是一个非常好的趋势。很高兴看到诸如腾讯、阿里等顶级的互联网公司也开始将企业内部的技术开源,这起到了非常好的领头作用,希望更多的中国企业能够加入开源。
不过,针对国内开源项目的使用,潘正磊有一点建议,那便是“中国的开源社区需要与国际更加接轨,要形成一个观念 —— 不是说开源项目就等于可以随便使用,明晰开源许可协议。国内有一些大的云服务公司没有很好地遵守相应的 Licence。这可能是大家对于开源的认识存在一些误区,开源并非是可以任意使用源代码,还需要明确其许可协议是什么类型,诸如 GPL、BSD、MIT、Mozilla、Apache 等的区别。”
在中国使用最广泛的JDK,甲骨文宣布,“2019年1月之后”,如果没有商业许可,Java SE 8公开更新将无法用于“商业,商业或生产用途”。组织现在需要对运行Java SE 8的所有软件进行评估,并开始计算明年他们正在寻找的潜在账单。
Java Development Kit(JDK)是SUN公司针对Java开发人员发布的免费软件开发工具包(SDK,Software development kit)。目前遵守GPL协议的OpenJDK的发布,并且免费使用。
OpenJDK 所使用的GPL协议和.NET Core所使用的MIT和Apache 2协议比起来可以看出微软是真的爱开源。
今天我也正好在杭州的中国计算机大会的现代编程语言论坛分享了《.NET Core和中国开源社区》。随着微软2014年开始积极拥抱开源,国内的社区开发者也在积极拥抱开源社区,我们也和微软一样选择使用对商用最友好的开源协议MIT和Apache2 协议。
我们参与开源的方式也是多种多样,既有我们自己的组织,也有积极参与国外的项目,更有参与国内的开源生态型项目。
参与国外的开源社区项目的代表是Ocelot,这也是我在2年前参与的一位英国Tom 发起的开源项目,我们一起完成了Ocelot的1.0版本,我将他应用于生产,微软.NET团队特意千里迢迢来到深圳和我们的团队一起拍了一个宣传视频,多次出现在潘正磊的演讲中,这次的Keynote上又出现了:https://v.qq.com/x/page/z0505atdyg2.html 。
通过这两年在国内的推广,国内已经有很多使用案例,我特意建立了一个微信群收集把Ocelot落地到业务中的公司。也就是这个微信群里的多位同学将他们对Ocelot的扩展进行开源回馈到了Ocelot,不断的丰富了Ocelot的功能。
在这几年时间里我们不局限于单打独斗的开源,我们一定需要通过协作来推动开源项目的发展,我们在github上成立了国内的开源组织dotnetcore:
这个组织最早起源于大家一起进行文档翻译,到现在已经有12个成员项目,最近还有一个比较特别的项目BotSharp的加入,让这个组织更有活力。
在云原生应用开发时代,需要建设大量的云基础设施,所以我们也需要融入整个云原生发展的生态之中,这其中有两个代表性的项目是SkyWalking .NET Core 探针和Tarsnet 开源项目。
这里特别想号召有想法的同学加入我们的Tarsnet的开发,目前Tarsnet已经完成最核心的RPC、Codecs以及CLI 工具的开发,接下来有大量的对接tars平台的服务开发工作,有兴趣的同学欢迎微信联系我:geffzhang。
积极拥抱.NET Core开源社区的更多相关文章
- 积极参与开源项目,促进.NET Core生态社区发展
今天早上在微信群里聊天聊到百度的SDK 已经支持.NET Core, 百度已经在3月份就支持了,想起当时还是我在他们的github上提的issue: https://github.com/Baidu- ...
- 一份关于组建.NET Core开源团队的倡议书
组建这个.NET Core开源团队,旨在为社区出一份力,对自己能力也是一个提升,是一个即利于他人,也利于自己的想法和行动.如果你有很多想法,如果你需要认识更多志同道合的朋友,如果你想展示自己的才华,如 ...
- Magicodes.Admin.Core开源框架总体介绍
框架说明 Magicodes.Admin.Core框架在ABP以及ASP.NET ZERO的基础上进行了封装和完善,目前基于.NET Core 2.0+(Framework版本),由于部分组件在.NE ...
- 拥抱.NET Core系列:MemoryCache 缓存过期
在上一篇"拥抱.NET Core系列:MemoryCache 初识"中我们基本了解了缓存的添加.删除.获取,那么今天我们来看看缓存的过期机制.这里和上篇一样将把"Micr ...
- 拥抱.NET Core系列:MemoryCache 缓存选项
在上一篇 "拥抱.NET Core系列:MemoryCache 缓存过期" 中我们详细的了解了缓存过期相关的内容,今天我们来介绍一下 MSCache 中的 Options,由此来介 ...
- 拥抱.NET Core系列:MemoryCache 缓存域
在上一篇“<拥抱.NET Core系列:MemoryCache 缓存选项>”我们介绍了一些 MSCache 的机制,今天我们来介绍一下 MSCache 中的缓存域. MSCache项目 M ...
- 首届.NET Core开源峰会
首届.NET Core开源峰会 代号:dnc 2018 亮点:去中心化.社区驱动 开源峰会 时间:2018年5月20日 周日 地点:在线峰会.远程参与 形式:每个主题5分钟-15分钟闪电演讲 演讲方式 ...
- 2018 dnc 公司案例大全,迎接.NET Core开源新时代
2018 dnc 公司案例大全,迎接.NET Core开源新时代 dnc = .NET Core.dotnet Core dnc是微软新一代主力编程平台,开源.免费.跨平台.轻量级.高性能,支持L ...
- 福州首届.NET开源社区技术交流会圆满成功
活动总结 2018年11月10日周六的下午,在福州蒲公英创新工场举办了福州首届.NET开源社区技术交流会,来自福建省各大科技公司的技术小伙伴齐聚一堂,为了就是能在现场学习到微软跨平台技术.NET Co ...
随机推荐
- Centos下的apache2练习
前言: 我上星期一直在写代码忘记写博客了,明天回去补回来.脚本主要用于收集信息 今天刚刚学完apache.来做个总结,写的不好请多多指指出. 目标: Centos6.5的IP:192.168.1.21 ...
- Linux时间子系统之三:时间的维护者:timekeeper
专题文档汇总目录 Notes: 原文地址:Linux时间子系统之三:时间的维护者:timekeeper 本系列文章的前两节讨论了用于计时的时钟源:clocksource,以及内核内部时间的一些表示方法 ...
- 了解mysqlpump工具
Ⅰ.功能分析 1.1 多线程介绍 mysqlpump是MySQL5.7的官方工具,用于取代mysqldump,其参数与mysqldump基本一样 mysqlpump是多线程备份,但只能到表级别,单表备 ...
- Java JWT: JSON Web Token
Java JWT: JSON Web Token for Java and Android JJWT aims to be the easiest to use and understand libr ...
- XML解析的四种方法 建议使用demo4j解析 测试可以用
https://www.cnblogs.com/longqingyang/p/5577937.html 4.DOM4J解析 特征: 1.JDOM的一种智能分支,它合并了许多超出基本XML文档表示的功 ...
- selenium设置proxy、headers(phantomjs、Chrome、Firefox)
phantomjs 设置ip 方法1: service_args = [ '--proxy=%s' % ip_html, # 代理 IP:prot (eg:192.168.0.28:808) '--p ...
- Python replace()方法
描述 Python replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次. 语法 replace()方法语法: st ...
- TestNG失败用例自动截图
参考:https://blog.csdn.net/wangxin1982314/article/details/50247245 1. 首先写一个截屏方法 public class ScreenSho ...
- Github管理自己的代码-远程篇
一.名词解释 Git Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版 ...
- 如何在苹果笔记本上装win7系统
有一哥们,他说他boss给他配了台苹果,可是很不习惯,让我给装一个win系统.以下是我从百度借鉴的: 步骤一 先使用Boot Camp 分割磁盘 1 在Finder工具条中点选"前往&q ...