AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

开源是.NET 的诅咒吗?

  • 2007-07-11
  • 本文字数:1334 字

    阅读完需:约 4 分钟

当.NET 发布第一个版本时,微软公司也同时将.NET 框架的一个子集以 Rotor 的形式发布为 Shared Source 。作为 Rotor 的 2.0 版本,Rumor 将作为最后一个以源代码形式发布给开发者社区的.NET CLI。从那时开始,微软公司与 Novell 公司以及 Mono 项目达成协议,以便让 Mono 能够继续发展。Mono 是一个开源版本的.NET 框架以及.NET 运行时的实现,它能够支持.NET 应用程序跨平台地运行于 U/Linux 和 OS X 之上——就像运行于 Windows 中一样。

在支持 Mono 的同时,Novell 公司又发起了若干个建立于 Mono 之上的开源.NET 应用程序。包括:

  • Banshee
  • Beagle
  • F-spot
  • iFolder
  • Monodevelop

当然,上面的列表并没有停止增长。Jeff Atwood 决定为一个优秀的.NET 开源项目再赞助一万美元。所言一出,震惊四座。作为Jeff 慷慨捐赠的回馈,很快这个列表中的.NET 开源项目就增长到了74 个。Jeff 这样说道: > 我为什么会对.NET 开源项目这么关心?简而言之,因为在微软技术领域中,开源项目通常都被看作是二等公民。很多开源项目对.NET 社区产生了巨大的推动作用,不过微软公司却并没有提供任何形式的支持。我希望这种状况能够得到改变。事实上,我不仅仅停留在“希望”上——若是微软公司希望以开发工具提供商的身份走得更远的话,那么这种状况则必须要改变!

可是,由于微软公司以及其他类似ISV 现有的商业模型,很多开源项目似乎根本无法在.NET 社区中存活。Frans Bouma 说道:> 开源项目并不需要金钱来维持,它们所需要的是关注。而微软公司近些年的做法却仅仅是将钱砸过去——结局自然毫无所获。因为在大多数微软平台开发者的眼中, 如果你想使用某个控件、类库或者工具,那么就必须要花钱来买;而若是你开发了这些产品,那么也自然能从中获取到金钱报酬。这才是微软平台上缺乏开源项目的根本原因。即使你投入了再多的钱,其本质并没有改变。而之所以其本质没有改变,主要原因却是微软公司并不希望看到这种改变——原因很简单:若这种改变确实发生了的话,那么微软公司所剩的日子也不多了。

Ted Dennison 又指出了在.NET 平台上开发开源项目所遇到的另一个问题:> 首先,在发起开源项目之前,开发者需要选择的各种.NET 授权协议都与 GPL 相互兼容吗?出于某些目的,微软公司将其 EULA 设定为无法兼容 GPL。虽然我相信有办法解决这些问题——因为我知道一个基于gcc 的Ada 编译器已经被成功移植到了.NET 平台上。不过最近流行的Ajax Control Toolkit 的协议却仍旧无法兼容GPL。在这儿 中可以看到,Ms-PL、Ms-CL、Ms-LPL 以及Ms-LCL 协议都是不兼容的。这样在开始项目之前,我还必须仔细阅读EULA 以便确保我的所作所为是合法的。

Phil Haack 用一堆自底向上的盘子作为比喻,总结出了一个有趣的观点 :> 让我们以看待休假的眼光来看待开源。虽然我希望一辈子都能什么都不做,一直休假,不过若是不行的话,那么只有一部分时间可以休假也是件好事。毕竟聊胜于无。

无论本文中“诅咒”选取的是希腊还是希伯来人的定义,在过去的几年中事实已经证实,开源软件在.NET 社区的发展确实是在停滞不前。我们InfoQ 中的.NET 栏目将为.NET 开源社区尽一份力所能及之力。请告诉我们你的项目的主要版本发布消息,我们很愿意刊登出这个消息并附以评论。

查看英文原文: Is Open Source an Anathema for .NET?

2007-07-11 09:381743
用户头像

发布了 37 篇内容, 共 98726 次阅读, 收获喜欢 3 次。

关注

评论

发布
暂无评论
发现更多内容

CTF题目中遇到的PHP考点总结(一)

H

php CTF WEB安全

[Python公开课]零基础玩转Python基础篇----第三节:Python的常用语句

是Dream呀

Python 2月月更

【Python训练营】Python每日一练----第2天:门牌制作

是Dream呀

2月月更

爬虫requests模块 入门到入狱 :基础知识+实战分析

是Dream呀

2月月更

如何找寻职业方向感

万事ONES

ONES

YoloV5实战:手把手教物体检测

华为云开发者联盟

物体检测 模型 yolo YOLOv5 Labelme

使用s3fs在centos上挂载bucket

阿呆

S3

金融行业研发管理平台选型

帅气IT小哥

[Python公开课]零基础玩转Python进阶篇----第二节:Python的异常分析及解决

是Dream呀

2月月更

Serverless 与工具链建设

刘宇

Serverless 工具链

【思特奇杯·云上蓝桥-算法集训营】第2周----真题汇总+思路分享

是Dream呀

2月月更

Hive 数据倾斜问题定位排查及解决

编程江湖

开源算力引擎 BridgX 发布 0.6.0 版本:新增三种权限管理功能

星汉未来

开源 运维 云原生 云计算, 开源生态

[Python公开课]零基础玩转Python基础篇----第四节:Python的字符串

是Dream呀

Python 2月月更

[Python公开课]零基础玩转Python基础篇----第七节:Python中的高级函数

是Dream呀

2月月更

[Python公开课]零基础玩转Python进阶篇----第一节:Python中的文件操作

是Dream呀

2月月更

刚出炉的《Java开发手册黄山版》,我帮你们圈出了改动点!

捉虫大师

智能运维引擎 CudgX 更新 V0.2.0 版本,新增根据 MetricQPS 进行自动扩缩容!

星汉未来

云原生 算力 智能运维 扩缩容

基础架构部如何推动新一代云原生架构变革

星汉未来

开源 云原生 开源社区 云计算,

Flutter 屏幕采集实战分享

ZEGO即构

flutter 音视频开发 屏幕采集编码

[Python公开课]零基础玩转Python基础篇----第六节:Python中的函数

是Dream呀

2月月更

NodeJS搭建本地服务指南

编程江湖

node,js

你知道,java项目中是如何获取文件地址的吗?

华为云开发者联盟

Java 路径 ClassLoader 文件地址 绝对地址

[Python公开课]零基础玩转Python基础篇----第五节:Python的列表、元组和字典

是Dream呀

Python 2月月更

一文看懂业界在离线混部技术

星汉未来

开源 云原生 服务治理 云计算, 混部

详解CNN实现中文文本分类过程

华为云开发者联盟

机器学习 CNN 深度神经网络 文本分类 Word2Vec

博云信创云管平台入选工信部推荐解决方案名单,头部券商信创案例获应用示范单项!

BoCloud博云

云服务 信创 云平台

Python格式字符串的三种方法你都掌握了吗,%s%d%f+format()+f-string,深度测评YYDS实至名归

是Dream呀

2月月更

产品更新 | 数据物流引擎 DTExpress 新增算力市场及跨云传输

星汉未来

数据迁移 云算力 云 原生云 CTO

跨平台应用开发进阶(二) :uni-app 实战

No Silver Bullet

uni-app 跨平台 规范 2月月更

一行代码:开启 eBPF,代替 iptables,加速 Istio

Daocloud 道客

istio 开源项目 网络加速 服务网格 ebpf

开源是.NET的诅咒吗?_.NET_James Vastbinder_InfoQ精选文章