dotgnu-general
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[DotGNU]Project proposal for the backburner: DotGNUstep


From: S11001001
Subject: [DotGNU]Project proposal for the backburner: DotGNUstep
Date: Wed, 25 Sep 2002 01:19:36 -0500
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2a) Gecko/20020913

Good morning.

This is a proposal for a new DotGNU project. Please note that it is not intended for immediate movement; instead, I want to make sure the community is aware of it, as I wrote it yesterday for Brandon Bremen, who is currently working on PR stuff BTW, and figured that it might as well be released, instead of sitting on my hard drive for the next few months.

The idea is that it will sit as a proposed project, a TODO item, until DotGNU has the resources to move on it.

Please forgive me for not including the GNU FDL in this email; see <http://www.gnu.org/licenses/fdl.txt>, or contact me for a copy in case this address doesn't work.

Please post any comments, suggestions, patches, and flames.

note: if you are using MacRoman, your viewer will probably mangle the ae ligature. Ignore this.

--
Stephen Compall
DotGNU `Contributor' -- http://dotgnu.org

There has been another attempt to seize power. So far, the
aristocratic forces have been defeated.
        -- Radio Free OZ
--- PROPOSAL ---

* Subject Line: DotGNUstep: The next-generation CLI library

* This Proposal is For a New:

        [X] DotGNU software development project   
        
                Project name: DotGNUstep

                Packages in this project: DotGNUstep-base DotGNUstep-gui
                                          gsAPIswitch

* Essential Resources:

        [X] Mailing lists
                Mailing list names: dotgnustep

                Mailing list descriptions: Development and use.

        [X] Website resources
        [X] Savannah location and space
                Savannah username: UNDEFINED

                Savannah Project Name: dotgnustep

        [X] Other
                We need people who hate BCL, like C#, and love the
                OpenStep API. We also need good inter-project
                communicators to help "hook up" with the GNUstep
                developer and user community. We want these to be
                cooperating projects, not just (or at all) competing
                projects. There are valid uses for both: want native?
                use GNUstep. want web/interpreted? use DotGNUstep.

* Are you willing to lead this project?:        
        
        [ ] Yes
        [X] No

* Description:

  DotGNUstep is an implementation of NeXT's OpenStep FoundationKit and
  ApplicationKit libraries (though not the Objective-C language,
  though this may be a future extension to the project), as well as
  Project GNUstep's extensions to those languages, for DotGNU Portable
  .NET.

  DotGNUstep will not rely on a special directory tree, as GNUstep
  does; all support gained from this will be worked into Peter
  Minten's box system. Otherwise, DotGNUstep applications will conform
  to whatever the specification for Portable .NET applications
  becomes.

  Note on the reference implementation: Apple has moved away from
  OpenStep in significant ways since it was first specified. Except
  where technically impossible or too difficult to effectively do so,
  DotGNUstep will track GNUstep's APIs, and any actual changes made to
  the API will also be run by Project GNUstep to maintain the ease
  with which a developer can move from one to the other. Project
  GNUstep's policy on the API is as follows:

       We will generally code to the most recent documented API we can
       find. Where the latest documentation actually conflicts with
       the original, the latest version generally wins, i.e.

           * We add things added by Apple.
           * We don't remove things removed by Apple.
           * Where there is a real problem with a change, we find a
             technically superior work-around.

       In some cases, classes or parts of classes have been added that
       are clearly specific to a particular platform. Since we provide
       a cross-platform solution, we will probably not add these
       classes to our core libraries.

  It is in the interests of both projects to maintain developer
  "portability;" a major reason is given under gsAPIswitch.

  The subprojects are as follows:

    DotGNUstep-base: The non-GUI portion of OpenStep libraries,
    standardized as FoundationKit. As Apple has moved away from the
    OpenStep libraries in recent releases of Cocoa, the reference
    implementation will be the gnustep-base package, including *all*
    extensions and changes. As there are no namespaces in Objective-C,
    all classes will be in the DotGNUstep.Foundation namespace. This
    also includes the gdomap and gdnc tools, documented below.

    DotGNUstep-gui: The GUI portion of OpenStep libraries,
    standardized as ApplicationKit. The reference implementation is
    gnustep-gui. All classes will be in the DotGNUstep.Application
    namespace.

    gdomap, the GNUstep Distributed Objects server: This is a port of
    the support dæmon that enables a system much like JavaTM's RMI,
    but from years before. It must be started by root, and only one is
    needed per machine, so it will be a SEE service. It will be a
    drop-in replacement for the gdomap currently shipped with
    gnustep-base, and will hence support both systems.

    gdnc, the GNUstep Distributed Notification Center: An event
    handler dæmon that allows different programs to portably listen
    for and invoke events to/on each other. What these events are is
    up to the user.

    gsAPIswitch: To maintain close compatibility with the GNUstep
    libraries, we need a tool to scan the GNUstep and DotGNUstep
    libraries, find changes in the former, and merge those changes
    into DotGNUstep for implementation. This may go the other way as
    well in the future. Also, as the API documentation in the GNUstep
    sources is poor as of now, this could also be a way to maintain
    documentation that transfers between the projects; i.e. DotGNUstep
    documents a class or method that is undocumented by GNUstep, and
    gsAPIswitch merges that documentation--or changes to such--into
    the GNUstep sources. This is an excellent way to give back to the
    GNUstep project while improving documentation of DotGNUstep; at
    the same time, it encourages communication between the projects on
    API changes, and may eventually lead to an API steered by both
    projects.

  BUGS with this description:
    It is unclear whether a tool like gnustep-back would be useful for
    the GUI implementation. This may be a future addition to this
    spec.

    Also, I believe that the GNUstep DB library would also be
    useful. Whether or not it belongs in this project....

    The FoundationKit may or may not be based on the BCL. Surely the
    stuff that requires native access will, but things that can be
    reimplemented, perhaps should be?

* Proposal Version (integer): 0

* Proposal Version date stamp: Tue Sep 24 22:56:52 UTC 2002

* Proposal Maintainer name: Stephen Compall

* Proposal Maintainer e-mail: address@hidden

* References:

  Project GNUstep: a portable implementation (as well as the reference
  implementation for the project specified in this proposal) of the
  complete OpenStep specification, in Objective-C, available for GNU
  systems and others at <http://www.gnustep.org> or
  <http://www.gnu.org/software/gnustep>. The mission statement is
  available at <http://www.gnustep.org/information/mission.html>.

  Mac OS X developer documentation for Cocoa: A version of the
  OpenStep libraries, tracked somewhat by, and somewhat compatible
  with, GNUstep:
  <http://developer.apple.com/techpubs/macosx/macosx.html>

* Revisions:
2002-09-24  Stephen Compall  <address@hidden> 0
 * First edition, based on idea that OpenStep libs are cool.

--- END PROPOSAL ---
Copyright (C) 2002  Stephen Compall.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1 or
any later version published by the Free Software Foundation; with no
Invariant Section, with no Front-Cover Texts, and with no Back-Cover
Texts.  A copy of the license is included in the email you received
with this document.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]