Puneet Varma (Editor)

Portable.NET

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Written in
  
C, C#

Type
  
.NET

Website
  
www.dotgnu.org

Operating system
  
Cross-platform

License
  
GPL

Stable release
  
0.8.0 / March 20, 2007; 10 years ago (2007-03-20)

Part of the decommissioned DotGNU project, Portable.NET is a free software and open source software initiative aiming to build a portable toolchain and runtime for Common Language Infrastructure applications. The project focuses on compatibility with the ECMA-334 and ECMA-335 standards and support for .NET's base class libraries, XML, and Windows Forms. As of March 2007 the latest release of Portable.NET is 0.8.0. The project supports a number of different CPU architectures and operating systems.

Contents

It was originally started by Norbert Bollow and Rhys Weatherley, at that time director of Southern Storm Software, Pty Ltd. After Rhys Weatherley and many up-to-date developers quit development of Portable.NET, Klaus Treichel, Kirill Kononenko, Radek Polak, Aleksey Demakov continued development and design of Portable.NET Just-In-Time compiler and LibJIT Just-In-Time compilation library.

Portable.NET and Microsoft's patents

Portable.NET's implementation of those components of the .NET stack not submitted to the ECMA for standardization has been the source of patent violation concerns for much of the life of the project. In particular, discussion has taken place about whether Microsoft could destroy the Portable.NET project through patent suits.

The base technologies submitted to the ECMA may be non-problematic. The concerns primarily relate to technologies developed by Microsoft on top of the .NET Framework, such as ASP.NET, ADO.NET and Windows Forms (see Non-standardized namespaces), i.e. parts composing Portable.NET's Windows compatibility stack. These technologies are today not fully implemented in Portable.NET and not required for developing Portable.NET-applications.

Free Software Foundation's warnings

In a note posted on the Free Software Foundation's news website in June 2009, Richard Stallman warned that he believes "Microsoft is probably planning to force all free C# implementations underground some day using software patents" and recommended that developers avoid taking what he described as the "gratuitous risk" associated with "depend[ing] on the free C# implementations", including Portable.NET.

PnetC

pnetC is the Portable.NET C library. The goal of the project is to create an ANSI-compatible C library (based on GNU C Library - glibc), that can be compiled to IL using Portable.NET's "cscc" compiler. The C compiler can be used to develop standard C applications and/or applications using the .NET API.

The C compiler and library has been included with Portable.NET since version 0.4.4 and over time has matured enough to become a viable alternative to C# for writing Microsoft .NET applications. Although it is not yet feature complete, it does include a minimal standard C library and POSIX threads library, making it possible to develop complex applications. The C compiler generates pure CIL bytecode (with no dependencies upon external native libraries) and the ABI adapts itself to the particulars of the runtime engine that executes the program.

References

Portable.NET Wikipedia