[LWN Logo]
[Timeline]
Date: 8 Jan 2001 09:50:45 -0800
From: Ami Ganguli <ami@ganguli.com>
To: dev@midgard-project.org
Subject: [midgard-dev] Midgard 2.0 Roadmap - Mark II

Hi folks,

This is my updated and extended roadmap for 2.0 development.  As I look
at my old roadmap, I find that, oddly enough, I'm pretty much on schedule.
I had planned to complete the code re-write of the kernel this week and it
looks like I'll meet the deadline.

The new roadmap goes beyond the basic kernel and addresses the completion
of Midgard 2.0 by December 2001.

Note that I'm not flexible on this deadline.  If it looks like the deadline
won't be met I'll ruthlessly drop features.  The best way to make sure that
your favourite features are _not_ dropped from 2.0 is to code them yourself.

Starting later this evening I will be releasing 'work packets' that other
developers can help with.  These are small jobs that most 'C' programmers
should be able to complete.  If you're interested in Midgard 2.0 development,
this is the best way to get started.

Regards,
Ami.




------------=_978976245-11675-0
Content-Type: TEXT/PLAIN; NAME="roadmap-2.txt"
Content-ID: <Pine.LNX.4.21.0101090824323.30861@s001.nl.envida.net>
Content-Description: 
Content-Disposition: ATTACHMENT; FILENAME="roadmap-2.txt"

Midgard 2.0 Development Roadmap - Mark II
=========================================
 - Ami Ganguli

Building a realistic development roadmap for a project like
Midgard 2.0 is difficult, because the scope of the project 
is quite large, and because, as an Open Source Project, it's
impossible to know ahead of time what developer resources 
we have to work with.

There are two possible approaches 1)define a set of features 
and declare the project "finished" when these features are 
complete, 2) define a time-line and declare the project
complete when the time is up.  Since I don't like working on
projects that have no forseeable end-date, I've decided to
take the second alternative.

That means that, except for a few well-understood features 
that I know I can get done myself, I won't define a set of
features or requirements for Midgard 2.0.  What gets done
gets done, what doesn't goes into a future release.  I
will try to provide a means for individuals and organizations
who need certain features to come forward and build them into
the 2.0 release.


Midgard 2.0 Sub-Projects
========================

Items marked with an asterisk (*) are either high-effort 
or low priority (or maybe both).  As such they are the 
most likely to be dropped if time is short.  Of course,
developers are welcome to step forward and ensure that
these features (or any other pet projects) make it into
2.0 final.


1. The Kernel

   The Midgard 2.0 Kernel is a library that implements the 
   basic Midgard 2.0 architecture.  Features implemented 
   within the kernel include:
   
       i. The Object system
      ii. The Security System
     iii. 'C' Language Client API

2. The Base Object Library

   The Base Object Library is closely linked to the kernel,
   and implements some basic features that any Midgard 2.0
   application will need:

       i. Basic Storage (filesystem based)
      ii. A tree structured data store

3. The Application Server

   The Application Server is a Unix daemon that provides makes
   Midgard services available to client applications.

4. Client Application Plug-ins

   Currently planned client application plug-ins include:

       i. An Apache module
      ii. A Gnome-VFS/Nautilus plug-in *
     iii. A Pro-FTP module *

5. Data Store plug-ins

   In addition to file-system storage, we'd like to support:

      i.  Postgres
     ii.  MySQL *
    iii.  GT-M *
     iv.  LDAP *
      v.  IMAP *
     vi.  Gnome-VFS *


6. Lanquage Bindings

   Language bindings make the Client 'C' API available to 
   common scripting languages.  Support is planned for:

       i. Perl
      ii. Ruby
     iii. PHP *
      iv. Python *

7. Midgard 2.0 Extension Libraries

   Extension libraries provide specialized objects for use 
   in certain applications.  Support is planned for:

       i. Content Management
      ii. Calendars *
     iii. Work-flow *
      iv. e-commerce *

8. The Administration Interface

   A web-based administration interface will be provided.

9. Midgard 1.4 Compatibility *

   Separate 'Midgard 1.4' compatible objects, plus Midgard 1.4 
   PHP bindings will make the migration to 2.0 as easy as possible
   for existing users.

10. Technical Documentation

11. User Documentation 

12. Installation system


Proposed Time Line
==================

- prototype
= alpha
+ beta - feature complete
* release-ready

                     nov-00 jan-01 mar-01 may-01 jul-01 sep-01 nov-01
1.  kernel           -------=====+++++++*
2.  base objects         ------======+++++++*
3.  app. server               ------=======+++++++*
4.  client plug-ins             -------=======+++++++*
5.  data stores                        -------=======+++++++
6.  language bind.              ------======++++++*
7.  extension libs              ----------==========++++++++++*
8.  admin interface             -------------==========+++++++*
9.  1.4 compat.                                 ---===+++*
10. technical docs            -----------------------======+++++*
11. user docs                                   -----======++++++++*
12. installation                                -------=======+++++++*

This is a very rough schedule.  Individual developers will have thier
own time-lines.  As long as they meet he drop-dead dates below, that's
OK and expected.

Drop-dead dates:
================

Check-in restrictions: September 1, 2001

  CVS check-in restrictions to into effect September 1.  New features
  will still be accepted until November 1, but the goal is to start
  stabilizing the tree and make sure there are no regressions.  
  Restrictions will slowly get more draconian as the release date
  approaches.

Feature complete: November 1, 2001

  All features for the final release must be implemented and usable
  by November 1.  Small bugs are still allowed, but anything that's 
  so seriously broken as to be unusable must be backed out or turned
  off on November 1.

Release candidate: December 1, 2001

  Sometime during November we will either fix or work around all the 
  stop-ship bugs we're aware of.  Release candidates will start 
  being released in December, and will continue until one of them is
  good enough to be considered 'Gold'.


------------=_978976245-11675-0
Content-Type: TEXT/PLAIN; CHARSET=us-ascii
Content-ID: <Pine.LNX.4.21.0101090824324.30861@s001.nl.envida.net>
Content-Description: 

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@midgard-project.org
For additional commands, e-mail: dev-help@midgard-project.org
------------=_978976245-11675-0--