More than one million lines of source code for .net will be made available under Microsoft's previously announced "Shared Source" licensing program to academic researchers in university computer-science departments. Shared source is Microsoft's response to the open-source software movement and the growing popularity of the Linux operating system. Open-source software such as Linux typically is developed by programmers collaborating and freely sharing code updates.
Under Microsoft's shared source licence, developers have been able to view source code, but not modify it as they can with Linux. The shared-source implementation for .net and Microsoft's Common Language Infrastructure for academics will run on the Windows XP operating system and the open-source FreeBSD derivative of the Unix operating system.
Windows source code is also available to academics under shared source licensing, allowing non-commercial modification for academic and research purposes.
Microsoft's source-code announcement came as Sun Microsystems handed developers more pieces of its Java programming technology designed for building and deploying Web services, at the JavaOne Developer Conference in San Francisco. Sun said developers will be able to submit some changes for Java under open-source licences and receive financial support from the company for their projects.
Microsoft has made a number of moves recently that have been seen as a reaction to both Sun's Java efforts and growing momentum for open-source projects. For example, Microsoft has submitted some of the underpinnings of its .net initiative to a European standards body. Those technologies, which include the C# programming language and a component of its .net Framework called CLI (Common Language Infrastructure), were approved as standards by the European Computer Manufacturers Association (ECMA) in December 2001.
Microsoft has also funded an effort by software maker Corel to implement the ECMA standards and create the version of the .net Framework for FreeBSD and testing. That implementation is what Microsoft will hand out under its latest academic deal.
"It's useful to validate specifications as they go through standardisation," said John Montgomery, a Microsoft product manager, on why the company first created the FreeBSD version of the .net Framework.
C#, a component-oriented programming language Microsoft developed, has been compared to Java in that, among other things, it is intended to allow developers to write code and reuse pieces of it when building various applications. CLI is the underlying technology for enabling developers to write .net applications in more than 20 programming languages.
Microsoft's implementation of those technologies is called the .net Framework. The company intends to use .net Framework as the common platform for Web services and software that link business processes together over the Internet with XML (Extensible Markup Language).
Microsoft's new move to open up its .net technology to academia will allow the company to gain vital feedback from engineers who are able to study the code for purposes other than making commercial technology. It is a move that is intended to expose students and researchers to Windows technology in addition to the Unix and Java programming that are also prevalent in the academic community, Montgomery said. Microsoft has been giving academics greater access to its code in the past few months, recently allowing its academic licensees to publish some Windows code in textbooks.
Also last month, Microsoft permitted about 150 systems integrators with partnership agreements to have source-code access under the shared-source initiative, ostensibly to aid partners' security analysis, troubleshooting, customisation and privacy verification tasks.
In addition to the work done by Corel, various open-source efforts are under way to develop alternative versions of the .net Framework based on the code Microsoft has submitted to ECMA. The Mono Project, lead by Miguel de Icaza, chief technology officer of Ximian, has been using the ECMA standards to develop a version of .net for Linux, Unix and the Mac OS X operating systems.
"Without Microsoft's submissions it's not possible to implement the technology," for other platforms, de Icaza said Tuesday.