diff options
Diffstat (limited to 'web/mono-roadmap.html')
-rw-r--r-- | web/mono-roadmap.html | 396 |
1 files changed, 396 insertions, 0 deletions
diff --git a/web/mono-roadmap.html b/web/mono-roadmap.html new file mode 100644 index 00000000000..29344af5560 --- /dev/null +++ b/web/mono-roadmap.html @@ -0,0 +1,396 @@ +<html> +<head><title>Mono Roadmap</title> +<style type="text/css"> +h1 { +color: #efefef; +font-size: 18pt; +font-family: "Trebuchet MS"; +border: 0; +margin: 0; +padding: 1em; +background: #666666; +} + +h2, h3, h4, h5, h6 { +font-family: Verdana,sans-serif; +font-weight: bold; +margin: 9pt; +} + +h2, h3 { +font-size: 18px; +} + +h2 { +padding: 3px; +color: #000000; +} + +h3 { +font-size: 13px; +border-bottom: 2px solid #dddddd; +} + +h4 { +border-bottom: 2px solid #dddddd; +} + +body, table { +background-color: #ffffff; +font-family: Verdana, sans-serif; font-size: 12px; +color: black; +margin: 0; +padding: 0; +border: 0; + margin-left: 20%; + margin-right: 20%; +} + +p { +margin-left: 2em; +margin-right: 2em; +} + +ul li { +margin-left: 2em; +} + +img { +border: 0; +vertical-align: top; +} + +</style> +</head> +<body> + +<center> + <h1> + Mono Project Roadmap + <br> + <font size=1>Miguel de Icaza (miguel@ximian.com)</font> + </h1> + <p> +</center> + +<i>Last update: Jan 18th, 2004</i> + +<h3>Introduction</h3> + + <p>This document describes the high-level roadmap for <a + href="http://www.go-mono.com">Mono</a>. + + <p>The Mono project started in 2001 as an effort to implement + the .NET Framework to Unix. To bring both the new programming + model based on the Common Language Infrastructure and C# as + well as helping people migrate their existing knowledge and + applications to Unix. Mono today supports a wide variety of + operating systems, CPUs and a large chunk of the functionality + available in the .NET Framework. + + <p>At the October 2003 PDC conference a number of new + technologies were announced. From the Mono release schedule + perspective, we should think about these technologies from + their release time standpoint, and the features that must be + supported. + + <p>This document outlines the roadmap for the Mono project + from my perspective: what we can effectively deliver on the + dates outlined. Since Mono is a large open source project, + things might change and new features can be incorporated + into the plan if external sources devote enough attention to + those problems. + + <p>This is the timeline: + <p> + <center> + <img src="roadmap.png"> + </center> + +<h3>Background</h3> + + <p>So far Microsoft has published two versions of the .NET + Framework: 1.0 and 1.1, the later with incremental updates to + the changes in 1.0 + + <p>The Mono project has been tracking some of the + improvements available in those two releases, some of the + highlights of our work so far are: + + <ul> + <li> Core: mscorlib, System, System.Security and + System.XML assemblies. + + <li> ADO.NET: System.Data and various other database + providers. + + <li> ASP.NET: WebForms and Web Services are + supported. Work on WSE1/WSE2 has also started. + + <li> Compilers: C#, VB.NET and various command line tools + that are part of the SDK. + + <li> Open Source, Unix and Gnome specific libraries. + </ul> + + <p>Other components like Windows.Forms, Directory.Services, + Enterprise Services and JScript are being developed but are not + as mature as the other components but are under development by + various people. + + <p>Some other smaller and less used components do not have yet + a Mono equivalent (System.Management, System.Drawing.Design). + +<h3>Mono release strategy</h3> + + <p>The levels of maturity of Mono fluctuate depending on the + development effort we have put into it, and the use we have + given to them. For example, the virtual machine and the C# + compiler very mature, while less commonly used functionality + in Mono like Windows.Forms or VB.NET are still under heavy + development. + + <p>Our strategy is to release the mature components as Mono + 1.0, and have upcoming versions of Mono add extra + functionality. + +<h3>Mono 1.0 goals</h3> + + <p>The Mono 1.0 release would include the following + components: + + <ul> + <li>C# compiler. + + <li>VM, with JIT and pre-compiler. + + <li>IL assembler, disassembler. + + <li>Development and security tools. + + <li>Core libraries: mscorlib, System, System.XML. + + <li>System.Data and Mono database providers. + + <li>System.Web: Web applications platform and Apache + integration module. + + <li>System.Web.Services: client and server support. + + <li>System.Drawing. + + <li>System.DirectoryServices + + <li>JIT support: x86, SPARC and PPC architectures + (interpreter available for other architectures). + + <li>ECMA profiles: special build options to build + Mono as an implementation of the various ECMA profiles + will be available. + + <li>Java integration through IKVM. + + <li>Embedding interface for the runtime. + </ul> + + <p>Packaging: + + <ul> + <li>mono: will contain the above features implementing + the .NET 1.1 API. + + <li>mono-1.0-compat: Will include a build of the + libraries with the .NET 1.0 API, this is a + compatibility build for people running .NET 1.0 + applications. + + <li>mono-unstable: Will contain a snapshot of the + other technologies under development for developer's + convenience, but will be unsupported at this time. + These include the Generics edition of the C# + compiler. + + <li>mono-ecma: A build that only includes the ECMA + components. + </ul> + + <p>Release target: Q2/2004. + + <p>Bug fix releases would be done on a monthly basis. + + <p>For a detailed list, see the <a + href="mono-1.0.html">mono-1.0 feature list.</a> + +<h3>Microsoft's Whidbey</h3> + + <p>To understand post 1.0 editions of Mono, it is important to + put it into perspective with the Microsoft Whidbey product, to + be released in 2004. + + <p>The new features in the Whidbey release of the .NET Framework + include: + + <ul> + <li><b>Generic types</b><br> + These introduce changes to the compiler, runtime and + class libraries. + + <li><b>ASP.NET 2</b><br> + Many tools to simplify web application development: + Master pages, new controls for common operations, + personalization and themes. + + <li><b>Remoting</b><br> + New security channels and version-resistant remoting + (good news in the interop department). + + <li><b>XML</b><br> + XQuery debuts on this release as well as an improved + XmlDocument system based on XPath: XPathDocument. + + <li><b>Networking</b><br> + FTP client, Ssl streams. + + <li><b>Console and Serial ports:</b></br> + Console terminal input/output is available as well as + serial port handling. + + <li><b>Windows.Forms</b><br> + Layout containers finally appeared on Windows.Forms as + well as various new controls. + + <li><b>ObjectSpaces</b><br> + An API for simpler data-base access. + </ul> + +<h3>Mono 1.2</h3> + + <p>The Mono team is developing in parallel some features that + wont make it to the 1.0 release in stable form. These will be + the foundation for the 1.2 release. The focus of this release + is to track the core API for the .NET Framework 1.2, but + again, only a subset of the total framework will be + available. + + <p>Mostly, Mono 1.2 consists of components that were not + stable enough for Mono 1.0, but that would be mature at this + point, plus the incorporation of some new features from + Whidbey. In addition to the Mono 1.0 components, this release + will add: + + <ul> + <li>Generic types support: C# compiler, execution + system and core class libraries. + + <li>ASP.NET 2.0 improvements. + + <li>Remoting improvements from Whidbey. + + <li>System.XML: simpler improvements from Whidbey, + lacking the large additions (XQuery for example). + + <li>Console and Serial ports support. + + <li>New compilers: VB.NET and JScript support. + + <li>WSE1/WSE2 implementations. + + <li>System.Windows.Forms officially debuts with .NET + 1.0 API; 1.2 API available as an unstable addition. + </ul> + + <p>This release will by default provide .NET 1.2 APIs, but + compatibility libraries for 1.0 and 1.1 will be distributed in + the mono-compat package. The unstable components of Mono will + be distributed on the `mono-unstable' package, the libraries + in this release will be unsupported. + + <p>Release target: Q4/2004. + +<h3>Mono 1.4</h3> + + <p>A refresh update on the Mono 1.2 release containing the + missing components from the previous release and complete any + under performing pieces. Updates to System.Xml, ASP.NET and + Windows.Forms to match the .NET 1.2 API. + + <p>Release target: Q2/2005. + +<h3>Peer projects</h3> + + <p>Other projects like the debugger, the documentation + browser, Java integration through IKVM and Gtk# will remain on + their own schedules. This page will be updated to contain + that information when it becomes available. + +<h3>Unscheduled activities</h3> + + <p>A missing component of Mono is the Code Access Security + (CAS). This functionality is not needed in today's Mono as + currently Mono is being used to run fully trusted + applications, and we are not using it on embedded scenarios + where assemblies would have different trust levels. + + <p>This is an important component, but requires three major + pieces of work: + + <ul> + <li>Runtime support for implementing the security + demands. + + <li>A guidelines document outlining what and where + must have security demands in place. + + <li>A full audit of our class libraries: method by + method + </ul> + + <p>All of these are major pieces of work, and we currently + have no plans to implement any of those. A volunteer effort might be + able to help with the runtime requirements and the document, + but until those are done, we are unlikely to start doing any + work on the actual class library audit and instrumentation. + +<h3>Mono and WinFX: 2006</h3> + + <p>WinFX is the name given to the new set of libraries that + makes up .NET in the Longhorn operating system: the existing + .NET set of class libraries, plus the new functionality + available in the OS. + + <p>WinFX adds things like storage facilities (WinFS), a + new versatile communications stack (Indigo) and a new + eye-candy packed GUI programming system (Avalon). + + <p>Although WinFS, Avalon and Indigo are very exciting + components, at this time it is too early to tell when those + components will be available for Mono. Open source developers + will very likely start work on these, but since they are still + far from being officially released, they are not in the radar + at this point. + +<h3>Unsupported technologies</h3> + + <p>Some technologies are very hard to implement or are being + phased out by components in the Longhorn time frame. In some + cases, we feel that they are not crucial to the future of the + open source desktop. + + <p>System.EnterpriseServices and System.Management come to + mind, and we are unlikely to put any resources into the task. + We would gladly host the code if someone cares to implement + it, but they would likely remain unsupported features of Mono. + +<h3>Mono Developer Strategy</h3> + + <p>Mono Developers should read the <a + href="mono-hacking-roadmap.html">Mono Hacking Roadmap</a> + +<h3>Comments</h3> + + <p>Feel free to send your comments or questions the roadmap to + <a href="mailto:miguel@ximian.com">miguel@ximian.com</a> + + +<p> +<i>Last Updated: Nov 1st, 2003</i>
\ No newline at end of file |