速来报名!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:381492
用户头像

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

关注

评论

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

PlatoFarm社区生态福音,用户可借助Elephant Swap获得溢价收益

股市老人

centos8快速安装mongdb6.0

技能实验室

一文读懂Okaleido Tiger近期动态,挖掘背后价值与潜力

西柚子

PLATO上线LAAS协议Elephant Swap,用户可借此获得溢价收益

鳄鱼视界

Prometheus 的 API 稳定性保障

耳东@Erdong

Prometheus API 7月月更

一文读懂Okaleido Tiger近期动态,挖掘背后价值与潜力

股市老人

年中总结 | 与自己对话,活在当下,每走一步都算数

宇宙之一粟

年中总结 7月月更

elasticsearch实战三部曲之一:索引操作

程序员欣宸

Java elasticsearch 7月月更

用户身份标识与账号体系实践

Java 架构 业务设计 IDMapping 数据映射

原型链继承和构造函数继承的 “毛病”

掘金安东尼

JavaScript 前端 设计模式 7月月更

英特尔数据中心GPU正式发货,以开放灵活提供强劲算力

科技新消息

React Refs 笔记📝

程序员海军

React 7月月更

requestVideoFrameCallback() 简单实例

devpoint

3D 视频处理 7月月更

SpringBoot基于异常处理exception发送邮件消息提醒

宁在春

springboot 7月月更

第二轮1000个Okaleido Tiger,再次登录Binance NFT 1小时售罄

BlockChain先知

Bootstrap Affix和过渡效果插件的详细使用【前端Bootstrap框架】

恒山其若陋兮

7月月更

C# 使用数据库对ListView控件数据绑定

IC00

C# 7月月更

深开鸿:万物智联的大江上,升起一轮开源鸿蒙月

脑极体

快手重点整治搬运、洗稿等方式的养号行为,自媒体平台如何净化内容生态

石头IT视角

2022必会的前端面试手写题

buchila11

智能电视与小程序的结合

Geek_99967b

物联网

DDD领域驱动设计如何进行工程化落地

慕枫技术笔记

DDD 架构设计 7月月更

一文读懂Okaleido Tiger近期动态,挖掘背后价值与潜力

鳄鱼视界

leetcode 763. Partition Labels 划分字母区间(中等)

okokabcd

LeetCode 数据结构与算法 贪心算法

研发效能的道法术器

laofo

DevOps cicd 研发效能 基础设施 持续交付

React Fragment

程序员海军

7月月更

被忽视的智能电视小程序领域

Geek_99967b

物联网

C# 之 volatile关键字解析

陈言必行

7月月更

敢看系列?Python字体反爬实战案例之实习那僧,继续挖坑

梦想橡皮擦

Python 爬虫 7月月更

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