14.07.2013 Views

Contents - Cultural View

Contents - Cultural View

Contents - Cultural View

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Comparison of the Java and .NET platforms 93<br />

Comparison of the Java and .NET platforms<br />

Legal issues<br />

Standardization<br />

The two platforms, their programming libraries, their binary formats, and their runtime environments have largely<br />

been governed by very different means.<br />

International standards organizations Ecma International and ISO/IEC define the standard for the .NET executable<br />

environment (known as the Common Language Infrastructure, or CLI), and .NET executable format (known as<br />

Common Intermediate Language, or CIL), but excluding most of the foundation classes (the Base Class Library, or<br />

BCL). This formal committee-based standardization process is in keeping with the way very popular languages like<br />

COBOL, Fortran and C have been standardized in the past. The standards do not include many new libraries that<br />

Microsoft has implemented on top of the standard framework, such as those for accessing databases, or building GUI<br />

and Web applications, such as Windows Forms, ASP.NET and ADO.NET.<br />

To date, no part of Java has been standardized by Ecma International, ISO/IEC, ANSI, or any other third-party<br />

standards organization. While Sun Microsystems has unlimited and exclusive legal rights to modify and license its<br />

Java trademarks, Sun voluntarily participates in a process called the Java Community Process (JCP) that allows<br />

interested parties to propose changes to any of Sun's Java technologies (from language and tools to API) via forums,<br />

consultation exercises and expert groups. The JCP requires a membership fee for commercial contributors, while<br />

non-commercial contributors and individuals can join for free.<br />

Within the rules of the JCP anyone can bring forward a proposal for a new Platform Edition Specifications or<br />

suggest changes to the Java language. All proposals are reviewed and voted on by interested JCP members at various<br />

stages throughout their lifecycle, however when it comes to including changes into the standard reference<br />

implementations (Java SE, Java EE and Java ME) modifications may be subject to rejection by Sun, who retain<br />

ultimate power of veto.<br />

Java standards are maintained by a suite of test applications which examine every aspect of a given Java<br />

implementation against a rigorous specification. Only if an implementation passes the tens of thousands of individual<br />

tests can it use the trademarked name "Java", and associated logos and brands.<br />

License<br />

Java<br />

While "Java" is a Sun trademark, and only Sun can license the name "Java", numerous free software projects exist<br />

that are compatible with Sun Java. Most notably, GNU Classpath and GCJ provide a free software class library and a<br />

compiler that are partially compatible with the current version of Sun Java. [1] Sun announced in November 13, 2006<br />

that all Java source code, excluding closed-source code for which they do not retain rights, will be released under a<br />

modified version of the GPL, [2] and released two fundamental parts of the JRE and JDK: HotSpot and the javac<br />

[3] [4]<br />

compiler under the GPL.<br />

Following their promise, Sun released the complete source code of the Class library under GPL on May 8, 2007,<br />

except some limited parts that were licensed by Sun from 3rd parties who did not want their code to be released<br />

under an open-source license [5] (see also Free Java implementations). Sun's goal is to replace the parts that remain<br />

closed with alternative implementations and make the class library completely open.<br />

In June 2008, Red Hat announced [6] that the IcedTea project has passed the rigorous Java TCK, indicating a fully<br />

functional open-source implementation of the Java platform.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!