Java与.Net,到底谁更开放?请听来自开源社区真正的声音

原创 2004年08月27日 13:02:00

从技术上:
作为一个平台,.net和java都非常的成熟和稳定,mono的jit编译器当前已经能够支持X86,sparc和ppc(itanium,s390,amd64和arm都已经在实现中),事情发展得非常快,虽然我希望在今年内还能有更多的发展。从另一个观点来看,.net有更好的特点,它更容易与现存的代码结合(使用P/Invoke和嵌入机制),我认为这点非常重要,因为GNOME的核心代码在今后几年内将很有可能继续使用C来完成。
语言独立性也总是要点之一,.net的虚拟机比JAVA提供了更好的功能,例如支持结构,函数指针,回调等等,允许人们使用各种不同的语言来写代码,例如,可以在.net中运行JAVA语言写的代码,但是反过来就不行。当你想要选择一个平台时候,最好是能选择能让各种不同语言之间进行互相交互的。我不想深入到C#和JAVA的细节对比之中,但是看上去非常多的人(使用JAVA编程的)发现C#改进了很多JAVA出现的问题(虽然JAVA的新版本将在今后几个月内也将会有所改进)。


从法律上:
大部分的法律问题都是围绕着软件的许可证和专利的可用性这个中心。MONO代码的可用性是基于LGPL许可证(运行时)和X11许可证(类库)。一些工具,例如C#编译器则是GPL,这些看上去并没有什么非常大的差异。
所以,对于MONO,至少这些核心的虚拟机和类库对于法律来说是自由的,但是JAVA却并不是,这点我们大家都已经知道。
当然,人们将MICROSOFT等同于恶魔,还有一些枪手说,加入SUN阵营比依靠MS会有更好的结果。这里我只提醒两件事:SUN和MICROSOFT都是大公司,他们之间的区别只是分别处于不同的位置。在这一边,例如,SUN贡献了OpenOffice给社区(我个人认为他的这个贡献大小不亚于LINUX的内核),但是另一方面,SUN又资助SCO,恐吓JBOSS等等。Microsoft,作为另一方,完全站在我们的社区之外,他也资助SCO,和我们竞争。但是同时,他也支持CLR和C#的标准化,而SUN却从来没有这么对JAVA做过。
如果拒绝一个标准仅仅只是因为它是MS提出的,我认为是不理智的:我敢打赌,在今天有超过90%的标准委员会都有MS的代表,而且还有一大堆他们的提议,难道我们仅仅因为这个就打算不和这些标准进行交互吗?自由软件一个成功的重要原因就是我们尝试实现一切可能的标准,和其它的系统交互,将一些私有的系统移植到开源平台。
所以,在最后,问题归结为:你是更愿意相信一个矛盾的对待我们的社区,并不允许我们使用它的专利许可的人,还是相信一个完全在我们社区之外,但是却允许我们使用他的专利许可的人?请不要回答.net技术并没有开放所有的许可,因为我可以很轻易的告诉你,JAVA是完全没有开放任何的许可。也提醒一下,虽然Microsoft目前是占有统治性的地位,但是他们也可能必须屈服于兼容性问题,就像在欧洲的反垄断法案一样(对我们有利)。
我知道一些人将会回答他们不会相信SUN和Microsoft中的任何一个,我认为他们遗漏了一点:在当前的专利形式下,任何可选择性的技术都会存在这样的风险,这并不只是SUN或Microsoft的问题,而是专利制度的问题。换句话来说:选择任何一项技术用来开发我们的应用和类库,专利的风险总是存在的。假如你使用专利和法律的风险以及我们的自由软件的成功率来画一幅图,你将会发现它是一条陡峭上升的曲线。假如我们希望能成功的提供一个自由的主流平台,我们将 面对专利和各种各样的法律恐吓(即使它们是毫无根据的,就像SCO给我们所展示的)。
如果我们想避免任何法律的问题,我们只有置身之外。

作者:Paolo Molaro
Debian Linux的开发者
Gtk+的贡献者
Gtk-Perl的领导开发者
Prosa的开发者

盘点 8 款好用的开源商城系统

全球电子商务巨头Amazon当家人贝索斯说过,“在现实世界的商店最有力的武器就是地段,地段,地段,而对于我们来说最重要的三件事就是技术,技术,技术。”可想而知,若要进军电子商务,商城系统的地位举足轻重...
  • hyfound
  • hyfound
  • 2016年03月03日 16:05
  • 3042

如何在Github上为开源贡献力量?

参与开源的一个好方式是为当前你正在使用的(开源)项目贡献力量。Github为多达五百万的开源项目提供托管。这里有各种技术集的项目,比如:recipes、 HTML/CSS、Ruby、Astrophys...
  • happyduoduo1
  • happyduoduo1
  • 2016年06月28日 14:15
  • 720

作为一名非Commiter,如何向开源社区提交自己的代码

前言作为一名职业程序员,如果去除待遇,薪资等等的因素考虑,从纯技术的角度出发,如何才能达到一个比较高的境界呢,答案是与最顶尖的那一批人交流合作,当然,最顶尖的那批人很多几乎估计都不在身边,而且大多在国...
  • Androidlushangderen
  • Androidlushangderen
  • 2015年11月02日 08:19
  • 5316

如何参与KVM/QEMU社区开发

如何在开源社区开发KVM/QEMU
  • nirendao
  • nirendao
  • 2016年12月16日 21:58
  • 1351

我为什么放弃Jboss和Jboss社区

1.我和jboss的结缘    直到现在还清晰的记得当初在学校和同学一起在jboss 4.0.x 上使用ejb 3.0 将一条数据存进mysql数据库里的那种喜悦之情。     我当初是在一个3、...
  • xiaobing_122613
  • xiaobing_122613
  • 2017年01月19日 09:05
  • 404

小程序「Github开源社区」

来自公众号 : DeveloperPython01、初衷 大概上上周我花了周末两天的时间编写了一款小程序并顺利提交审核。也就在前两天我的小程序 「Github开源社区」 历经了两周的审核,终于。。。。...
  • m694449212
  • m694449212
  • 2017年05月26日 09:54
  • 1155

(java开源框架)使用Google Guava来编写优雅的代码一Guava简介

以往我们在使用工具包的时候首先想到是著名的Apache的Commons系列,今天我要介绍的是同样出色,并且目前发展比Apache Commons系列更为迅速的Google Guava库。 G...
  • yuxiang1014
  • yuxiang1014
  • 2015年08月09日 22:11
  • 787

编程趣味:Python的缺点

最近在学习python,看了廖雪峰老师的python教程,摘取一段幽默语录。。记录一下 原文地址:http://www.liaoxuefeng.com/wiki/0014316089557264a6...
  • xiaoy20618
  • xiaoy20618
  • 2016年08月03日 09:05
  • 455

ASP.NET Core(一)【介绍】

ASP.NET Core 是对 ASP.NET 的一次意义重大的重新设计。本文介绍了 ASP.NET Core 中的一些新概念,并解释了它们如何帮助你开发现代的 Web 应用程序。什么是 ASP.NE...
  • WuLex
  • WuLex
  • 2017年05月19日 10:09
  • 819

十大开源软件贡献者排名

国外知名博客主评出了自己心目中的对开源贡献者Top 10,列出的自然是大家耳熟能详的大人物。您心目中的十大开源贡献者是下面的这些人吗?1. Linux之父-Linus TorvaldsLinus Be...
  • Augusdi
  • Augusdi
  • 2013年04月17日 09:08
  • 2300
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java与.Net,到底谁更开放?请听来自开源社区真正的声音
举报原因:
原因补充:

(最多只允许输入30个字)