Warning this article may contain opinions of the author that you and iTWire don't agree with.
Visit the last page to have your say forum.
PDFPrintE-mail

No FOSS please, we’re Microsoft: checking out the .NET source code license

Opinion and Analysis

Since early this decade, Microsoft has been promoting their software framework, the .NET platform and its associated libraries. Now up to incarnation v3.5, Windows developers worldwide have rejoiced at the framework source code finally being made available. Yet, does this reflect any trend towards open source by the Redmond giant? How generous is the license and what does it mean?

free hit counter
Some background: previous versions of Windows have consisted of a bundled set of libraries, known as the application programmer interface – or API. To differentiate it, the first 32-bit libraries became known as the Win32 interface and the previous Windows 3.1 16-bit APIs were retrospectively titled Win16.

Yet, by the end of the last millennium Microsoft decided the burden of providing backwards compatibility hampered their freedom to innovate and deliver a modern programming milieu. Consequently, the .NET framework was birthed which essentially provides a runtime environment with a rich suite of functions and features. It sits atop the Windows framework itself and interprets .NET programs, fundamentally converting instructions at runtime.

The rise of a new framework necessitated the need for a new set of programming languages which would generate executable code in the right format; this then brought into being the Visual Studio.NET collection of languages – Visual Basic.NET, J# and C#, among others by other vendors. It’s now possible to find .NET versions of Delphi, Python and even COBOL.

These languages still share a similar syntax to their forebears but the primary difference is they make use of the provided .NET libraries to implement their functions and interfaces, and they emit code designed to run on the .NET runtime.

Fairly or unfairly, Microsoft’s strategy received some criticism at the time as being a copy of Java – which works in the exact same way; the Java compiler outputs code which is designed to run in a Java Virtual Machine. A compiled Java class should, in theory, run on any platform provided it has a Java interpreter available for it. Like .NET, Java came with a rich set of class libraries to provide graphical controls and many other useful objects like network communications classes, mathematics functions and many others.

However, whether Microsoft did or did not copy Java, there certainly were two notable implementation differences.

Firstly, Visual Studio has only ever been a Windows product. The .NET framework – at least, as supplied by Microsoft – is a Windows only product. By contrast, Sun Microsystems intended Java to be universal and spruiked a mantra, “write once, run anywhere” reflecting the goal that Java programs could be written on any machine and would run on any other machine, no matter its operating system or hardware architecture, provided a Java interpreter existed.

Secondly, the source code to the Java class libraries was made available right at the beginning, in a shy little file called “src.zip” whose importance could easily have escaped notice by many. Unpacking this archive brought forth a treasure trove to all Java programmers: the complete code to all the very class libraries they were working with daily to bring about frames and windows and sockets and vectors and the like.

Is Microsoft following in this stead? Read on!

CONTINUED




 




SPONSORED PRESS RELEASES

Websense Security Labs Reports ‘User Trust’ Targeted Attacks; Over 1 in 10 ‘Top Search’ Results Categorised as Malware; Increased Focus on Web 2.0
Websense, Inc. today revealed the findings from its bi-annual research report: Websense Security Labs, State of Internet Security, Q3-Q4 2009.

Featured IT jobs

A varied DBA role that involves multitasking in a dynamic software development environment dealing with challenging customer needs on a daily basis.
Skills Tags:   Linux  Oracle  UAT
A position has just become available for experienced Program/Project Manager to join a large organisation on a major Data Centre upgrade....
Skills Tags:   SAP
URGENT! Experienced BDM needed for senior sales role in Melbourne - must have ITSM consultancy sales experience.
Skills Tags:   C  Development  EDI  IT
CRITICAL INCIDENT COORDINATOR - 24 x 7 shifts - 3 month CONTRACT ONLY...
Skills Tags:   Excel  IT  ITIL  Management  Reporting

Editors Picks

Stories you may have missed 

What iTWire offers for free

E - mail News SMS Headlines Desktop Alerts News Feeds Job Alerts Technology Events Press-Releases