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--