![[LWN Logo]](/images/lcorner.png) |
|
![[Timeline]](/images/Included.png) |
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--