3 The Class Library should be compatible with Microsoft's .NET
6 Ideally as much code as possible should be written using C#.
7 In some cases we might either need to interface with code
8 written in C for large chunks of functionality (libart and
9 Gtk+ for example) or we would need to interface to the system
10 libraries (libc on Unix for networking functions for
13 ** Using existing components from GNOME.
15 Our current plan is to implement the GUI tools on top of
16 Gtk+. The only problem is that applications from Windows
17 might expect to be able to pull the HWND property from the
18 widgets and use PInvoke to call Windows functions.
20 ** Class Library and Win32 dependencies.
22 There are a few spots where the Win32 foundation is exposed to
23 the class library (the HDC and HWND properties in the GDI+).
24 It seems from casual inspection that these can be safely
25 mapped to Gdk's GC and GdkWindow pointers without breaking anything.
27 The only drawback is that support for PInvoke of Win32 code
28 wont be available. If this is necessary it could be possible
29 in the future by reusing pieces of Wine, and probably using
30 Wine as our toolkit, but we think that this is not as
31 important as we will wrap GNOME elements in the meantime.
33 *** Initial GDI+ and WinForms implementation
35 The initial implementation will use Gtk+ as the underlying
36 toolkit, but implementations for other windowing systems
37 should be possible (particularly thinking about PDA devices
40 Since Gtk+ 2.0 has been ported to other windowing systems
41 other than X (frame buffer, Win32 and BeOS implementation
42 exist) it should cover most uses for most users.
46 Implementing the ADO.NET functionality can be done through
47 reusing <a href="http://www.gnome-db.org">GNOME-DB</a> as
48 GNOME-DB was implemented precisely to provide an ADO-like
51 *** Component Integration
53 We will provide a new namespace to use GNOME specific features
54 as well as a namespace to host Bonobo interfaces and classes
59 The class library will be licensed under the terms of the GNU
62 We suggest that you assign the copyright of your work to the
63 GNOME Foundation or the Free Software Foundation to simplify
64 defending the code in case it is used inappropiately.
68 We welcome contributions to the the Class Library, you can
69 check the status page. Our status page describes which APIs
70 are being worked on and the contact information for the