积极拥抱.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 ...
随机推荐
- 聊聊 Spring Boot 2.x 那些事儿
本文目录: 即将的 Spring 2.0 - Spring 2.0 是什么 - 开发环境和 IDE - 使用 Spring Initializr 快速入门 Starter 组件 - Web:REST ...
- LINUX PID 1和SYSTEMD 专题
Linux下有3个特殊的进程,idle进程(PID = 0), init进程(PID = 1)和kthreadd(PID = 2) idle进程其pid=0,其前身是系统创建的第一个进程,也是唯一一个 ...
- Vector简单介绍
/*枚举就是Vector特有的取出方式发现枚举和迭代器很像其实枚举和迭代是一样的因为枚举的名称以及方法的名称都过长了.所以被迭代器取代了枚举郁郁而终了. */ import java.util.*;c ...
- HTML5 CSS3专题 诱人的实例 CSS3打造百度贴吧的3D翻牌效果
首先感谢w3cfuns的老师~ 今天给大家带来一个CSS3制作的翻牌效果,就是鼠标移到元素上,感觉可以看到元素背后的信息.大家如果制作考验记忆力的连连看.扑克类的游戏神马的,甚至给女朋友写一些话语,放 ...
- 各位情人节快乐, Python帮忙撒狗粮, 我连夜做了这个程序!
阅读本文大概需要5分钟 码农的情人节 一年一度的情人节要来啦,这个浪漫温馨的节日,走在大街小巷,走在地铁里,走在商场里,走在电影院,姑娘们手里几乎都捧着一束花,心里都是乐滋滋的,一脸幸福的样子,忽然想 ...
- 转载:selenium webdriver定位不到元素的五种原因及解决办法
1.动态id定位不到元素for example: //WebElement xiexin_element = driver.findElement(By.id("_mail_c ...
- rename_windows.go
{ if err != nil { return err } return syscall.EINVAL } r ...
- [USACO11JAN]大陆议会The Continental Cowngress_2-sat
[USACO11JAN]大陆议会The Continental Cowngress_2-sat 题意: 由于对Farmer John的领导感到极其不悦,奶牛们退出了农场,组建了奶牛议会. 议会以“每头 ...
- shell脚本添加实例化参数
通过shell脚本给GMP系统添加一个环境变量参数dateSwitchTimeInterval 1. insert.sh #!/bin/sh . ~/apphome/aic_export.sh #连接 ...
- jquery中attr()和prop()的区别
最近项目回归使用jquery,页面渲染全是使用jquery做的,所以做的时候也遇到了许多以前没有见过的问题,如这次操作[radio]控件的"checked"属性时有遇到问题, $( ...