[HTML 2.0]   [PRINTER FRIENDLY]

 

DotGNU Project - GNU Freedom for the Net

 

 

 

 

 

 


 

GNU Freedom for the Net

The mission of the DotGNU project is to solve the vendor lock-in problem of Microsoft's .NET by creating a competing Free Software. platform which is compatible enough with .NET to make migration reasonably easy.

We invite individuals and businesses worldwide to join us in a collaborative effort to defeat the monopolistic threat of .NET by creating a competing platform that truly meets the needs of its users. We say: "Ok, MS you are pushing webservices and C# and IL because you want to catch everyone in your dotNET, but GNU is taking precisely that technology and using it to set the world free from your monopolies."

The most impressive parts of DotGNU are currently:

  • DotGNU Portable.NET, which builds a suite of compilers (the currently supported languages are C#, C and BF, with VB and Java support in the works), C# class library, and related development tools.
  • phpGroupWare, a multi-user web-based GroupWare suite, which also serves to provide a good collection of webservice components, all of which can be accessed through XML-RPC so that you can easily integrate them into webservice applications of your own.
  • The DGEE webservice server is also moving forward nicely.

Recent Screenshots

Click on the tumbnails to view the screenshots in full size with a brief explanation. More screenshots.

       

News

DotGNU news is also available as an RSS feed.     [Valid RSS]

September 06-09-2003: Portable.NET 0.5.12 released

Portable.NET 0.5.12 has been released, and is available for download. This is mostly a bug fix release, heading up towards 0.6.0, but with substantial improvements throughout the system. Particularly Winforms (many thanks to Neil Cawse). Please check out the new, improved pnetlib-status pages, and help us nail the rest of the core classes prior to 0.6.0.

August 26-08-2003: 1st International DotGNU Collaborative Coding Competition

The DotGNU project is holding an international competition in the area of collaboratively implementing System.Windows.Forms. Besides the chance of winning one of fifteen monetary prizes totalling US$ 4500, participants get the good feeling of having contributed to setting the IT world free from the dominion of a certain monopolistic company. The full anouncement is here.

August 09-08-2003: DotGNU 0.1 to be released end-September

At today's irc meeting, the release date for DotGNU 0.1 has been fixed at end-September. For Portable.NET the goals are to get pnetC to basic usefulness, fix as many system.xml bugs as we can, and make the core button/textbox/scroll widgets work in winforms.

July 26-07-2003: Portable.NET 0.5.10 released

Breaking the tradition, which required a 0.6.0 this time , the pnet developers have decided to put out 0.5.10, 0.5.12, etc, as release candidates for 0.6.0, which will be part of DotGNU 0.1.

A lot has happened this release. The System.Windows.Forms namespace is coming along well. The DotGNU community has chipped in more than its fair share of it this release - particularly Simon Guindon, Neil Cawse, Richard Baumann, Ian Fung, Cecilio Pardo, and the relentless Gopal V. Threading now works very well (thanks to Thong Nguyen aka tum) and Reflection.Emit (Richard Baumann) too. The C compiler has advanced enough to compile most C programs. The pnetC now has significant bits of glibc and is looking for people to help port the rest of glibc here. The CVM unroller was also rewritten into a generic framework that should be much easier to port to new architectures.

Read the full NEWS entries here. here and download it from here.

July 24-07-2003: Portable.net runs Component Pascal

Gardens Point Component Pascal (GPCP) works with Portable.net. GPCP is interesting because the compiler and runtime are completely hosted inside the CLI environment, using ilasm to generate the output binaries. Read more about GPCP here and the instructions for using it with Portable.net here.

July 18-07-2003: Installar packages for the MS Windows system

Installer packages for the MS Windows system are available: treecc 0.2.6 and Portable.NET 0.5.8

July 18-07-2003: TreeCC 0.2.6 released

TreeCC 0.2.6 was released with minor modifications , which adds an additional GC allocated node model to the original HEAP allocated (malloc) model and namespace support to C++ output. Other minor bug fixes and improvements go along. Read the full announcement here.

July 14-07-2003: PPC Speed Gains in DotGNU Portable.NET

Portable.NET on the PPC has recently doubled in speed due to the use of manual register assignments on that platform. The speed gains will be noticeable once the PPC unroller port has been completed. For more details, read the mailing list thread.

July 12-07-2003: Generic Unroller in DotGNU Portable.NET

The generic unroller has finally hit pnet cvs. The unroller is responsible for producing native code (much like a JIT) for the pnet runtime. The generic unroller separates the CPU specific details of native code generation, like opcode values and register ordering, from generic features, like register allocation, greatly simplifying the process of porting the unroller to new platforms. The ARM and x86 ports are already working and support for IA-64, PPC, and Alpha is in the works. For more details, read the mailing list thread.

July 05-07-2003: DotGNU Manifesto

The DotGNU Manifesto is now official, and consequently the version number has been changed to 1.0. (There are no other changes from draft version 0.4).

June 29-06-2003: Threading in DotGNU Portable.NET

Thanks to the works of Thong Nguyen (tum), threading is working in DotGNU Portable.NET now. For more details please refer to the PortableNet/Threads wiki page.

June 27-06-2003: Video Clip of System.Windows.Forms on handhelds

We now have a video clip showing one of the famous DotGNU coding fingers testing System.Windows.Forms on an Ipaq handheld computer with DotGNU Portable.NET

June 17-06-2003: Portable.NET 0.5.8 released

A lot of things have happened since the last Portable.NET release. The Java and Visual Basic language front-ends for cscc have been added to the system, and a huge number of new classes have been implemented in pnetlib, including support for IPv6 and IrDA networking.

We have also begun implementation of the System.Windows.Forms library, built on top of the X11 library. This means that it will be able to run on any X11-capable system. Currently tested to work on x86-based GNU/Linux systems and ppc-based MacOS X systems.

We are looking for volunteers to help us implement the "x11-winforms" library as quickly as possible, and to test it on as many platforms as possible.

Finally, the ml-pnet project has been started to provide ports of certain Mono C# libraries. System.Data (ADO.NET) currently works, and we hope to have System.Web (ASP.NET) working soon.

The full announcement is here.

June 16-06-2003: X11-WinForms support for OS X

Portable.net System.Windows.Forms is now working on OS X as well as GNU/Linux. Screenshots of test programs on OS X are here, here and here. We ask OS X developers to help us with continuing this work.

June 13-06-2003: WinForms support for Portable.net

Portable.net has started work on the System.Windows.Forms namespace and a simple forms example has been run on the platform. The WinForms effort is to proceed as a new lightweight toolkit based on System.Drawing rather than as a UI wrapper system. This will allow it to be compatible to the specifications even when the native UI is different. Currently a system based on X11 drawing apis is being developed. Read all about it here or see a screenshot.

June 6-06-2003: Postgresql provider for ML-Pnet

The DotGNU Portable.net project now has added a full capability Managed Postgresql Provider thanks to the efforts of the Npgsql project admin Francisco Figueiredo Jr. The detailed instructions are available from the Npgsql News Page .

June 2-06-2003: Three Quarters of a Million Lines!

The DotGNU Portable.NET project has passed the "750,000 lines of code" milestone. Read the full anouncement here.

May 29-05-2003: Support for IPv6 and IrDa protocols

Portable.NET now has support for IPv6 (the "next generation" internet protocol which fixes a number of problems with the current version, in particular the limited number of available IPv4 addresses) and the IrDa sockets protocol (so that now you can use DotGNU to build networks between infrared capable handhelds and workstations). With Portable.NET, IrDA is supported in all versions where the OS kernel supports it, not just handhelds. (This differs from Microsoft's version of .NET where IrDa capability is not available in the workstation-level SDK.)

May 25-05-2003: Pnetlib status pages now against .NET 1.1

The pnetlib-status pages have been updated to include comparisons to the .NET 1.1 standard. Only 474 classes to go, so please pick a class , any class and lend a hand. We're nearly there !.

May 17-05-2003: It's raining compilers this weekend

Version 0.0.2 of the DotGNU JAVA compiler has been released and integrated into pnet cvs.

May 17-05-2003: Compiler for minimalistic programming language and demo webservice

Following a complaint that DotGNU did not yet have a compiler for a minimalistic programming language, such a compiler was quickly created, together with a demo webservice. The code is in pnet cvs and can serve as a simple example of a cscc plugin.

May 16-05-2003: Hello World in Visual Basic.NET

The beginnings of Visual Basic.NET support are now in pnet cvs. Try "cscc -o hello hello.vb" and run with "ilrun hello". If you would like to help out on the VB project, then there is lots of work still to do:

  1. Building the treecc nodes in the parser for the remaining syntax.
  2. VB-specific semantic analysis and codegen routines.
  3. Flesh out the standard library in pnetlib/Basic.
  4. Build test cases for the compiler in cscctest.
  5. Build test cases for the standard library in pnetlib/Basic.

1 and 2 require cscc compiler skills - if you're interested in learning the compiler, then this is the time to start. The Java, VB, C#, and C front ends will all need lots of eager beavers over the next few months. 3, 4, and 5 are easier, mainly requiring C# and/or VB programming skills. Grep for "TODO" under pnetlib/Basic, check out the documentation for the Microsoft.VisualBasic namespace on msdn.microsoft.com, and send in those patches!

May 05-05-2003: Code unroller for ARM CPUs available

Rhys has written a CVM code unroller for ARM/StrongARM platforms. An unroller uses some simple JIT techniques to translate commonly-used CVM instructions into native code. The result is about a 2-3 times improvement in performance on ARM, compared with the default direct threaded configuration. For more details, read the announcement.

May 03-05-2003: Portable.NET 0.5.6 released

Besides "mscorlib.dll" being now 100% signature compatible with the corresponding assembly in version 1.1 (see previous news item), the other big news is that the library can now be built in multiple configurations with "./configure --with-profile=X", where "X" is one of the following:

full, ecma, compact, compact-fp, kernel, kernel-fp, tiny, tiny-fp

For detailed NEWS entries and signed md5sum's, read the announcement.

Apr 26-04-2003: 100% signature compatibility of mscorlib.dll

The lowest-level library within pnetlib, "mscorlib.dll", is now signature compatible with the corresponding assembly in version 1.1 of the .NET Framework SDK. Every class, every method, every interop marker attribute, and every silly little enumerated constant. All of it! Read the announcement and please help with testing!

Apr 26-04-2003: Java patches available for download

Gopal's patches to make cscc compile Java are available from http://norbert.ch/java_patches_by_gopal.tgz now. The author considers the Java compiler project to be about 70% complete.

Apr 10-04-2003: New DotGNU manifesto draft

RMS has responded to the new DotGNU Manifesto draft with the words "It looks good to me".

Apr 07-04-2003: Installer for MS Windows System available for download

Bob Johnson has compiled DotGNU Portable.NET and TREECC for the Microsoft Windows system and created nice "installer" packages. Thanks, Bob! You can download the packages here: PNET-0-5-4-Setup.zip and TREECC-0.2-4-Setup.zip.

Apr 04-04-2003: Discussion of W3C Patents Policy

A thoughtful discussion of W3C's new proposed Patents Policy, and why it is unacceptable from DotGNU's perspective, is unfolding at kuro5hin.org following an opinion piece posted by nb aka bizcoach.

Mar 31-03-2003: DGEE Release 0.1.4

Version 0.1.4 of DGEE, the DotGNU Execution Environment has been released. There is now full XML-RPC support, multiple VM support, multiple webservice language support, auto-generation of client XML-RPC code from assembly, and better memory management. An installation helper "dgeediagnose" is available for sorting out ipc resource issues.

Mar 31-03-2003: Portable.Net Release 0.5.4

DotGNU Portable.Net 0.5.4 has been released. Pnetlib 0.5.4 and TreeCC 0.2.4 have been released along with it. The high points are the beginnings of support for Generic IL and Reflection.Emit, with lots of little bug fixes here and there. Read more here or go get it from here.

Mar 28-03-2003: Portable.Net Release Timetable

The Portable.NET project, which is central for DotGNU's efforts for compatibility with Microsoft's .NET, now has a firm release schedule. Full support for ECMA standards 334 and 335 is epected by the end of June 2003.

Mar 01-03-2003: DotGNU Wiki Pages

DotGNU now has a collaborative webpage at wiki.dotgnu.org and is building a collection of information related to dotgnu and its subprojects. Adam Ballai has been central to this development and has set this up . So everyone is invited to chip in and go wiki.

Feb 22-02-2003: Generic IL support

The DotGNU Portable.net base tools now have support for Generic IL. Portable.NET is the first Free Software implementation of the CLI to release real support for Generic IL. It includes the assembler and disassembler for now. The compiler is being worked upon to support generic C# in the near future. Read all about what's done and what's not in this mail .

Feb 08-02-2003: Portable.Net Release 0.5.2

DotGNU Portable.Net 0.5.2 has been released. Pnetlib 0.5.2 and TreeCC 0.2.2 have been released along with it. This release has been a quantum jump in portability with platforms as varied as x86,IA-64,S390,arm,PA-RISC etc being supported. Read about the rest of the new whistles and bells here or go get it from here.

Jan 27-01-2003: The RSS Feed is on !

The Dotgnu website team have decided that RSS is the way to go and true to our webservice initiatives we now have a cool RSS feed. Syndicate !

Jan 18-01-2003: The Portable.net papers

A paper about ``The Design of the Portable.NET Interpreter'' is being presented by Rhys Weatherly at the Linux Conference 2003, Australia. The paper will discuss the various levels of optimisations that are selected platform-wise to make the Portable.net interpreter faster and yet still remain truly portable. Read the entire paper in PDF here.

Jan 16-01-2003: QMahjong Qt# Demo

Rhys Weatherly has brought out a good demo of Portable.net with a Mahjong game with Qt#. It works with the Portable.net 0.5.0 release and the Qt# 0.6. Get the sources from mahjong-0.0.1.tar.gz or see a screenshot at Qt# website . Play on !

Jan 11-01-2003: DotGNU Releases

The DotGNU Portable.net and DotGNU DGEE are coming up with releases today. The Portable.net is having a milestone release of 0.5.0 . Read all about the Portable.net release here . The new release has touched the half million line mark, read the exact figures here . We'll be announcing the binary packages soon.

Jan 05-01-2003: DGEE Demo up and running

The Dotgnu Webservice container , otherwise known as the Dotgnu execution environment (DGEE) has reached usable levels. Chris Smith has hacked up this server which does not run inside Apache , but adopts the strategy other AppServers like Tomcat has been using. The C# webservice system is functional and uses Apache and Goldwater as the network and execution containers respectively. The system is self documenting and includes introspection into the webservices. It currently supports only XmlRpc and is only a pre-release. An initial demonstration was put up by Adam Ballai here. Use the same URI for firing up XMLRPC requests . Also read more about DGEE here.

Dec 17-12-2002: Mingw32 and Portable.Net

The Portable.Net platform now works on Win32 without any dependencies on the Cygwin wrappers. The build system uses the Minimal Gnu For Win32 or Mingw32 libraries to achieve this. Read the full announcement here.

Dec 13-12-2002: Qt# with Portable.Net

The Qt# project has managed to compile its libraries and run the sample programs included with Qt# on Portable.Net. Excluding the Xml based bindings generator program , the rest of Qt# compile and run with ease on Portable.Net. The screenshots have been put up for a peek at Gui programming with Portable.net. Take a look at mandelbrot and scribblewindow.

Dec 03-12-2002: MACS Auth system preview

Marios D Santana , has put out a preview of the development edition of MACS (Modular Access Control System) . The demo can be accessed from dexter . And the main MACS page is here .

Nov 21-11-2002: DGEE & Intermodule Messaging.

Chris Smith has brought out a nice specification for the DGEE core module communication. The good thing about this is that it is not tied down to XML or any encoding format, but allows arbitary data chunks such as XML, C# byte code, HTML form post data etc to be packaged together and sent as a single message between the internal components of the VRS/SEE core DGEE.

Read the full specification here. And get a proof of concept implementation in C here.

Nov 2-11-2002: Treecc and Ruby output

Thanks to the efforts of Peter Minten (silvernerd) , we now have a Ruby generator for treecc . Treecc is a tool that simplifies construction, manipulation and traversal of Abstract Syntax Trees . It was developed for building the Portable.Net compiler tools . See announcement here.

Oct 19-10-2002: IRC Meeting with Parrot Developers

The IRC meeting to discuss adding Parrot to the bytecodes supported by Portable.Net was a great success. The Parrot designer was here to discuss the details of generating Parrot from C#. Read all about it here.

Your comments please...

You are invited to add your comments concerning this page at the appropriate page of the DotGNU Wiki

 

 

 

Verbatim copying and distribution of this entire article are permitted in any medium or format, provided this notice is preserved.

This page is maintained by Norbert Bollow <nb@cisto.com> with support from the DotGNU Website mailing list.